FIR数字滤波器设计及MATLAB使用要点

合集下载

用MATLAB设计FIR数字滤波器

用MATLAB设计FIR数字滤波器

实验八 用MATLAB 设计FIR 数字滤波器(二)一、实验目旳:1、加深对窗函数法设计FIR 数字滤波器旳基本原理旳理解。

2、学习用MATLAB 语言旳窗函数法编写设计FIR 数字滤波器旳程序。

3、理解MATLAB 语言有关窗函数法设计FIR 数字滤波器旳常用函数用法。

二、实验原理:1、用窗函数法设计FIR 数字滤波器 FIR 数字滤波器旳系统函数为N-1-n n=0H(z)=h(n)z ∑这个公式也可以当作是离散LSI 系统旳系统函数M-m -1-2-mmm=0012m N -1-2-k-k12k k k=1bz b +b z +b z ++b z Y(z)b(z)H(z)====X(z)a(z)1+a z +a z ++a z1+a z ∑∑ 分母a 0为1,其他a k 全都为0时旳一种特例。

由于极点所有集中在零点,稳定和线性相位特性是FIR 滤波器旳突出长处,因此在实际中广泛使用。

FIR 滤波器旳设计任务是选择有限长度旳h(n),使传播函数H(e j ω)满足技术规定。

重要设计措施有窗函数法、频率采样法和切比雪夫等波纹逼近法等。

本实验重要简介窗函数法。

用窗函数法设计FIR 数字滤波器旳基本环节如下:(1)根据过渡带和阻带衰减指标选择窗函数旳类型,估算滤波器旳阶数N 。

(2)由数字滤波器旳抱负频率响应H(e j ω)求出其单位脉冲响应h d (n)。

可用自定义函数ideal_lp实现抱负数字低通滤波器单位脉冲响应旳求解。

程序清单如下:function hd=ideal_lp(wc,N) %点0到N-1之间旳抱负脉冲响应%wc=截止频率(弧度)%N=抱负滤波器旳长度tao=(N-1)/2;n=[0:(N-1)];m=n-tao+eps; %加一种小数以避免0作除数hd=sin(wc*m)./(pi*m);其他选频滤波器可以由低通频响特性合成。

如一种通带在ωc1~ωc2之间旳带通滤波器在给定N值旳条件下,可以用下列程序实现:Hd=ideal_lp(wc2,N)-ideal_lp(wc1,N)(3)计算数字滤波器旳单位冲激响应h(n)=w(n)h d(n)。

matlabfir滤波器设计

matlabfir滤波器设计

matlabfir滤波器设计MATLAB是一个高级编程语言和交互式环境,被广泛应用于各种科学和工程问题的数值分析、数据可视化和编程开发等领域。

FIR滤波器是数字信号处理中经常使用的一种滤波器,它是基于有限长冲激响应的滤波器。

在MATLAB平台上,我们可以使用fir1函数来设计FIR滤波器。

一、FIR滤波器设计基础1.1 什么是FIR滤波器FIR滤波器是有限长冲激响应滤波器,由于其具有线性相位特性和可控阶数等优点,在数字信号处理中得到了广泛的应用。

一般来说,FIR滤波器的频率响应特性由滤波器的系数函数确定。

FIR滤波器的设计一般采用窗函数法、最小二乘法、频率抽取法等方法。

窗函数法是最常见的一种方法,大部分情况下选择的是矩形窗、汉宁窗、布莱克曼窗等。

1.3 fir1函数介绍fir1函数是MATLAB中用于FIR滤波器设计的函数,用法为:h = fir1(N, Wn, type)N为滤波器的阶数,Wn是用于指定滤波器截止频率的参数,type指定滤波器类型,可以是低通、高通、带通、带阻等。

二、使用fir1函数设计FIR滤波器2.1 设计要求采样率为300Hz;滤波器阶数为50;截止频率为50Hz。

2.2 实现步骤(1)计算规范化截止频率规范化截止频率是指在数字滤波器设计中使用的无单位量,通常范围为0到1。

在本例中,我们需要将50Hz的截止频率转化为规范化截止频率。

Wn = 2*50/300 = 1/3根据计算出的规范化截止频率和滤波器阶数,我们可以使用fir1函数来进行滤波器设计。

此处滤波器的阶数为50,规范化截止频率为1/3,类型为低通。

(3)绘制滤波器的幅频响应图为了验证设计的低通FIR滤波器是否符合要求,我们需要绘制其幅频响应图。

freqz(h,1,1024,300)经过上述步骤后,我们就得到了一张低通FIR滤波器的幅频响应图,如下图所示:图1.低通FIR滤波器的幅频响应图三、总结通过上述例子,我们可以看出在MATLAB中与fir1函数可以非常方便的进行FIR滤波器的设计。

FIR数字滤波器的设计与matlab实现

FIR数字滤波器的设计与matlab实现

W
(e
j
)

{0.5WR
()

0.25[WR
(

2 )
N 1
WR
(

2
)]}e N 1
j(
N 1) 2
W ()e ja
W
()

0.5WR
()

0.25[WR
(

2 )
N 1
WR
(

2 )]
N 1
(6-2-12b)
W () 是三项矩形窗的幅度响应 WR() 的移位加权和,
n0

H (z) z(N1)H (z1)
则有
H (z) 1 [H (z) z(N1)H (z1)] 2

1
N 1
h(n)[ z n

z (N 1) z n ]
2 n0

