文档库 最新最全的文档下载
当前位置:文档库 › 基于MATLAB信号处理工具箱的IIR滤波器设计与仿真

基于MATLAB信号处理工具箱的IIR滤波器设计与仿真

基于MATLAB信号处理工具箱的IIR滤波器设计与仿真
基于MATLAB信号处理工具箱的IIR滤波器设计与仿真

基于MATLAB信号处理工具箱的IIR滤波器的设计与仿真

摘要

在现今通信中,信号中总是夹杂着噪声和许多无用的频率成分,因此需要采用一定的方法将这些成分滤除,数字滤波器便是其应用。数字滤波器的工作原理是能够让特定频段的信号通过,其他频段则不能通过。数字滤波器主要应用于通信,图像处理,语音编码,雷达等领域。

该设计的目的就是让我们的系统的掌握所学过的IIR滤波器设计的相关知识,熟悉MATLAB中相关的信号处理工具箱,熟练仿真软件simulink。本文首先对数字滤波研究背景、发展前景及MATLAB进行介绍;接着又介绍了对数字滤波原理,对滤波器进行分类;然后对IIR数字滤波方法进行了研究,紧接着开始设计数字滤波系统,利用PDATool工具进行界面设计;最后利用设计成果,设计

Simulink仿真模块对所设计的滤波器进行仿真,对一特定信号进行处理,对比滤波前后信号的失真情况,以此判断所设计滤波器是否满足设计要求。

关键词:IIR 滤波器FDATool simulink

Design and Simulation of IIR filter based

on MATLAB signal processing toolbox

ABSTRACT

In the present communication, the signal always mixed with the noise and many useless frequency components, therefore need to use a certain method to filter these ingredients, digital filter is its application. The working principle of digital filter is able to let the signal of a specific frequency, other frequency can not through. Digital filter is mainly used in communication, image processing, speech coding, radar and other fields..

The purpose of the design is to let us master the knowledge of the IIR filter design, familiar with the signal processing toolbox in MATLAB, and skilled simulation software SIMULINK. At first, the background and development of the IIR filter is untroduced th. Then I talk aboute principle classification of the IIR filter; and studies the IIR digital filtering method, immediately began to design digital filter system, PDATool tool is used to design the interface; finally, using the design results, design Simulink module of the designed filter simulation, a special signal processing, contrast before and after filtering the signal distortion, in order to determine the designed filter can meet the design requirements.

KEYWORDS: IIR filter FDATool Simulink

目录

中文摘要................................................ II 英文摘要............................................... III 1 绪论 .. (1)

1.1 研究的背景及意义 (1)

1.2 数字滤波器的发展前景 (1)

1.3 MATLAB软件的简介 (2)

2 数字滤波器概述 (4)

2.1 数字滤波器简介 (4)

2.2 经典数字滤波器的分类 (4)

2.3 数字滤波器的主要设计指标 (5)

3 IIR数字低通滤波器设计方法的研究 (6)

3.1 IIR数字滤波器的设计步骤 (6)

3.2 IIR数字低通滤波器的直接设计法 (8)

3.2.1 设计方法及原理 (8)

3.2.2 MATLAB设计 (9)

3.2.3 直接设计法的优缺点 (11)

3.3 脉冲响应不变法设计IIR数字低通滤波器 (11)

3.3.1 设计方法及原理 (11)

3.3.2 MATLAB设计 (13)

3.3.3 脉冲响应不变法优缺点 (15)

3.4 双线性变换法设计IIR数字低通滤波器 (16)

3.4.1 设计方法及原理 (16)

3.4.2 MATLAB设计 (18)

3.4.3 双线性变换法设计的优缺点 (19)

4 IIR数字滤波系统的设计 (21)

4.1 FDATool工具的界面介绍 (21)

4.2 直接设计法的FDATool设计 (22)

4.3 经典设计法的FDATool设计 (24)

4.3.1 巴特沃斯低通滤波器FDATool设计 (24)

4.3.2 椭圆滤波器的FDATool设计 (25)

5 IIR数字滤波系统的simulink仿真设计 (26)

5.1 simulink简介 (26)

5.2 直接设计法的simulink仿真 (27)

5.3 经典法的simulink仿真 (31)

5.3.1 脉冲响应不变法的simulink仿真 (31)

5.3.2 双线性变换的simulink仿真 (32)

结束语 (34)

致谢 (36)

参考文献 (37)

1 绪论

1.1 研究的背景及意义

数字滤波器是一种能够对输入信号进行滤波的硬件或软件。对于一输入输出皆为离散序列的信号来说,其冲击响应也应为离散的,我们便把此种滤波器称为数字滤波器。数字滤波器在数字信号的处理及其应用中起着十分重要的作用,通过对数据和信号进行采样来进行运算和处理从而达到滤波的目的。数字滤波器能有效提取有用信号,方式灵活,是现代数字信号处理中不可或缺的一部分。数字滤波器可用于数字通信,模式识别,图像处理,谱分析,自动控制等领域,因而具有十分广泛的应用。与模拟滤波器相比,数字滤波器无漂移,对低频信号进行处理效果非常好,运用一些方式使得频率响应特性可以非常接近理想特性,精度高,集成度高等优点将使得数字滤波器的应用越来越广泛。数字滤波器更具有模拟滤波器所无可比拟的优点:

灵活性高:数字滤波器性能与乘法器的各个系数息息相关,这些系数存放于系统存储器中,以此,对各个系数的改变将对滤波系统产生影响,便可以此数据来设计预期的滤波器。相比之下通过改变系数来对滤波器系统进行改变要比使用模拟滤波器系统更加容易,方便。

可靠性好:数字信号区别于模拟信号,数字信号时域和频域都是离散的,这就使得数字信号只有‘0’‘1’两种,所受到的噪声和环境的影响较小。相比之下,由于模拟滤波器具有一定的温度系数,所以易受温度,振荡,电磁干扰等影响。一般来说,对于常采用大规模集成电路的数字滤波器来说他的可靠性要高于模拟滤波器的,因为由个分立元件构成的模拟滤波器的故障率更高一些。

集成度更高:高度集成的数字滤波器在体积,重量,性能等方面比模拟滤波器更具优势。

并行处理:实现并行处理是数字滤波器另一个十分重大的优点。

正是由于数字滤波器所拥有的这些优点使得数字滤波有了更加广泛的应用,人们对数字滤波的研究也越来越深入,这些研究必将为人类世界的发展起到不可磨灭的贡献。

1.2 数字滤波器的发展前景

