搜档网
当前位置:搜档网 › matelab数字滤波器设计 唐山学院

matelab数字滤波器设计 唐山学院

matelab数字滤波器设计 唐山学院
matelab数字滤波器设计 唐山学院

目录

1引言 (1)

2MATLAB软件简介 (2)

2.1MATLAB概述 (2)

3系统人机对话界面设计 (3)

3.1MATLAB GUI简介 (3)

3.2GUI简单使用说明 (3)

3.3GUI界面设计 (4)

4数字滤波器设计 (6)

4.1数字滤波器设计原理 (6)

4.2数字滤波器设计任务 (6)

4.2.1低通滤波器的设计 (7)

4.2.2带通滤波器的设计 (7)

4.2.3高通滤波器的设计 (8)

5输入信号处理 (9)

5.1合成信号 (9)

5.2合成信号低通滤波处理 (10)

5.3合成信号带通滤波处理 (12)

5.4合成信号高通滤波处理 (13)

5.5语音信号的调用 (14)

5.6语音信号 (15)

5.7语音信号低通滤波处理 (16)

5.8语音信号带通滤波处理 (18)

5.9语音信号高通滤波处理 (18)

6总结体会 (20)

参考文献 (21)

附录MATLAB程序 (22)

1引言

在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号分析都是基于滤波器而进行的,而数字滤波器是通过数值运算实现滤波,具有处理精度高、稳定、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,精度高,而且能够保留一些模拟滤波器的优良特性,因此应用很广。MATLAB软件以矩阵运算为基础,把计算、可视化及程序设计有机融合到交互式工作环境中,并且为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。尤其是MATLAB中的信号处理工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。

滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。课题基于MATLAB语音信号处理的设计与实现,综合运用数字信号处理的理论知识对合成信号、语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现。面对庞杂繁多的原始信号,如何提取所需信号、抑制不需要的信号这就需要使用滤波器。滤波器的作用主要是选择所需频带的信号内容而抑制不需要的其他频带的信号内容。

作为强大的计算软件,MATLAB提供了编写图形用户界面的功能。所谓图形用户界面,简称为GUI,是由各种图形对象,如图形窗口菜单按钮、文本框等构建的用户界面。它是用户和计算机之间交流的工具。MATLAB将所有GUI支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。

2MATLAB软件简介

2.1MATLAB概述

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和SIMULINK两大部分。MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。

目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI 控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。本文将利用其中的信号处理工具箱来设计IIR数字滤波器。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB 成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JA V A 的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

3系统人机对话界面设计

3.1MATLAB GUI简介

图形用户界面或图形用户接口(Graphical User Interface,GUI)是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是可用用通过窗口、菜单、按键等方式来方便地进行操作。

图形用户界面可以减少用户的认知负担;保持界面的一致性;满足不同目标用户的创意需求;用户界面友好性;图标识别平衡性;图标功能的一致性;建立界面与用户的互动交流。

应用程序为使用数据而在图形用户界面中设置的基本单元。应用程序和数据在窗口内实现一体化。在窗口中,用户可以在窗口中操作应用程序,进行数据的管理、生成和编辑。通常在窗口四周设有菜单、图标,数据放在中央。

在窗口中,根据各种数据应用程序的内容设有标题栏,一般放在窗口的最上方,并在其中设有最大化、最小化(隐藏窗口,并非消除数据)、最前面、缩进(仅显示标题栏)等动作按钮,可以简单地对窗口进行操作。

3.2GUI简单使用说明

GUI设计面板是GUI设计工具应用的平面,面板上部提供了菜单和常用工具按钮,左边提供了多种如命令按钮、单选按钮、可编辑文本框、静态文本框、弹出式菜单等。进行设计时,首先单击面板左边所需的控件,然后在右边的图形界面编辑区中再次单击某一恰当位置,这时将在该位上为图形界面添加相应的控件。一个图形界面的完成,除了设计其外观外,还有相当的一部分是通过属性的设来完成的。因此在设置这些属性时,要注意下面几个常用又很重要的属性设置。

1.控件风格和外观

(1)BackgroundColor:设置控件背景颜色,使用[R G B]或颜色定义。

(2)CData:在控件上显示的真彩色图像,使用矩阵表示。

(3)ForegroundColor:文本颜色。

(4)String属性:控件上的文本,以及列表框和弹出菜单的选项。

2.应用MATLAB制作这样一个过程是非常方便的,我们可以通过GUI操作来看到。环境下要设计一个界面友好的仿真软件,一般应完成以下两个步骤:

(1)GUI界面设计。主要是通过不同的文本框、按钮等许多工具的使用,设计出一个图形用户界面。要清楚这个图形界面的功能是什么,即在图形界面上的操作会引发什么样的结果。

(2)回调函数的设计。用户应根据设计好的图形界面的功能,针对各个不同的图形对象来编写出能够实现该功能的函数代码,确保这个图形界面能够完成所预定的功能。

3.3GUI界面设计

在Matlab命令行窗口中输入Guide或点击Matlab界面上面的菜单中的相应图标,打开GUI设计的图形界面。然后拖入所要的图形控件,按需要修改外观和空间属性,直至满足要求。设置属性点击Guide界面上方的Run按钮,会生成一个fig文件,一个m文件,其中fig文件就是界面的图形,m文件是界面的回调函数,在m文件里每个控件的回调函数都已经自动生成,控件要做的工作就是在文件框架下定义某些特殊要求的状态并补充完整回调函数场,使单击控件时激活回调程序完成一定的功能。

首先我们新建一个GUI文件:File/New/GUI,选择Blank GUI(Default)。其次,进入GUI开发环境,添加好自己需要的控件。填写好相应的代码,运行,单击相应的按钮,便跳出对应的界面。如按下“声音信号”以及“合成信号高通滤波器”则对应界面如图3.1所示。

图3.1GUI运行结果图

4数字滤波器设计

4.1数字滤波器设计原理

数字滤波器的原理是:输入输出均为离散的数字信号,借助于一定的数值计算方法和数字器件对输入信号进行处理,改变输入信号的频谱或波形,从而达到保留信号中的有用成分,去除冗余成分的目的。

其时域输入输出关系为:

()()()

=

*

y n x n h n

两边同时作傅里叶变换可得频域表达式:

()()()

jw jw jw

=

Y e X e H e

常用的IIR滤波器设计方法主要有以下几种:

1.以模拟滤波器函数为基础的变换法:即先设计一满足指定条件的模拟滤波器H(s),再将该模拟滤波器转化为数字滤波器H(z)。

2.直接设计法:在z平面内,根据零、极点对系统特性的影响,调整零极点位置得H(z)。