z ( N 1) / 2
N 1
h(n)
1
(n N 1)
[z 2

(n N 1)
❖ 滤波器设计任务的中心就是求得系统函数。 数字滤波器的系统函数最主要的特征有三个: 幅度平方响应、相位响应和群延迟。
❖ IIR滤波器可以用较少的阶数获得较好的幅度响应, 但由于其结构存在反馈,可能造成系统的不稳定, 其优异幅度响应一般是以相位的非线性为代价的, 非线性相位会引起频率色散。
❖ FIR系统的最主要特性之一就是可以构成具有线性 相位特性的滤波器。所谓线性相位特性是指滤波 器对不同频率的正弦波所产生的相移和正弦波的 频率成直线关系。因此,在滤波器通带内的信号 通过滤波器后,除了由相频特性的斜率决定的延 迟外,可以不失真地保留通带以内的全部信号。

基于matlab的fir数字滤波器的设计

基于matlab的fir数字滤波器的设计

一、引言数字滤波器是数字信号处理中至关重要的组成部分,它能够对数字信号进行滤波处理,去除噪音和干扰,提取信号中的有效信息。

其中,fir数字滤波器作为一种常见的数字滤波器类型,具有稳定性强、相位响应线性等特点,在数字信号处理领域得到了广泛的应用。

本文将基于matlab软件,探讨fir数字滤波器的设计原理、方法和实现过程,以期能够全面、系统地了解fir数字滤波器的设计流程。

二、fir数字滤波器的基本原理fir数字滤波器是一种有限长冲激响应(finite impulse response, FIR)的数字滤波器,其基本原理是利用线性相位特性的滤波器来实现对数字信号的筛选和处理。

fir数字滤波器的表达式为:$$y(n) = \sum_{k=0}^{M}h(k)x(n-k)$$其中,y(n)为输出信号,x(n)为输入信号,h(k)为滤波器的系数,M为滤波器的长度。

fir数字滤波器的频率响应特性由其系数h(k)决定,通过设计合适的系数,可以实现对不同频率成分的滤波效果。

三、fir数字滤波器的设计方法fir数字滤波器的设计方法主要包括窗函数法、频率抽样法、最小最大法等。

在matlab中,可以通过信号处理工具箱提供的fir1函数和firls函数等来实现fir数字滤波器的设计。

下面将分别介绍这两种设计方法的基本原理及实现步骤。

1. 窗函数法窗函数法是fir数字滤波器设计中最为常见的方法之一,其基本原理是通过对理想滤波器的频率响应进行窗函数加权来满足设计要求。

在matlab中,可以使用fir1函数实现fir数字滤波器的设计,其调用格式为:h = fir1(N, Wn, type)其中,N为滤波器的阶数,Wn为滤波器的截止频率,type为窗函数的类型。

通过调用fir1函数,可以灵活地设计出满足特定要求的fir数字滤波器。

2. 频率抽样法频率抽样法是fir数字滤波器设计中的另一种重要方法,其基本原理是在频域上对理想滤波器的频率响应进行抽样,并拟合出一个最优的滤波器。

数字信号处理 实验八 FIR数字滤波器的MATLAB实现

数字信号处理 实验八  FIR数字滤波器的MATLAB实现

实验八 FIR 数字滤波器的MATLAB 实现一、 实验目的:学习用窗函数法设计FIR 数字滤波器的原理及其设计步骤;学习编写数字滤波器的设计程序的方法,并能进行正确编程;根据给定的滤波器指标,给出设计步骤。

二、 实验仪器:电脑一台,MA TLAB6.5或更高级版本软件一套。

三、 实验内容:(一) 实验原理及实例分析 1. FIR 低通数字滤波器的设计原理如果系统的冲激响应)(n h d 为已知,则系统的输入/输出关系为:)()()(n h n x n y d ⋅=对于低通滤波器,只要设计出低通滤波器的冲激响应函数,就可以由上式得到系统的输出了。

假设所希望的数字滤波器的频率响应为)(jwd e H ,它是频域的周期函数,周期为2π,那么它与)(jwd eH 相对应的傅立叶系数为dw eeH n h jnwjwd d )(21)(⎰-=πππ以)(n h d 为冲激响应的数字滤波器将具有频域响)(jwd e H 。

但是将)(n h d 作为滤波器脉冲响应有两个问题:(1) 它是无限长的,与FIP 滤波器脉冲响应有限长这一前提不一致 (2) 它是非因果的,0,0)(<≠n n h d 对此,要采取以下的措施,(1) 将)(n h d 截短 (2)将其往右平移,由此得到)(2n h 的实际频域响应jnwN n jwd en heH ∑-==12)()(,与理想频域响应)(jwd eH 相近,但不完全一致。

理论证明上述现象是对)(n h d 进行简单截短处理的必然结果,一般称为吉布斯现象,为尽可能的减少吉布斯现象,应对)(n h d 进行加窗截取,即以)()()(n W n h n h N d ⋅=作为FIR 滤波器的系数。

常用的窗函数有矩形窗、海明窗和布莱克曼窗等。

2. 用窗函数法设计FIR 滤波器MA TLAB 设计FIR 滤波器有多种方法和对应的函数,见表8-1。

表8-1 MA TLAB 设计FIR 滤波器的方法和函数方法描述函数窗方法 使用窗函数和逆傅立叶变换实现 fir1,fir2,kaiserord 等 多带方法 包含子带频率域firls ,remez 等 最小二乘法 使用最小二乘法将整个频率域上的错误几率压缩到最小fircls ,fircls1等 任意响应法 使用任意响应,包括非线性相位以及复滤波器cremez 等 余弦法使用三角函数的低通响应firrcos 等窗函数方法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs 现象所带来的影响。

基于MATLAB设计FIR滤波器

基于MATLAB设计FIR滤波器

基于MATLAB设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种数字滤波器,它具有有限的冲激响应长度。

基于MATLAB设计FIR滤波器可以使用signal工具箱中的fir1函数。

fir1函数的语法如下:b = fir1(N, Wn, window)其中,N是滤波器的阶数,Wn是截止频率,window是窗函数。

要设计一个FIR低通滤波器,可以按照以下步骤进行:步骤1:确定滤波器的阶数。

阶数决定了滤波器的截止频率的陡峭程度。

一般情况下,阶数越高,滤波器的陡峭度越高,但计算复杂度也会增加。

步骤2:确定滤波器的截止频率。

截止频率是指在滤波器中将信号的频率限制在一定范围内的频率。

根据应用的需求,可以选择适当的截止频率。

步骤3:选择窗函数。

窗函数是为了在时域上窗口函数中心增加频率衰减因子而使用的函数。

常用的窗函数有Hamming、Hanning等。

窗函数可以用来控制滤波器的幅度响应特性,使得它更平滑。

步骤4:使用fir1函数设计滤波器。

根据以上步骤确定滤波器的阶数、截止频率和窗函数,可以使用fir1函数设计FIR滤波器。

具体代码如下:N=50;%设定阶数Wn=0.5;%设定截止频率window = hanning(N + 1); % 使用Hanning窗函数步骤5:使用filter函数对信号进行滤波。

设计好FIR滤波器后,可以使用filter函数对信号进行滤波。

具体代码如下:filtered_signal = filter(b, 1, input_signal);其中,input_signal是输入信号,filtered_signal是滤波后的信号。

以上,便是基于MATLAB设计FIR滤波器的简要步骤和代码示例。

根据具体需求和信号特性,可以进行相应的调整和优化。

用MAtlab实现FIR数字滤波器的设计

用MAtlab实现FIR数字滤波器的设计

设计方法
• 一、窗函数设计法 • 二、频率抽样设计法 • 三、最小二乘逼近设计法
FIR 数 字 滤 波 器 的 文 件
一、fir1.m
• 本文件采用窗函数法设计FIR数字滤波器,其调用格式是
• 1)b=fir1(N ,W c)
• 2)b=fir1(N,W c ,’high’) • 3)b=fir1(N,W c ,’stop’)
实践课题
FIR 数 字 滤 波 器 的 设 计
实践目的