近几年,Wiener滤波,Kalman滤波和自适应滤波等一些非线性滤波获得更进一步的发展。此外,随着科技的不断发展,通过借助不同的方式使得非线性的滤波方法也得

到了飞速的发展,人们对于小波滤波、同态滤波、中值滤波和形态滤波的研究也越来越深入。

Wiener滤波能在在最小均方误差条件下对混有白噪声信号进行最佳估计,但由于Wiener-H0ff方程求解复杂使得其应用困难。Kalman滤波与Wiener滤波相似,同样可在最小均方误差条件下给出信号的最佳估计。不同之处在于这种滤波方式在时域中采用递推的方式,速度更快,便于实时处理,因而应用广泛。Kalman滤波可以用于图象的去噪。当Wiener滤波器单位脉冲响应有限长时,可采用自适应滤波的方法得到滤波器的最佳响应。不需要求解Wiener-Hoff方程,为一些问题的解决提供很大方便。小波滤波利用了信号和噪声特性。同态滤波适用于信号和噪声之间相乘关系的问题。此外,当信号与噪声之间为卷积关系时,一定条件下可用同态滤波方法将信号分离但是,Wiener 滤波、Kalman滤波和自适应滤波这些非线性滤波容易导致容易导致信号边缘的模糊。中值滤波,一种非线性滤波,能给出最佳估计消除边缘模糊现象,也具有良好的清除脉冲噪声的能力。形态滤波建立在集合运算上,是一种非线性滤波,用于清除噪声图像分析。

无论对于哪种滤波器而言,随着研究的深入,人们对滤波器也有了越来越多的认识,所设计的滤波器的性能也越来越优秀,滤波器的应用范围也会更加广泛,因此对于我们而言学习好滤波器和MATLAB这些课程是十分必要的,扩充了我们的知识面,又为以后的工作学习打下良好的基础。

1.3 MATLAB软件的简介

MATLAB((Matrix Laboratory)是到目前为止已被国际公认为最优秀的数学运算软件之一,他集计算、图形可视化、和编辑功能于一体,作为Mathworks公司所开发的一种工具,他的运算功能十分强大而且操作比较简单。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。MATLAB的出现极大地方便了运算,具有无可替代的一系列优点它具有友好的工作平台和编程环境计算和数据处理功能十分强大,操作性也更高,MATLAB所使用的语言更加的简单易用,其图形处理能力亦非常出色,所使用的工具箱将各模块集合起来使得操作更加简洁,调用起来更加方便。其中所包含的FDATool工具和simulink模块对本次的毕业设计至关重要;使用FDATool 工具可直接进行多种滤波器的设计,使用方法也非常简单,而simulink模块则是对原始信号进行模拟仿真的工具,对于设计也是不可或缺的,可以用此工具对所

设计的滤波器进行验证以检验所设计的滤波器是否满足设计的技术指标和设计目的。

2 数字滤波器概述

2.1 数字滤波器简介

数字滤波器是对数字信号进行滤波而得到期望的响应特性的离散时间系统。工作

在数字域的数字滤波器与工作在模拟信号域的模拟滤波器的工作方式完全不同,其主要不同在于:

两种滤波器的工作域不同, 数字滤波器在数字信号域工作而模拟滤波器在模拟信号域工作。

对于信号的处理上也有不同之处,数字滤波是将经过采样器的模拟信号转换为数字信号。

数字滤波器与模拟滤波器的工作方式也完全不同; 由电阻器、电容器、晶体管等一些元件所组成的物理网络具有滤波的功能,模拟滤波器就是靠这种方式实现的;然而数字滤波器则不同,由数字运算器件所组成的数字滤波系统能够实现对输入信号的运算处理,最终达到设计要求。

数字滤波器理论上可实现任何以数字算法表示的滤波。可由一些基本的数字运算电路构成。描述离散系统输出与输入关系的卷积和差分方程为数字信号滤波器提供运算规则,以此规则完成对输入数据的处理。

时域离散系统的频域特性:

)()()(ωωωj j j e H e X e Y =

X(e j ω),Y(e j ω)分别表示数字滤波器的输入输出序列的频域特性。H(e j ω)是单位抽样响应频谱, X(e j ω)信号经滤波后得Y(e j ω)信号,根据输入信号特点,处理信号的要求和目的选择合适的H(e j ω),最终使输出满足设计要求,此为数字滤波原理。

2.2 经典数字滤波器的分类

经典数字滤波以单位抽样响应h(n)时域特性可分为无限长单位冲击响应(IIR )和有限长单位冲击响应(FIR )。若单位抽样响应时宽无限,∞<

根据数字滤波器的实现方法和结构可分为递归和非递归型。递归型数字滤波器当前输出y(n)是输入x(n)的当前值和以前的各输入值x(n),x(n-1),…,和以前各输出值y(n),y(n-1),…,的函数。

递归系统传统函数定义为:

∑∑=-∞

=-+=

N i i

i i i

i z a z

b z H 1

01)(

一N 阶递归数字滤波器(IIR )差分方程为:

∑∑∞

==---=0

1

)()()(y i N

i i i i n y a i n x b n

其中,式中系数i a 至少有一项不为零。i a ≠ 0说明必须将延时输出序列y(n)进行反馈。

经典数字滤波器从滤波特性分类,可分为低通滤波器,带通滤波器,高通滤波器,带阻滤波器。

由于低通滤波可以通过一定的方式转换为带通,带阻,高通,故此本文只对低通滤波进行研究分析。本文主要是设计IIR 数字低通滤波。

图2.1 各种理想滤波器的幅频特性

2.3 数字滤波器的主要设计指标

常常在频域给出数字滤波器指标,数字滤波器的频响特性函数式:

)()(|)()(w j jw e z jw e e H z H e H jw Φ===

)

(j a ΩH Ω

Ω

Ω

Ω

低通

带通

带阻

高通

)

(j a ΩH )(j a ΩH )

