数字信号处理课程设计

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

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

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

资源描述

数字信号课程设计组员:1.数字信号处理课程设计:离散信号与系统的时域分析1、设计目的:(1)掌握求解系统响应的方法。(2)掌握时域离散系统的时域特性。(3)分析、观察及检验系统的稳定性。2、设计原理与方法:在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。可采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言中的函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析系统的稳定性。系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。设计中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的。系统的稳态输出是指当n→∞时,系统的输出。如果系统稳定,则信号加入系统后,系统输出的开始一段称为暂态效应,随着n的加大,幅度趋于稳定,达到稳态输出。设计程序:a=[1-0.9];b=[0.050.05];%左右两边系数x11=[ones(1,8),zeros(1,92)];x12=ones(1,100);%产生两个信号subplot(2,1,1)y1n=filter(b,a,x11);%求第一个信号的系统响应stem(y1n);title('输入信号为R8N的系统响应')subplot(2,1,2)y2n=filter(b,a,x12);%求第二个信号的系统响应stem(y2n);title('输入信号为u(k)的系统响应')figure(2)y3n=impz(b,a,100);%求单位脉冲响应stem(y3n);title('单位脉冲响应')%以上第一问设计结果图:010203040506070809010000.20.40.60.8输入信号为R8N的系统响应010203040506070809010000.51输入信号为u(k)的系统响应设计结果图:010203040506070809010000.010.020.030.040.050.060.070.080.090.1单位脉冲响应设计程序:x21=[ones(1,8)];%R8n产生信号h1=[ones(1,10),zeros(1,90)];h2=[12.52.51];%产生两个响应y21=conv(h1,x21);y22=conv(h2,x21);%卷积figure(3)subplot(2,1,1)stem(y21);title('R8N对x11输出响应的卷积')subplot(2,1,2)stem(y22);title('R8N对x12输出响应的卷积')%第二问设计结果图:02040608010012002468R8N对x11输出响应的卷积123456789101102468R8N对x12输出响应的卷积设计程序:figure(4)n=0:255;x31=ones(1,256);x32=sin(0.014.*n)+sin(0.4.*n);%产生两个测试信号,测试系统是否稳定A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49];y31=filter(B,A,x31);%求响应y32=filter(B,A,x32);%求响应subplot(2,1,1)stem(y31);title('输入信号为u的系统响应')subplot(2,1,2)stem(y32);%第三问设计结果图:050100150200250300-0.0500.05输入信号为u的系统响应050100150200250300-1-0.500.51暂态稳态(有界)暂态稳态取点不够的情况010203040506070-0.0500.05输入信号为u的系统响应010203040506070-0.500.5(1)在时域求系统响应的方法有两种,第一种是通过解差分方程求得系统输出;第二种是已知系统的单位脉冲响应,通过求输入信号和系统单位脉冲响应的线性卷积求得系统输出。(2)检验系统的稳定性,其方法是在输入端加入单位阶跃序列,观察输出波形,如果波形稳定在一个常数值上,系统稳定,否则不稳定。小结题目二:有限冲激响应滤波器(FIR)设计设计要求通带边缘频率:通带峰值起伏:阻带边缘频率:最小阻带衰减:65.045.021PP,75.03.021SS,][1dBP][40dBS利用MATLAB编程,分别用窗函数法和等波纹滤波器法设计两种FIR数字滤波器FIR的设计原理方法一:窗函数法窗函数法设计FIR滤波器的基本思想是在时域逼近理想滤波器的单位脉冲响应。是用理想滤波器的频率响应Hd(ej)求出hd[k],再在hd[k]的上加窗,将无限长的hd[k]截断为h[k]。流程图Hd(ejW)hd[k]de)e(π21][jjdππdkHkhh[k]w[k]程序Wpl=0.45*pi;Wsl=0.3*pi;%设置下边频的角频率参数Wph=0.65*pi;Wsh=0.75*pi;%设置上边频的角频率参数tr_width=min((Wpl-Wsl),(Wsh-Wph));%求比较两个过渡带的宽度,取最小的N=ceil((6.2*pi)/tr_width);%通过过渡带宽度计算窗函数的长度N=mod(N+1,2)+N%保证长度为奇数M=N-1;%求出滤波器阶数w=hanning(N)';%设置一直长度为N的汉宁窗Wcl=(Wpl+Wsl)/2;%求出下截频Wch=(Wsh+Wph)/2;%求出上截频Wn=[Wcl,Wch];%把两个截频组合成一个矩阵Wn=Wn./pi;%归一化hk=fir1(M,Wn,'bandpass',w);%用fir1函数设计一个fir滤波器,M为阶数,Wn为两个截频,bandpss表示带通,设置hanning窗womega=linspace(0,pi,512);%设置取样点mag1=freqz(hk,[1],omega);plot(omega/pi,20*log10(abs(mag1)));gridon;fir1函数:fir1函数是maltab用来快速设计FIR滤波器的函数。其调用形式为:h=fir1(M,Wc,‘ftype’,window)其中M为阶数,Wc为截频,‘ftype’是滤波器类型,window表示用哪种窗运行结果00.10.20.30.40.50.60.70.80.91-140-120-100-80-60-40-20020增益响应曲线Ap=45As=0.06N=63等波纹滤波器法设计FIR数字滤波器Matlab应用的函数[M,fo,ao,w]=remezord(f,a,dev)与remez配合使用,用于算出适合要求的滤波器阶次M,fo和ao为有2B个元素的向量,fo是频率轴分点,ao是在这些频率分点上理想的幅频响应,w是有B个元素的向量,表示各频带的加权值。由于remezord给出的阶次M有可能偏低,这时需要适当增加M。f是具有2B个元素的向量,由通带边缘频率和阻带边缘频率构成,dev若是两个值则为高通或低通,三个值为带通或带阻,由通带和阻带上的偏差决定Remez设计出等波纹滤波器freqz(B,A,N):离散系统频响特性B和A分别为离散系统的系统函数分子、分母多项式的系数向量,N为正整数(频率等分点的值)matlab程序图Wsl=0.3;Wsh=0.75;Wpl=0.45;Wph=0.65;dp=0.1087;ds=0.01;f=[WslWplWphWsh];a=[010];dev=[dsdpds];[M,fo,ao,w]=remezord(f,a,dev);M=M+5;h=remez(M,fo,ao,w);w=linspace(0,pi,1024);mag=freqz(h,[1],w);hd=plot(w/pi,20*log10(abs(mag)));axis([0,1,-100,0])gridonMatlab(运行结果)绘图00.10.20.30.40.50.60.70.80.91-100-90-80-70-60-50-40-30-20-100小结对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低①用窗函数法设计的滤波器,如果在阻带截止频率附近刚好满足,则离开阻带截止频率越远,阻带衰减富裕量越大,即存在资源浪费;②几种常用的典型窗函数的通带最大衰减和阻带最小衰减固定,且差别较大,又不能分别控制。所以设计的滤波器的通带最大衰减和阻带最小衰减通常都存在较大富裕。③用等波纹最佳逼近法设计的滤波器,其通带和阻带均为等波纹特性,且通带最大衰减和阻带最小衰减可以分别控制,所以其指标均匀分布,没有资源浪费,所以期阶数低得多。

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

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

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

×
保存成功