通过实践加深对Matlab软件的认识。 能熟练应用并基本掌握Matlab软件, 通过实践对课本以外的内容有初步的 了解。 通过设计FIR数字滤波器,对滤波器 的功能和原理有初步的认识和了解。
实践课题简介
在数字信号处理的许多领域中, 如图像处理、数字通信等领域,常 常要求滤波器具有线性相位。FIR数 字滤波器的最大优点就是容易设计 成线性相位特性,而且它的单位冲 激响应是有限长的,所以它永远是 稳定的。

Hale Waihona Puke 上式中N为滤波器的阶次,W c是通带截止频率,其值在0~1之间, 1对应采样频率的一半,b是设计好的滤波器系数(单位冲激响应序 列)其长度为N+1。
对于格式(1)若W c是一标量,则可用来设计低通滤波器;若W c 是 的向量,则用来设计带通滤波器。 格式(2)用来设计高通滤波器。 格式(3)用来设计带阻滤波器。
部分滤波器的例子(频率抽样法)

部分滤波器的例子(最小二乘逼近设计法)

Fircls1设计的低通滤波器,归一化截止频率 为0.3,通带波纹为0.02,阻带波纹为0.008。
实践总结

通过这次实践课题的设计与制作,使我 对Matlab这个软件有了进一步的了解,并且 加深了课本上的知识。与此同时,使我对 滤波器有了初步的认识。提高了我的理解 以及分析能力,理论和实践相结合,不仅 巩固了我的理论知识,同时更提高了我的 实践能力,使我受益匪浅。

FIR滤波器的MATLAB设计与实现

FIR滤波器的MATLAB设计与实现

FIR滤波器的MATLAB设计与实现FIR滤波器(Finite Impulse Response Filter)是一种数字滤波器,其特点是其响应仅由有限长度的序列决定。

在MATLAB中,我们可以使用信号处理工具箱中的函数来设计和实现FIR滤波器。

首先,需要明确FIR滤波器的设计目标,包括滤波器类型(低通、高通、带通、带阻)、通带和阻带的频率范围、通带和阻带的增益等。

这些目标将决定滤波器的系数及其顺序。

在MATLAB中,我们可以使用`fir1`函数来设计FIR滤波器。

该函数的使用方式如下:```matlabh = fir1(N, Wn, type);```其中,`N`是滤波器长度,`Wn`是通带边缘频率(0到0.5之间),`type`是滤波器的类型('low'低通、'high'高通、'bandpass'带通、'stop'带阻)。

该函数会返回一个长度为`N+1`的滤波器系数向量`h`。

例如,如果要设计一个采样频率为10kHz的低通滤波器,通带截止频率为2kHz,阻带频率为3kHz,可以使用以下代码:```matlabfc = 2000; % 通带截止频率h = fir1(50, fc/(fs/2), 'low');```上述代码中,`50`表示滤波器的长度。

注意,滤波器的长度越大,滤波器的频率响应越陡峭,但计算成本也更高。

在设计完成后,可以使用`freqz`函数来分析滤波器的频率响应。

例如,可以绘制滤波器的幅度响应和相位响应曲线:```matlabfreqz(h);```除了使用`fir1`函数外,MATLAB还提供了其他函数来设计FIR滤波器,如`fir2`、`firpm`、`firls`等,具体使用方式可以参考MATLAB的文档。

在实际应用中,我们可以将FIR滤波器应用于音频处理、图像处理、信号降噪等方面。

例如,可以使用FIR滤波器对音频信号进行去噪处理,或者对图像进行锐化处理等。

FIR数字滤波器的设计与matlab实现知识讲解

FIR数字滤波器的设计与matlab实现知识讲解

zn
]
2 n0
z( N1) / 2
N1
h(n)
1
(n
[z
N1) 2
(n N 1)
z 2]
n0
2
频响:
H(ej)H(z)|zej
ej(N21)N1h(n)cos[(nN1)]
n0
2
其求和项全为实数
将H(ej)表示成相位 ( 函 )和 数 幅度函H数 ()的形,式 即
H (ej)H ( )ej()
下表给出了上述4种类型的线性相位滤 波器的相位响应、时域幅度响应和频域幅 度响应的示意图。
第三部分:线性相位FIR DF的设计方法
窗函数设计法 频率取样设计法 FIR DF的计算机辅助设计(优化设计)
FIR滤波器的设计问题在于寻求一系
N1
统函数 H(z) h(n)zn ,使其频率 n0
响应 H(ej)H(z)|zej 逼近滤波器要求的 理想频率响应 Hd (ej) 。