(j a ΩH 0

c

其中H(e j ω)为幅频特性函数,)(ωΦ为相频特性函数。幅频特性表示信号通过该滤波器后输出的幅度随频率的变化情况,而相频特性反映各频率通过滤波器后相位差随输入频率的变化情况。对于一般的IIR 数字滤波器,只用幅频响应函数|H(e j ω)|来描述设计指标即可,不需要在对相频部分进行处理,本文为使设计更加完整,也加入了部分相频响应的指标。

IIR 滤波器指标参数如下图所示。图中,p ω和s ω分别为通带边界频率和阻带边界频率;1δ和2δ分别为通带波纹和阻带波纹;使用分贝(dB)来表示衰减,通带内所允许的最大衰减和阻带内允许的最小衰减分别用p α和s α表示:

1

1

1111lg

2011lg

20δδδδ-+=+--=p a 2lg 20δ-=s a 通常要求:

p ωω≤≤0时,p jw

a e

H ≤-)(lg 20

πωω≤≤时,)(lg 20jw

e H a s -≤

图2.2 数字低通滤波技术指标

3 IIR 数字低通滤波器设计方法的研究

3.1 IIR 数字滤波器的设计步骤

数字滤波器的设计方法是多样的,主要采用直接设计法和经典设计法这种设计方法来进行设计:其一是利用了模拟滤波器的设计方法,其设计方式是首先设计一模拟滤波器然后通过某种方法转换为数字滤波器,此即为模数转换的思想,为经典设计法,这里我将采用脉冲响应不变法和双线性变换法两种设计方式来设计;其二是直接在频域或时域内进行设计,需要借组计算机求解复杂复杂方程以作辅助设计,其设计过程主要是先设计一过渡的模拟滤波器的系统函数,再将该系统函数借助某种方法转换为数字滤波器的系统函数。两种设计方式相比,采用模数转换思想的设计方法即经典设计法更加容易些,主要是因为模拟滤波器的设计方法已比较成熟,设计公式也相当全面,不仅如此,还有了大量图表曲线等资料可供设计使用。

为此我们提出了两点要求,其目的是为保证转换后的数字滤波器稳定且满足最初的设计要求:

(1) 对于一因果稳定的模拟滤波器而言,经模数转换后得到的数字滤波器也应为因果稳定的。

(2) 模拟滤波器所在的S平面应映射到数字滤波器所在Z平面的单位圆上,两者是一一对应的关系,因而模拟滤波器和数字滤波器的频响特性应是相似的。

利用模拟滤波器来设计数字滤波器的主要有以下几个设计步骤:

1)首先应确定所要设计的数字滤波器及技术指标,包括通带边界频率pω,阻带边界频

率sω,通带所允许的最大衰减pα,阻带所允许的最小衰减sα。

2)其次将数字滤波器的技术指标通过某种方式转换为模拟滤波器的技术指标。

3)然后根据得出的模拟滤波器的设计指标来设计过渡的模拟滤波器。

4)最后应用自己所设计的转换方法将模拟滤波器系统函数H

(s)转换为数字滤波器的

a

系统函数。

IIR滤波器的设计流程图如下:

图3.1 设计流图

设计内容:设计一采样频率Fs=1000Hz 的IIR 数字低通滤波器,要求通带边界频率fp=300Hz,通带最大衰减Rp=1dB ,阻带边界频率fs=400Hz ,阻带最小衰减Rs=30dB 。根据这些参数设计出合理的IIR 数字滤波器。

3.2 IIR 数字低通滤波器的直接设计法

3.2.1 设计方法及原理

MATLAB 数字信号处理工具箱中包含了函数库,拥有大量的函数可供调用,滤波器的设计便可通过调用其中的一些函数来实现,调用这些函数为滤波器的设计提供了极大的便利。其主要设计方法有: 1.零极点累试法

这种方法也称为零极点累试法。在确定零极点位置时要注意: (1)极点必须位于z 平面单位圆内,保证数字滤波器因果稳定;

(2)复数零极点必须共轭成对出现,保证系统函数有理式的系数是实的。 2.IIR 数字滤波器的时域直接设计法

先设计一数字滤波器H(z),采用逼近的方式来进行设计,其目的就是让所设计的滤波器的单位脉冲响应h(n)尽可能的达到所要设计的IIR 滤波器的单位脉冲响应的标准。 3.在频域直接设计IIR 数字滤波器

频域直接设计是利用幅度平方误差最小的特点来设计数字滤波器。可以MATLAB 函数库里有多种函数可供直接调用以此来设计滤波器。

可以通过调用butter()函数来设计Butterworth 滤波器,使用这种方法来设计低

)(Z f S =

数字滤波器 技术指标

模拟滤波器

技术指标

数字滤波器

)(Z H

模拟滤波器

)(S Ha

模拟滤波器 设计方法

变换

)

