完整的IIR、FIR数字滤波器设计报告

时间:2024.5.13

一、课程设计的内容

录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。   

二、课程设计的要求与数据

1、  学生能够根据设计内容积极主动查找相关资料;

2、  滤波器的性能指标可以根据实际情况作调整;

3、  对设计结果进行独立思考和分析;

4、  设计完成后,要提交相关的文档;

1)  课程设计报告书(纸质和电子版各一份,具体格式参照学校课程设计管理规定),报告内容要涵盖设计过程、频谱图的分析.

2)  可运行的源程序代码(电子版)

5、  在基本要求的基础上,学生可以根据个人对该课程设计的理解,添加一些新的内容;

6、 详细设计要求参照<<数字信号处理>>课程设计指导手册.

三、课程设计应完成的工作

1、 语音信号的采集;

2、 语音信号的频谱分析;

3、 数字滤波器的设计;

4、 对语音信号进行滤波处理;

5、 对滤波前后的语音信号频谱进行对比分析;

四、课程设计进程安排

五、应收集的资料及主要参考文献

1,   数字滤波器设计方法;

2, 《数字信号处理及MATLAB实现》 余成波  杨如民等编著    清华大学出版社出版

3, 《数字信号处理教程》     程佩青      清华大学出版社出版

发出任务书日期:  20##   年  12  月   22 日    指导教师签名:

        计划完成日期:   2008    年  12  月  26  日    基层教学单位责任人签章:

主管院长签章:

一、设计题目

     应用Matlab对语音信号进行频谱分析及滤波

二、设计目的

 为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,安排了以下的课程设计的内容:

三、设计内容

   录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。

2.1语音信号的采集

要求学生利用Windows下的录音机,录制一段自己的话音,时间在1 s内。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,学生很快理解了采样频率、采样位数等概念。

2.2语音信号的频谱分析

要求学生首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深学生对频谱特性的理解。

2.3设计数字滤波器和画出其频率响应

给出各滤波器的性能指标:

(1)低通滤波器性能指标fb=1 000 Hz,fc=1 200 Hz,As=100 dB,Ap=1 dB。

(2)高通滤波器性能指标fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB。

(3)带通滤波器性能指标fb1=1 200 Hz,fb2=3 000 Hz,fc1=1 000 Hz,fc2=3 200 Hz,As=100 dB,Ap=1 dB。

要求学生用窗函数法和双线性变换法设计上面要求的3种滤波器。在Matlab中,可以利用函数fir1设计FIR滤波器,可以利用函数butte,cheby1和ellip设计IIR滤波器;利用Matlab中的函数freqz画出各滤波器的频率响应。

2.4用滤波器对信号进行滤波

要求学生用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。

2.5比较滤波前后语音信号的波形及频谱

要求学生在一个窗口同时画出滤波前后的波形及频谱。

2.6回放语音信号

在Matlab中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。

2.7设计系统界面

为了使编制的程序操作方便,要求有能力的学生,设计处理系统的用户界面。在所设计的系统界面上可以选择滤波器的类型,输入滤波器的参数,显示滤波器的频率响应,选择信号等。

四、设计结果分析

     代码:

一、语音信号的采集

[y,fs,bits]=wavread('j.wav',[1024 63500]);

sound(y,fs,bits);

二、语音信号的频谱分析

Y=fft(y,4096);

figure(1);

plot(y);title('语音信号的时域波形');

figure(2);

                                                      

plot(abs(Y));title('语音信号的频谱特性');                          

IIR数字滤波器

低通

clear;close all;

[y,fs,bits]=wavread('j.wav',[1024 63500]);

Y=fft(y,4096);

fb=1000;fc=1200;As=100;Ap=1;fs=22050;

wc=2*fc/fs; wb=2*fb/fs;

[n,wn]=ellipord(wc,wb,Ap,As);

[b,a]=ellip(n,Ap,As,wn);

figure(1);

freqz(b,a,512,fs);

x=filter(b,a,y);

X=fft(x,4096);

figure(2);

subplot(2,2,1);plot(y);title('滤波前信号波形');

subplot(2,2,2);plot(abs(Y));title('滤波前信号频谱');

Subplot(2, 2 ,3);plot(x);title('滤波后信号波形');

Subplot(2, 2 ,4);plot(abs(X));title('滤波后信号频谱');

sound(x,fs,bits);

                                                                                

IIR 高通

wp=2*pi*4800/18000;wr=2*pi*5000/18000;Ap=1;Ar=15;T=1

[N,wn]=buttord(wp/pi,wr/pi,Ap,Ar);

[b,a]=butter(N,wn,'high');

[db,mag,pha,grd,w]=freqz_m(b,a);

subplot(211);plot(w/pi,mag);title('数字巴特沃茨高通滤波器幅度响应|Ha(J\Omega)|');

subplot(212);plot(w/pi,db);title('数字巴特沃茨高通滤波器幅度响应(db)');

[y,Fs,nbite]=wavread('j.wav',[1024 63500]);

Y=fft(y,4096);

