资源描述:
《dsp研究性学习报告_iir和fir滤波器的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.《数字信号处理》课程研究性学习报告姓名学号同组成员指导教师时间...IIR和FIR滤波器设计专题研讨【目的】(1)掌握根据滤波器指标设计IIR和FIR数字滤波器的原理和方法。(2)熟悉通过IIR和FIR数字滤波器进行实际系统设计的方法。(3)培养学生自主学习能力,以及发现问题、分析问题和解决问题的能力。【研讨题目】1.设计一个数字滤波器,在频率低于的范围内,低通幅度特性为常数,并且不低于0.75dB。在频率和之间,阻带衰减至少为20dB。(1)试求满足这些条件的最低阶Butterworth滤波器。(2)试求满足这些条件的最
2、低阶ChebyshevI滤波器。(3)自主选择一段带限信号,通过所设计的(1)、(2)两种滤波器,比较各自的输入和输出信号。讨论两种滤波器在结构和性能上的差异。【题目分析】本题讨论模拟滤波器和数字滤波器的设计。结合课本分析各类滤波器的特性。【IIR模拟滤波器设计的基本方法】【仿真结果】【结果分析】【自主学习内容】【阅读文献】【发现问题】(专题研讨或相关知识点学习中发现的问题):【问题探究】【仿真程序】2.分别用Hamming窗,Blackman窗和Kaiser窗设计,满足下列指标的FIR低通滤波器:(1)画出所设计滤波器的幅
3、频响应。(2)比较这三种窗的设计结果。...【题目分析】本题讨论窗函数法设计数字FIR滤波器。结合课本分析不同窗函数法的设计结果。【FIR模拟滤波器设计的基本方法】【仿真结果】【结果分析】【自主学习内容】【阅读文献】【发现问题】(专题研讨或相关知识点学习中发现的问题):【问题探究】【仿真程序】3.附件给出了一段含有噪声的音频信号。(1)分析该信号的频谱特点。(2)通过脉冲响应不变法设计一个滤波器对其进行处理,得到有用信息,自主确定各项指标。(3)使用双线性变换法重做(2)。(4)试定量比较上述两种滤波器的各项性能,画出能说明
4、性能差异的相关图形,对比并解释。(5)通过不同窗函数法设计FIR滤波器对其进行处理,比较不同窗函数的滤波效果,给出分析和结论。(选做)(6)请尝试采用其它的音频信号,混入不同的噪声,利用所学的滤波方法进行分析,会得到什么样的效果?【题目分析】本题讨论用IIR和FIR数字滤波器进行实际系统设计的方法。...(1)【仿真结果】...放大后的图形...上面两图是噪声产生的频率范围,下面这个图是正常声音的播放频率范围。下图放大可以看出抽样点数:50688...【仿真程序】figure(1);[x,fs,nbits]=wavread(
5、'C:UsersAdministratorDesktop你好for第三次研讨.wav');plot(x);title('含有噪声的音频信号的时域波形');figure(2);[x,fs,nbits]=wavread('C:UsersAdministratorDesktop你好for第三次研讨.wav');y=fft(x,fs);df=fs/length(y);fx=df*(0:length(y)-1);%将横坐标转化为频率值plot(fx,abs(y));绘制声音信号的频谱title('含有噪声的音频信号的频
6、域波形-频谱');【结果分析】由上面图形可以看出:抽样频率为:fs=44100,抽样点数:N=44100;噪声产生的频率范围有四个:7500-8000Hz,8500-9000Hz,35000-36000Hz,36000-37000Hz;正常声音播放频率范围:0-5500Hz;因此采用低通滤波器可以滤除噪声,发现所需要设计的滤波器参数应满足wp>6500,ws<7500,才能更可能将噪声去除。(2)脉冲响应不变法所设计的低通滤波:wp=5500;ws=7500;Ap=1;As=25;(让角频率可以取整数)...【仿真结果】..
7、.【仿真程序】...[x,fs,bits]=wavread('C:UsersAdministratorDesktop你好for第三次研讨.wav');x1=x(1:1:end);X1=fft(x1);w=linspace(0,2*pi,50688);figure(3);plot(w/pi,abs(X1));title('含有噪声的音频信号的频谱图');np=5500;ns=7550;n=50688;Wp=np*2*pi/n;Ws=ns*2*pi/n;Ap=1;As=25;%抽样频率(Hz)Fs=1;%确定模拟BW指标
8、wp=Wp*Fs;ws=Ws*Fs;%确定AF阶数N=buttord(wp,ws,Ap,As,'s');%由通带指标确定3dB截频wc=wp/(10^(0.1*Ap)-1)^(1/2/N);[numa,dena]=butter(N,wc,'s');[numd,dend]=impinvar(