(ωg =Ω变换

通,带通,高通,带阻模拟和数字滤波器具有无可比拟的优点,能够使通带内幅度响应达到最大限度的平滑;但也存在不足之处,因为他损失了截频处的下降斜度。

切贝雪夫滤波器有Ⅰ型和Ⅱ型两种,分别调用chebyl()和cheby2()两种函数,同样可以用来设计低通,带通,带阻,高通模拟和数字滤波器,但两者有一定的区别,Ⅰ型等波纹通带,阻带单调,而Ⅱ型正好与此相反,Ⅰ型比Ⅱ型下降斜度大,但Ⅰ型的代价是通带内波纹较大。

可以调用函数ellip()来设计椭圆滤波器,根据滤波的的特性依旧可设计低通、带通、带阻、高通模拟和数字滤波器。与巴特沃斯和切贝雪夫滤波器相比,使用ellip 函数所设计的滤波器得到的下降斜度更大一些,得到的通带阻带都应为等波纹。通常,椭圆滤波器可以最低阶实现所需要设计滤波器的性能。

3.2.2 MATLAB设计

Chebyshev I型设计的M程序:

Fs=1000;

Flp=300;

Fls=400;

Wp=2*Flp/Fs;

Ws=2*Fls/Fs;

Rp=1;

Rs=30;

[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs);

[b,a]=cheby1(N,Rp,Wn);

[hw,w]=freqz(b,a);

subplot(2,1,1);

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

xlabel('ω/π');ylabel('幅度(dB)')

title('切比雪夫I型幅频响应');

subplot(2,1,2);plot(w/pi,abs(hw));

grid on;

xlabel('ω/π');ylabel('幅度(H)');

运行以后产生以下图形:

00.10.20.30.4

0.50.60.70.80.91

-300

-200

-100

ω/π

幅度(d B )

切比雪夫I 型幅频响应

0.1

0.2

0.3

0.4

0.50.6

0.7

0.8

0.9

1

00.20.40.60.8

1ω/π

幅度(H )

图3.2 Chebyshev I 型的MATLAB 仿真

同样,我们也可以设计出Chebyshev II 型的M 程序: Fs=1000;

Flp=300; Fls=400;

Wp=2*Flp/Fs; Ws=2*Fls/Fs; Rp=1;

Rs=30;

[N,Wn]=cheb2ord(Wp,Ws,Rp,Rs); [b,a]=cheby2(N,Rs,Wn); [hw,w]=freqz(b,a); subplot(2,1,1);

plot(w/pi,20*log10(abs(hw)));grid on; xlabel('ω/π');ylabel('幅度(dB )')

title('切比雪夫II 型幅频响应'); subplot(2,1,2);plot(w/pi,abs(hw)); grid on;

xlabel('ω/π');ylabel('幅度(H )');

得运行后图形:

00.10.20.30.4

0.50.60.70.80.91

-80

-60-40-20

0ω/π

幅度(d B )

切比雪夫II 型幅频响应

0.1

0.2

0.3

0.4

0.50.6

0.7

0.8

0.9

1

00.20.40.60.8

1ω/π

幅度(H )

图3.3 Chebyshev II 型MATLAB 仿真

3.2.3 直接设计法的优缺点

时域直接设计法中采用逼近的方式设计需要求解N+M+1个方程组成的一个方程组,求解比较麻烦,易出错;频域直接设计法中采用迭代方式计算较之更简便些,采用这种算法也是的系统的稳定性和收敛性好,性能良好。

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

3.3.1 设计方法及原理

用脉冲响应不变法来设计IIR 数字低通滤波器,应使数字滤波器的单位脉冲响应序列h (n)模仿模拟滤波器的冲击响应h a (t),使h(n)正好等于h a (t)的抽样值,即

h (n)=h a (nT)

其中T 为采样周期。

脉冲响应不变法利用了模数转换的思想把模拟滤波器S 平面转换到数字滤波器的Z 平面,其映射关系如下图所示: 图3.4 映射关系图

模拟滤波器的传递函数若只有单极点,且分母的阶数高于分子的阶数N>M ,则可表达为部分分式形式:

=-=N

i i

i

a s s A s H 1)( 其拉式反变换为

∑==N

i t s i a t u e A t h i 1

)()(

其中u(t)为单位阶跃函数。对h a (t)采样就得到数字滤波器的单位脉冲响应序列

∑=T ===N

i i nt t a n u e A t h n 1n s )()()(h i

再对h(n)取z 变换,得到数字滤波器的传递函数

∑∑∑∑=-T -∞

===∞

=T T --===n

i si i

n

n N

i N i n n si i n

s i n

z e A z

e

A e

A z

z H i 1

1

01

1

1)( 为避免滤波器的增益太高而使数字滤波器频率响应不随抽样频率变化,以此做了以下修正,令

)()(h nT Th n a =

则有

j Ω3π / T

π / T -3π / T -π / T o o σ-11jIm[z ]

Re[z ]

Z 平面

S 平面

=--=N

i s Tz e TAi

H i 1

1

1z )( 3.3.2 MATLAB 设计

本部分将采用所给参数使用脉冲响应不变法来设计巴特沃斯数字低通滤波器,其设计步骤如下:

(1)先讨论f 与ω的关系及数字域性能的公式表示。有模拟频率与数字频率之间的线性关系,ω=ΩT=2πfT ,3101

-==

s

f T ,T 为抽样周期,则有 z 300H f c = 对应于 ππω6.01000

13002c =??=

Hz 400f st = 对应于 ππω8.01000

1

4002st =?

?= 由衰减知:

1)(e log 206.0010≤π

j j e H H )

( 30)

()

H(e log 208.0010≥πej H j

ω=0处频率响应幅度归一化为1,即1)(0=j e H ,则上式变为

1)(log 206.010-≥πj e H 30)(10log 208.0-≤πj e H

(2) 这里将数字滤波器的性能要求转变为模拟滤波器的性能要求。由T Ω=ω

)()()(Ω==j H T

j H e H a a j ω

ω ,πω≤

给出模拟滤波器指标

1)600(log 20)6.0(log 201010-≥=ππ

j Ha T

j

H a 30)800(log 20)8.0(log 201010-≤=ππ

j H T

j

H a a (3)计算所需阶数N 及3dB 截止频率c Ω。巴特沃斯低通滤波器的幅度平方函数为

N

c

j H 22

a )