H()
N1
h(n)cos[(n
N1)]
n0
2
() (N1)
2
其中 幅度函数是标量函数,可正可负;
相位函数是的线性函数,且通过原点,即:具有严 格的线性相位特性。
如图所示
2.线性相位FIR滤波器的幅频特性
对于
H()N1h(n)cos(n[N1)]
n0
2
中的各项相对于 (N1)/2对称的项相等。
将相等项合并,因N为奇数,余中间项 h( N 1)
2

H()N1h(n)co s[(nN1)]
n0
2
h(N1)(N3)/22h(n)co s[(nN1)]
2
n0

MATLAB在FIR滤波器中的应用

MATLAB在FIR滤波器中的应用

一、基本窗函数 二、窗函数法设计FIR滤波器 三、频率抽样法设计FIR滤波器
基本窗函数
• 1、矩形窗(Rectanglar Window) W=boxcar(n) n-窗函数的长度 example
n=50; y=boxcar(n); [h,w]=freqz(y,1); subplot(2,1,1); stem(y); subplot(2,1,2); plot(w/pi,20*log(abs(h)/abs(h(1))))
• • • •
6、凯塞窗 w=kaiser(n,beta) n-窗函数的长度, beta-用于控制旁瓣的高度,n一定, beta越大,其旁瓣就越小。
二、利用窗函数法设计FIR滤波器
• 1、Fir1函数:设计具有标准频率响应的FIR
• • • • • • (1) b=fir1(n,wn) b=fir1(n,wn,’high’) b=fir1(n,wn,’low’) b=fir1(n,wn,’bandpass’) b=fir1(n,wn,’stop’)
• • • • • •
2、三角窗 w=triang(n) 3、汉宁窗函数 w=hanning(n) w=hanning(n,’symmetric’) w=hanning(n,’periodic’)
• 4、海明窗函数 w=hamming(n) w=hamming(n,sflag) 5、布莱克曼窗函数 w=blackman(n) w=blackman(n,sflag)
三、频率抽取法设计FIR数字滤波器
• 1、Remez函数:通过最佳逼近法设计 FIR滤波器 • b=remez(n,f,a) • 通过最大误差最小化原则,设计一个由f 和a指定幅频响应和实线性相位对称的n 阶FIR数字滤波器

FIR数字滤波器的Matlab实现知识讲解

FIR数字滤波器的Matlab实现知识讲解

F I R数字滤波器的M a t l a b实现第7章 FIR 数字滤波器的Matlab 实现7.1 实验目的● 学习用窗函数法设计FIR 数字滤波器的原理及其设计步骤; ● 学习编写数字滤波器的设计程序的方法,并能进行正确编程; ● 根据给定的滤波器指标,给出设计步骤。

