卡尔曼对正弦信号滤波

clc
clear
close all

N=100;
t=0:0.001:0.1;
x=sin(2pi50*t);
noise=rand(1,length(t));
data=x+noise;

a=0;
F = 1;
C = 1;
P_pre= 1;
Q1 = 0.01;
Q2 = 0.1;
Z=data(1);
X_pre=data(1);
data_pre = zeros(1,N);
data_pre(1)=X_pre;

for i=2:N
Z= data(i);
a=Z-CX_pre;
A=C
P_preC'+Q2;
K=P_pre
C'inv(A);
X_est=X_pre+K
a;
P_est=(1-KC)P_pre;
P_pre=F
P_est
F'+Q1;
data_pre(i) =X_pre;
end

figure(1)
plot(t,Z,'-g*',t,X_est,'-ko');
legend('观测值','kalman滤波值');
xlabel('采样时间/s');
ylabel('电流/安培');
我这个代码中卡尔曼滤波好像没有对正弦信号起到滤波作用,应该怎么修改呢?打扰您了