(11)(ΩΩ+=Ω

用分贝形式表示

???

??

?ΩΩ+-=ΩN a j H 21010)c (1log 10)(log 20

把求出的性能指标关系式带入得

16001log 10210-≥????

?????

?????Ω+-N c π 308001log 102c 10-≤???

?

??????????Ω+-N π 用等号来满足指标

1.02c 106001=??

?

???Ω+N

π

32108001=??

????Ω+N

c π

联立方程求解得N=5.8858 ,8.905c =Ω,由于N 必须去整数故N=6得903.6c =Ω (4)使用查表法,当N=6时,归一化原型模拟低通巴特沃斯滤波器的系统函数为

)19351653.1)(141421356.1)(151763809.0(1

1

8637033.34641016.71406202.94641016.78637033.31

)(222

23456++++++=++++++=

s s s s s s s s s s s s s H a

以上便是利用采用冲击响应不变法设计巴特沃斯数字低通滤波器的步骤,可知运用这种方式进行设计运算非常复杂,而且容易出错,通过MATLAB 程序设计来进行设计更加的方便简单。

下面通过M 程序实现: fp=300; Fs=400; Fs=1000; Rp=1; Rs=30; T=1/Fs;

W1p=fp/Fs*2;W1s=fs/Fs*2;

[N,Wn]=buttord(W1p,W1s,Rp,Rs,'s'); [z,p,k]=buttap(N);

[bp,ap]=zp2tf(z,p,k);

[bs,as]=lp2lp(bp,ap,Wn*pi*Fs); [bz,az]=impinvar(bs,as,Fs); sys=tf(bz,az,T);

[H,W]=freqz(bz,az,512,Fs); subplot(2,1,1);

plot(W,20*log10(abs(H))); grid on;

xlabel('频率/Hz'); ylabel('振幅/dB'); subplot(2,1,2); plot(W,abs(H));grid on; xlabel('频率/Hz'); ylabel('振幅/H');

运行后产生图形如下图所示:

050100150200

250300350400450500

-100

-50

50

频率/Hz

振幅/d B

050100150200

250300350400450500

0.5

1

1.5

频率/Hz

振幅/H

图3.5 脉冲响应不变法的MATLAB 仿真

3.3.3 脉冲响应不变法优缺点

脉冲响应不变法能使数字滤波器冲击响应完全的模仿模拟滤波器的冲击响应,时域

逼近比较好,且使数字频率ω和模拟频率Ω呈线性ω=ΩT 。

因此一具有线性相位的模拟滤波器可映射成一线性相位数字滤波器。但由于频响混叠,因而脉冲响应不变法值适用于带限模拟滤波器而对于高通和带阻滤波器则不适合采用

简单低通滤波器设计及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 平面,则可以得到

基于Matlab的脑电波信号处理

做脑电波信号处理滴嘿嘿。。Matlab addicted Codes %FEATURE EXTRACTER function [features] = EEGfeaturetrainmod(filename,m) a = 4; b = 7; d = 12; e = 30; signals = 0; for index = 1:9; % read in the first ten EEG data because the files are numbered as ha11test01 rather than ha11test1. s = [filename '0' num2str(index) '.dat']; signal = tread_wfdb(s); if signals == 0; signals = signal; else signals = [signals signal]; end end for index = 10:1:m/2; % read in the rest of the EEG training data s = [filename num2str(index) '.dat']; signal = tread_wfdb(s); if signals == 0;

signals = signal; else signals = [signals signal]; end end %%%%% modification just for varying the training testing ratio ------ for index = 25:1:25+m/2; % read in the rest of the EEG training data s = [filename num2str(index) '.dat']; signal = tread_wfdb(s); if signals == 0; signals = signal; else signals = [signals signal]; end end %%%%%end of modification just for varying the training testing ratio----- for l = 1:m % exrating features (power of each kind of EEG wave forms) [Pxx,f]=pwelch(signals(:,l)-mean(signals(:,l)), [], [], [], 200); % relative power fdelta(l) = sum(Pxx(find(fa))); falpha(l) = sum(Pxx(find(fb))); fbeta(l) = sum(Pxx(find(fd))); fgama(l)= sum(Pxx(find(f>e))); % gama wave included for additional work

matlab滤波器设计

长安大学 数字信号处理综合设 计 专业_______电子信息工程_______ 班级__24030602___________ 姓名_______张舒_______ 学号2403060203 指导教师陈玲 日期_______2008-12-27________

一、课程设计目的: 1. 进一步理解数字信号处理的基本概念、基本理论和基本方法; 2.熟悉在Windows环境下语音信号采集的方法; 3.学会用MATLAB软件对信号进行分析和处理; 4.综合运用数字信号处理理论知识,掌握用MATLAB软件设计FIR和IIR数字滤波器的方法; 5. 提高依据所学知识及查阅的课外资料来分析问题解决问题的能力。 二、课程设计内容: 1.语音信号的采集 利用windows下的录音机录制一段自己的话音,时间控制在1秒左右;并对语音信号进行采样,理解采样频率、采样位数等概念。 2.语音信号的频谱分析 利用函数fft对采样后语音信号进行快速傅里叶变换,得到信号的频谱特性。 3.设计数字滤波器 采用窗函数法和双线性变换法设计下列要求的三种滤波器,根据语音信号的特点给出有关滤波器的性能指标: 1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz, As=100dB,Ap=1dB; 2)高通滤波器性能指标,fc=4800Hz,fp=5000Hz ,As=100dB,Ap=1dB; 3)带通滤波器性能指标,fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。 4.对语音信号进行滤波 比较用两种方法设计的各滤波器的性能,然后用性能好的滤波器分别对采集的语音信号进行滤波;并比较滤波前后语音信号的波形及频谱,分析信号的变化。 5.回放语音信号,感觉滤波前后的声音变化。 三、实验原理 (一)基于双线性Z变换法的IIR数字滤波器设计 由于的频率映射关系是根据推导的,所以使jΩ轴每隔2π/Ts便映射到单位圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为了克服这一问题,需要找到由s平面到z平面的另外的映射关系,这种关系应保证: 1) s平面的整个jΩ轴仅映射为z平面单位圆上的一周; 2) 若G(s)是稳定的,由G(s)映射得到的H(z)也应该是稳定的; 3) 这种映射是可逆的,既能由G(s)得到H(z),也能由H(z)得到G(s); 4) 如果G(j0)=1,那么。 双线性Z变换满足以上4个条件的映射关系,其变换公式为

滤波器设计MATLAB

数字信号处理

第一章概述 《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。通过该课程的课程设计实践,使我们对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解,巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。 其中,设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用

最广泛的是双线性变换法。 我们在课本中学到基本设计过程是: ①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标; ②设计过渡模拟滤波器; ③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。 而MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。 第二章总体方案设计 首先我将所给信号用MATLAB作图分析,然后通过观察st的幅频特性曲线,确定用高通滤波器作为处理信号的滤波器。选取滤波器的通带最大衰减为,阻带最小衰减为60dB为参数。 然后通过编程序调用MATLAB滤波器设计函数ellipord和ellip设计椭圆滤波器;通过编程序调用函数cheb1ord和cheby1设计切比雪夫滤波器,并绘图显示其幅频响应特性曲线。最后使用用滤波器实现函数filter,用两个滤波器分别对信号st进行滤波后绘图显示时域波形,观察滤波效果。 实验程序框图如图所示:

基于MATLAB的语音信号处理系统设计(程序+仿真图)--毕业设计

语音信号处理系统设计 摘要:语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。语音信号处理的目的是得到某些参数以便高效传输或存储,或者是用于某种应用,如人工合成出语音、辨识出讲话者、识别出讲话内容、进行语音增强等。本文简要介绍了语音信号采集与分析以及语音信号的特征、采集与分析方法,并在采集语音信号后,在MATLAB 软件平台上进行频谱分析,并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。利用MATLAB来读入(采集)语音信号,将它赋值给某一向量,再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波,然后我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。 关键词:Matlab,语音信号,傅里叶变换,滤波器 1课程设计的目的和意义 本设计课题主要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。通过完成本课题的设计,拟主要达到以下几个目的: 1.1.了解Matlab软件的特点和使用方法。 1.2.掌握利用Matlab分析信号和系统的时域、频域特性的方法; 1.3.掌握数字滤波器的设计方法及应用。 1.4.了解语音信号的特性及分析方法。 1.5.通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。 2 设计任务及技术指标 设计一个简单的语音信号分析系统,实现对语音信号时域波形显示、进行频谱分析,

