现代数字信号处理及应用仿真题答案_第1页
现代数字信号处理及应用仿真题答案_第2页
现代数字信号处理及应用仿真题答案_第3页
现代数字信号处理及应用仿真题答案_第4页
现代数字信号处理及应用仿真题答案_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、仿真作业姓名:李亮学号:S1301010834.17程序clc;clear;for i=1:500sigma_v1=0.27;b(1)=-0.8458;b(2)=0.9458;a(1)=-(b(1)+b(2);a(2)=b(1)*b(2);datlen=500;rand('state',sum(100*clock);s=sqrt(sigma_v1)*randn(datlen,1);x=filter(1,1,a,s);%sigma_v2=0.1;u=x+sqrt(sigma_v2)*randn(datlen,1);d=filter(1,1,-b(1),s);%w0=1;0;w=w

2、0;M=length(w0);N=length(u);mu=0.005; for n=M:N ui=u(n:-1:n-M+1); y(n)=w'*ui; e(n)=d(n)-y(n); w=w+mu.*conj(e(n).*ui; w1(n)=w(1); w2(n)=w(2); ee(:,i)=mean(e.2,2);endendep=mean(ee');plot(ep);xlabel('迭代次数');ylabel('MSE');title('学习曲线');plot(w1);hold;plot(w2);仿真结果: 步长0.015仿

3、真结果 步长0.025仿真结果步长0.005仿真结果4.18 程序data_len = 512; %样本序列的长度trials = 100; %随机试验的次数A=zeros(data_len,2);EA=zeros(data_len,1);B=zeros(data_len,2);EB=zeros(data_len,1);for m = 1: trialsa1 = -0.975;a2 = 0.95;sigma_v_2 =0.0731;v = sqrt(sigma_v_2) * randn(data_len, 1, trials);%产生v(n)u0 = 0 0;num = 1;den = 1 a

4、1 a2;Zi = filtic(num, den, u0); %滤波器的初始条件u = filter(num, den, v, Zi); %产生样本序列u(n)%(2)用LMS滤波器来估计w1和w2mu1 = 0.05;mu2 = 0.005;w1 = zeros(2, data_len);w2 = zeros(2, data_len);e1 = zeros(data_len, 1);e2 = zeros(data_len, 1);d1 = zeros(data_len, 1);d2 = zeros(data_len, 1);%LMS迭代过程for n =3 :data_len - 1 w1

5、( :, n+1) = w1( :, n) + mu1 * u(n-1 : -1: n-2, : , m) * conj(e1(n); w2( :, n+1) = w2( :, n) + mu2 * u(n-1 : -1: n-2, : , m) * conj(e2(n); d1(n+1) = w1( : , n+1)' * u(n: -1: n-1, :, m); d2(n+1) = w2( : , n+1)' * u(n: -1: n-1, :, m); e1(n+1) = u(n+1, : ,m) - d1(n+1); e2(n+1) = u(n+1, : ,m) - d

6、2(n+1);endA = A + conj(w1)'EA = EA +e1.2;B = B + conj(w2)'EB = EB + e2.2;end%剩余均方误差和失调参数wopt=zeros(2,trials);Jmin=zeros(1,trials);sum_eig=zeros(trials,1);for m=1:trials;rm=xcorr(u(:,:,m),'biased'); R=rm(512),rm(513);rm(511),rm(512); p=rm(511);rm(510);wopt(:,m)=Rp; v,d=eig(R);Jmin(m)=

7、rm(512)-p'*wopt(:,m);sum_eig(m)=d(1,1)+d(2,2);endsJmin=sum(Jmin)/trials;e1_100trials_ave=sum(e1)/trials;e2_100trials_ave=sum(e2)/trials;Jex1=e1_100trials_ave-sJmin;Jex2=e2_100trials_ave-sJmin;sum_eig_100trials=sum(sum_eig)/100;Jexfin=mu1*sJmin*(sum_eig_100trials/(2-mu1*sum_eig_100trials);Jexfin2

8、=mu2*sJmin*(sum_eig_100trials/(2-mu2*sum_eig_100trials);M1=Jexfin/sJminM2=Jexfin2/sJminfigure(1);plot(A/trials);hold on;plot(conj(w1)');xlabel('迭代次数');ylabel('权向量');title('步长为0.05权向量收敛曲线');figure(2);plot(B/trials);hold on;plot(conj(w2)');xlabel('迭代次数');ylabel(

9、'权向量');title('步长为0.005权向量收敛曲线');figure(3);plot(EA/trials,'*');hold on;plot(EB/trials,'-');xlabel('迭代次数');ylabel('均方误差');title('步长分别为0.05和0.005学习曲线');仿真结果失调参数 M1= 0.0545 M2= 0.00524.19程序clear all%产生观测信号和期望信号trials = 100; %随机试验的次数data_len = 1000;

10、 %样本数目n =1 : data_len;A1 = zeros(data_len, 2);EA1 = zeros(data_len, 1);for i = 1: trialssigma_v_2 = 0.5; phi = 2 * pi * rand(1, 1); %随机相位signal = sin(pi/2 * n' +phi); %信号s(n)u = signal + sqrt (sigma_v_2) * randn(data_len, 1); %观测信号u(n)d = 2 * cos(pi/2 * n' +phi); %期望响应信号d(n)%LMS迭代算法mu = 0.01

11、5;M = 2;w = zeros(M,data_len);e = zeros(data_len,1);y = zeros(data_len,1);for m = 2: data_len-1 w(:, m + 1) = w(: , m) + mu * u(m: -1: m - 1) * conj(e(m); y(m + 1) = w(: , m + 1)' * u(m + 1:-1: m); e(m + 1) = d(m + 1) - y(m + 1);endA1 = A1 + conj(w)'EA1 = EA1 +e.2;endfigure(1);plot(e);xlabel

12、('迭代次数');ylabel('均方误差');title('单次实验学习曲线');figure(2);plot(EA1/trials);xlabel('迭代次数');ylabel('均方误差');title('100次独立试验学习曲线');figure(3);plot(A1/trials);hold on;plot(conj(w)');xlabel('迭代次数');ylabel('权向量');title('权向量收敛曲线');仿真结果:5.1

13、0 (1)(2)(3) 特征值分解eig(R2)=diag0.4704,93.6270Eig(R3)=diag0.3148,0.9362,139.8951特征值扩展:X(R2)=199.0370X(R3)=444.4107(4)程序clear allclc;L=10000;sigma_v1=0.93627;A1 = zeros(L, 2);EA1 = zeros(L, 1);for i=1:100 v=sqrt(sigma_v1)*randn(L,1); a1=-0.99; u(1)=v(1); for k=2:L u(k)=-a1*u(k-1)+v(k); end % u=u(500:end

14、); M=2; w(1,:)=zeros(1,M); e(1)=u(1); mu=0.001; uu=zeros(1,M); w(2,:)=w(1,:)+mu*e(1)*uu; uu=u(1) uu(1:M-1); dd=(w(2,:)*uu')' e(2)=u(2)-dd; for k=3:L w(k,:)=w(k-1,:)+mu*e(k-1)*uu; uu=u(k-1) uu(1:M-1); dd=(w(k,:)*uu')' e(k)=u(k)-dd; end A1 = A1 + conj(w); EA1 = EA1 +(e.2)'endfigure

15、(1);plot(EA1/100);xlabel('迭代次数');ylabel('均方误差');title('迭代500次,步长0.001'); figure(2);plot(A1/100);hold on;plot(conj(w);xlabel('迭代次数');ylabel('权向量');title('权向量收敛曲线');5.11clear allclear;clc;for i=1:1500N=1000;M=5;L=2;h=0.389 1 0.389;sigma=1e-3; vn=sqrt(sig

16、ma)*randn(2*M+N,1); H=zeros(2*M+1,2*M+L+1); for k=1:2*M+1 H(k,k:1:k+L)=h; end s=randsrc(2*M+L+N,1); S=zeros(2*M+L+1,N); V=zeros(2*M+1,N); for k=1:N S(:,k)=s(2*M+L+k:-1:k); V(:,k)=vn(2*M+k:-1:k); end U=H*S+V; dn=S(M+L+1,:); if (i<=500) mu=0.01; elseif (i>500&&i<=1000) mu=0.025; else

17、mu=0.05; end a=size(U); M=a(1); N=a(2); err=zeros(N,1); w=zeros(M,N); w(M-1)/2+1,1)=1; err(1)=dn(1)-w(:,1)'*U(:,1); for k=1:N-1 w(:,k+1)=w(:,k)+mu*U(:,k)*conj(err(k); err(k+1)=dn(k+1)-w(:,k+1)'*U(:,k+1); end if (i<=500) ee1(:,i)=mean(abs(err).2,2); elseif (i>500&&i<=1000) ee2(:,i)=mean(abs(err).2,2); else ee3(:,i)=mean(abs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论