x=filter(b,a,y);

X=fft(x,4096);

figure(3)

subplot(211);plot(y);title('原时域波形');

subplot(212);plot(x);title('滤波后信号波形');

figure(4)

subplot(211);plot(abs(Y));title('原频谱频谱');

subplot(212);plot(abs(X));title('滤波后信号频谱');

sound(x,Fs);

                                                                               

IIR 带通

wp=[1200*pi*2/9000,3000*2*pi/9000];wr=[1000*2*pi/9000,3200*2*pi/9000];Ap=1;Ar=100;

[N,wn]=buttord(wp/pi,wr/pi,Ap,Ar);

[b,a]=butter(N,wn,'bandpass');

[db,mag,pha,grd,w]=freqz_m(b,a);

subplot(211);plot(w/pi,mag);title('数字巴特沃茨带通滤波器幅度响应|Ha(J\Omega)|');

subplot(212);plot(w/pi,db);title('数字巴特沃茨带通滤波器幅度响应(db)');

[y,Fs,nbite]=wavread('j.wav');

Y=fft(y,4096);

x=filter(b,a,y);

X=fft(x,4096);

figure(3)

subplot(211);plot(y);title('原时域波形');

subplot(212);plot(x);title('滤波后信号波形');

figure(4)

subplot(211);plot(abs(Y));title('原频谱频谱');

subplot(212);plot(abs(X));title('滤波后信号频谱');

sound(x,Fs);

                                                                               

FIR 数字滤波器

FIR 低通

fsamp=8000;rp=1;rs=100;

fcuts=[1000 1200];

d1=(10^(rp/20)-1)/(10^(rp/20)+1);

d2=10^(-rs/20);

mags=[1 0];

devs=[d1 d2];

[n,wn,beta,ftype]=kaiserord(fcuts,mags,devs,fsamp);

hh=fir1(n,wn,ftype,kaiser(n+1,beta),'noscale');

freqz(hh);

[y,Fs,nbite]=wavread('j.wav');

Y=fft(y,4096);

x=fftfilt(hh,y);

X=fft(x,4096);

figure(2)

subplot(211);plot(y);title('原时域波形');

subplot(212);plot(x);title('滤波后信号波形');

figure(3)

subplot(211);plot(abs(Y));title('原频谱频谱');

subplot(212);plot(abs(X));title('滤波后信号频谱');

sound(x,Fs);

                                                                               

FIR  高通

wc=2*pi*4800;wp=5000*2*pi/18000;

f=[0.5333,0.5556]; m=[0,1];rp=1;rs=100;

d1=(10^(rp/20)-1)/(10^(rp/20)+1);d2=10^(-rs/20);

rip=[d2,d1];

[N,fo,mo,w]=remezord(f,m,rip);N=N+2;

hn=remez(N,fo,mo,w);

[hw,w]=freqz(hn,1);

plot(w/pi,20*log10(abs(hw)));

[y,Fs,nbite]=wavread('j.wav');

Y=fft(y,4096);

x=fftfilt(hn,y);

X=fft(x,4096);

figure(2)

subplot(211);plot(y);title('原时域波形');

subplot(212);plot(x);title('滤波后信号波形');

figure(3)

subplot(211);plot(abs(Y));title('原频谱频谱');

subplot(212);plot(abs(X));title('滤波后信号频谱');

sound(x,Fs);

                                                                                

FIR 带通

wp1=2*pi*1200/8000;wp2=3000*2*pi/8000;wc1=2*pi*1000/8000;wc2=2*pi*3200*8000;

f=[0.25,0.30,0.75,0.80]

[n,wn,bta,ftype]=kaiserord([0.25,0.30,0.75,0.80],[0 1 0],[0.01 0.1087 0.01]);

h1=fir1(n,wn,ftype,kaiser(n+1,bta),'noscale');

[hh1,w1]=freqz(h1,1,256);

figure(1);

plot(w1/pi,20*log10(abs(hh1)));

grid;

[y,Fs,nbite]=wavread('j.wav');

Y=fft(y,4096);

x=fftfilt(h1,y);

X=fft(x,4096);

figure(2)

subplot(211);plot(y);title('原时域波形');

subplot(212);plot(x);title('滤波后信号波形');

figure(3)

subplot(211);plot(abs(Y));title('原频谱频谱');

subplot(212);plot(abs(X));title('滤波后信号频谱');

sound(x,Fs);

                                                                               

设计结果分析

(0)语音分析

 

(1)IIR  低通

(2) IIR 高通

(3)IIR 带通

(4)FIR 低通

(5)FIR  高通

(6)FIR 带通

