统计信号处理实验四东南大学Word格式.docx
《统计信号处理实验四东南大学Word格式.docx》由会员分享,可在线阅读,更多相关《统计信号处理实验四东南大学Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
信号取样频率1KHz,试通过自适应信号处理从接收信号中滤出有用信号s(t)。
要求:
1)给出自适应滤波器结构图;
2)设计仿真计算的Matlab程序,给出软件清单;
3)完成实验报告,对实验过程进行描述,并给出试验结果,对实验数据进行分析。
实验过程:
1、假设一个接收到的信号为:
d(t)=s(t)+n(t),其中s(t)=A*cos(wt+a),已知信号的频率w=1KHz,而信号的幅度和相位未知,n(t)是一个服从N(0,1)分布的白噪声。
1)参考信号d(k)=s(k)+n(k),s(k)=A*cos(wk+a),产生一个与载波信号具有相同频率的正弦信号作为输入信号
即x(k)=cos(wk)。
经过自适应处理后,就可以在输出信号
端得到正确的载波信号(包含相位和幅度)。
框图如下:
2)改变收敛因子
,观察滤波结果。
3)改变滤波器抽头数N,观察滤波结果。
2、在实验一的基础上,假设信号的频率也未知,重复实验一。
参考信号d(k)=s(k)+n(k),s(k)=A*cos(wk+a),将参考信号延时一段时间后得到的信号作为输入信号
即x(k)=d(k-m)。
经过自适应处理后,就可以在误差输出端y(k)得到正确的载波信号(包含频率、相位和幅度)。
3、假设s(t)是任意一个峰峰值不超过1的信号(取幅度为0.5的方波),n(t)是一个加在信号中的幅度和相位未知的,频率已知的50Hz单频干扰信号(可以假设幅度为1)。
我们可以使用陷波滤波器对噪声进行滤除,但普通滤波器一旦做成,其陷波频率难以调整。
如果使用自适应陷波滤波器,不仅可以消除单频干扰,而且可以跟踪干扰的频率变化,持续消噪。
自适应陷波滤波器的原理框图如下图所示:
假如输入信号是一个纯余弦信号
,则可将其分为两路,将其中一路进行90度相移,然后同步采样,得到:
它们通过相关抵消回路以最小均方算法去控制
和
加权,然后两个加权输出
相加得到
,称为自适应滤波器的输出。
权值计算如下:
写成矩阵形式为:
也可以简单的采用与容1一样的LMS滤波器,本实验选择了只有一路参考信号的自适应滤波器。
实验结果与分析:
1.已知信号频率。
可以看出,滤波器输出信号(蓝色波形)与有用信号(红色波形)逐渐逼近,加权系数也逐渐稳定。
改变收敛因子:
可以看出,收敛因子太小会导致收敛速度过慢,收敛因子太大会导致最终波动幅度太大,无法精确地逼近有用信号。
改变滤波器阶数:
可以看出,阶数越高,收敛地越快,但更高得阶数需要适当改变收敛因子来达到最理想的滤波效果。
2.信号频率未知。
可以看出,输出信号可以逼近有用信号s(t),但性能不如第一题的结果那么好。
3.消除干扰
采用30阶滤波器,收敛因子μ取0.0015,由输出波形可以看出,该滤波器消除了频率干扰,得到了矩形波信号。
源程序:
%lms.m
function[e,wl,y]=lms(N,u,n,x,d)
wl=zeros(N,n);
e=zeros(1,n);
y=zeros(1,n);
fori=N:
n-1
X=x(i:
-1:
i-N+1);
y(i)=X*wl(:
i);
%i时刻输出信号
e(i)=d(i)-y(i);
%i时刻误差信号
wl(:
i+1)=wl(:
i)+(u.*e(i).*X)'
;
%i时刻滤波器的权值
end;
%1
clearall;
n=500;
%信号点数
f=1000;
fs=10000;
%采样点数
N=1;
%滤波器阶数
t=(0:
n-1)/fs;
s=cos(2*pi*f*t+pi/8);
%有用信号
nt=randn(1,n);
%噪声信号
x=cos(2*pi*f*t);
%参考信号
d=s+nt;
%观测信号
u=0.016;
%LMS算法下自适应增益常数
[~,wl,y]=lms(N,u,n,x,d);
figure
(1);
subplot(3,1,1);
plot(t,d);
grid;
title('
观测信号d'
);
subplot(3,1,2);
plot(t,y,'
b'
t,s,'
r'
输出信号y'
subplot(3,1,3);
plot(t,wl);
加权因子w'
u=[0.0050.0150.1];
figure
(2);
[~,~,y]=lms(N,u
(1),n,x,d);
u=0.005'
[~,~,y]=lms(N,u
(2),n,x,d);
u=0.015'
[~,~,y]=lms(N,u(3),n,x,d);
u=0.1'
%改变阶数
N=[151015];
figure(3);
[~,~,y]=lms(N
(1),u,n,x,d);
subplot(4,1,1);
N=1'
subplot(4,1,2);
N=5'
subplot(4,1,3);
N=10'
subplot(4,1,4);
N=15'
%2
n=600;
d1=[dzeros(1,10)];
%将观测信号补零
x=[zeros(1,10)d];
%延时后的信号作为参考信号
u=0.001;
N=12;
m=n+10;
[~,wl,y]=lms(N,u,m,x,d1);
观测信号'
m-1)/fs;
s=[szeros(1,10)];
输出信号'
ylim([-1.5,1.5]);
xlim([0,0.06])
加权因子'
%改变收敛因子
u=[0.00020.0010.01];
[~,~,y]=lms(N,u
(1),m,x,d1);
xlim([0,0.06]);
u=0.0002'
[~,~,y]=lms(N,u
(2),m,x,d1);
u=0.001'
[~,~,y]=lms(N,u(3),m,x,d1);
u=0.01'
N=[11030];
[~,~,y]=lms(N
(1),u,m,x,d1);
[~,~,y]=lms(N
(2),u,m,x,d1);
[~,~,y]=lms(N(3),u,m,x,d1);
N=30'
%3
n=1001;
N=30;
%阶数
f=50;
%t=1:
0.01:
n;
T=5;
t=-5*T:
0.05:
5*T;
s=0.5*square(t,50);
%产生周期性方波信号
nt=sin(f*t);
%工频干扰
x=sin(f*t);
u=0.0015;
[e,wl,y]=lms(N,u,n,x,d);
plot(t,e,'