《数字信号处理实验.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数字信号处理实验 试验一 自适应滤波器 一、试验目的 1、驾驭功率谱估计方法 2、会用matlab对功率谱进行仿真 二、试验原理 功率谱估计方法有许多种,一般分成两大类,一类是经典谱估计;另一类是现代谱估计。经典谱估计可以分成两种,一种是BT法,另一种是周期法;BT法是先估计自相关函数,然后将相关函数进行傅里叶变换得到功率谱函数。相应公式如下所示: 1xx(m)=rN=PBTm=-N-|m|-1n=0x*(n)x(n+m)(1-1) (1-2)xx(m)e-jwnr周期图法是采纳功率谱的另一种定义,但与BT法是等价的,相应的功率谱估计如下所示: 1jw Pxx(e)=N其计算框图如下所示: 观
2、测数据x(n)FFT-jwnx(n)en=0N-120nN-1(1-3) 取模的平方1/N Pxx(ejw) 图1.1周期图法计算用功率谱框图 1 由于观测数据有限,所以周期图法估计辨别率低,估计误差大。针对经典谱估计的缺点,一般有三种改进方法:平均周期图法、窗函数法和修正的周期图平均法。 三、试验要求 信号是正弦波加正态零均值白噪声,信噪比为10dB,信号频率为2kHZ,取样频率为100kHZ。 四、试验程序与试验结果 (1)用周期图法进行谱估计 A、试验程序: %用周期法进行谱估计 clear all; N1=128;%数据长度 N2=256; N3=512; N4=1024; f=2;%
3、正弦波频率,单位为kHZ fs=100;%抽样频率,单位为kHZ n1=0:N1-1; n2=0:N2-1; n3=0:N3-1; n4=0:N4-1; a=sqrt(20);%由信噪比为10dB计算正弦信号的幅度 2 wn1=randn(1,N1);xn1=a*sin(2*pi*f*n1./fs)+wn1; Pxx1=10*log10(abs(fft(xn1).2)/N1);%周期法求功率谱 f1=(0:length(Pxx1)-1)/length(Pxx1); wn2=randn(1,N2);xn2=a*sin(2*pi*f*n2./fs)+wn2; Pxx2=10*log10(abs(f
4、ft(xn2).2)/N2); f2=(0:length(Pxx2)-1)/length(Pxx2); wn3=randn(1,N3);xn3=a*sin(2*pi*f*n3./fs)+wn3; Pxx3=10*log10(abs(fft(xn3).2)/N3); f3=(0:length(Pxx3)-1)/length(Pxx3); wn4=randn(1,N4);xn4=a*sin(2*pi*f*n4./fs)+wn4; Pxx4=10*log10(abs(fft(xn4).2)/N4); f4=(0:length(Pxx4)-1)/length(Pxx4); subplot(2,2,1)
5、; plot(f1,Pxx1);xlabel(频率);ylabel(功率(dB); title(功率谱Pxx,N=128); subplot(2,2,2); plot(f2,Pxx2);xlabel(频率);ylabel(功率(dB); title(功率谱Pxx,N=256); subplot(2,2,3); plot(f3,Pxx3);xlabel(频率);ylabel(功率(dB); title(功率谱Pxx,N=512); subplot(2,2,4); 3 plot(f4,Pxx4);xlabel(频率);ylabel(功率(dB); title(功率谱Pxx,N=1024); B、试
6、验仿真结果: (2)采纳汉明窗,分段长度L=32,用修正的周期图求平均法进行谱估计 A:试验程序: clear all; N=512;%数据长度 Ns=32;%分段长度 f1=2;%正弦波频率,单位为kHZ fs=100;%抽样频率,单位为kHZ n=0:N-1; 4 a=sqrt(20);%由信噪比为10dB计算正弦信号的幅度 wn=randn(1,N); xn=a*sin(2*pi*f1*n./fs)+wn; w=hamming(32);%汉明窗 Pxx1=abs(fft(w.*xn(1:32),Ns).2)/norm(w)2; Pxx2=abs(fft(w.*xn(33:64),Ns).
7、2)/norm(w)2; Pxx3=abs(fft(w.*xn(65:96),Ns).2)/norm(w)2; Pxx4=abs(fft(w.*xn(97:128),Ns).2)/norm(w)2; Pxx5=abs(fft(w.*xn(129:160),Ns).2)/norm(w)2; Pxx6=abs(fft(w.*xn(161:192),Ns).2)/norm(w)2; Pxx7=abs(fft(w.*xn(193:224),Ns).2)/norm(w)2; Pxx8=abs(fft(w.*xn(225:256),Ns).2)/norm(w)2; Pxx9=abs(fft(w.*xn(2
8、57:288),Ns).2)/norm(w)2; Pxx10=abs(fft(w.*xn(289:320),Ns).2)/norm(w)2; Pxx11=abs(fft(w.*xn(321:352),Ns).2)/norm(w)2; Pxx12=abs(fft(w.*xn(353:384),Ns).2)/norm(w)2; Pxx13=abs(fft(w.*xn(385:416),Ns).2)/norm(w)2; Pxx14=abs(fft(w.*xn(417:448),Ns).2)/norm(w)2; Pxx15=abs(fft(w.*xn(449:480),Ns).2)/norm(w)2;
9、 Pxx16=abs(fft(w.*xn(481:512),Ns).2)/norm(w)2; Pxx=10*log10(Pxx1+Pxx2+Pxx3+Pxx4+Pxx5+Pxx6+Pxx7+Pxx8+Pxx9+Pxx10+Pxx11+Pxx12+Pxx13+Pxx14+Pxx15+Pxx16)/16); 5 f=(0:length(Pxx)-1)/length(Pxx); plot(f,Pxx);xlabel(频率);ylabel(功率(dB); title(加窗平均周期图法功率谱Pxx,N=512); grid on; B:试验仿真结果: 五参考文献: 1 丁玉美,阔永红,高新波.数字信号处
10、理-时域离散随机信号处理M.西安:西安电子科技高校出版社,2002. 2 万建伟,王玲.信号处理仿真技术M.长沙:国防科技高校出版社,2008. 6 试验二 卡尔曼滤波器的设计 一试验目的 1.熟识并驾驭卡尔曼滤波、自适应滤波和谱估计的原理。 2.可以仿真符合要求的卡尔曼滤波器、自适应滤波器和各种谱估计方法。 3.驾驭卡尔曼滤波器的递推公式和仿真方法。 4.熟识matlab的用法。 二试验原理 卡尔曼滤波是用状态空间法描述系统的,由状态方程和测量方程所组成。卡尔曼滤波用前一个状态的估计值和最近一个观测数据来估计状态变量的当前值,并以状态变量的估计值的形式给出。其状态方程和量测方程如下所示: x
11、k+1=Akxk+wkyk=Ckxk+vk(1-1) (1-2)其中,k表示时间,输入信号wk是一白噪声,输出信号的观测噪声vk也是一个白噪声,输入信号到状态变量的支路增益等于1,即B=1;A表示状态变量之间的增益矩阵,可随时间改变,Ak表示第k次迭代的取值,C表示状态变量与输出信号之间的增益矩阵,可随时间改变,其信号模型如图1.1所示(k用k-1代替)。 vkCk+ykWk-1+XkZ-1Xk-1Ak-1 图1.1 卡尔曼滤波器的信号模型 卡尔曼滤波是采纳递推的算法实现的,其基本思想是先不考虑输入信号wk和观测噪声vk的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加权矫正状态
12、变量的估计值,使状态变量估计误差的均方值最小。其递推公式如下所示: xk=e-0.02xk-1+Hk(yk-e-0.02xk-1)-1H=P(P+1)kkk Pk=e-0.04Pk-1+1-e-0.04Pk=(I-Hk)Pk(1-12a)(1-12b)(1-12c) (1-12d)假设初始条件Ak,Ck,Qk,Rk,yk,xk-1,Pk-1已知,其中x0=Ex0,P0=varx0,那么递推流程见图1.2所示。 Pk-1式(1-5)Pk式(1-4)Hk式(1-3)式(1-6) 图1.2 卡尔曼滤波递推流程图 三试验要求 一连续平稳的随机信号x(t),自相关rx(t)=e -txkPk ,信号x(
13、t)为加性噪声所干扰,噪声是白噪声,测量值的离散值y(k)为已知。 Matlab仿真程序如下: %编卡尔曼滤波递推程序,估计信号x(t)的波形 clear all; clc; Ak=exp(-0.02); %各系数由前面确定; Ck=1; Rk=0.1; p(1)=20; %各初值; Qk=1-exp(-0.04); p1(1)=Ak*p(1)*Ak+Qk; %由p1代表p; x(1)=0; %设信号初值为0; H(1)=p1(1)*Ck*inv(Ck*p1(1)*Ck+Rk); zk=-3.2,-0.8,-14,-16,-17,-18,-3.3,-2.4,-18,-0.3,-0.4,-0.8
14、,-19,-2.0,-1.2,-11,-14,-0.9,0.8,10,0.2,0.5,-0.5,2.4,-0.5,0.5,-13,0.5,10,-12,0.5,-0.6,-15,-0.7,15,0.5,-0.7,-2.0,-19,-17,-11,-14 %zk为测量出来的离散值; N=length(zk); %要测量的点数; for k=2:N p1(k)=Ak*p(k-1)*Ak+Qk; %未考虑噪声时的均方误差阵; H(k)=p1(k)*Ck*inv(Ck*p1(k)*Ck+Rk); %增益方程; I=eye(size(H(k); %产生和H(k)维数相同的单位矩阵; p(k)=(I-H(
15、k)*Ck)*p1(k); %滤波的均方误差阵; x(k)=Ak*x(k-1)+H(k)*(zk(k)-Ck*Ak*x(k-1); %递推公式; end, x %显示信号x(k)的数据; 9 m=1:N; n=m*0.02; plot(n,zk,-r*,n,x,-bo); %便于比较zk和x(k)在同一窗口输出; xlabel(t/s,Fontsize,16); ylabel(z(t),x(t),fontsize,16); title(卡尔曼滤波递推x(t)的估计波形与z(t)波形,fontsize,16) legend(观测数据z(t),信号估计值x(t),2); grid; 四试验结果 五
16、试验小结 通过卡尔曼滤波估计信号与观测信号比较知,卡尔曼滤波输出的估计信号x(t)与实际观测到的离散值z(t)还是存在肯定的误差,卡尔曼滤波是从初始状态 10 就采纳递推方法进行滤波,那么在初值迭代后的一段时间内可能会出现较大的误差,随着迭代进行,各参数渐渐趋于稳定,后面的估计值与视察值的误差就削减了。 六参考文献 1 丁玉美,阔永红,高新波.数字信号处理-时域离散随机信号处理M.西安:西安电子科技高校出版社,2002. 2 万建伟,王玲.信号处理仿真技术M.长沙:国防科技高校出版社,2008. 数字信号处理试验 数字信号处理试验5 数字信号处理试验4 数字信号处理试验讲稿 数字信号处理试验教案 数字信号处理试验二 数字信号处理试验报告 数字信号处理试验报告 数字信号处理试验报告 数字信号处理教案 本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第11页 共11页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页