ADSP课程实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ADSP课程实验报告1实验一1.信号模型给定一个2阶自回归随机过程,信号模型为:12()(1)(2)()xnaxnaxnn(1-1)它是由单位方差的高斯白噪声()n激励一个线性移不变全极点系统产生的,该系统的两个极点为/610.9jze和/620.9jze,对应的滤波器参数11.558a和20.81a。现在分别用LSL自适应滤波器以及LMS自适应滤波器作为预测器,预测信号()xn,从而得到对信号模型的两个参数的估计值1ˆ()an和2ˆ()an。2.算法模型2.1LMS自适应算法LMS算法的最核心的思想是用平方误差代替均方误差,LMS算法的基本关系式为:ˆ(1)()()()2()()nnnnenxn(1-2)该式说明,LMS算法实际上是在每次迭代中使用粗略的梯度估计值ˆ()n来代替精确值()n。同时,有以下关系:(1-3)(1-4)其中为输出,为输入,()n为权系数,为误差信号。2.2LSL自适应算法LSL自适应算法的计算流程总结如下:1)初始化(1-5)这里,是前向后向预测误差剩余的初始值。2)迭代计算(按时间n=1,2,…)(1-6)ADSP课程实验报告2(1-7)(1-8)3)迭代计算(按阶m=0,1,2,…M-1)(1-9)(1-10)(1-11)(1-12)(1-13)(1-14)同阶的m1嵌套着按时间进行迭代计算。各阶前向和后向反射系数可以分别由以下二公式计算:(1-15)(1-16)M是给定滤波器的阶数。在本例中,可以推导出:(1-17)(1-18)3.仿真结果与分析在Matlab中将上一节信号模型及其参数估计计算过程转化为代码,仿真得出模型参数估计和在自适应过程中的收敛轨迹。仿真中迭代次数和滤波器阶数分别取为N=500、M=2。ADSP课程实验报告3图1-1:2阶自回归随机过程的取样序列图1-2:LSL和LMS算法估计信号模型参数的性能比较图1-2是LSL和LMS算法估计信号模型参数的性能比较(11.558a,20.81a,=10)。当阶数增大时,LSL和LMS算法计算得到的和相当逼近和。但从图中可以看出,LSL算法比LMS算法收敛得更快。0100200300400500600-15-10-5051015nu(n)2阶自回归随机过程的取样序列050100150200250300350400450500-1-0.500.511.52am1(n)am2(n)namLSL和LMS算法估计信号模型参数的性能比较LMSam1(n),LSLdett=10am2(n),LSLADSP课程实验报告4图1-3:初始预测误差剩余对LSL收敛性能的影响图1-3是初始预测误差剩余对LSL收敛性能的影响,画的是对参数估计的收敛轨迹。可以看出,在=0.1和1时,收敛较快。不过,=0.1和1时收敛轨迹开始时有一个冲击。当=10时,收敛稍慢,但是冲击大大消弱。4.程序源码%%LSL自适应算法clearall;%%初始设定M=2;%阶数N=500;%迭代次数delt=0.01;%前向和后向预测误差剩余的初始值a1=1.558;a2=-0.81;%信号模型系数w=randn(1,N+2);color='rgb';x(1)=0;x(2)=0.1;forn=3:N+2x(n)=a1*x(n-1)+a2*x(n-2)+w(n);%信号模型end%%初始化fori=1:1:3delt=10*delt;Ef=zeros(N,M);Delta=zeros(N,M+1);e0b(1,1)=x(1);e0f(1,1)=x(1);050100150200250300-1.5-1-0.500.511.52nam1delt=0.1delt=1delt=10ADSP课程实验报告5Eb(1,1)=delt;Ef(1,1)=delt;gama(1,1)=1;forn=2:N%按时间迭代e0b(n,1)=x(n);e0f(n,1)=x(n);Eb(n,1)=Ef(n-1,1)+x(n)*x(n);Ef(n,1)=Ef(n-1,1)+x(n)*x(n);gama(n,1)=1;form=1:M%按阶数迭代e0b(1,m)=0;Delta(1,m)=0;gama(1,m)=1;Ef(1,m)=delt;Eb(1,m)=delt;Delta(n,m+1)=Delta(n-1,m+1)+e0f(n,m)*e0b(n-1,m)/gama(n-1,m);e0f(n,m+1)=e0f(n,m)-Delta(n,m+1)*e0b(n-1,m)/Eb(n-1,m);e0b(n,m+1)=e0b(n-1,m)-Delta(n,m+1)*e0f(n,m)/Ef(n,m);Ef(n,m+1)=Ef(n,m)-Delta(n,m+1)*Delta(n,m+1)/Eb(n-1,m);Eb(n,m+1)=Eb(n-1,m)-Delta(n,m+1)*Delta(n,m+1)/Ef(n,m);gama(n-1,m+1)=gama(n-1,m)-e0b(n-1,m)*e0b(n-1,m)/Eb(n-1,m);end%参数计算Kb(n,1)=(e0f(n,2)-e0f(n,1))/e0b(n-1,1);Kf(n,1)=(e0b(n,2)-e0b(n-1,1))/e0f(n,1);Kb(n,2)=(e0f(n,3)-e0f(n,2))/e0b(n-1,2);am1(n)=-Kf(n,1)*Kb(n,2)-Kb(n,1);am2(n)=-Kb(n,2);end%%lms算法估计信号模型参数miu=0.005;d=filter([1a1a2],[100],x);lms_w=zeros(3,1);forn=3:Nlms_u=x(n:-1:n-3+1);yl(n)=lms_w'*lms_u';el(n)=d(n)-yl(n);lms_w=lms_w+2*miu*lms_u'*el(n);ADSP课程实验报告6LMSa1(n)=lms_w(2);LMSa2(n)=lms_w(3);end%%绘图plot(am1(1:300),color(i));xlabel('n');ylabel('am1');gridon;holdon;end%subplot(2,1,1);figureplot(x);gridon;xlabel('n');ylabel('u(n)');title('2阶自回归随机过程的取样序列');%subplot(2,1,2);figureplot(am1,'b');holdon;plot(am2,'g');holdon;plot(LMSa1,'r');holdon;plot(LMSa2,'r');gridon;text(8000,1.3,'am1(n)');text(8000,-0.6,'am2(n)');xlabel('n');ylabel('am');title('LSL和LMS算法估计信号模型参数的性能比较');ADSP课程实验报告7实验二1.信号模型给定x(n)exp(j20.5n)expj20.52nv(n),n=0,1,2,...,244(2-1)v(n)是方差为2v的复白噪声。信噪比定义为102v1SNR10log(dB)(2-2)(4)用PHD方法估计两个频率。使用M+1=3阶自相关矩阵,其元素是有偏自相关函数值。(5)用MUSIC方法估计频率,选取N=12,M=2。计算式(4.155)时要采用更细的频率间隔。2.算法模型2.1PHD算法1)根据原信号求解其自相关函数,并根据取样自相关构造出自相关函数矩阵R(x)(3阶Toeplitz矩阵);2)根据特征方程求R(x)的特征值及特征向量,得到最小特征值的特征矢量;3)将求得的特征向量代入公式jwPHD2Hmin1ˆP(e)eV(2-3)即得功率谱,最后将w划分若干等间距单位并画出功率谱,最大峰对应的频率便是正弦波的估计频率1w和2w。2.2MUSIC算法1)根据原信号求解其自相关函数,并根据取样自相关构造出自相关函数矩阵R(x)(相关函数矩阵是12阶方阵,所以需要从前面的自相关函数中选取前面一部分来构造Toeplitz矩阵);2)根据特征方程求R(x)的特征值及特征向量;3)利用信号子空间和噪声子空间的正交性,构造功率谱函数MUSICN2HiIM11ˆP(f)ˆev(2-4)然后将w划分若干等间距单位并画出功率谱,最大峰对应的频率便是正弦波的估计频率1w和2w。ADSP课程实验报告83.仿真结果与分析仿真结果如下图所示:图2-1:基于PHD算法的功率谱估计图2-2:基于MUSIC算法的功率谱估计从仿真波形中我们可以清晰地分辨出两个中心频率不同的峰值信号,并且MUSIC算法的估计更准确,PHD算法的估计偏差较大(正弦波角频率的真实值分别为12f0.5,f0.52),这与他们的估计特性有关。虽然PHD算法和MUSIC算法都是特征分解频率估计,但是两者的自相关矩阵阶数不同。PHD算法需要的阶数是M+1,即PHD的估计总是使用特征值最小的对应的特征向量进行估计,而MUSIC算法需要的阶数越大越精确,并且在实际估计过程中需要选择比PHD算法更加高的分辨率。00.10.20.30.40.50.60.70.80.91-20020406080100120频率(f)频率估计函数(dB)基于PHD算法的功率谱估计(SNR为10dB)f1=0.4981f2=0.548500.10.20.30.40.50.60.70.80.91-15-10-505101520频率(f)频率估计函数(dB)基于MUSIC算法的功率谱估计(SNR为10dB)f2=0.5293f1=0.4897ADSP课程实验报告94.程序源码4.1PHD算法程序%%ImplementofPHDalgorithmbasedonP1644.25(4)%%初始化clc;clearall;M=2;%复正弦信号的个数MN=3;%自相关矩阵Rx的阶数N_sample=25;%取样自相关点数N_snr=10;%信噪比为10dB%%产生复白噪声噪声和信号n=0:1:24;s=exp(1i*2*pi*0.5*n)+exp(1i*(2*pi*0.52*n+(pi/4)));x=awgn(s,N_snr);%向信号中加入复白噪声%%根据信号取样求出自相关序列,进而求出Toeplitz矩阵Rxx_corr=xcorr(x);%求自相关函数Rx=(toeplitz(x_corr(N_sample:N_sample+N-1))).';%求自相关矩阵%%求Rx的特征值和特征向量,并找出最小特征值对应的特征向量[V,D]=eig(Rx);%求特征值和特征向量diag(D);[AI]=sort(diag(D));fori=1:N;V(:,i)=V(:,I(i));endvmin=V(:,1);%最小特征值对应的特征向量%%PHD算法的功率谱估计f_step=0.001;%频率间隔f=0:f_step:1;%频率行向量ei=[ones(1,length(f))];%构造各频点相应的信号矢量eiforn=1:N-1ei=[ei;exp(1i*2*pi*n*f)];endphd=zeros(1,length(f));%对每一个频率计算频率估计函数fori=1:length(f)sum=abs((ei(:,i))'*vmin)^2;phd(1,i)=10*log10(1/sum);endADSP课程实验报告10%%画出频率估计函数的图形plot(f,phd)xlabel('频率(f)')ylabel('频率估计函数(dB)')title('基于PHD算法的功率谱估计(SNR为10dB)')gridon4.2MUSIC算法程序%%ImplementofMUSICalgorithmbasedonP1644.25(5)%%初始化clc;clearall;M=2;%复正弦信号的个数MN=12;%自相关

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功