7.2 实验原理及实例分析7.2.1 FIR 低通数字滤波器的设计原理如果系统的冲激响应)(n h d 为已知,则系统的输入/输出关系为:)()()(n h n x n y d ⋅=对于低通滤波器,只要设计出低通滤波器的冲激响应函数,就可以由上式得到系统的输出了。

假设所希望的数字滤波器的频率响应为)(jw d e H ,它是频域的周期函数,周期为2π,那么它与)(jw d e H 相对应的傅立叶系数为dw e e H n h jnw jw d d )(21)(⎰-=πππ以)(n h d 为冲激响应的数字滤波器将具有频域响)(jw d e H 。

但是将)(n h d 作为滤波器脉冲响应有两个问题:(1) 它是无限长的,与FIP 滤波器脉冲响应有限长这一前提不一致 (2) 它是非因果的,0,0)(<≠n n h d 对此,要采取以下的措施,(1) 将)(n h d 截短 (2)将其往右平移,由此得到)(2n h 的实际频域响应jnw N n jwd e n h e H ∑-==12)()(,与理想频域响应)(jw d e H 相近,但不完全一致。

理论证明上述现象是对)(n h d 进行简单截短处理的必然结果,一般称为吉布斯现象,为尽可能的减少吉布斯现象,应对)(n h d 进行加窗截取,即以)()()(n W n h n h N d ⋅=作为FIR 滤波器的系数。

常用的窗函数有矩形窗、海明窗和布莱克曼窗等。

7.2.2 用窗函数法设计FIR 滤波器Matlab 设计FIR 滤波器有多种方法和对应的函数,见表7-1。

表7-1 matlab 设计FIR 滤波器的方法和函数窗函数方法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs 现象所带来的影响。

matlab 信号过fir数字滤波器设计

matlab 信号过fir数字滤波器设计

一、概述Matlab 是一种用于算法开发、数据分析和可视化的高级技术计算语言和交互式环境。

在信号处理领域,Matlab 是一种非常强大的工具,可以用来设计和实现数字滤波器。

本文将重点介绍如何使用 Matlab 过FIR (Finite Impulse Response) 数字滤波器设计。

二、FIR 数字滤波器概述FIR 数字滤波器是一种常见的数字滤波器,它的特点是其单位脉冲响应有限,并且没有反馈。

FIR 滤波器的频率响应可以通过其线性相位特性来描述,因此在许多应用中非常有用。

三、Matlab 中的 FIR 数字滤波器设计工具Matlab 中提供了许多用于数字滤波器设计的工具,其中包括 fdatool 和 fir1 函数。

1. fdatoolfdatool 是 Matlab 中的一个交互式工具,可以帮助用户设计各种类型的数字滤波器。

用户可以通过图形界面选择滤波器类型、滤波器阶数、截止频率等参数,并实时查看滤波器的频率响应和单位脉冲响应。

使用 fdatool 可以快速方便地设计出所需的 FIR 数字滤波器。

2. fir1 函数fir1 函数是 Matlab 中用于设计标准的低通、高通、带通和带阻 FIR数字滤波器的函数。

用户可以通过指定滤波器类型、截止频率、滤波器阶数等参数来调用 fir1 函数,从而得到所需的数字滤波器的系数。

四、利用 Matlab 设计 FIR 数字滤波器的步骤1. 确定滤波器类型首先要确定所需的数字滤波器的类型,包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器。

2. 确定滤波器的频率特性根据具体的应用需求,确定滤波器的截止频率、通带和阻带的大小,以及过渡带的宽度等参数。

3. 计算滤波器的系数根据所需的滤波器类型、频率特性和滤波器阶数等参数,使用 fdaool 工具或 fir1 函数计算出滤波器的系数。

4. 应用滤波器将得到的滤波器系数应用到需要滤波的信号上,即可得到滤波后的信号。

matlabfir滤波器设计

matlabfir滤波器设计

matlabfir滤波器设计由于滤波器设计的复杂性,在matlab中完成滤波器设计过程可以减少大量的计算工作,下面将介绍在matlab中的FIR滤波器的设计。

一、matlab入口1. matlab工作环境:(1)安装matlab软件,在matlab中运行“dspstart”,启动数字信号处理的工作环境,包括了一些常用处理的函数和示例程序,在这种环境下可以进行滤波器设计的研究。

(2)matlab可以完成离散时间信号处理,因此,滤波器的设计需要在离散时间信号领域完成,即用离散时间信号的算法来完成滤波器设计。

2. matlab工具箱:(1)安装滤波器设计工具箱,这是一个专门用于滤波器设计的matlab库,包括了四种基本滤波器:抗谐波滤波器(notched filter),低通滤波器(low pass filter),带阻滤波器(band stop filter),以及带通滤波器(band pass filter)。

(2)安装滤波器设计高级工具箱,这是一个高级的matlab 库,可以支持滤波器的更复杂的设计,包括滤波器的参数优化,非线性滤波器,以及多种滤波器结构的数字滤波器。

3. matlab辅助性的工具:(1)安装滤波器设计助手,这是一个滤波器设计的可视化工具,可以帮助滤波器的初学者快速上手,了解滤波器设计的基本思想,并运行滤波器的例子及示例程序。

(2)安装滤波器设计指南,这是一个matlab脚本文件,可以帮助滤波器的更高级的使用者了解滤波器设计的原理,以及各种滤波器的不同之处,可以大大提高滤波器的设计效率。

二、 matlab 滤波器设计思路1. FIR滤波器的设计:(1)首先要明确滤波器的工作频率范围,记录滤波器的输入信号精度以及输出精度。

(2)设计滤波器的类型,选择适用于该频率范围内的滤波器类型,如低通滤波器,带阻滤波器等。

(3)定义滤波器的功率频谱,根据滤波器的类型,定义滤波器的功率频谱,包括最大值,超调因数以及滤波器的边带幅度。

matlab的fir高通数字滤波器的设计及分析

matlab的fir高通数字滤波器的设计及分析

摘要无限长脉冲数字滤波器的设计方法只考虑了幅度特性,没有考虑相位特性,所设的滤波器一般是某种确定的非线性相位特性。

有限脉冲响应(FIR)滤波器在保证了幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。

本课题利用MATLAB软件实现。

MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,是一种科学计算软件,它使用方便,输入简捷,运算高效,内容丰富,因此利用MATLAB软件,通过一系列较为系统的函数法,根据已知的技术指标,就可以设计出满足要求的滤波器。

关键字:MATLAB;窗函数;FIR带阻数字滤波器;线性相位目录1.FIR滤波器简介 (3)1.1 FIR的特点 (3)2.2线性相位 (3)2.主要设计内容 (5)3.窗函数 (6)3.1常用窗函数 (6)3.2窗函数的指标 (9)4应用窗函数法设计 FIR 数字滤波器的步骤 (10)4.1数字高通滤波器的设计: (10)总结 (11)参考文献 (12)附录 (13)1.FIR 滤波器简介数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。

根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR )滤波器和有限冲激响应(FIR )滤波器。

1.1 FIR 的特点FIR 滤波器的主要优点为:系统总是稳定的,FIR 滤波器的系统函数可以表示为 (2-1) 易知,H (z ) 在 Z 平面上有 N -1个零点,z =0 是 N -1 阶极点,因此FIR 系统总是稳定的(极点都在单位圆内)。

FIR 滤波器的优点之二:容易实现线性相位。

当 FIR 系统的单位冲激响应满足 时,该系统具有线性相位。

(N 为奇数) (2-2)(N 为偶数) (2-3) FIR 滤波器的优点之三:允许设置多通带(或多阻带)滤波器。

FIR 滤波器的优点之四:FIR 滤波器可以采用 FFT 方法实现其功能,从而大大提高效率。

matlab中fir自适应滤波器使用方法

matlab中fir自适应滤波器使用方法

一、fir自适应滤波器简介fir自适应滤波器是一种常用的数字信号处理滤波器,用于对非线性和时变信号进行滤波处理。

它可以根据输入信号和期望输出信号的误差来实时调整滤波器的参数,从而不断优化滤波效果。

在matlab中,可以使用dsp库中的adaptiveFilter函数来实现fir自适应滤波器。

二、fir自适应滤波器的原理fir自适应滤波器的原理是基于最小均方误差准则,通过不断调整滤波器的权重系数,使得滤波器的输出信号尽可能接近期望输出信号。

具体来说,fir自适应滤波器采用LMS(最小均方)算法或RLS(递推最小二乘)算法来更新滤波器的权重系数,以达到滤波效果的优化。

三、fir自适应滤波器在matlab中的实现在matlab中,可以使用dsp库中的adaptiveFilter函数来实现fir 自适应滤波器。

该函数支持LMS算法和RLS算法,并提供了丰富的参数设置和功能选项,可以灵活地应用于各种信号处理场景。

下面将介绍在matlab中如何使用adaptiveFilter函数来实现fir自适应滤波器。