3.最优化设计法(计算机辅助设计)在某种最小化误差准则下,建立差分方程系数对理想特性的逼近方程,使用迭代方法解方程组得到最佳逼近系统。由于此方法计算量大,需要借助于计算机进行设计。

不同类型(高通、低通和带通)滤波器对应的Wp和Ws值遵循以下规则:

1.高通滤波器:Wp和Ws为一元矢量且Wp>Ws;

2.低通滤波器:Wp和Ws为一元矢量且Wp

3.带通滤波器:Wp和Ws为二元矢量且Wp

在此主要介绍由模拟滤波器转换为数字滤波器的设计方法。

4.2数字滤波器设计任务

所设计的数字滤波器应完成以下功能:

1.设计低通、带通、高通数字滤波器;

2.可以对合成信号(含低频、中频、高频分量)、语音信号进行滤波;

3.通过GUI界面进行控制。

4.2.1低通滤波器的设计

根据数字滤波器的设计原理,首先将数字域的指标转化为模拟域的指标设计模拟低通滤波器,然后应用双线性变换法将模拟滤波器转化为数字滤波器将指标转换成归一化模拟低通滤波器的指标,通过归一化的模拟低通滤波器阶数N和3dB截止频率的计算,将模拟域频率变换成模拟低滤波器H(s),并用双线性变换法或脉冲响应不变法将H(s)转换成数字低通滤波器H(z),由此得到低通数字滤波器。其幅频特性如图4.1所示。

图4.1低通滤波器的幅频特性

4.2.2带通滤波器的设计

先将要设计的滤波器的技术指标通过频率的转换变成模拟低通滤波器的技术指标,再根据这些性能指标设计出低通型滤波器的传递函数,最后依据频率转换关系的到所需要的滤波器的传递函数。其幅频特性如图4.2所示。

图4.2带通滤波器的幅频特性

4.2.3高通滤波器的设计

与低通滤波器的设计原理相似,首先将数字域的指标转化为模拟域的指标,然后应用双性变换发将模拟滤波器转化为数字滤波器。通过归一化的模拟滤波器阶数N和3dB截止频率的计算,利用巴特沃兹法计算出模拟系统函数H(s),并用双线性变换法将H(s)转换成数字系统函数H(z),由此得到高通数字滤波器。其幅频特性如图4.3所示。

图4.3高通滤波器的幅频特性

5输入信号处理

5.1合成信号

合成信号是被测电路所需特定参数的电测试信号。在测试、研究或调整电子电路及设备时,为测定电路的一些电参量,如测量频率响应、噪声系数,为电压表定度等,都要求提供符合所定技术条件的电信号,以模拟在实际工作中使用的待测设备的激励信号。当要求进行系统的稳态特性测量时,需使用振幅、频率已知的正弦信号源。

本设计所用合成信号应包含低频、中频、高频三个频段频率的信号,经过不同滤波器后,分别滤出不同频率信号的波形。

合成信号是由三个频率分别为100Hz,400Hz,800Hz的正弦波相加得到的,其波形及频谱图如图5.1所示。

图5.1合成信号波形图

GUI中其相应的程序代码如下所示:

f1=100;

f2=400;

f3=800;

t=(1:100)/2000;

x1=sin(2*pi*t*f1);

x2=sin(2*pi*t*f2);

x3=sin(2*pi*t*f3);

x=x1+x2+x3;

axes(handles.axes1);

plot(x);title('合成信号波形');

grid on;

n=[1:100];

t=n/2000;

X=fft(x,512);

w=(0:255)/256*1000;

axes(handles.axes2);

plot(w,abs([X(1:256)]));

grid on;

xlabel('Hz');ylabel('频率幅度响应');

title('合成信号频谱图');

5.2合成信号低通滤波处理

读入信号对信号傅里叶变换进行频谱分析,利用filter函数使信号经过滤波器,将信号通过设计的低通滤波器后,对得到的信号傅里叶变换进行频谱分析,与滤波前进行比较。在GUI中运行的结果如图5.2所示。

图5.2合成信号低通滤波后结果

在GUI中添加的程序代码如下所示:

Ws=300*2*pi;%设置低通滤波器阻带的截止频率为300

Wp=200*2*pi;%设置低通滤波器通带的截止频率为200

Ap=1;%设置通带的波纹系数

As=50;%设置阻带衰减系数

[N,Wc]=buttord(Wp,Ws,Ap,As,'s');%巴特沃兹法求N及3dB止频率[B,A]=butter(N,Wc,'s');%求系统函数的系数B,A

[H,W]=freqs(B,A);%连续时间函数的频率响应

axes(handles.axes3);

plot(W/(2*pi),abs(H));

grid on;

title('低通滤波器幅频特性');

[D,C]=impinvar(B,A,2000)%双线性变换法求Z域系统函数系数f1=100;

f2=400;

f3=800;

t=(1:100)/2000;

x1=sin(2*pi*t*f1);

x2=sin(2*pi*t*f2);

x3=sin(2*pi*t*f3);

x=x1+x2+x3;

y=filter(D,C,x);

X=fft(x,512);

axes(handles.axes4);

plot(y);

title('低通滤波后的合成信号波形');

Y=fft(y,512);

w=(0:255)/256*1000;

axes(handles.axes5);

plot(w,abs([Y(1:256)]));

title('低通滤波后合成信号的频谱');

axes(handles.axes6);

plot(x);

title('滤波前合成信号的波形');

axes(handles.axes7);

plot(w,abs([X(1:256)]));

title('滤波前合成信号的频谱');

由滤波后合成信号的频谱可以明显看出,低通滤波器能很好的将频率为100Hz的信号滤出,而合成信号中400Hz以及800Hz的部分被滤除掉。由低通滤波器的频谱特性可以看出,其结果和代码中设定的Wp,Ws完全一致分别为200Hz、300Hz。此低通滤波器的设计方法简单明了,可以直接改动Ws,Wp来实现滤出不同频段信号的效果。

5.3合成信号带通滤波处理

若设计带通滤波器性能指标wp=[300*2*pi500*2*pi],ws=[350*2*pi 450*2*pi],Rp=1;As=50;运用以上所设计的巴特沃斯型IIR带通滤波器利用filter函数滤波,对得到的信号傅里叶变换进行频谱分析,与滤波前进行比较。如图5.3所示。

图5.3合成信号带通滤波

由于合成信号带通滤波器设计原理与低通器的相似故不再分析具体程序,具体程序见附录。由滤波后合成信号的频谱可以明显看出,带通滤波器能很好的将频率为400Hz的信号滤出,而合成信号中100Hz以及800Hz的部分被滤除掉。由带通滤波器的频谱特性可以看出,其结果和代码中设定的wp,ws完全一致分别为[350Hz450Hz]、[300Hz500Hz]。

