ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:200.80KB ,
资源ID:8443467      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8443467.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(现代信号处理大型作业.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

现代信号处理大型作业.docx

1、现代信号处理大型作业2013年现代信号处理大型作业(选择1,2,3三道题)一、请用多层感知器(MLP)神经网络误差反向传播(BP)算法实现异或问题(输入为,要求可以判别输出为0或1),并画出学习曲线。其中,非线性函 数采用S型Logistic函数。1、原理:反向传播(BP)算法:(1)、多层感知器的中间隐层不直接与外界连接,其误差无法估计。(2)、反向传播算法:从后向前(反向)逐层“传播”输出层的误差,以间接算出隐层误差。分两个阶段:正向过程:从输入层经隐层逐层正向计算各单元的输出反向过程:由输出层误差逐层反向计算隐层各单元的误差,并用此误差修正前层的权值。2、流程图:3、程序:%使用了3层结

2、构,第二层隐藏层4个单元。2,3层都使用Logisitic函数。 %训练xor数据。 function mlp()f= fopen(XOR.txt); A = fscanf(f, %g,3 inf); A = A; p = A(1:2, :);%训练输入数据 t = A(3, :);%desire out train_num , input_scale= size(p) ;%规模 fclose(f); accumulate_error=zeros(1,3001); alpha = 0.5;%学习率 threshold = 0.005;% 收敛条件 e2 threshold wd1=0; wd2

3、=0; bd1=0; bd2=0; circle_time =0; hidden_unitnum = 4; %隐藏层的单元数 w1 = rand(hidden_unitnum,2);%4个神经元,每个神经元接受2个输入 w2 = rand(1,hidden_unitnum);%一个神经元,每个神经元接受4个输入 b1 = rand(hidden_unitnum,1); b2 = rand(1,1);while 1 temp=0; circle_time = circle_time +1; for i=1:train_num %前向传播 a0 = double ( p(i,:) );%第i行数据

4、 n1 = w1*a0+b1; a1 = Logistic(n1);%第一个的输出 n2 = w2*a1+b2; a2 = Logistic(n2);%第二个的输出 a = a2; %后向传播敏感性 e = t(i,:)-a; accumulate_error(circle_time) = temp + abs(e)2; temp=accumulate_error(circle_time); s2 = F(a2)*e; %输出层delta值 s1 = F(a1)*w2*s2;%隐层delta值 %修改权值 wd1 = alpha .* s1*a0; wd2 = alpha .* s2*a1;

5、w1 = w1 + wd1; w2 = w2 + wd2; bd1 = alpha .* s1; bd2 = alpha .* s2; b1 = b1 + bd1; b2 = b2 + bd2; end;%end of for if accumulate_error(circle_time) 3001 %then break; end;%end of if end;%end of while plot(accumulate_error,m); grid; xlabel(学习次数) ylabel(误差)disp(计算误差 = ,num2str(accumulate_error(circle_ti

6、me) ) ;disp(迭代次数 = ,num2str(circle_time);%测试a0 = double (0 0);n1 = w1*a0+b1;a1 = Logistic(n1);n2 = w2*a1+b2;a2 = Logistic(n2);a = a2;disp(0 0 = ,num2str(a);a0 = double (0 1);n1 = w1*a0+b1;a1 = Logistic(n1);n2 = w2*a1+b2;a2 = Logistic(n2);a = a2;disp(0 1 = ,num2str(a);a0 = double (1 0);n1 = w1*a0+b1;

7、a1 = Logistic(n1);n2 = w2*a1+b2;a2 = Logistic(n2);a = a2;disp(1 0 = ,num2str(a);a0 = double (1 1);n1 = w1*a0+b1;a1 = Logistic(n1);n2 = w2*a1+b2;a2 = Logistic(n2);a = a2;disp(1 1 = ,num2str(a);m=0;%-function a= Logistic(n)a = 1./(1+exp(-n);%-function result= F(a)r,c = size(a);result = zeros(r,r);for

8、i =1:rresult(i,i) = (1-a(i)*a(i);end;4、实验结果:计算误差 = 0.0049993迭代次数 = 27060 0 = 0.0231820 1 = 0.9631101 0 = 0.9653901 1 = 0.0433745、学习曲线图:图1 MLP二、试用用奇阶互补法设计两带滤波器组(高、低通互补),进而实现四带滤波器组;并画出其频响。滤波器设计参数为:Fp1.7KHz, Fr2.3KHz, Fs8KHz, Armin70dB。1、设计步骤:(1)对Fp、Fr进行预畸 (2)计算,判断是否等于1,即该互补滤波器是否为互补镜像滤波器(3)计算相关系数 (4)互补

9、镜像滤波器的数字实现 2、程序:function filter2()Fp=1700;Fr=2300;Fs=8000;Wp=tan(pi*Fp/Fs);Wr=tan(pi*Fr/Fs);Wc=sqrt(Wp*Wr);k=Wp/Wr;k1=sqrt(sqrt(1-k2);q0=0.5*(1-k1)/(1+k1);q=q0+2*q05+15*q09+150*q013;N=11;N2=fix(N/4);M=fix(N/2);N1=M-N2;for jj=1:M a=0; for m=0:5 a=a+(-1)m*q(m*(m+1)*sin(2*m+1)*pi*jj/N);%N is odd, u=j e

10、nda b=0; for m=1:5 b=b+(-1)m*q(m2)*cos(2*m*pi*jj/N); endb W(jj)=2*q0.25*a/(1+2*b); V(jj)=sqrt(1-k*W(jj)2)*(1-W(jj)2/k);end for i=1:N1 alpha(i)=2*V(2*i-1)/(1+W(2*i-1)2); end for i=1:N2 beta(i)=2*V(2*i)/(1+W(2*i)2); end for i=1:N1 a(i)=(1-alpha(i)*Wc+Wc2)/(1+alpha(i)*Wc+Wc2); end for i=1:N2 b(i)=(1-be

11、ta(i)*Wc+Wc2)/(1+beta(i)*Wc+Wc2); endw=0:0.0001:0.5;LP=zeros(size(w);HP=zeros(size(w); for n=1:length(w) z=exp(j*w(n)*2*pi); H1=1; for i=1:N1 H1=H1*(a(i)+z(-2)/(1+a(i)*z(-2) ; end H2=1/z; for i=1:N2 H2=H2*(b(i)+z(-2)/(1+b(i)*z(-2); end LP(n)=abs(H1+H2)/2); HP(n)=abs(H1-H2)/2);end plot(w,LP,k,w,HP,m)

12、;%hold on;xlabel(数字频率);ylabel(幅度);3、实验结果:图2 两带滤波器4、四带滤波器组程序:function filterfourFp=1700;Fr=2300;Fs=8000;Wp=tan(pi*Fp/Fs);Wr=tan(pi*Fr/Fs);Wc=sqrt(Wp*Wr);k=Wp/Wr;k1=sqrt(sqrt(1-k2);q0=0.5*(1-k1)/(1+k1);q=q0+2*q05+15*q09+150*q013;N=11;N2=fix(N/4);M=fix(N/2);N1=M-N2;for jj=1:M a=0; for m=0:5 a=a+(-1)m*q

13、(m*(m+1)*sin(2*m+1)*pi*jj/N); % N is odd, u=j end b=0; for m=1:5 b=b+(-1)m*q(m2)*cos(2*m*pi*jj/N); end W(jj)=2*q0.25*a/(1+2*b); V(jj)=sqrt(1-k*W(jj)2)*(1-W(jj)2/k);end for i=1:N1 alpha(i)=2*V(2*i-1)/(1+W(2*i-1)2); end for i=1:N2 beta(i)=2*V(2*i)/(1+W(2*i)2); end for i=1:N1 a(i)=(1-alpha(i)*Wc+Wc2)/(

14、1+alpha(i)*Wc+Wc2); end for i=1:N2 b(i)=(1-beta(i)*Wc+Wc2)/(1+beta(i)*Wc+Wc2); endw=0:0.0001:0.5; LLP=zeros(size(w);LHP=zeros(size(w); HLP=zeros(size(w);HHP=zeros(size(w);for n=1:length(w) z=exp(j*w(n)*2*pi); H1=1; for i=1:N1 H1=H1*(a(i)+z(-2)/(1+a(i)*z(-2) ; end H21=1; for i=1:N1 H21=H21*(a(i)+z(-4

15、)/(1+a(i)*z(-4) ; end H2=1/z; for i=1:N2H2=H2*(b(i)+z(-2)/(1+b(i)*z(-2); end H22=1/(z2); for i=1:N2H22=H22*(b(i)+z(-4)/(1+b(i)*z(-4); end LP=(H1+H2)/2); HP=(H1-H2)/2); LLP(n)=abs(H21+H22)/2*LP); LHP(n)=abs(H21-H22)/2*LP); HHP(n)=abs(H21+H22)/2*HP); HLP(n)=abs(H21-H22)/2*HP);end plot(w,LLP,k,w,LHP,m,

16、w,HLP,g,w,HHP,b);xlabel(数字频率);ylabel(幅度);5、实验结果:图3 四带滤波器组三、根据现代数字信号处理(姚天任等,华中理工大学出版社,2001)第四章附录提供的数据(pp.352-353),试用如下方法估计其功率谱,并画出不同参数情况下的功率谱曲线:1) Levinson算法2) Burg算法3) ARMA模型法4) MUSIC算法1、 Levinson算法分析:(1)、由输入数据估计自相关函数,一种渐近无偏估计(称之为取样自相关函数)的公式为:(2)、根据估计所得到的自相关函数,用下面的迭代公式估算AR模型参数:(3)、对于AR(p)模型,按以上述递推公式

17、迭代计算直到时为止。将算出的模型参数代入下式即可得到功率谱估计值:程序:function sigma2,a=levinson(signal_source,p)%阶数由p确定N=length(signal_source);%确定自相关函数for m=0:N-1R(m+1)=sum(conj(signal_source(1:N-m).*signal_source(m+1:N)/N;end%设置迭代初值a1=-R(2)/R(1);sigma2=(1-abs(a1)2)*R(1);gamma=-a1;%开始迭代for k=2:p sigma2(k)=R(1)+sum(a1.*conj(R(2:k);

18、D=R(k+1)+sum(a1.*R(k:-1:2); gamma(k)=D/sigma2(k); sigma2(k)=(1-abs(gamma(k)2)*sigma2(k); a1=a1-gamma(k)*conj(fliplr(a1),-gamma(k);enda=1 a1;%计算功率谱估计值sigma2=real(sigma2);p=15;%p分别为15、30、45、60sigma2,a=Levinson(signal_in_complex,p);%计算功率谱f1=linspace(-0.5,0.5,512); %从-0.5到0.5生成512个等间隔数据for k=1:512S1(k)=

19、10*log10(sigma2(end)/(abs(1+sum(a(2:end).*exp(-j*2*pi*f1(k)*1:p)2); %公式(2.3.7)并以dB表示end;实验结果:图4 Levinson算法2、 Burg算法分析:(1)、设输入数据序列为,对前后向预测误差之和求偏导,得反射系数前后向预测误差递推公式:(2)、重复以上步骤直至k=p,根据迭代得到的AR模型参数计算功率谱,计算功率谱的公式同上面算法。 程序:function sigma2,a=burg(signal_source,p)N=length(signal_source);ef=signal_source; eb=s

20、ignal_source;sigma2=sum(signal_source*signal_source)/N;a=;for k=1:p efp=ef(k+1:end); ebp=eb(k:end-1); gamma(k)=2*efp*ebp/(efp*efp+ebp*ebp); sigma2(k+1)=(1-abs(gamma(k)2)*sigma2(k); ef(k+1:end)=efp-gamma(k)*ebp; eb(k+1:end)=ebp-gamma(k)*efp; a=a-gamma(k)*conj(fliplr(a),-gamma(k);end;a=1 a;sigma2=real

21、(sigma2);实验结果:图5 Burg算法3、 ARMA算法分析:(1)、用x(n)通过A(z),得到y(n)。(2)、用一无穷阶的AR模型近似MA模型。用Burg算法可得到此近似AR模型的参数以及激励白噪声的功率。一般此AR模型的阶数应大于MA模型阶数的两倍,以获得较好的近似效果。(3)、可以证明,将上一步求出的近似AR模型参数视为时间序列,则MA模型就可视为一线性预测滤波器,按最小均方误差准则就可以求出MA模型参数,方法同样可用Burg算法。这样,ARMA模型的参数就全部估计出来了,根据以下公式即可算出功率谱:程序:function a,b,sigma2=arma(signal_sou

22、rce,p,q)N=length(signal_source);M=N-1;r=xcorr(signal_source,unbiased);for k=1:p R(:,k)=(r(N+q-k+1:N+M-k).;enda1=(-pinv(R)*(r(N+q+1:N+M).).;a=1 a1;Y=filter(1 a1,1,signal_source);pp=4*q;sigma,a1=burg(Y,pp);sigma2=sigma(2:end);sigma,a2=burg(a1(2:end),q);b=a2;实验结果:图6 ARMA算法4、 MUSIC算法分析:(1)构造自相关阵自相关函数可用有

23、偏估计代替。(2)计算R的特征向量,i=1,2,N。(3)估计R的维数M,方法有AIC和MDL法。(4)根据剩余特征向量计算MUSIC谱。程序:function S=music(X,p,ii)N=length(X);r=xcorr(X,biased);clear Rfor k=1:N R(:,k)=(r(N-(k-1):2*N-k).;endV,D = eig(R);f=linspace(-0.5,0.5,512);S0=fft(V(:,p+1:end),512);for k=1:512 S(k)=10*log10(1/(S0(k,:)*S0(k,:);endS=S(257:512) S(1:256);subplot(2,2,ii);plot(f,S,b);title(MUSIC: ,int2str(p), 维);xlabel(归一化频率), ylabel(功率谱/dB);hold on;实验结果:图7 MUSIC算法

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1