四、在matlab中使用LMS算法实现fir自适应滤波器1. 创建一个代表输入信号的向量x,和一个代表期望输出信号的向量d。

2. 调用adaptiveFilter函数,设置滤波器的参数和算法选择,如:fir1 = dsp.AdaptiveLMSFilter('Length',8,'Method','LMS');3. 接下来,使用fir1滤波器对输入信号x进行滤波处理,得到输出信号y = fir1(x,d)。

4. 根据滤波器的输出结果y和期望输出信号d,评估滤波效果并调整滤波器的参数。

五、在matlab中使用RLS算法实现fir自适应滤波器1. 类似地,首先创建输入信号向量x和期望输出信号向量d。

2. 调用adaptiveFilter函数,设置滤波器的参数和算法选择,如:fir2 = dsp.AdaptiveLMSFilter('Length',8,'Method','RLS');3. 使用fir2滤波器对输入信号x进行滤波处理,得到输出信号y = fir2(x,d)。

FIR滤波器窗函数设计法详细步骤以及Matlab代码

FIR滤波器窗函数设计法详细步骤以及Matlab代码

FIR滤波器窗函数设计法详细步骤以及Matlab代码采⽤窗函数法设计理想低通,⾼通滤波器,参考北京交通⼤学陈后⾦主编的【数字信号处理】5.2节窗函数法设计线性相位FIR数字滤波器P164,和P188。

设计步骤如下:1)确定滤波器类型,不同的FIR类型可设计不同类型的滤波器,I型可设计LP(低通滤波器),HP(⾼通滤波器),BP(带通滤波器),BS(带阻滤波器)。

Fir I型Fir II型Fir III型Fir IV型LP,HP,BP,BS LP,BP BP HP,BP,BS2)确定设计的滤波器的参数Eg:若要设计⼀个低通滤波器,fp=20,fs=30;Ap=1,As=40,则3db截频Wc = 2*pi*(fs-fp)/Fs;Fs为采样频率。

3)确定窗函数窗的类型主瓣宽度近似过渡带宽度δp,δs Ap(dB)As(dB)矩形窗4pi/N 1.8pi/N0.090.8221Hann8pi/N 6.2pi/N0.00640.05644Hamming8pi/N7pi/N0.00220.01953Blackman12pi/N11.4pi/N0.00020.001774Kaiser可调窗,需要确定β值 50<A , β = 0.1102(A-8.7); 21<=A<=50, β=0.5842(A-21)^0.4 + 0.07886(A-21); A<21, β = 0;4) 确定滤波器的阶数M,⾸先确定滤波器的长度N。

对于除凯撒窗以外的窗函数,N值由以下公式确定:N>=(窗函数近似过渡带宽度)/(Wp-Ws)Fir I型Fir II型Fir III型Fir IV型脉冲响应h[k]为偶对称h[k]为偶对称h[k]为奇对称h[k]为奇对称窗函数长度:N=mod(N+1,2)+N N=mod(N,2)+N N=mod(N+1,2)+N N=mod(N,2)+N阶数M=N-1为偶数M=N-1为奇数M=N-1为偶数M=N-1为奇数若采⽤Kaiser窗,则M≈(A-7.95)÷ 2.285*|Wp-Ws|,A>21。

FIR数字滤波器设计及MATLAB实现