5.4合成信号高通滤波处理

若设计带通滤波器性能指标wp=1000*2*pi,ws=600*2*pi,Rp=5;As=50;运用以上所设计的巴特沃斯型IIR高通滤波器利用filter函数滤波,对得到的信

号傅里叶变换进行频谱分析,与滤波前进行比较。如图5.4所示。

图5.4合成信号高通滤波

由滤波后合成信号的频谱可以明显看出,高通滤波器能很好的将频率为800Hz的信号滤出,而合成信号中400Hz以及800Hz的部分被滤除掉。由高通滤波器的频谱特性可以看出,其结果和代码中设定的wp,ws完全一致分别为1000Hz、600Hz。

5.5语音信号的调用

利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。再对其进行采样,记住采样频率和采样点数。下面介绍Wavread函数几种调用格式。

1.y=wavread(file)

功能说明:读取file所规定的wav文件,返回采样值放在向量y中。

2.[y,fs,nbits]=wavread(file)

功能说明:采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。

3.y=wavread(file,N)

功能说明:读取钱N点的采样值放在向量y中。

4.y=wavread(file,[N1,N2])

功能说明:读取从N1到N2点的采样值放在向量y中。

接下来,对语音信号进行采样。其程序如下:

>>[y,fs,nbits]=wavered(‘OriSound’);

然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB 提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:

Xk=fft(xn,N);

参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn 的长度时,fft函数自动在xn后面补零。当N小于xn的长度时,fft函数计算xn 的前N个元素,忽略其后面的元素。

5.6语音信号

语音信号是一段wav格式的语音信息,它通过wavread函数读取,由sound 函数播放,其波形及频谱图如图5.5所示。

图5.5声音信号波形频谱图

语音信号程序代码及分析:

[y,fs,nbits]=wavread('D:\李丹4100215233\mm.wav');%读取D盘的语音信号sound(y,fs,nbits);%播放语音信号

N=length(y);%求得语音信号的长度Y=fft(y,N);%对语音信号进行傅里叶变换

axes(handles.axes1);

plot(y);%输出语音信号波形title('原始语音信号波形');

axes(handles.axes2);%输出其频谱

plot(abs(Y));

title('原始语音信号频谱');

5.7语音信号低通滤波处理

低通滤波后,声音稍微有些发闷、低沉,原因是高频分量被低通滤波器衰减。但是很接近原来的声音。低通滤波器性能指标:wp=500Hz,ws=3000Hz,Rp=1;As=50;运用以上所设计的巴特沃斯型IIR低通滤波器对录制的语音信号进行滤波分析如图5.6所示。

图5.6声音信号低通滤波

语音信号低通滤波程序代码及分析:

[s,fs,nbits]=wavread('D:\李丹4100215233\mm.wav');%读取语音信号

Ws=3000*2*pi;%设置阻带截止频率为3000

Wp=500*2*pi;%设置通带截止频率为

500

Ap=1;%设置通带波纹系数As=30;%设置阻带衰减[N,Wc]=buttord(Wp,Ws,Ap,As,'s');%利用巴特沃兹求N,Wc [B,A]=butter(N,Wc,'s');

[H,W]=freqs(B,A);

axes(handles.axes3);

plot(W/(2*pi),abs(H));%输出低通滤波器波形grid on;

title('低通滤波器幅频特性');

[d,c]=bilinear(B,A,fs)

z=filter(d,c,s);%将语音信号通过此低通滤波器

sound(z,fs);%播放低通滤波后语音信号

grid;

axes(handles.axes6);

plot(s);%输出滤波前信号波形title('滤波前信号的波形');

grid;

axes(handles.axes4);

plot(z);%输出滤波后信号波形title('滤波后的信号波形');

Z=fft(z,1024);%1024点傅里叶变换f=fs*(0:511)/1024;

Y=fft(s,1024);%1024点傅里叶变换grid;

axes(handles.axes7);

plot(f,abs(Y(1:512)));%输出滤波前信号频谱

title('低通滤波前信号的频谱');

grid;

axes(handles.axes5);

plot(f,abs(Z(1:512)));%输出滤波后信号频谱title('低通滤波后信号的频谱');

5.8语音信号带通滤波处理

带通滤波后声音有点像机器人小叮当发出的声音。原因是低频和高频分量被带通滤波器衰减,而人发出的声音中频成分不是很多。带通滤波器性能指标wp=[4000Hz5000Hz],ws=[2500Hz6500Hz],Rp=1;As=50;运用以上所设计的巴特沃斯型IIR带通滤波器对录制的语音信号进行滤波分析如图5.7所示。

图5.7声音信号带通滤波

5.9语音信号高通滤波处理

高通滤波后,此时只有少许杂音,原因是低频分量被高通滤波器衰减,而人声部分正好是低频部分,所以只剩下杂音,或者发出高频杂音但人的耳朵听不到。高通滤波器性能指标:wp=10000Hz,ws=8000Hz,Rp=5;As=50;分别运用以上所设计的巴特沃斯型IIR高通滤波器对录制的语音信号进行滤波分析如图

5.8所示。

图5.8声音信号高通滤波

滤波器设计步骤及实现程序