利用滤波器滤除噪声、对语音信号的参数进行提取分析等功能。采用Matlab设计语言信号分析相关程序,并且利用GUI设计图形用户界面。具体任务是: 2.1.采集语音信号。 2.2.对原始语音信号加入干扰噪声,对原始语音信号及带噪语音信号进行时频域分析。 2.3.针对语音信号频谱及噪声频率,设计合适的数字滤波器滤除噪声。 2.4.对噪声滤除前后的语音进行时频域分析。 2.5.对语音信号进行重采样,回放并与原始信号进行比较。 2.6.对语音信号部分时域参数进行提取。 2.7.设计图形用户界面(包含以上功能)。 3 设计方案论证 3.1语音信号的采集 使用电脑的声卡设备采集一段语音信号,并将其保存在电脑中。 3.2语音信号的处理 语音信号的处理主要包括信号的提取播放、信号的重采样、信号加入噪声、信号的傅里叶变换和滤波等,以及GUI图形用户界面设计。 Ⅰ.语音信号的时域分析 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法。 Ⅱ.语音信号的频域分析 信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更

关于滤波器设计的matlab函数简表

关于滤波器设计、实现的Matlab函数分类函数名功能说明 滤波器分析 (求幅频、相频响应)abs求模值 angle求相角 freqs模拟滤波器的频率响应freqz数字滤波器的频率响应grpdelay群延迟 impz脉冲响应(离散的)zplane画出零极点图 fvtool滤波器可视化工具 滤波器实现(求输入信号通过滤波器的响应)conv/conv2卷积/二维卷积 filter求信号通过滤波器的响应 IIR滤波器阶数估算buttord巴特沃斯滤波器阶数估算 cheb1ord切比雪夫Ⅰ型滤波器阶数估算 cheb2ord切比雪夫Ⅱ型滤波器阶数估算 ellopord椭圆滤波器阶数估算 IIR数字滤波器设计(求系统函数H(z))butter cheby1 cheby2 ellip 模拟低通滤波器原型(归一化的)buttap模拟低通巴特沃斯滤波器原型cheb1ap模拟低通切比雪夫Ⅰ型滤波器原型cheb2ap模拟低通切比雪夫Ⅱ型滤波器原型ellipap模拟低通椭圆滤波器原型besselap模拟低通贝塞尔滤波器原型 模拟低通滤波器设计(求系统函数H(s))butter巴特沃斯滤波器设计cheby1切比雪夫Ⅰ型滤波器设计cheby2切比雪夫Ⅱ型滤波器设计ellip椭圆滤波器设计besself贝塞尔滤波器设计 模拟滤波器频带变换lp2bp低通→带通 lp2bs低通→带阻 lp2hp低通→高通 lp2lp低通→低通 滤波器离散化(由模拟滤波器得到数字滤波器)bilinear脉冲响应不变法impinvar双线性变换法 FIR滤波器设计fir1基于窗函数的FIR滤波器设计 fir2基于窗函数的任意响应FIR滤波器设 计 窗函数boxcar矩形窗 rectwin矩形窗 bartlett三角窗

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

数字滤波器的MAT LAB设计与 DSP上的实现 数字滤波器的MATLAB 设计与DSP上的实现 公文易文秘资源网佚名2007-11-15 11:56:42我要投稿添加到百度搜藏 摘要:以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实现的关键问题。关键词 摘要:以窗函数法设计线性相位 FIR数字滤波器为例,介绍用 MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在 CCS5000仿真开发,然后将程序加载到 TMS320VC5 409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实 现的关键问题。 关键词:数字滤波器MATLAB DSP 引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应

用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1数字滤波器的设计 1.1数字滤波器设计的基本步骤 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间, 在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着 MATLAB软件尤 其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。 数字滤波器设计的基本步骤如下: (1确定指标 在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给岀幅度和相位响应。幅度指标主要以两种方式给岀。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FI R滤波器的设计。第二种指标是相对指标。它以分贝值的形式给岀要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。 (2)逼近

基于MATLAB的语音信号采集与处理

工程设计论文 题目:基于MATLAB的语音信号采集与处理 姓名: 班级: 学号: 指导老师:

一.选题背景 1、实践意义: 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效地提取并表示语音信号所携带的信息。所以理解并掌握语音信号的时域和频域特性是非常重要的。 通过语音相互传递信息是人类最重要的基本功能之一.语言是人类特有的功能.声音是人类常用工具,是相互传递信息的最重要的手段.虽然,人可以通过多种手段获得外界信息,但最重要,最精细的信息源只有语言,图像和文字三种.与用声音传递信息相比,显然用视觉和文字相互传递信息,其效果要差得多.这是因为语音中除包含实际发音容的话言信息外,还包括发音者是谁及喜怒哀乐等各种信息.所以,语音是人类最重要,最有效,最常用和最方便的交换信息的形式.另一方面,语言和语音与人的智力活动密切相关,与文化和社会的进步紧密相连,它具有最大的信息容量和最高的智能水平。 语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,处理的目的是用于得到某些参数以便高效传输或存储;或者是用于某种应用,如人工合成出语音,辨识出讲话者,识别出讲话容,进行语音增强等. 语音信号处理是一门新兴的学科,同时又是综合性的多学科领域,

是一门涉及面很广的交叉学科.虽然从事达一领域研究的人员主要来自信息处理及计算机等学科.但是它与语音学,语言学,声学,认知科学,生理学,心理学及数理统计等许多学科也有非常密切的联系. 语音信号处理是许多信息领域应用的核心技术之一,是目前发展最为迅速的信息科学研究领域中的一个.语音处理是目前极为活跃和热门的研究领域,其研究涉及一系列前沿科研课题,巳处于迅速发展之中;其研究成果具有重要的学术及应用价值. 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能

基于matlab的FIR数字滤波器设计(多通带,窗函数法)

数字信号处理 课程设计报告 设计名称:基于matlab的FIR数字滤波器设计 彪

一、课程设计的目的 1、通过课程设计把自己在大学中所学的知识应用到实践当中。 2、深入了解利用Matlab设计FIR数字滤波器的基本方法。 3、在课程设计的过程中掌握程序编译及软件设计的基本方法。 4、提高自己对于新知识的学习能力及进行实际操作的能力。 5、锻炼自己通过网络及各种资料解决实际问题的能力。 二、主要设计内容 利用窗函数法设计FIR滤波器,绘制出滤波器的特性图。利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。 三、设计原理 FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。 目前 FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的。 如果 FIR 滤波器的 h(n)为实数, 而且满足以下任意条件,滤波器就具有准确的线性相位: 第一种:偶对称,h(n)=h(N-1-n),φ (ω)=-(N-1)ω/2 第二种:奇对称,h(n)=-h(N-1-n), φ(ω)=-(N-1)ω/2+pi/2 对称中心在n=(N-1)/2处 四、设计步骤 1.设计滤波器 2.所设计的滤波器对多个频带叠加的正弦信号进行处理 3.比较滤波前后信号的波形及频谱 五、用窗函数设FIR 滤波器的基本方法 基本思路:从时域出发设计 h(n)逼近理想 hd(n)。设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能

实验一 基于Matlab的数字信号处理基本

实验一 基于Matlab 的数字信号处理基本操作 一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离 散时间信号的基本运算。 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。 三、 实验内容: (一) 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 ) 0() 0(0 1)(≠=?? ?=n n n δ 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 【实例1-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为 >>n=-3:3; >>x=impDT(n); >>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1]) 程序运行结果如图1-1所示。 图1-1 单位冲激序列