FIR数字滤波器设计及MATLAB实现
s s P A Tc 系统实 践 Y R c .E
l 2 9
FR 字 滤 波 器 设 计 及 MA L 实现 I数 T AB
冯 冠超 ( 哈尔滨工业大学 ( 威海 ) 山东威海
24 0) 6 2 9
摘 要 :主要 研 究在 MA IBt境 T FR ̄ 字滤 波 器的 典 型设计 方 法 ,应 用MA L B 号 处理 工 具箱及 其 扩展 函数 ,使 得如 TA  ̄ . IA c TA信 何在 数 字信 号 处理过 程 中较 复杂 的数 字 滤波 器设计 问题 得 以解 决 。
gr i d
1 引 言 .
数字 信 号 处理 是在 2 世 纪6 年 代 ,用 数字 的数 值 计 算 方法 0 O 对 信号 进 行 处 理 ,以达 到 提 取 有 用信 息 便 于应 用 的 目的 , 目前 数 字信号 处理 技术 已广 泛 应用 于 多个领 域 数 字 滤 波器 根 据 其 单 位 冲激 响应 函数 的 时域 特 性 可 分 为两 类 :无 限冲激 响 应 l 滤波 器和 有 限 冲激 响 应 FR 波器 。 F R l R I滤 I 滤 波器 最 重要 的 优点 就是 由于 不存 在 系统 极点 ,FR 波器 是绝 对 I滤 稳 定 的系 统 。MA L B为数 字 滤 波 的研 究 提供 了一 个直 观 、高 TA 效 、便 捷 的 利器 。 它 以矩 阵 运算 为基 础 ,把 计 算 、 可视 化 、程 序 设计融 合到 一 个交互 式 的工 作环 境 中。
参 考文 献 [13 14 晓晨, 李涛, 刘路 . MATL B3 箱应 用指 南[ .电子工业 出 A - M】
版 社 .0 0 20 .
3 窗函数 设 计的基 本 思想 .
窗 函数 法 设 计 的基 本 思 想 是 把给 定 的频 率 响应 通 过 离 散傅 里 叶逆 变换 ,求 得 脉 冲 响应 ,然 后利 用 加 窗 函 数对 它进 行 截 断 和 平 滑 ,以 实现 一 个物理 可 实 现且 具 有线 性相 位 的 FR I 滤波 器 的 设 计 目的。 其 核 心 是从 给 定 的 频 率特 性 ,通 过 加窗 确 定 有 限 长 单 位脉 冲 Ⅱ 应序  ̄ h n ,过 程 如下 : 向 J ()

matlab的fir滤波器设计

matlab的fir滤波器设计

matlab的fir滤波器设计FIR(Finite Impulse Response)滤波器是指响应有限长度序列输入的数字滤波器,它可以用于信号去噪、信号滤波和信号重构等领域。

MATLAB软件是目前应用广泛的数学软件工具箱,它可以实现数字信号处理、信号滤波和滤波器设计等功能。

下面我们来分步骤解析如何利用MATLAB完成FIR滤波器设计。

第一步,确定滤波器参数要设计FIR滤波器,需要明确设计的目的,例如信号去噪还是信号滤波。

同时,需要确定滤波器的参数,包括滤波器的采样率、通带边界、阻带边界等。

第二步,调用MATLAB工具箱并加载数据打开MATLAB软件,选择Digital Signal Processing Toolbox,调用fir1函数,该函数用于设计一般的低通、高通、带通和带阻FIR 滤波器。

加载需要滤波的数据,并将其存储在一个变量中。

第三步,进行滤波器设计在MATLAB命令行窗口中输入以下命令,来进行FIR滤波器的设计。

h = fir1(N, Wn, 'type');其中,N是滤波器的阶数,Wn是正规化的截止频率值,type是滤波器的类型,可以是低通、高通、带通和带阻滤波器。

例如,我们要设计一个30阶的低通滤波器,带通频带为0.3至0.7,采样率为1000Hz,输入以下命令:N = 30;Wn = [0.3 0.7];Btype = 'low';FIR_filter = fir1(N, Wn, Btype);第四步,使用FIR滤波器进行滤波使用filter函数,可以将设计好的FIR滤波器应用到加载的数据上,进行滤波操作。

Y_filtered = filter(FIR_filter, 1, X);其中,FIR_filter是设计好的FIR滤波器,X是加载的待滤波数据,Y_filtered是经过滤波器处理后的数据。

第五步,可视化输出结果通过绘制函数将滤波器的输入和输出信号进行可视化处理,观察滤波效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字信号处理课程设计《数字信号处理》课程设计报告FIR数字滤波器设计及MATLAB实现专业:通信工程班级:通信1101班组次:第9组姓名及学号:姓名及学号:目录一、设计目的 (3)二、设计任务 (3)三、设计原理 (3)3.1窗函数法 (3)3.2频率采样法 (4)3.3最优化设计 (5)3.3.1等波纹切比雪夫逼近准则 (5)3.3.2仿真函数 (6)四、设计过程 (7)五、收获与体会 (13)参考文献 (13)FIR数字滤波器设计及MATLAB实现一、设计目的FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。

因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。

滤波器设计是根据给定滤波器的频率特性,求得满足该特性的传输函数。

二、设计任务FIR滤波器设计的任务是选择有限长度的()H e满足一定h n,使传输函数()jw的幅度特性和线性相位要求。

由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。

设计过程一般包括以下三个基本问题:(1)根据实际要求确定数字滤波器性能指标;(2)用一个因果稳定的系统函数去逼近这个理想性能指标;(3)用一个有限精度的运算去实现这个传输函数。

三、设计原理FIR滤波器设计的任务是选择有限长度的()H e满足一定h n,使传输函数()jw的幅度特性和线性相位要求。

由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。

设计过程一般包括以下三个基本问题:(1)根据实际要求确定数字滤波器性能指标;(2)用一个因果稳定的系统函数去逼近这个理想性能指标;(3)用一个有限精度的运算去实现这个传输函数。

3.1窗函数法设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。

FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应()jwH e,设计d一个FIR 数字滤波器频率响应()jw H e ,去逼近理想的滤波响应()jw d H e 。

然而,窗函数法设计FIR 数字滤波器是在时域进行的,因而必须由理想的频率响应()jw d H e 推导出对应的单位取样响应()d h n ,再设计一个FIR 数字滤波器的单位取样响应()h n 去逼近()d h n 。

设计过程如下:*()()()()()I D T F F T w n D T F T j j d d H e h n h n H e ωω−−−→−−−→−−−→(3-1) 加窗的作用是通过把理想滤波器的无限长脉冲响应()d h n 乘以窗函数()w n 来产生一个被截断的脉冲响应,即()()()d h n h n w n =并且对频率响应进行平滑。

MATLAB 工具箱提供的窗函数有:矩形窗(Rectangularwindow)、三角窗(Triangular window)、布拉克曼窗(Blackman window)、汉宁窗(Hanningwindow)、海明窗(Hamming window)、凯塞窗(Kaiser window)、切比雪夫窗(Chebyshev window)。

窗函数主要用来减少序列因截断而产生的Gibbs 效应。

但当这个窗函数为矩形时,得到的FIR 滤波器幅频响应会有明显的Gibbs 效应,并且任意增加窗函数的长度(即FIR 滤波器的抽头数)Gibbs 效应也不能得到改善。

为了克服这种现象,窗函数应该使设计的滤波器:(1) 频率特性的主瓣宽度应尽量窄,且尽可能将能量集中在主瓣内;(2) 窗函数频率特性的旁瓣ω趋于π 的过程中,其能量迅速减小为零。

3.2频率采样法频率采样法是从频域出发,根据频域采样定理,对给定的理想滤波器的频率响应()jw H e 加以等间隔的抽样 ,得到()d h k :(2)()()k N jwd d w H k He π== k=0,1,…,N -1(3-2)再利用()d H k 可求得FIR 滤波器的系统函数()H Z 及频率响应()jw H e 。

而在各采样点间的频率响应则是其的加权内插函数延伸叠加的结果。

但对于一个无限长的序列,用频率采样法必然有一定的逼近误差,误差的大小取决于理想频响曲线的形状, 理想频响特性变换越平缓, 则内插函数值越接近理想值,误差越小。

为了提高逼近的质量,可以通过在频率相应的过渡带内插入比较连续的采样点,扩展过渡带使其比较连续,从而使得通带和阻带之间变换比较缓慢,以达到减少逼近误差的目的。

选取w ∈[0,2π]内N 个采样点的约束条件为:{()()()()H k H N k m N m ϕϕ=-=- 01k N ≤≤- (3-3)(1)增大阻带衰减三种方法:1)加宽过渡带宽,以牺牲过渡带换取阻带衰减的增加。

2)过渡带的优化设计利用线性最优化的方法确定过渡带采样点的值,得到要求的滤波器的最佳逼近(而不是盲目地设定一个过渡带值)。

3)增大N 。