数字滤波器的设计步骤及程序实现 湖南理工学院信息与通信工程学院 一、IIR 脉冲响应不变法设计步骤 1、已知实际数字指标as s ap p ,,,ωω 2、将数字指标化为原型模拟指标As s Ap p ,,,ΩΩ,可设T=pi, T /ω=Ω 3、求原型模拟滤波器的c N Ω,,其中:??? ???ΩΩ--=)/lg(2)]110/()110lg[(10/10/s p A A s p N N A p cp p 210 /1 10 -Ω= Ω N A s cs s 210 /1 10 -Ω= Ω ][cs cp c ΩΩ∈Ω, 4、根据N 写出归一化原型系统函数)(p G a 5、用c s p Ω=/代入得原型系统函数c s p a a p G s H Ω==/)()( 6、将)(s H a 化为部分分式展开形式∑-=k k a s s A s H )( 7、写出)(z H 的极点T s k k e z =,并写出)(z H 的部分分式展开形式∑--?= 11)(z z A T z H k k 8、将)(z H 化为分子分母形式,验证设计结果。 二、IIR 双线性变换法设计步骤 1、已知实际数字指标as s ap p ,,,ωω 2、将数字指标化为原型模拟指标As s Ap p ,,,ΩΩ,可设T=2, 2 tan 2ω?= ΩT 3、求原型模拟滤波器的c N Ω,,其中:?? ? ???ΩΩ--=)/lg(2)]110/()110lg[(10/10/s p A A s p N N A p cp p 210 /1 10 -Ω= Ω N A s cs s 210 /1 10 -Ω= Ω ][cs cp c ΩΩ∈Ω, 4、根据N 写出归一化原型系统函数)(p G a 5、用c s p Ω=/代入得原型系统函数c s p a a p G s H Ω==/) ()( 6、用11 112--+-?=Z Z T s 代入原型系统函数)(s H a 得1 1 112)()(--+-? ==Z Z T s a s H z H 8、将)(z H 整理成分子分母形式,验证设计结果。

FIR数字滤波器设计与使用

实验报告 课程名称:数字信号处理指导老师:刘英成绩:_________________实验名称: FIR数字滤波器设计与使用同组学生姓名:__________ 一、实验目的和要求 设计和应用FIR低通滤波器。掌握FIR数字滤波器的窗函数设计法,了解设计参数(窗型、窗长)的影响。 二、实验内容和步骤 编写MATLAB程序,完成以下工作。 2-1 设计两个FIR低通滤波器,截止频率 C =0.5。 (1)用矩形窗,窗长N=41。得出第一个滤波器的单位抽样响应序列h 1(n)。记下h 1 (n) 的各个抽样值,显示h 1 (n)的图形(用stem(.))。求出该滤波器的频率响应(的N 个抽样)H 1(k),显示|H 1 (k)|的图形(用plot(.))。 (2)用汉明窗,窗长N=41。得出第二个滤波器的单位抽样响应序列h 2(n)。记下h 2 (n) 的各个抽样值,显示h 2(n)的图形。求出滤波器的频率响应H 2 (k),显示|H 2 (k)|的 图形。 (3)由图形,比较h 1(n)与h 2 (n)的差异,|H 1 (k)|与|H 2 (k)|的差异。 2-2 产生长度为200点、均值为零的随机信号序列x(n)(用rand(1,200)0.5)。显示x(n)。 求出并显示其幅度谱|X(k)|,观察特征。 2-3 滤波 (1)将x(n)作为输入,经过第一个滤波器后的输出序列记为y 1(n),其幅度谱记为|Y 1 (k)|。 显示|X(k)|与|Y 1 (k)|,讨论滤波前后信号的频谱特征。 (2)将x(n)作为输入,经过第二个滤波器后的输出序列记为y 2(n),其幅度谱记为|Y 2 (k)|。 比较|Y 1(k)|与|Y 2 (k)|的图形,讨论不同的窗函数设计出的滤波器的滤波效果。 2-4 设计第三个FIR低通滤波器,截止频率 C =0.5。用矩形窗,窗长N=127。用它对x(n)进行滤波。显示输出信号y

实验五:FIR数字滤波器设计与软件实现

实验五:FIR数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 2.实验容及步骤 (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。 (4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord 和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:○1MATLAB函数fir1的功能及其调用格式请查阅教材; ○2采样频率Fs=1000Hz,采样周期T=1/Fs; ○3根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截

至频率fs=150Hz ,换算成数字频率,通带截止频率p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率s 20.3s f ωπ=T =π,阻带最小衰为60dB 。 ○ 4实验程序框图如图2所示,供读者参考。 图2 实验程序框图 4.思考题 (1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤. (2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为pl ω和pu ω,阻带上、下截止频率为sl ω和su ω,试求理想带通滤波器的截止频率cl cu ωω和。 (3)解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低? 5.信号产生函数xtg 程序清单(见教材) 二、 滤波器参数及实验程序清单 1、滤波器参数选取 根据实验指导的提示③选择滤波器指标参数: 通带截止频率fp=120Hz ,阻带截至频率fs=150Hz 。代入采样频率Fs=1000Hz ,换算成数字频率,通带截止频率p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率

数字滤波器的MATLAB设计与实现.

数字滤波器的MATLAB设计与实现 数字滤波器的MATLAB设计与实现 类别:电子综合 引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1 数字滤波器的设计1.1 数字滤波器设计的基本步骤数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。数字滤波器设计的基本步骤如下:(1)确定指标在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。它以分贝值的形式给出要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N 的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。(2)逼近确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。(3)性能分析和计算机仿真上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。 1.2 滤波器的MATLAB设计(1)MATLAB MATLAB是一套用于科学计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。(2)FIR滤波器的MATLAB设计下面以设计线性相位FIR滤波器为例介绍具体的设计方法。线性相位FIR滤波器通常采用窗函数法设计。窗函数法设

IIR数字滤波器设计原理

IIR 数字滤波器设计原理 利用双线性变换设计IIR 滤波器(只介绍巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数)(s H a ,然后由)(s H a 通过双线性变换可得所要设计的IIR 滤波器的系统函数)(z H 。 如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率 s p w w 和的转换,对s p αα和指标不作变化。边界频率的转换关系为)21tan(2w T =Ω。接着,按照模拟低通滤波器的技术指标根据相应 设计公式求出滤波器的阶数N 和dB 3截止频率c Ω;根据阶数N 查巴特沃斯归一 化低通滤波器参数表,得到归一化传输函数 )(p H a ;最后,将c s p Ω=代入)(p H a 去归一,得到实际的模拟滤波器传输函数)(s H a 。之后,通过双线性变换法转换公式 11 112--+-=z z T s ,得到所要设计的IIR 滤波器的系统函数)(z H 。 步骤及内容 1) 用双线性变换法设计一个巴特沃斯IIR 低通数字滤波器。设计指标参数为: 在通带内频率低于π2.0时,最大衰减小于dB 1;在阻带内[]ππ,3.0频率区间上,最小衰减大于dB 15。 2) 以π02.0为采样间隔,绘制出数字滤波器在频率区间[]2/,0π上的幅频响应特 性曲线。 3) 程序及图形 程序及实验结果如下: %%%%%%%%%%%%%%%%%%

%iir_1.m %lskyp %%%%%%%%%%%%%%%%%% rp=1;rs=15; wp=.2*pi;ws=.3*pi; wap=tan(wp/2);was=tan(ws/2); [n,wn]=buttord(wap,was,rp,rs,'s'); [z,p,k]=buttap(n); [bp,ap]=zp2tf(z,p,k); [bs,as]=lp2lp(bp,ap,wap); [bz,az]=bilinear(bs,as,.5); [h,f]=freqz(bz,az,256,1); plot(f,abs(h)); title('双线性z 变换法获得数字低通滤波器,归一化频率轴'); xlabel('\omega/2\pi'); ylabel('低通滤波器的幅频相应');grid; figure; [h,f]=freqz(bz,az,256,100); ff=2*pi*f/100; absh=abs(h); plot(ff(1:128),absh(1:128)); title('双线性z 变换法获得数字低通滤波器,频率轴取[0,\pi/2]'); xlabel('\omega'); ylabel('低通滤波器的幅频相应');grid on; 运行结果: 00.050.10.150.20.25 0.30.350.40.450.500.1 0.2 0.3 0.40.50.60.70.8 0.9 1 双线性z 变换法获得数字低通滤波器,归一化频率轴 ω/2π低通滤波器的幅频相应

IIR数字滤波器的设计流程图讲课讲稿

目录 目录 0 前言 (1) 1.1数字滤波器简介 (1) 1.2使用数字滤波器的原因 (1) 1.3设计的原理和内容 (1) 工程概况 (2) 正文 (2) 3.1 设计的目的和意义 (2) 3.2 目标和总体方案 (2) 3.3 设计方法和内容 (3) 3.4 硬件环境 (3) 3.5软件环境 (3) 3.6IIR数字滤波器设计思路 (3) 3.7 IIR数字滤波器的设计流程图 (3) 3.8 IIR数字滤波器设计思路 (4) 3.9设计IIR数字滤波器的两种方法 (4) 3.10双线性变换法的基本原理 (5) 3.11用双线性变换法设计IIR数字滤波器的步骤 (6) 3.12程序源代码和运行结果 (6) 3.12.1低通滤波器 (6) 3.12.3带通滤波器 (10) 3.12.4带阻滤波器 (13) 3.13结论 (15) 3.13.1存在的问题 (15) 3.13.2解决方案 (16) 致谢 (16)

参考文献 (16) 前言 1.1数字滤波器简介 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。如果系统是一个连续系统,则滤波器称为模拟滤波器。如果系统是一个离散系统,则滤波器称为数字滤波器。 信号通过线性系统后,其输出信号就是输入信号和系统冲激响应的卷积。从频域分析来看,信号通过线性系统后,输出信号的频谱将是输入信号的频谱与系统传递函数的乘积。除非为常数,否则输出信号的频谱将不同于输入信号的频谱,某些频率成分较大的模,因此,中这些频率成分将得到加强,而另外一些频率成分的模很小甚至为零,中这部分频率分量将被削弱或消失。因此,系统的作用相当于对输入信号的频谱进行加权。 1.2使用数字滤波器的原因 数字滤波器具有比模拟滤波器更高的精度,甚至能够实现后者在理论上也无法达到的性能。数字滤波器相比模拟滤波器有更高的信噪比。数字滤波器还具有模拟滤波器不能比拟的可靠性。根据其冲击响应函数的时域特性可将数字滤波器分为IIR(有限长冲击响应)和FIR(无限长冲击响应)。 1.3设计的原理和内容 在windows环境下进行语言信号采集,通过IIR数字滤泼器的设计,数字带滤波器就是用软件来实现上面的滤波过程,可以很好的克服模拟滤波器的缺点,数字带滤波器的参数一旦确定,就不会发生变化。IIR型有较好的通带与阻带特性,所以,在一般的设计中选用IIR 型。IIR型又可以分成Butterworth型滤波器,ChebyshevII型滤波器和椭圆型滤波器等。 IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。 IIR数字滤波器的设计步骤: (1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; (2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器; (3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;

数字滤波器设计与分析

吉林大学仪器科学与电气工程学院本科生实习报告 实习题目:信号分析和处理 实习时间:2012.09 专业:电气工程及其自动化 所在班级:65100615 学生姓名:王双伟 指导教师:朱凯光田宝凤林婷婷

信号实习报告 一.实验目的 加深对信号系统与信号处理理论的理解,学会信号处理的基本知识和方法,并在基本技能方面得到系统训练;熟悉MA TLAB编程环境,掌握MA TLAB编程基本技能,以及程序调试仿真方法,能够采用MATLAB语言和工具进行信号处理;掌握现代信号分析与处理技术,包括信号频谱分析和数字滤波器(FIR、IIR)设计,学会信号处理系统设计与系统功能检测的基本方法;将理论知识与实际应用结合,提高学生解决实际问题的动手能力,为信号系统与信号处理知识的应用、后续专业学习以及今后从事相关科学研究和实际工作打下坚实基础。二.实验工具 计算机,matlab软件 三.实验内容 设计FIR数字带通滤波器,对于给定函数s=sin(2πx100t)+sin(2πx200t)+sin(2πx400t),设计带通滤波器滤除100和400赫兹的频率,并画出滤波前后的时频图及滤波器的增益图。 f1=100;f2=200;f3=400; fs=2000; m=(0.3*f1)/(fs/2); M=round(8/m); N=M-1; fc=[0.15,0.3]; b=fir1(N,fc); figure(1) [h,f]=freqz(b,1,1000); plot(f*fs/(2*pi),20*log10(abs(h))) xlabel('频率/赫兹'); ylabel('增益/分贝'); title('滤波器的增益响应'); figure(2) subplot(211) t=0:1/fs:0.5; s=sin(2*pi*f1*t)+sin(2*pi*f2*t)+sin(2*pi*f3*t); plot(t,s); xlabel('时间/秒'); ylabel('幅度'); title('信号滤波前时域图');

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

IIR数字滤波器的设计 一、实验目的: 掌握冲激相应不变法和双线性变换法设计IIR数字滤波器的原理和方法; 观察冲激相应不变法和双线性变换法设计IIR数字滤波器的频率特性; 了解冲激相应不变法和双线性变换法的特点和区别。 二、实验原理: 无限长单位冲激响应(IIR)数字滤波器的设计思想: a)设计一个合适的模拟滤波器 b)利用一定的变换方法将模拟滤波器转换成满足预定指 标的数字滤波器 切贝雪夫I型:通带中是等波纹的,阻带是单调的

切贝雪夫II型:通带中是单调的,阻带是等波纹的 1.用冲击响应不变法设计一个低通切贝雪夫I型数字滤波器通带上限截止频率为400Hz 阻带截止频率为600Hz 通带最大衰减为0.3分贝 阻带最小衰减为60分贝 抽样频率1000Hz 2.用双线性变换法设计切贝雪夫II型高通滤波器 通带截止频率2000Hz 阻带截止频率1500Hz 通带最大衰减0.3分贝 阻带最小衰减50分贝 抽样频率20000Hz 四、实验程序:

1) Wp=2*pi*400; Ws=2*pi*600; Rp=0.3; Rs=60; Fs=1000; [N,Wn]=cheb1ord(Wp,Ws,Rp,Rs,'s'); [Z,P,K]=cheb1ap(N,Rp); [A,B,C,D]=zp2ss(Z,P,K); [At,Bt,Ct,Dt]=lp2lp(A,B,C,D,Wn); [num1,den1]=ss2tf(At,Bt,Ct,Dt); [num2,den2]=impinvar(num1,den1,Fs); [H,W1]=freqs(num1,den1); figure(1) subplot(2,1,1); semilogx(W1/pi/2,20*log10(abs(H)));grid; xlabel(' 频率/ Hz'); ylabel(' 模拟滤波器幅值(db)'); [H,W2]=freqz(num2,den2,512,'whole',Fs); subplot(2,1,2); plot(W2,20*log10(abs(H)));grid; xlabel(' 频率/ Hz');

简单低通滤波器设计及matlab仿真

东北大学 研究生考试试卷 考试科目: 课程编号: 阅卷人: 考试日期: 姓名:xl 学号: 注意事项 1.考前研究生将上述项目填写清楚. 2.字迹要清楚,保持卷面清洁. 3.交卷时请将本试卷和题签一起上交. 4.课程考试后二周内授课教师完成评卷工作,公共课成绩单与试卷交研究生院培养办公室, 专业课成绩单与试卷交各学院,各学院把成绩单交研究生院培养办公室. 东北大学研究生院培养办公室

数字滤波器设计 技术指标: 通带最大衰减: =3dB , 通带边界频率: =100Hz 阻带最小衰减: =20dB 阻带边界频率: =200Hz 采样频率:Fs=200Hz 目标: 1、根据性能指标设计一个巴特沃斯低通模拟滤波器。 2、通过双线性变换将该模拟滤波器转变为数字滤波器。 原理: 一、模拟滤波器设计 每一个滤波器的频率范围将直接取决于应用目的,因此必然是千差万别。为了使设计规范化,需要将滤波器的频率参数作归一化处理。设所给的实际频 率为Ω(或f ),归一化后的频率为λ,对低通模拟滤波器令λ=p ΩΩ/,则1 =p λ, p s s ΩΩ=/λ。令归一化复数变量为p ,λj p =,则p p s j j p Ω=ΩΩ==//λ。所以巴 特沃思模拟低通滤波器的设计可按以下三个步骤来进行。 (1)将实际频率Ω规一化 (2)求Ωc 和N 11010/2-=P C α s p s N λααlg 1 10 110lg 10 /10/--= 这样Ωc 和N 可求。 p x fp s x s f

根据滤波器设计要求=3dB ,则C =1,这样巴特沃思滤波器的设计就只剩一个参数N ,这时 N p N j G 222 )/(11 11)(ΩΩ+= += λλ (3)确定)(s G 因为λj p =,根据上面公式有 N N N p j p p G p G 22)1(11 )/(11)()(-+= += - 由 0)1(12=-+N N p 解得 )221 2exp(πN N k j p k -+=,k =1,2, (2) 这样可得 1 )21 2cos(21 ) )((1 )(21+-+-= --= -+πN N k p p p p p p p G k N k k 求得)(p G 后,用p s Ω/代替变量p ,即得实际需要得)(s G 。 二、双线性变换法 双线性变换法是将s 平面压缩变换到某一中介1s 平面的一条横带里,再通过标准变换关系)*1exp(T s z =将此带变换到整个z 平面上去,这样就使s 平面与z 平面之间建立一一对应的单值关系,消除了多值变换性。 为了将s 平面的Ωj 轴压缩到1s 平面的1Ωj 轴上的pi -到pi 一段上,可以通过以下的正切变换来实现: )21 tan(21T T Ω= Ω 这样当1Ω由T pi -经0变化到T pi 时,Ω由∞-经过0变化到∞+,也映射到了整个Ωj 轴。将这个关系延拓到整个s 平面和1s 平面,则可以得到

数字滤波器设计步骤

数字信号处理 数字滤波器的设计 学院计算机与电子信息学院 专业电子信息科学与技术班级电子15-2 班姓名学号 指导教师刘利民

数字滤波器的设计 一、模拟低通滤波器的设计方法 1、B utterw orth 滤波器设计步骤: ⑴。确定阶次N ① 已知Ωc 、Ωs 和As 求Bu tt er worth DF 阶数N ② 已知Ωc 、Ωs 和Ω=Ωp (3dB p Ω≠-)的衰减A p 求Bu tterwort h DF 阶数N ③ 已知Ωp、Ωs和Ω=Ωp 的衰减A p 和As 求B utte rwo rth DF 阶数N /10 /1022(/)101,(/)101p s A A N N p c s c ΩΩ=-ΩΩ=-则:

⑵.用阶次N 确定 ()a H s 根据公式: 1,2,2N ()()a a H s H s -在左半平面的极点即为()a H s 的极点,因而 2,,N 2、切比雪夫低通滤波器设计步骤: ⑴.确定技术指标p Ω p α s Ω s α 归一化: /1p p p λ=ΩΩ= /s s p λ=ΩΩ ⑵.根据技术指标求出滤波器阶数N 及ε: 0.12 10 1δε=- p δα= ⑶.求出归一化系统函数 其中极点由下式求出:

或者由N 和S直接查表得()a H p 二、数字低通滤波器的设计步骤: 1、 确定数字低通滤波器的技术指标:通带截止频率p ω、通带最大衰减系数 p α、 阻带截止频率ω、阻带最小衰减系数s α。 2、 将数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标。 巴特沃斯: 切比雪夫:/s s p λ=ΩΩ 0.1210 1δ ε=- p δα=

FIR数字滤波器设计及软件实现

实验五:FIR数字滤波器设计及软件实现 一、实验目的: (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 二、实验容及步骤: (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。 (4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。 友情提示: ○1MATLAB函数fir1和fftfilt的功能及其调用格式请查阅本课本;

○ 2采样频率Fs=1000Hz ,采样周期T=1/Fs ; ○ 3根据图10.6.1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz ,阻带截至频率fs=150Hz ,换算成数字频率,通带截止频率 p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率s 20.3s f ωπ=T =π,阻带最小衰为60dB 。] ○ 4实验程序框图如图2所示。 图2 实验程序框图 三、实验程序: 1、信号产生函数xtg 程序清单: %xt=xtg(N) 产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1000Hz %载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz. function xt=xtg N=1000;Fs=1000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T; fc=Fs/10;f0=fc/10; %载波频率fc=Fs/10,单频调制信号频率为f0=Fc/10;

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

数字信号处理 实验报告 实验四 IIR数字滤波器的设计学生姓名张志翔 班级电子信息工程1203班 学号 指导教师 实验四 IIR数字滤波器的设计 一、实验目的: 1. 掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设 计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的MATLAB编程。 2. 观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。 3.熟悉Butterworth滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。 二、实验原理: 1.脉冲响应不变法 用数字滤波器的单位脉冲响应序列模仿模拟滤波器的冲激响应 ,让正好等于的采样值,即,其中为采样间隔,如果以及分别表示的拉式变换及的Z变换,则 2.双线性变换法 S平面与z平面之间满足以下映射关系:

s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。 双线性变换不存在混叠问题。 双线性变换是一种非线性变换,这种非线性引起的幅频特性畸变可通过预畸而得到校正。 三、实验内容及步骤: 实验中有关变量的定义: fc 通带边界频率; fr阻带边界频率;δ通带波动;At 最小阻带衰减; fs采样频率; T采样周期 (1) =0.3KHz, δ=0.8Db, =0.2KHz, At =20Db,T=1ms; 设计一个切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。 MATLAB源程序: wp=2*1000*tan(2*pi*300/(2*1000)); ws=2*1000*tan(2*pi*200/(2*1000)); [N,wn]=cheb1ord(wp,ws,0.8,20,'s'); %给定通带(wp)和阻带(ws)边界角频率,通带波动波动0.8,阻带最小衰减20dB,求出最低阶数和通带滤波器的通带边界频率Wn [B,A]=cheby1(N,0.5,wn,'high','s');%给定通带(wp)和阻带(ws)边界角频率,通带波动 [num,den]=bilinear(B,A,1000); [h,w]=freqz(num,den); f=w/(2*pi)*1000; plot(f,20*log10(abs(h)));

数字滤波器的设计及实现

数字滤波器的设计及实现 【一】设计目的 1. 熟悉IIR 数字滤波器和FIR 数字滤波器的设计原理和方法; 2. 学会调用MATLAB 信号处理工具箱中的滤波器设计函数设计各种IIR 和FIR 数字滤波器,学会根据滤波要求确定滤波器指标参数; 3. 掌握用IIR 和FIR 数字滤波器的MA TLAB 实现方法,并能绘制滤波器的幅频特性、相频特性; 4. 通过观察滤波器的输入、输出信号的时域波形及其频谱,建立数字滤波的概念。 【二】设计原理 抑制载波单频调幅信号的数学表达式为 []))(2cos())(2cos(2 1)2cos()2cos()(000t f f t f f t f t f t s c c c ++-==ππππ (2.1) 其中,)2cos(t f c π称为载波,c f 为载波频率,)2cos(0t f π称为单频调制信号,0f 为调制正弦波信号频率,且满足0c f f >。由(2.1)式可见,所谓抑制载波单频调制信号,就是两个正弦信号相乘,它有2个频率成分:和频c f +0f ,差频c f -0f ,这两个频率成分关于载波频率c f 对称。所以,1路抑制载波单频调幅信号的频谱图是关于载波频率c f 对称的两根谱线。 复合信号st 产生函数mstg 清单: function st=mstg %产生信号序列st ,并显示st 的时域波形和频谱 %st=mstg 返回三路调幅信号相加形成的混合信号,长度N=800 N=800; %信号长度N 为800 Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz ,Tp 为采样时间 t=0:T:(N-1)*T;k=0:N-1;f=k/Tp; fc1=Fs/10; %第1路调幅信号载波频率fc1=1000Hz fm1=fc1/10; %第1路调幅信号的调制信号频率fm1=100Hz fc2=Fs/20; %第2路调幅信号载波频率fc2=500Hz fm2=fc2/10; %第2路调幅信号的调制信号频率fm2=50Hz fc3=Fs/40; %第3路调幅信号载波频率fc3=250Hz fm3=fc3/10; %第3路调幅信号的调制信号频率fm3=25Hz xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号 xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号 xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号 st=xt1+xt2+xt3; %三路信号相加,得到复合信号

脉冲响应不变法设计数字低通滤波器

燕山大学 课程设计说明书 题目:脉冲响应不变法设计数字低通滤波器 学院(系):电气工程学院 年级专业:09级精密仪器及机械2班 学号: 0901******** 学生姓名:范程灏 指导教师:刘永红 教师职称:讲师

电气工程学院《课程设计》任务书 课程名称:数字信号处理课程设计 基层教学单位:仪器科学与工程系指导教师: 学号学生姓名(专业)班级设计题目7、脉冲响应不变法设计数字低通滤波器 设 计技术参数给定技术指标为:Hz f p 100 =,Hz f s 300 =,dB p 3 = α,dB s 20 = α,采样频率Hz F s 1000 =。 设 计 要 求 设计Butterworth低通滤波器,用脉冲响应不变法转换成数字滤波器。 参考资料数字信号处理方面资料MATLAB方面资料 周次前半周后半周 应完成内容收集消化资料、学习MA TLAB软件, 进行相关参数计算 编写仿真程序、调试 指导教师签字基层教学单位主任签字

目录 第1章前言 (3) 第2章数字信号处理部分基础知识 (3) 第3章 MATLAB部分基础知识 (8) 3.1 MATLAB介绍 (8) 3.2 MATLAB命令介绍 (8) 第4章仿真过程及仿真图 (9) 4.1 仿真程序 (9) 4.2 仿真波形 (10) 第5章设计结论 (10) 第6章参考文献 (11)

第一章 前言 《数字信号处理》课程设计是在学生完成数字信号处理和MATLAB 的结合后的基本实验以后开设的。本课程设计的目的是为了让学生综合数字信号处理和MATLAB 并实现一个较为完整的小型滤波系统。这一点与验证性的基本实验有本质性的区别。开设课程设计环节的主要目的是通过系统设计、软件仿真、程序安排与调试、写实习报告等步骤,使学生初步掌握工程设计的具体步骤和方法,提高分析问题和解决问题的能力,提高实际应用水平。 IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配,所以IIR 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。其设计方法主要有经典设计法、直接设计法和最大平滑滤波器设计法。FIR 数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。 第2章 数字信号处理基础知识部分 2.1巴特沃斯滤波器的幅度平方函数及其特点 巴特沃斯模拟滤波器幅度平方函数的形式是 )N c N c a j j j H 222 )/(11 )/(11ΩΩ+= ΩΩ+= Ω (5-6)

FIR数字滤波器设计与软件实现(精)讲解学习

实验二:FIR 数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1掌握用窗函数法设计 FIR 数字滤波器的原理和方法。 (2掌握用等波纹最佳逼近法设计 FIR 数字滤波器的原理和方法。 (3掌握 FIR 滤波器的快速卷积实现原理。 (4学会调用 MA TLAB 函数设计与实现 FIR 滤波器。 2. 实验内容及步骤 (1认真复习第七章中用窗函数法和等波纹最佳逼近法设计 FIR 数字滤波器的原理; (2调用信号产生函数 xtg 产生具有加性噪声的信号 xt ,并自动显示 xt 及其频谱,如图 1所示;

图 1 具有加性噪声的信号 x(t及其频谱如图 (3请设计低通滤波器,从高频噪声中提取 xt 中的单频调幅信号,要求信号幅频失真小于 0.1dB ,将噪声频谱衰减 60dB 。先观察 xt 的频谱,确定滤波器指标参数。 (4根据滤波器指标选择合适的窗函数,计算窗函数的长度 N ,调用 MATLAB 函数 fir1设计一个 FIR 低通滤波器。并编写程序,调用 MATLAB 快速卷积函数 fftfilt 实现对 xt 的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (5 重复 (3 , 滤波器指标不变, 但改用等波纹最佳逼近法, 调用MA TLAB 函数 remezord 和 remez 设计 FIR 数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:○ 1MA TLAB 函数 fir1的功能及其调用格式请查阅教材; ○ 2采样频率 Fs=1000Hz,采样周期 T=1/Fs;

○ 3根据图 1(b和实验要求,可选择滤波器指标参数:通带截止频率 fp=120Hz,阻带截 至频率 fs=150Hz, 换算成数字频率, 通带截止频率 p 20.24 p f ωπ =T=π, 通带最大衰为 0.1dB , 阻带截至频率 s 20.3 s f ωπ =T=π,阻带最小衰为 60dB 。 3、实验程序框图如图 2所示,供读者参考。 图 2 实验程序框图 4.信号产生函数 xtg 程序清单(见教材 二、滤波器参数及实验程序清单 1、滤波器参数选取 根据实验指导的提示③选择滤波器指标参数: 通带截止频率 fp=120Hz,阻带截至频率 fs=150Hz。代入采样频率 Fs=1000Hz,换算成 数字频率,通带截止频率 p 20.24 p f

实验五FIR数字滤波器的设计

实验六 FIR 数字滤波器的设计 一、实验目的 1.熟悉FIR 滤波器的设计基本方法 2.掌握用窗函数设计FIR 数字滤波器的原理与方法。 二、实验内容 1.FIR 数字滤波器的设计方法 FIR 滤波器的设计问题在于寻求一系统函数)(z H ,使其频率响应)(ωj e H 逼近滤波器要求的理想频率响应)(ωj d e H ,其对应的单位脉冲响应为)(n h d 。 (1)用窗函数设计FIR 滤波器的基本原理 设计思想:从时域从发,设计)(n h 逼近理想)(n h d 。设理想滤波器)(ωj d e H 的单位脉 冲响应为)(n h d 。以低通线性相位FIR 数字滤波器为例。 ?∑--∞-∞=== ππωωωωω πd e e H n h e n h e H jn j d d jn n d j d )(21)()()( (6-1) )(n h d 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(n w n h n h d =,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR 滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即 ???-==2 /)1()()()(N a n w n h n h d (6-2) 用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs )效应。为了消除吉布斯效应,一般采用其他类型的窗函数。 (2) 典型的窗函数 ① 矩形窗(Rectangle Window) )()(n R n w N = (6-3)

FIR数字滤波器设计与实现

FIR 数字滤波器设计与实现 一.摘要:数字滤波器是一种具有频率选择性的离散线性系统,在信号数字处理中有着广泛的应 用。其中FIR 滤波器是一种常用的滤波器,它在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性,在语音分析、图像处理、雷达监测等对信号相位要求高的领域有着广泛的应用,能实现IIR 滤波器不能实现的许多功能。 二.关键词:FIR 窗函数系统函数MATLAB 三.内容提要: 数字滤波器的功能就是把输入序列通过一定的运算变换成输出序列,因此数字滤波器的结构系 统中就必须包括一定数量和性能的运算器件和运算单元,而运算器件和运算单元的配置必须由数字滤波器的结构特点和性能特点来决定,因此在进行FIR 数字滤波器的设计之前,有必要介绍和总结FIR 数字滤波器的基本结构和相关特性(包括频响曲线(幅度和相位),单位冲激响应等),在介绍完其基本结构和相关特性后,就进行FIR 数字滤波器的设计和实现。 (一)FIR 滤波器的基本结构 在讨论任何一种滤波器时,都要着重分析其系统函数,FIR 滤波器的系统函数为: n N n z n h z H ∑-==1 0)()(。从该系统函数可看出,FIR 滤波器有以下特点: 1)系统的单位冲激响应h(n)在有限个n 值处不为零; 2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处(稳定系统); 3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包 含有反馈的递归部分。 1.FIR 滤波器实现的基本结构有: 1) 横截型(卷积型、直接型) a.一般FIR 滤波器的横截型(直接型、卷积型)结构: 若给定差分方程为: 。则可以直接由差分方程得出FIR 滤波器结构如 下图所示: 这就是FIR 滤波器的横截型结构,又称直接型或卷积型结构。 b .线性相位FIR 滤波器的横截型结构

数字信号处理-低通滤波器设计实验

实验报告 课程名称:数字信号处理 实验名称:低通滤波器设计实验 院(系): 专业班级: 姓名: 学号: 指导教师: 一、实验目的: 掌握IIR数字低通滤波器的设计方法。 二、实验原理: 2.1设计巴特沃斯IIR滤波器 在MATLAB下,设计巴特沃斯IIR滤波器可使用butter 函数。 Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用butter函数。butter函数的用法为:

[b,a]=butter(n,Wn)其中n代表滤波器阶数,W n代表滤波器的截止频率,这两个参数可使用buttord函数来确定。buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn。buttord函数的用法为:[n,Wn]= buttord(Wp,Ws,Rp,Rs)其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。 2.2契比雪夫I型IIR滤波器。 在MATLAB下可使用cheby1函数设计出契比雪夫I 型IIR滤波器。 cheby1函数可设计低通、高通、带通和带阻契比雪夫I 型滤IIR波器,其通带内为等波纹,阻带内为单调。契比雪夫I型的下降斜度比II型大,但其代价是通带内波纹较大。cheby1函数的用法为:[b,a]=cheby1(n,Rp,Wn,/ftype/)在使用cheby1函数设计IIR滤波器之前,可使用cheblord 函数求出滤波器阶数n和截止频率Wn。cheblord函数可在给定滤波器性能的情况下,选择契比雪夫I型滤波器的最小阶和截止频率Wn。cheblord函数的用法为: [n,Wn]=cheblord(Wp,Ws,Rp,Rs)其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。 三、实验要求: 利用Matlab设计一个数字低通滤波器,指标要求如下:

相关主题