




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一1. 信号模型给定一个2阶自回归随机过程,信号模型为:(1-1)它是由单位方差的高斯白噪声激励一个线性移不变全极点系统产生的,该系统的两个极点为和,对应的滤波器参数和。现在分别用LSL自适应滤波器以及LMS自适应滤波器作为预测器,预测信号,从而得到对信号模型的两个参数的估计值和。2. 算法模型2.1 LMS自适应算法LMS算法的最核心的思想是用平方误差代替均方误差,LMS算法的基本关系式为:(1-2)该式说明,LMS算法实际上是在每次迭代中使用粗略的梯度估计值来代替精确值。同时,有以下关系:(1-3)(1-4)其中为输出,为输入,为权系数,为误差信号。2.2 LSL自适应算法LSL自适应
2、算法的计算流程总结如下:1) 初始化(1-5)这里,是前向后向预测误差剩余的初始值。2) 迭代计算(按时间n=1,2,)(1-6)(1-7)(1-8)3) 迭代计算(按阶m=0,1,2,M-1)(1-9)(1-10)(1-11)(1-12)(1-13)(1-14)同阶的嵌套着按时间进行迭代计算。各阶前向和后向反射系数可以分别由以下二公式计算:(1-15)(1-16)M是给定滤波器的阶数。在本例中,可以推导出:(1-17)(1-18)3. 仿真结果与分析在Matlab中将上一节信号模型及其参数估计计算过程转化为代码,仿真得出模型参数估计和在自适应过程中的收敛轨迹。仿真中迭代次数和滤波器阶数分别取
3、为N=500、M=2。图1-1:2阶自回归随机过程的取样序列图1-2:LSL和LMS算法估计信号模型参数的性能比较图1-2是LSL和LMS算法估计信号模型参数的性能比较(,)。当阶数增大时,LSL和LMS算法计算得到的和相当逼近和。但从图中可以看出,LSL算法比LMS算法收敛得更快。图1-3:初始预测误差剩余对LSL收敛性能的影响图1-3是初始预测误差剩余对LSL收敛性能的影响,画的是对参数估计的收敛轨迹。可以看出,在=0.1和1时,收敛较快。不过,=0.1和1时收敛轨迹开始时有一个冲击。当=10时,收敛稍慢,但是冲击大大消弱。4. 程序源码% LSL自适应算法clear all;% 初始设定
4、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;for n=3:N+2 x(n)=a1*x(n-1)+a2*x(n-2)+w(n); %信号模型end% 初始化for i=1:1:3 delt=10*delt; Ef = zeros(N,M); Delta = zeros(N,M+1); e0b(1,1) = x(1); e0f(1,1) = x(1); Eb(1,1) = delt; Ef(1,1) =
5、delt; gama(1,1) = 1; for n = 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; for m = 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,
6、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
7、)/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(1 a1 a2,1 0 0,x); lms_w = zeros(3,1) ; for n =3 : N
8、lms_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) ; LMSa1(n)=lms_w(2); LMSa2(n)=lms_w(3); end % 绘图 plot(am1(1:300),color(i); xlabel(n);ylabel(am1); grid on; hold on;end%subplot(2,1,1);figureplot(x);grid on;xlabel(n);ylabel(u(n);title(2阶自回归随机过程的
9、取样序列);%subplot(2,1,2);figureplot(am1,b);hold on;plot(am2,g);hold on;plot(LMSa1,r);hold on;plot(LMSa2,r);grid on;text(8000,1.3,am1(n);text(8000,-0.6,am2(n);xlabel(n);ylabel(am);title(LSL和LMS算法估计信号模型参数的性能比较);实验二1. 信号模型给定(2-1)v(n)是方差为的复白噪声。信噪比定义为(2-2)(4) 用PHD方法估计两个频率。使用M+1=3阶自相关矩阵,其元素是有偏自相关函数值。(5) 用MUS
10、IC方法估计频率,选取N=12,M=2。计算式(4.155)时要采用更细的频率间隔。2. 算法模型2.1 PHD算法1) 根据原信号求解其自相关函数,并根据取样自相关构造出自相关函数矩阵R(x)(3阶Toeplitz矩阵);2) 根据特征方程求R(x)的特征值及特征向量,得到最小特征值的特征矢量;3) 将求得的特征向量代入公式(2-3)即得功率谱,最后将w划分若干等间距单位并画出功率谱,最大峰对应的频率便是正弦波的估计频率和。2.2 MUSIC算法1) 根据原信号求解其自相关函数,并根据取样自相关构造出自相关函数矩阵R(x)(相关函数矩阵是12阶方阵,所以需要从前面的自相关函数中选取前面一部分
11、来构造Toeplitz矩阵);2) 根据特征方程求R(x)的特征值及特征向量;3) 利用信号子空间和噪声子空间的正交性,构造功率谱函数(2-4)然后将w划分若干等间距单位并画出功率谱,最大峰对应的频率便是正弦波的估计频率和。3. 仿真结果与分析仿真结果如下图所示:图2-1:基于PHD算法的功率谱估计图2-2:基于MUSIC算法的功率谱估计从仿真波形中我们可以清晰地分辨出两个中心频率不同的峰值信号,并且MUSIC算法的估计更准确,PHD算法的估计偏差较大(正弦波角频率的真实值分别为),这与他们的估计特性有关。虽然PHD算法和MUSIC算法都是特征分解频率估计,但是两者的自相关矩阵阶数不同。PHD
12、算法需要的阶数是M+1,即PHD的估计总是使用特征值最小的对应的特征向量进行估计,而MUSIC算法需要的阶数越大越精确,并且在实际估计过程中需要选择比PHD算法更加高的分辨率。4. 程序源码4.1 PHD算法程序% Implement of PHD algorithm based on P164 4.25(4) % 初始化clc;clear all;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
13、*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);A I=sort(diag(D);for i=1:N; V(:,i)=V(:,I(i);endvmin=V(:,1); %最小特征值对应的特征向量 % PHD算法的功
14、率谱估计f_step=0.001; %频率间隔f=0:f_step:1; %频率行向量ei=ones(1,length(f); %构造各频点相应的信号矢量eifor n=1:N-1 ei=ei;exp(1i*2*pi*n*f);endphd=zeros(1,length(f); %对每一个频率计算频率估计函数for i=1:length(f) sum=abs(ei(:,i)*vmin)2; phd(1,i)=10*log10(1/sum);end % 画出频率估计函数的图形plot(f,phd)xlabel(频率(f)ylabel(频率估计函数(dB)title(基于PHD算法的功率谱估计(S
15、NR为10dB)grid on4.2 MUSIC算法程序% Implement of MUSIC algorithm based on P164 4.25(5) % 初始化 clc; clear all; M=2; %复正弦信号的个数M N=12; %自相关矩阵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矩阵Rx x_corr=xcorr(x); %求自相关函数 Rx=(toeplitz(x_corr(N_sample:N_sample+N-1).; %求自相关矩阵 % 求Rx的特征值和特征向量,并找出最小特征值对应的特征向量 V,D=eig(Rx); %求特征值和特征向量 % MUSIC算法的功率谱估计f_step=0.00001; %频率间隔f=0:f_step:1; %频率行向量ei=ones(1,length(f); %构造各频点相应的信号矢量eifor n=1:N-1 ei=ei;exp(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论