五.设计心得体会

   这次课程设计,由于自己数字信号处理的理论课程跟不上进度,对数字滤波器的设计缺少认识。而且需要运用matlab软件,所以比较吃力。设计过程,看了一遍数字信号处理课程关于数字滤波器的设计的内容,再通过利用参考文献与网络,完成了用Matlab进行数字信号处理课程设计。通过课程设计,加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。同时掌握编程方法和解决实际问题的技巧。 与其他高级语言的程序设计相比,MATLAB环境下可以更方便、快捷地设计出具有严格线性相位的FIR滤波器,节省大量的编程时间,提高编程效率,且参数的修改也十分方便,还可以进一步进行优化设计。相信随着版本的不断提高,MATLAB在数字滤波器技术中必将发挥更大的作用。同时,用MATLAB计算有关数字滤波器的设计参数,如H(z)、h(n)等,对于数字滤波器的硬件实现也提供了一条简单而准确的途径和依据。

六、参考文献

1, 《数字信号处理及MATLAB实现》 余成波  杨如民等编著    清华大学出版社版

2, 《数字信号处理教程》     程佩青      清华大学出版社出版


第二篇:FIR数字滤波器的设计实验报告


课程名称  数字信号处理与应用             实验日期   2012   12   26 

注:学生做每个实验都必须填写实验报告。实验报告可以是纸质的,也可以是电子形式的。凡电子文本形式的实验报告须在学期末刻录进该学期教学资料光盘并存个人教学档案。

实验指导教师签名                                                  年      月      日

更多相关推荐:
IIR数字滤波器设计及软件实现实验报告

实验四IIR数字滤波器设计及软件实现实验报告实验四IIR数字滤波器设计及软件实现实验报告一实验目的1熟悉用双线性变换法设计IIR数字滤波器的原理与方法2学会调用MATLAB信号处理工具箱中滤波器设计函数或滤波器...

数字信号处理-IIR数字滤波器设计及软件实现实验报告

电子信息工程系学生实验报告实验课程名称数字信号处理实验项目名称IIR数字滤波器设计及软件实现实验时间20xx年06月01日班级座号姓名电子信息工程学院编制实验预习部分一实验目的1熟悉用双线性变换法设计IIR数字...

IIR数字滤波器设计实验报告

西北工业大学matlab实验报告实验三IIR数字滤波器设计实验报告一实验目的1通过仿真冲激响应不变法和双线性变换法2掌握滤波器性能分析的基本方法二实验要求1设计带通IIR滤波器2按照冲激响应不变法设计滤波器系数...

实验四 IIR数字滤波器的设计实验报告

数字信号处理实验报告数字信号处理实验报告实验四IIR数字滤波器的设计学班学指导教生姓名级号师张志翔电子信息工程1203班12401720xx220xx429115数字信号处理实验报告实验四IIR数字滤波器的设计...

matlab实验报告 IIR数字滤波器设计

实验报告姓名学号班级组号李鹏博20xx300704030411021实验名称课程名称实验室名称实验日期IIR数字滤波器设计数字信号处理航海西楼30320xx0620一实验目的要求掌握IIR数字滤波器设计的冲激响...

IIR数字滤波器设计及软件实现 实验报告

实验报告实验四IIR数字滤波器设计及软件实现1实验目的1熟悉用双线性变换法设计IIR数字滤波器的原理与方法2学会调用MATLAB信号处理工具箱中滤波器设计函数或滤波器设计分析工具fdatool设计各种IIR数字...

数字信号实验报告 IIR数字滤波器设计

实验报告课程名称数字信号处理实验项目IIR数字滤波器设计实验二IIR数字滤波器设计一实验目的1熟悉用双线性变换法设计IIR数字滤波器的原理与方法2掌握数字滤波器的计算机软件实现方法3通过观察对实际心电图信号的滤...

无限冲激响应(IIR)数字滤波器的设计实验报告

数字信号处理实验报告姓名学号专业实验四无限冲激响应IIR数字滤波器的设计一实验目的1掌握双线性变换法及冲激响应不变法设计IIR数字滤波器的具体设计方法及其原理熟悉用双线性变换法及冲激响应不变法设计低通IIR数字...

无限冲激响应(IIR)数字滤波器的设计实验报告

数字信号处理实验报告姓名寇新颖学号20xx0304026专业电子信息科学与技术实验四无限冲激响应IIR数字滤波器的设计一实验目的1掌握双线性变换法及冲激响应不变法设计IIR数字滤波器的具体设计方法及其原理熟悉用...

实验三 IIR数字滤波器的设计

实验三IIR数字滤波器的设计一实验目的1理解滤波器参数的意义2掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的方法3掌握利用Matlab设计其它各型IIR数字滤波器的方法4掌握分析滤波器是否达到性能指标的...

实验四-IIR数字滤波器的设计

实验四IIR数字滤波器的设计1实验目的1掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的具体方法和原理熟悉双线性变换法和脉冲响应不变法设计低通带通IIR数字滤波器的计算机编程2观察双线性变换法和脉冲响应不...

电子科技大学 DSP 实验四 数字滤波器的设计及实现

电子科技大学实验报告一实验室名称数字信号处理实验室二实验项目名称数字滤波器的设计及实现三实验原理一数字滤波器设计1数字滤波器设计步骤1根据给定的滤波器设计要求得到参数化描述即通带阻带截止频率p和s通带阻带纹波p...

iir数字滤波器的设计实验报告(21篇)