如果要进一步增加阻带衰减,但又不增加过渡带宽,可增加采样点数N 。

代价是滤波器阶数增加,运算量增加。

直接从频域进行设计,物理概念清楚,直观方便;适合于窄带滤波器设计,这时频率响应只有少数几个非零值,但是截止频率难以控制。

典型应用:用一串窄带滤波器组成多卜勒雷达接收机,覆盖不同的频段,多卜勒频偏可反映被测目标的运动速度;3.3最优化设计最优化设计方法是指采用最优化准则来设计的方法。

在 FIR DF 的最优化设计中 ,最优化准则有均方误差最小化准则和等波纹切比雪夫逼近(也称最大误差最小化)准则两种。

实际设计中 ,只有采用窗函数法中的矩形窗 才能满足前一种最优化准则 ,但由于吉布斯 (Gibbs )效应的存在,使其根本不能满足设计的要求。

为了满足设计的要求 ,可以采用其它的窗函数来消除吉布斯效应 ,但此时的设计已经不能满足该最优化准则了。

因此 ,要完成 FIR DF 的最优化设计 ,只能采用后一种优化准则来实现。

3.3.1 等波纹切比雪夫逼近准则在滤波器的设计中 ,通常情况下通带和阻带的误差要求是不一样的。

等波纹切比雪夫逼近准则就是通过对通带和阻带使用不同的加权函数 ,实现在不同频段(通常指的是通带和阻带)的加权误差最大值相同 ,从而实现其最大误差在满足性能指标的条件下达到最小值。

尽管窗函数法与频率采样法在FIR 数滤波器的设计中有着广泛的应用, 但两者不是最优化的设计 。

通常线性相位滤波在不同的频带内逼近的最大容许误差要求不同。

等波纹切比雪夫逼近准则就是通过通带和阻带使用不同的加权函数,实现在不同频段(通常指的是通带和阻带) 的加权误差最大值相同,从而实现其最大误差在满足性能指标的条件下达到最小值,即使得()jw d H e 和()jw H e 之间的最大绝对误差最小。

等波纹切比雪夫逼近是采用加权逼近误差()jw E e ,它可以表示为:()()(()())jw jw jw jw d E e W e H e H e =-(3-4)其中,()jw W e 为逼近误差加权函数在误差要求高的频段上,可以取较大的加权值,否则,应当取较小的加权值。

尽管按照 FIR 数字滤波器单位取样响应 h(n)的对称性和 N 的奇、偶性,FIR 数字滤波器可以分为 4 种类型,但滤波器的频率响应可以写成统一的形式:(1)22()()()j N w j k jw H e e e H w π--= (3-5)其中,k ∈{0 ,1} , H (ω)为幅度函数,且是一个纯实数,表达式也可以写成统一的形式:()()()jw d H e Q P ωω= (3-6) 其中,()Q ω为ω的固定函数,()P ω为M 个余弦函数的线性组合。

3.3.2仿真函数利用数字信号处理工具箱中的 remezord 和 remez 函数可以实现 FIRDF 的最优化设计。

在此先介绍这两个函数:(1)n ,fo ,ao ,weights =remezordf ,a ,dev功能:利用 remezord 函数可以通过估算得到滤波器的近似阶数 n ,归一化频率带边界fo ,频带内幅值ao 及各个频带内的加权系数weights 。

输入参数f 为频带边缘频率 ,a 为各个频带所期望的幅度值 ,dev 是各个频带允许的最大波动。

(2)h =remez(n ,fo ,ao ,weights‘, ftype’)功能:利用 remez 函数可以得到最优化设计的FIR DF 的()h n 系数 ,输入参数 n 是滤波器的阶数 ,fo ,ao ,weights 参数含义说明同 (1)。

ftype 是所设计的滤波器类型 ,它除了可以设计普通的滤波器外 ,它还可以设计数字希尔钞特变换器以及数字微分器。

实际设计中 ,由于 remezord 函数可跑高估或低估滤波器的阶数 n ,因此在得到滤波器的系数后 ,必须检查其阻带最小衰减是否满足设计要求。

如果此时的技术指标不能满足设计要求 ,则必须提高滤波器的阶数到 n +1 ,n +2等。

故等波纹切比雪夫逼近法设计FIR 数字滤波器的步骤是:①给出所需的频率响应()jw d H e ,加权函数()jw W e 和滤波器的单位取样响应 ()h n 的长度N 。

②由①中给定的参数来形成所需的()W ω、()d H ω和()P ω的表达式。

③根据Remez 算法,求解逼近问题。

④利用傅立叶逆变换计算出单位取样响应()h n 。

四.程序实现1.窗函数实现程序:passrad=0.4*pi;w1=boxcar(61);w2=hamming(61)n=1:1:61;hd=sin(passrad*(n-31))./(pi*(n-31));hd(31)=passrad/pi;h1=hd.*rot90(w1);h2=hd.*rot90(w2);[mag1,rad]=freqz(h1);[mag2,rad]=freqz(h2);subplot(2,2,1);plot(rad,20*log10(abs(mag1)));grid on;title('designed by Rectangular window'); subplot(2,2,2);plot(rad,20*log10(abs(mag2)));grid on;title('designed by Hamming window');[h1,w1]=freqz(h1,1,100,2);subplot(2,2,3);plot(w1,unwrap(angle(h1)));grid on;[h2,w2]=freqz(h2,1,100,2);subplot(2,2,4);plot(w2,unwrap(angle(h2)));grid on;图1 窗函数设计的FIR低通滤波器频率响应结果分析:可以看出,采用特殊的窗函数如Hamming窗,可以减小Gibbs效应,但同时也会使滤波器的过度带变宽。

相关文档
最新文档