FIR数字滤波器设计及MATLAB使用【重点】
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实现
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数字滤波器的设计
一、引言数字滤波器是数字信号处理中至关重要的组成部分,它能够对数字信号进行滤波处理,去除噪音和干扰,提取信号中的有效信息。
其中,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数字滤波器设计中的另一种重要方法,其基本原理是在频域上对理想滤波器的频率响应进行抽样,并拟合出一个最优的滤波器。
基于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数字滤波器的设计
设计方法
• 一、窗函数设计法 • 二、频率抽样设计法 • 三、最小二乘逼近设计法
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滤波器(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实现知识讲解
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滤波器中的应用
一、基本窗函数 二、窗函数法设计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实现知识讲解
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 是一种用于算法开发、数据分析和可视化的高级技术计算语言和交互式环境。
在信号处理领域,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滤波器设计由于滤波器设计的复杂性,在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)定义滤波器的功率频谱,根据滤波器的类型,定义滤波器的功率频谱,包括最大值,超调因数以及滤波器的边带幅度。
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。
用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)。
FIR数字滤波器设计及MATLAB使用.
数字信号处理课程设计《数字信号处理》课程设计报告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滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
滤波器设计是根据给定滤波器的频率特性,求得满足该特性的传输函数。
二、设计任务H e满足一定FIR滤波器设计的任务是选择有限长度的()h n,使传输函数()jw的幅度特性和线性相位要求。
由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。
设计过程一般包括以下三个基本问题:(1)根据实际要求确定数字滤波器性能指标;(2)用一个因果稳定的系统函数去逼近这个理想性能指标;(3)用一个有限精度的运算去实现这个传输函数。
三、设计原理H e满足一定FIR滤波器设计的任务是选择有限长度的()h n,使传输函数()jw的幅度特性和线性相位要求。
由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。
设计过程一般包括以下三个基本问题:(1)根据实际要求确定数字滤波器性能指标;(2)用一个因果稳定的系统函数去逼近这个理想性能指标;(3)用一个有限精度的运算去实现这个传输函数。
3.1窗函数法设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。
FIR数字滤波器设计及MATLAB实现
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 ()
【设计】FIR数字滤波器在MATLAB中的实现
【关键字】设计淮北师范大学信息学院2 012届学士学位论文FIR数字滤波器在MATLAB中的实现系别:专业:学号:姓名:指导教师:指导教师职称:10 日FIR数字滤波器在MATLAB中的实现姓名学校名邮编摘要数字滤波器是由数字乘法器、加法器和延时单元组成的一种装置。
数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
近年来数字滤波在通信、图像编码、语言编码、雷达等许多领域中有着十分广泛的应用。
本文首先介绍了数字滤波器的研究背景及其发展现状,然后介绍了FIR数字滤波器的设计原理。
在理解设计方法的基础上,最后基于MA TLAB软件利用窗函数法实现了FIR数字带通滤波器的设计。
仿真结果表明,所设计的滤波器具有良好的滤波器特性,所设计的指标符合设计任务要求。
关键词MATLAB;FIR数字滤波器;窗函数;带通滤波器Realization of FIR Digital Filter Based On matlabName###########################Abstract Digital Filter is a kind of instrument which is assembled with Digital multiplier, adder, and delay element , the function of the Digital Filter is operating and dealing with the digital code of discrete signal which is inputted to change the frequency spectrum . In recent years , Digital Filter is widely applied to all kinds of areas, such as Signal communication, image coding ,language coding ,radar and so on.This paper firstly introduces the studying background and current developing status of Digital FIR Filter, and then shows its design principle .Finally we realize the design of FIR Bandpass Digital Filter with Window Function based MATLAB software at the basement of understanding design methods. The outcome of simulation indicates that the Digital Filter does well in meeting the filter characters, at the same time ,indexes from the filter complies with the design requirements. Keywords MATLAB; FIR Filter; Window Function Design; Band Pass Filter目次1 引言在线性系统中,信号滤波过程一般定义为,当输入波形通过一个系统时,对它作一个线性运算,在时间域上这种变换如像内插,外插微分和积分,在频率域上这种变换则如低通滤波或平滑,带通滤波,谱设计和谱分析。
FIR数字滤波器的MATLAB设计及实现
吉林大学珠海学院毕业论文FIR数字滤波器的MATLAB设计与实现MATLAB design and implementation ofFIR digital filter系别:电子信息系专业:自动化姓名:学号:指导教师姓名、职称:教授完成日期 2015 年 4 月 2 日吉林大学珠海学院本科毕业设计开题报告FIR数字滤波器的MATLAB设计与实现摘要随着社会的数字化进程,灵活性不足的模拟滤波器无法迎合社会的需求。
寻求一种可以稳定、快捷和灵活地将夹杂在所需信号中的干扰去除的方法,成为人们研究的课题。
通过对比数字滤波器和模拟滤波器得知,数字滤波器在体积和重量方面的便携性,在使用方面的灵活性,在运算和应用效果方面表现出的高性能等优点。
而且,数字滤波器可以利用数字芯片或计算机软件来进行仿真,数据改变时可以通过软件改变其参数即可改变滤波器的性能,继续投入工作。
这对于提高企业工作效率和节约企业生产成本方面有重大影响。
数字滤波器具备的这些优点是使它成为数字信号处理的重要组成部分的因素之一。
本文主要讨论在MATLAB 操作环境下,通过窗函数法、频率采样法和最优等波动设计法设计出FIR数字滤波器。
经过Simulink仿真绘制出相应的图像曲线,对比信号滤波前后的图像,分析不同滤波器的性能。
关键词:数字信号;数字滤波器;MATLAB;SimulinkMATLAB design and implementationof FIR digital filterAbstractWith digitization of society, lack of flexibility, analog filters can not meet the needs of the community. Find a stable, fast and flexibly be mixed in the desired signal in the interference removal method, become an issue for researchers.By comparing the digital filter and the analog filter that, the digital filter in terms of volume and weight of portability, flexibility in the use of, in terms of operation and application of results showing the advantages of high performance. Moreover, the digital filter can use a digital chip or computer software to simulate, you can change when the data changes its parameters can be changed by software filter performance, continue to work. This has a significant impact in improving business productivity and save production costs. These digital filters have the advantage of making it one of the factors important for digital signal processing part.This article focuses on operating in the MATLAB environment, through the window function method, frequency sampling method and optimal design method, such as fluctuations in the FIR digital filter design. After Simulink simulation draw curves corresponding image, image contrast signal before and after filtering, analysis of the performance of different filters.Keywords: digital signal; digital filter; MATLAB,;Simulink目录1 绪论 01.1 选题背景 01.2 课题意义 01.3 国内外对本课题的研究情况 (1)1.4 本文主要的研究内容 (1)2 MATLAB仿真技术 (1)2.1 MATLAB在国内外的发展状况 (2)2.2 MATLAB仿真简介 (2)2.3 计算机仿真的概况 (3)2.3.1 计算机仿真的步骤 (3)2.3.2 计算机仿真的优点 (3)2.3.3计算机仿真的缺点 (4)2.4 MATLAB设计的FIR滤波器具有以下优点 (4)3 数字滤波器 (5)3.1 数字滤波器与其结构 (5)3.2 FIR数字滤波器 (7)3.3 IIR数字滤波器 (7)3.3.1 在MATLAB中设计IIR滤波器的典型步骤如下 (8)3.3.2 IIR滤波器的特点 (8)3.4 与IIR 数字滤波器比较,FIR数字滤波器的优缺点 (8)3.4.1 优点 (8)3.4.2 缺点 (8)4 FIR数字滤波器的设计方法 (9)4.1 窗函数法 (9)4.1.1 用窗函数法设计FIR数字滤波器的步骤 (9)4.1.2 几种常见的窗函数 (10)4.1.3 用窗函数法设计FIR数字滤波器的示例 (11)4.2 频率采样法 (12)4.2.1 用频率采样法设计FIR数字滤波器的步骤: (12)4.2.2 频率采样法的一些特性 (13)4.2.3 用频率采样法设计FIR数字滤波器的示例 (14)4.3最优等波动法 (15)4.4 在MATLAB上设计与实现FIR数字滤波器 (18)4.4.1 FDATool工具 (18)4.4.2 FDATool对滤波器进行分析 (18)4.4.3 数字滤波器的实现 (19)5 结论 (20)附录 (22)参考文献 (27)致谢 (28)1 绪论1.1 选题背景由于计算机和集成电路在技术革命中不断取得成功,使得社会逐步往数字化、智能化方面发展。
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cheng《数字信号处理》课程设计报告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 n ,使传输函数()jw H e 满足一定的幅度特性和线性相位要求。
由于FIR 滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。
设计过程一般包括以下三个基本问题:(1) 根据实际要求确定数字滤波器性能指标;(2) 用一个因果稳定的系统函数去逼近这个理想性能指标;(3) 用一个有限精度的运算去实现这个传输函数。
三、设计原理FIR 滤波器设计的任务是选择有限长度的()h n ,使传输函数()jw H e 满足一定的幅度特性和线性相位要求。
由于FIR 滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。
设计过程一般包括以下三个基本问题:(1) 根据实际要求确定数字滤波器性能指标;(2) 用一个因果稳定的系统函数去逼近这个理想性能指标;(3) 用一个有限精度的运算去实现这个传输函数。
3.1窗函数法设计FIR 数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。
FIR 数字滤波器的设计首先给出要求的理想滤波器的频率响应()jw d H e ,设计一个FIR 数字滤波器频率响应()jw H e ,去逼近理想的滤波响应()jw d H e 。
然而,窗函数法设计FIR 数字滤波器是在时域进行的,因而必须由理想的频率响应()jw d H e 推导出对应的单位取样响应()d h n ,再设计一个FIR 数字滤波器的单位取样响应()h n 去逼近()d h n 。
设计过程如下:*()()()()()IDTFFT w n DTFT 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 jw d d w H k H e π== 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效应,但同时也会使滤波器的过度带变宽。