matlab数字滤波器设计程序

%要求设计一butterworth低通数字滤波器,wp=30hz,ws=40hz,rp=0.5,rs=40,fs=100hz。>>wp=30;ws=40;rp=0.5;rs=40;fs=100; >>wp=30*2*pi;ws=40*2*pi; >> [n,wn]=buttord(wp,ws,rp,rs,'s'); >> [z,p,k]=buttap(n); >> [num,den]=zp2tf(z,p,k); >> [num1,den1]=impinvar(num,den); Warning: The output is not correct/robust. Coeffs of B(s)/A(s) are real, but B(z)/A(z) has complex coeffs. Probable cause is rooting of high-order repeated poles in A(s). > In impinvar at 124 >> [num2,den2]=bilinear(num,den,100); >> [h,w]=freqz(num1,den1); >> [h1,w1]=freqz(num2,den2); >>subplot(1,2,1); >>plot(w*fs/(2*pi),abs(h)); >>subplot(1,2,2); >>plot(w1*fs/(2*pi),abs(h1)); >>figure(1); >>subplot(1,2,1); >>zplane(num1,den1); >>subplot(1,2,2); >>zplane(num2,den2);

基于MATLAB的滤波器设计

基于MATLAB 的滤波器设计 摘 要:利用MA TLAB 设计滤波器,可以按照设计要求非常方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计的最优化。Matlab 因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用Matlab 信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。本文介绍了在MATLAB R2011a 环境下滤波器设计的方法和步骤。 关键词:滤波器,matlab ,FIR ,IIR Abstract :By using MATLAB , we can design filters and modify the filters’parameters conveniently according to our demands. This relieves greatly design work loads and makes for optimization of filter designing. Matlab can be widely used in engineering calculations because of its powerful functions of data processing. Its rich toolbox makes the calculations easy. With Matlab signal processing toolbox, various digital filters can be designed effectively in simple way. This article introduce the methods and processes in the circumstance of MATLAB R2011a. Keywords :filter ,matlab ,fdatool 1.滤波器的原理 凡是可以使信号中特定的频率成分通过,而极大地衰减或抑制其他频率成分的装置或系统都称之为滤波器,相当于频率“筛子”。 滤波器的功能就是允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。 滤波器中,把信号能够通过的频率范围,称为通频带或通带;反之,信号受到很大衰减或完全被抑制的频率范围称为阻带;通带和阻带之间的分界频率称为截止频率;理想滤波器在通带内的电压增益为常数,在阻带内的电压增益为零;实际滤波器的通带和阻带之间存在一定频率范围的过渡带。 a .理想滤波器的频率特性 理想滤波器:使通带内信号的幅值和相位都不失真,阻喧内的频率成分都衰减为零的滤波器,其通带和阻带之间有明显的分界线。 如理想低通滤波器的频率响应函数为 0()()jw t C H jw A l W W Ω-=≤ 或 ()0()C H jw W W =>理想滤波器实际上并不存在。 b .实际滤波器 实际滤波器的特性需要以下参数描述: 1)恒部平均值A0:描述通带内的幅频特性;波纹幅度:d 。 2)上、下截止频率:以幅频特性值为A0/2时的相应频率值WC1,WC2作为带通滤波器的上、下截止频率。带宽21C C B W W =-。

基于MATLAB的数字滤波器设计

基于matlab的数字滤波器设计 摘要:本文介绍的是数字滤波器在MATLAB环境下的设计方法。数字滤波是数字信号处理的重要内容,在实际应用中有非常大的作用。我们研究的数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,我们需要借助模拟原型滤波器,然后再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。根据IIR 滤波器和FIR滤波器的特点,本文在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并让这两种滤波器对采集的语音信号进行分析和比较,经过分析,最后给出了IIR和FIR对语音滤波的效果,并总结这两种滤波器在MATLAB环境下设计方法的优缺点。 关键词:数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Abstract:This article describes a digital filter in the MATLAB environment design. Digital filtering is an important part of digital signal processing which is playing a very big role in practice .The digital filter we studied can be divided into two categories——IIR and FIR. For the IIR digital filter design, we will need the help of simulation prototype filter, analog filters and then converted it into digital filter For the IIR digital filter design .The design methods used in the text is the same impulse response method, bi-sexual transformation and full function design ;We can based on the frequency characteristics of the given direct design, design method used in the text is the window function for FIR digital filter design. Based on the characteristics of IIR filter and FIR filters ,the bad paper in the MATLAB environment under the bilinear transformation method were used to design IIR and FIR with window function digital filter design and filters to capture both the voice signal analysis and compare. Through analysis of IIR and FIR Finally, the effect of filtering on the speech, and concluded the advantages and disadvantages in the two filter design methods in the MATLAB environment. Key words: Digital Filter ;IIR;FIR;MATLAB

基于MATLAB的脑电信号处理

南京航空航天大学基于Matlab的脑电信号处理 姓名陆想想 专业领域生物医学工程 课程名称数字信号处理 二О一三年四月

