现代信号处理大型作业题目+答案.docx
- 文档编号:4441693
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:20
- 大小:240.76KB
现代信号处理大型作业题目+答案.docx
《现代信号处理大型作业题目+答案.docx》由会员分享,可在线阅读,更多相关《现代信号处理大型作业题目+答案.docx(20页珍藏版)》请在冰豆网上搜索。
现代信号处理大型作业题目+答案
研究生“现代信号处理”课程大型作业
(以下四个题目任选三题做)
1.请用多层感知器(MLP)神经网络误差反向传播(BP)算法实现异或问题(输入为
,要求可以判别输出为0或1),并画出学习曲线。
其中,非线性函数采用S型Logistic函数。
2.试用奇阶互补法设计两带滤波器组(高、低通互补),进而实现四带滤波器组;并画出其频响。
滤波器设计参数为:
Fp=1.7KHz,Fr=2.3KHz,Fs=8KHz,Armin≥70dB。
3.根据《现代数字信号处理》(姚天任等,华中理工大学出版社,2001)第四章附录提供的数据(pp.352-353),试用如下方法估计其功率谱,并画出不同参数情况下的功率谱曲线:
1)Levinson算法
2)Burg算法
3)ARMA模型法
4)MUSIC算法
4.图1为均衡带限信号所引起失真的横向或格型自适应均衡器(其中横向FIR系统长M=11),系统输入是取值为±1的随机序列
,其均值为零;参考信号
;信道具有脉冲响应:
式中
用来控制信道的幅度失真(W=2~4,如取W=2.9,3.1,3.3,3.5等),且信道受到均值为零、方差
(相当于信噪比为30dB)的高斯白噪声
的干扰。
试比较基于下列几种算法的自适应均衡器在不同信道失真、不同噪声干扰下的收敛情况(对应于每一种情况,在同一坐标下画出其学习曲线):
1)横向/格-梯型结构LMS算法
2)横向/格-梯型结构RLS算法
并分析其结果。
图1横向或格-梯型自适应均衡器
参考文献
[1]姚天任,孙洪.现代数字信号处理[M].武汉:
华中理工大学出版社,2001
[2]杨绿溪.现代数字信号处理[M].北京:
科学出版社,2007
[3]S.K.Mitra.孙洪等译.数字信号处理——基于计算机的方法(第三版)[M].北京:
电子工业出版社,2006
[4]S.Haykin,郑宝玉等译.自适应滤波器原理(第四版)[M].北京:
电子工业出版社,2003
[5]J.G.Proakis,C.M.Rader,F.Y.Ling,etc.AlgorithmsforStatisticalSignalProcessing[M].Beijing:
TsinghuaUniversityPress,2003
一、请用多层感知器(MLP)神经网络误差反向传播(BP)算法实现异或问题(输入为
,要求可以判别输出为0或1),并画出学习曲线。
其中,非线性函数采用S型Logistic函数。
1、原理:
反向传播(BP)算法:
(1)、多层感知器的中间隐层不直接与外界连接,其误差无法估计。
(2)、反向传播算法:
从后向前(反向)逐层“传播”输出层的误差,以间接算出隐层误差。
分两个阶段:
正向过程:
从输入层经隐层逐层正向计算各单元的输出
反向过程:
由输出层误差逐层反向计算隐层各单元的误差,并用此误差修正前层的权值。
2、流程图:
3、程序:
%使用了3层结构,第二层隐藏层4个单元。
2,3层都使用Logisitic函数。
%训练xor数据。
functionmlp()
f=fopen('XOR.txt');
A=fscanf(f,'%g',[3inf]);
A=A;
p=A(1:
2,:
)';%训练输入数据
t=A(3,:
)';%desireout
[train_num,input_scale]=size(p);%规模
fclose(f);
accumulate_error=zeros(1,3001);
alpha=0.5;%学习率
threshold=0.005;%收敛条件∑e^2 wd1=0;wd2=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); while1 temp=0; circle_time=circle_time+1; fori=1: train_num %前向传播 a0=double(p(i,: )');%第i行数据 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'; w1=w1+wd1; w2=w2+wd2; bd1=alpha.*s1; bd2=alpha.*s2; b1=b1+bd1; b2=b2+bd2; end;%endoffor ifaccumulate_error(circle_time)<=threshold|circle_time>3001%thenbreak; end;%endofif end;%endofwhile plot(accumulate_error,'m'); grid; xlabel('学习次数') ylabel('误差') disp(['计算误差=',num2str(accumulate_error(circle_time))]); disp(['迭代次数=',num2str(circle_time)]); %测试 a0=double([00]'); n1=w1*a0+b1; a1=Logistic(n1); n2=w2*a1+b2; a2=Logistic(n2); a=a2; disp(['00=',num2str(a)]); a0=double([01]'); n1=w1*a0+b1; a1=Logistic(n1); n2=w2*a1+b2; a2=Logistic(n2); a=a2; disp(['01=',num2str(a)]); a0=double([10]'); n1=w1*a0+b1; a1=Logistic(n1); n2=w2*a1+b2; a2=Logistic(n2); a=a2; disp(['10=',num2str(a)]); a0=double([11]'); n1=w1*a0+b1; a1=Logistic(n1); n2=w2*a1+b2; a2=Logistic(n2); a=a2; disp(['11=',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); fori=1: r result(i,i)=(1-a(i))*a(i); end; 4、实验结果: 计算误差=0.0049993 迭代次数=2706 00=0.023182 01=0.963110 10=0.965390 11=0.043374 5、学习曲线图: 图1.MLP 二、试用用奇阶互补法设计两带滤波器组(高、低通互补),进而实现四带滤波器组;并画出其频响。 滤波器设计参数为: Fp=1.7KHz,Fr=2.3KHz,Fs=8KHz,Armin≥70dB。 1、设计步骤: (1)对Fp、Fr进行预畸 (2)计算 ,判断 是否等于1,即该互补滤波器是否为互补镜像滤波器 (3)计算相关系数 (4)互补镜像滤波器的数字实现 2、程序: functionfilter2() 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-k^2)); q0=0.5*(1-k1)/(1+k1); q=q0+2*q0^5+15*q0^9+150*q0^13; N=11; N2=fix(N/4); M=fix(N/2); N1=M-N2; forjj=1: M a=0; form=0: 5 a=a+(-1)^m*q^(m*(m+1))*sin((2*m+1)*pi*jj/N);%Nisodd,u=j end a b=0; form=1: 5 b=b+(-1)^m*q^(m^2)*cos(2*m*pi*jj/N); end b W(jj)=2*q^0.25*a/(1+2*b); V(jj)=sqrt((1-k*W(jj)^2)*(1-W(jj)^2/k)); end fori=1: N1 alpha(i)=2*V(2*i-1)/(1+W(2*i-1)^2); end fori=1: N2 beta(i)=2*V(2*i)/(1+W(2*i)^2); end fori=1: N1 a(i)=(1-alpha(i)*Wc+Wc^2)/(1+alpha(i)*Wc+Wc^2); end fori=1: N2 b(i)=(1-beta(i)*Wc+Wc^2)/(1+beta(i)*Wc+Wc^2); end w=0: 0.0001: 0.5; LP=zeros(size(w));HP=zeros(size(w)); forn=1: length(w) z=exp(j*w(n)*2*pi); H1=1; fori=1: N1 H1=H1*(a(i)+z^(-2))/(1+a(i)*z^(-2)); end H2=1/z; fori=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'); %holdon; xlabel('数字频率'); ylabel('幅度'); 3、实验结果: 图2.两带滤波器 4、四带滤波器组程序: functionfilterfour 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-k^2)); q0=0.5*(1-k1)/(1+k1); q=q0+2*q0^5+15*q0^9+150*q0^13; N=11; N2=fix(N/4); M=fix(N/2); N1=M-N2; forjj=1: M a=0; form=0: 5 a=a+(-1)^m*q^(m*(m+1))*sin((2*m+1)*pi*jj/N);%Nisodd,u=j end b=0; form=1: 5 b=b+(-1)^m*q^(m^2)*cos(2*m*pi*jj/N); end W(jj)=2*q^0.25*a/(1+2*b); V(jj)=sqrt((1-k*W(jj)^2)*(1-W(jj)^2/k)); end fori=1: N1 alpha(i)=2*V(2*i-1)/(1+W(2*i-1)^2); end fori=1: N2 beta(i)=2*V(2*i)/(1+W(2*i)^2); end fori=1: N1 a(i)=(1-alpha(i)*Wc+Wc^2)/(1+alpha(i)*Wc+Wc^2); end fori=1: N2 b(i)=(1-beta(i)*Wc+Wc^2)/(1+beta(i)*Wc+Wc^2); end w=0: 0.0001: 0.5; LLP=zeros(size(w));LHP=zeros(size(w));HLP=zeros(size(w));HHP=zeros(size(w)); forn=1: length(w) z=exp(j*w(n)*2*pi); H1=1; fori=1: N1 H1=H1*(a(i)+z^(-2))/(1+a(i)*z^(-2)); end H21=1; fori=1: N1 H21=H21*(a(i)+z^(-4))/(1+a(i)*z^(-4)); end H2=1/z; fori=1: N2 H2=H2*(b(i)+z^(-2))/(1+b(i)*z^(-2)); end H22=1/(z^2); fori=1: N2 H22=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',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)模型,按以上述递推公式迭代计算直到 时为止。 将算出的模型参数代入下式即可得到功率谱估计值: 程序: function[sigma2,a]=levinson(signal_source,p) %阶数由p确定 N=length(signal_source); %确定自相关函数 form=0: N-1 R(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; %开始迭代 fork=2: p sigma2(k)=R (1)+sum(a1.*conj(R([2: k]))); 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)]; end a=[1a1]; %计算功率谱估计值 sigma2=real(sigma2); p=15;%p分别为15、30、45、60 [sigma2,a]=Levinson(signal_in_complex,p); %计算功率谱 f1=linspace(-0.5,0.5,512);%从-0.5到0.5生成512个等间隔数据 fork=1: 512 S1(k)=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=signal_source; sigma2=sum(signal_source*signal_source')/N; a=[]; fork=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=[1a]; sigma2=real(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_source,p,q) N=length(signal_source); M=N-1; r=xcorr(signal_source,'unbiased'); fork=1: p R(: k)=(r([N+q-k+1: N+M-k])).'; end a1=(-pinv(R)*(r([N+q+1: N+M]).')).'; a=[1a1]; Y=filter([1a1],[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)构造自相关阵 自相关函数可用有偏估计代替。 (2)计算R的特征向量 ,i=1,2,…,N。 (3)估计R的维数M,方法有AIC和MDL法。 (4)根据剩余特征向量计算MUSIC谱。 程序: functionS=music(X,p,ii) N=length(X); r=xcorr(X,'biased'); clearR fork=1: N R(: k)=(r([N-(k-1): 2*N-k])).'; end [V,D]=eig(R); f=linspace(-0.5,0.5,512); S0=fft(V(: p+1: end),512); fork=1: 512 S(k)=10*log10(1/(S0(k,: )*S0(k,: )')); end S=[S(257: 512)S(1: 256)]; subplot(2,2,ii); plot(f,S,'b'); title(['MUSIC: ',int2str(p),'维']); xlabel('归一化频率'),ylabel('功率谱/dB'); holdon; 实验结果: 图7.MUSIC算法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 信号 处理 大型 作业 题目 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)