摘要:脑电信号属于非平稳随机信号,且易受到各种噪声干扰。本文基于Matlab仿真系统,主要研究了小波变换在脑电信号处理方面的应用,包括小波变换自动阈值去噪处理、强制去噪处理,以α波为例,提取小波分解得到的各层频率段的信号,并做了一定的分析和评价。关键词:脑电信号;小波变换;去噪重构;频谱分析 0引言 脑电信号EEG(Electroencephalograph)是人体一种基本生理信号,蕴涵着丰富的生理、心理及病理信息,脑电信号的分析及处理无论是在临床上对一些脑疾病的诊断和治疗,还是在脑认知科学研究领域都是十分重要的。由于脑电信号的非平稳性且极易受到各种噪声干扰,特别是工频干扰。因此消除原始脑电数据中的噪声,更好地获取反映大脑活动和状态的有用信息是进行脑电分析的一个重要前提。本文的研究目的是利用脑电采集仪器获得的脑电信号,利用Fourier变换、小波变换等方法对脑电信号进行分析处理,以提取脑电信号α波的“梭形”节律,并对脑电信号进行功率谱分析和去噪重构。 1实验原理和方法 1.1实验原理 1.1.1脑电信号 根据频率和振幅的不同,可以将脑电波分为4种基本类型[1],即δ波、θ波、α波、β波。4种波形的起源和功能也不相同,如图1所示。 图1脑电图的四种基本波形 α波的频率为8~13Hz,振幅为为20~100μV,它是节律性脑电波中最明显的波,整个皮层均可产生α波。正常成人在清醒、安静、闭目时,波幅呈现有小变大,再由大变小,如此反复进行,形成所谓α节律的“梭形”。每一“梭形”持续时间约为1~2s。当被试者睁眼、警觉、思考问题或接受其他刺激时,α波立即消失而代之以快波,这种现象称之为“α波阻断”。一般

高级数字滤波器设计及Matlab实现

高级数字滤波器设计及Matlab 实现 利用Parks-McClellan 算法设计线性相位FIR 滤波器 一、 算法原理 长度为2n+1的线性相位数字滤波器的传输函数为:20 ()n k k k G z h Z -== ∑。当 Z=exp(j T ω)=exp(2j F π)时,可得到频率响应: ()exp(2)cos 2n k k G F j nF d k F ππ==-∑ exp(2)()j F H F π=- 其中2n k k d h -=,k=0,……,n-1,0n d h = max ()()()W F D F H F - 对于一个理想的低通滤波器上式中的H(F)可以表示为: 误差加权函数: 允许设计者自己给定通带和阻带内的误差范围。令p s B B A = ,设计长度为2n+1的线性相位低通滤波器只要找到k d 并使得m a x ()()()W F D F H F -最小。 设空间A 是[0,1/2]的封闭子空间,为了使0 ()cos 2n k k H F d kF π== ∑是D(F) 在A 上唯一的最佳逼近,加权误差方程()()[()()]E F W F D F H F =-在A 上至少要有n+2个交错点。因此1()()i i E F E F E -=-=±,011,n i F F F F A +<∈ ,

max ()E E F =。算法的流程如图1所示。 对于给定的n+2个频率点,需要计算n+2个方程: ()(()())(1)k k k k W F H F D F ρ-=-- 写成矩阵的形式就是: 图 1.

0000001 1 1 1 1011 1 1 1 11 1cos 2cos 4cos 2()()11cos 2cos 4cos 2()()()(1)1cos 2cos 4cos 2()n n n n n n n F F nF W F d D F d F F nF D F W F d D F F F nF W F ππππππρπππ++++++?? ???? ?? ?? ??-????????????=??????????????????-?? ????? ? 通过该方程组可得: 其中: 利用拉格朗日插值公式可得: 这里 利用求得的H(F)求出误差函数E(F)。如果对所有的频率都有()E F ρ≤,说明ρ是纹波极值,交错频率点121,n F F F + 是交错频率点。若存在某些频率使得()E F ρ>,说明初始交错点组中的某些点需要交换。 对于上次确定的121,n F F F + 中每一点,都检查其附近是否存在某一频率 ()E F ρ>,如果有再在该点附近找出局部极值点,并用该,点代替原来的

用Matlab设计FIR滤波器的三种方法

用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法 摘要介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法、FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计的滤波器应用到一个混和正弦波信号,以验证滤波器的性能。 关键词 MATLAB,数字滤波器,有限冲激响应,窗函数,仿真 1 前言 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。 2 FIR滤波器的窗函数设计法 FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为: (1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。 (2) 由性能指标确定窗函数W(n)和窗口长度N。 (3) 求得实际滤波器的单位脉冲响应h(n), h(n)即为所设计FIR滤波器系数向量b(n)。 (4) 检验滤波器性能。 本文将针对一个含有5Hz、15Hz和30Hz的混和正弦波信号,设计一个FIR带通滤波器,给出利用MATLAB实现的三种方法:程序设计法、 FDATool设计法和SPTool设计法。参数要求:采样频率fs=100Hz,通带下限截止频率fc1=10 Hz,通带上限截止频率 fc2=20 Hz,过渡带宽6 Hz,通阻带波动0.01,采用凯塞窗设计。 2 程序设计法 MATLAB信号处理工具箱提供了各种窗函数、滤波器设计函数和滤波器实现函数。本文的带通滤波器设计及滤波程序如下: [n,Wn,beta,ftype]=kaiserord([7 13 17 23],[0 1 0],[0.01 0.01 0.01],100); %得出滤波器的阶数n=38,beta=3.4 w1=2*fc1/fs; w2=2*fc2/fs;%将模拟滤波器的技术指标转换为数字滤波器的技术指标 window=kaiser(n+1,beta);%使用kaiser窗函数

基于matlab的信号分析与处理

山东建筑大学 课程设计说明书题目:基于MATLAB的信号分析与处理课程:数字信号处理课程设计 院(部):信息与电气工程学院 专业:通信工程 班级:通信111班 学生姓名: 学号: 指导教师: 完成日期:2014年1月

目录 摘要 (Ⅰ) 1 设计目的和要求 (1) 2 设计原理 (2) 3 设计内容 (3) 3.1 程序源代码 (4) 3.2 调试分析与过程描述 (7) 3.3 结果分析 (12) 总结 (13) 致谢 (14) 参考文献 (15)

摘要 这次是基于MATLAB的信号分析与处理。所谓数字滤波器,就是输入、输出都是数字信号的,通过数值计算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。常用的经典滤波器有低通、高通、带通、带阻。 首先产生一个连续信号,包含低频、中频、高频分量;对其进行采样,得到数字信号;对数字信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通、低通、带通滤波器,绘制滤波器的幅频及相频特性;用所设计的滤波器对信号滤波,并绘制出滤波后的频谱图。 关键词:MATLAB; FFT;滤波器;信号产生;频谱分析

1设计目的和要求 产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2设计原理 信号的采样要符合奈奎斯特采样定律,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。这就是信号的时域采样。 频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。 IIR滤波器的设计原理: IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。 IIR数字滤波器的设计步骤: (1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; (2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器; (3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器; (4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。 本课程设计设计思想:首先利用MATLAB分别产生低频、中频、高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通,低通,带通滤波器,得到滤波器的幅频及相频特性。

相关文档