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

合集下载

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

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

昆明理工大学信息工程与自动化学院学生实验报告( 2016 —2017 学年第二学期)课程名称:数字信号处理开课实验室:信自111 实验日期:2017-5-18实验三 FIR数字滤波器设计与软件实现一、实验目的1、掌握窗函数法设计FIR数字滤波器的原理和方法;2、学会调用MATLAB函数设计与实现FIR滤波器。

二、实验原理窗函数设计法是一种通过截短和计权的方法使无限长非因果序列成为有限长脉冲应响应序列的设计方法,通常在设计滤波器之前,应该先根据具体的工程应用确定滤波器的技术指标,在大多数实际应用中,数字滤波器常常被用来实现选频操作,所以指标的形式一般为在频域中以分贝值给出的相对幅度响应和相位响应。

1) 根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或独立选择,因为窗口长度N对阶数M=N-1),窗函数类型可根据最小阻带衰减αs没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指最小阻带衰减αs标确定所拟用的窗函数的窗口长度N ,设待求滤波器的过渡带宽为Δω,它与窗口长度N 近似成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N ,在N 和窗函数类型确定后,即可调用MATLAB 中的窗函数求出窗函数W(n)。

2) 根据待求滤波器的理想频率响应求出理想单位脉冲响应h d (n),如果给出待求滤波器频率应为H d (e j ω),则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:dw e e H n h jw jw d d ⎰-=πππ)(21)(在一般情况下,h d (n)是不能用封闭公式表示的,需要采用数值方法表示;从ω=0到ω=2π采样N 点,采用离散傅里叶反变换(IDFT)即可求出。

3) 计算滤波器的单位脉冲响应h(n),它是理想单位脉冲响应和窗函数的乘积。

4) 算技术指标是否满足要求,为了计算数字滤波器在频域中的特性,可调用freqz 子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。

FIR数字滤波器设计与软件实现实验报告222

FIR数字滤波器设计与软件实现实验报告222

FIR数字滤波器设计与软件实现实验报告222 FIR数字滤波器设计与软件实现实验报告222实验标题:FIR数字滤波器设计与软件实现实验目的:1.学习FIR数字滤波器的基本原理和设计方法;2.掌握使用MATLAB软件进行FIR数字滤波器设计的方法;3.通过实验验证FIR数字滤波器的性能和效果。

实验器材与软件:1.个人计算机;2.MATLAB软件。

实验步骤:1.确定所需的滤波器类型和设计要求;2.根据设计要求选择合适的滤波器设计方法,如窗函数法、最优化方法等;3.使用MATLAB软件进行滤波器设计,并绘制滤波器的频率响应曲线;4.将设计好的滤波器用于信号处理,观察滤波效果。

实验结果与分析:1.进行实验前,首先确定滤波器的类型和设计要求。

例如,我们选择低通滤波器,要求通带频率为1kHz,阻带频率为2kHz,通带最大衰减为1dB,阻带最小衰减为60dB。

2.在MATLAB软件中,我们选择窗函数法进行滤波器设计。

根据设计要求,选择合适的窗函数,如矩形窗、汉宁窗等。

根据设计要求和窗函数的特点,确定滤波器的长度N和窗函数的参数。

3. 使用MATLAB中的fir1函数进行滤波器设计,并绘制滤波器的频率响应曲线。

根据频率响应曲线,可以分析滤波器的性能是否符合设计要求。

4. 将设计好的滤波器用于信号处理,观察滤波效果。

在MATLAB中,可以使用filter函数对信号进行滤波处理,然后绘制原始信号和滤波后的信号的时域波形和频谱图进行对比分析。

实验结论:1.通过本次实验,我们学习了FIR数字滤波器的基本原理和设计方法;2.掌握了使用MATLAB软件进行FIR数字滤波器设计的方法;3.实验结果显示,设计的FIR数字滤波器可以满足设计要求,具有良好的滤波效果。

4.FIR数字滤波器在数字信号处理中具有广泛的应用前景,对于滤除噪声、改善信号质量等方面有重要意义。

实验5--FIR数字滤波器设计与软件实现-(1)培训课件

实验5--FIR数字滤波器设计与软件实现-(1)培训课件

实验五:FIR数字滤波器设计与软件实现10.5.1实验指导1.实验目的(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。

(2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。

(3)掌握FIR滤波器的快速卷积实现原理。

(4)学会调用MATLAB函数设计与实现FIR滤波器。

2.实验内容及步骤(1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;(2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图10.5.1所示;图10.5.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的功能及其调用格式请查阅本书第7章和第?章;2采样频率Fs=1000Hz,采样周期T=1/Fs;3根据图10.6.1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截至频率fs=150Hz,换算成数字频率,通带截止频率,通带最大衰为0.1dB,阻带截至频率,阻带最小衰为60dB。

]4实验程序框图如图10.5.2所示,供读者参考。

Fs=1000,T=1/Fsxt=xtg产生信号xt, 并显示xt及其频谱用窗函数法或等波纹最佳逼近法设计FIR滤波器hn对信号xt滤波:yt=fftfilt(hn,xt)1、计算并绘图显示滤波器损耗函数2、绘图显示滤波器输出信号ytEnd图10.5.2 实验程序框图4.思考题(1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤.(2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为和,阻带上、下截止频率为和,试求理想带通滤波器的截止频率。

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

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

实验报告专业班级:姓名:学号:成绩评定电气与信息学院和谐勤奋求是创新实验教学考核和成绩评定办法1.课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。

实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。

2.单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。

3.实验考核内容包括:1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现);3)实验报告;权重分别为0.2 、0.4 、0.4;原则上根据上述三个方面进行综合评定。

学生未取得1)和2)项成绩时,第3)项成绩无效。

4.实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。

实验成绩在教师手册中有记载。

实验报告主要内容一.实验目的二.实验仪器及设备三.实验原理四.实验步骤五.实验记录及原始记录六.数据处理及结论七. 思考题八.实验体会(可选项)注:1. 为了节省纸张,保护环境,便于保管实验报告,统一采用A4纸,实验报告建议双面打印(正文采用宋体五号字)或手写,右侧装订。

2. 实验类别指验证、演示、综合、设计、创新(研究)、操作六种类型实验。

3. 验证性实验:是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事实、概念或理论)的实验。

4. 综合性实验:是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。

5. 设计性实验:是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。

姜继红20姜继红20。

fir数字滤波器设计与软件实现数字信号处理实验原理

fir数字滤波器设计与软件实现数字信号处理实验原理

fir数字滤波器设计与软件实现数字信号处理实验原理FIR数字滤波器设计的基本原理是从理想滤波器的频率响应出发,寻找一个系统函数,使其频率响应尽可能逼近滤波器要求的理想频率响应。

为了实现这一目标,通常会采用窗函数法进行设计。

这种方法的基本思想是,将理想滤波器的无限长单位脉冲响应截断为有限长因果序列,并用合适的窗函数进行加权,从而得到FIR滤波器的单位脉冲响应。

在选择窗函数时,需要考虑其频率响应和幅度响应。

常见的窗函数包括矩形窗、三角形窗、汉宁窗、汉明窗、布莱克曼窗和凯泽窗等。

每种窗函数都有其特定的特性,如主瓣宽度、旁瓣衰减等。

根据实际需求,可以选择合适的窗函数以优化滤波器的性能。

在软件实现上,可以使用各种编程语言和信号处理库进行FIR滤波器的设计和实现。

例如,在MATLAB中,可以使用内置的`fir1`函数来设计FIR滤波器。

该函数可以根据指定的滤波器长度N和采样频率Fs,自动选择合适的窗函数并计算滤波器的系数。

然后,可以使用快速卷积函数`fftfilt`对输入信号进行滤波处理。

此外,还可以使用等波纹最佳逼近法来设计FIR数字滤波器。

这种方法的目标是找到一个最接近理想滤波器频率响应的实数序列,使得在所有可能的实
数序列中,该序列的误差平方和最小。

通过优化算法,可以找到这个最优序列,从而得到性能更优的FIR滤波器。

总的来说,FIR数字滤波器设计与软件实现数字信号处理实验原理是基于对理想滤波器频率响应的逼近和优化,通过选择合适的窗函数和算法,实现信号的滤波处理。

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

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

实验二J FIR 数字滤波器设计与软件实现 一、实验指导1.实验目的掌握用等波纹最佳逼近法设计FIR 数字滤波器的原理和方法。

掌握F1R 滤波器的快速卷积实现原理。

学会调用MATLAB 函数设计与实现FIR 滤波器。

2.实验内容及步骤(1) 认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR 数 字滤波器的原理;(2) 调用信号产生函数xtg 产生具有加性噪声的信号XI,并自动显 示xt 及其频谱,如图1所示;(3) 请设计低通滤波器,从髙频噪声中提取xt 中的单频调幅信号, 要求信号幅频失真小于,将噪声频谱衰减60dBo 先观察xt 的频谱, 确定滤波器指标参数。

(1) 掌握用窗函数法设计FIR 数字滤波器的原理和方法。

(町彳書号力口喋声漩形0 0.05 0.1 OJS 0.2 0.250.3 0.35 0 4 0,45 0.5t/3 图1具有加性噪声的信号x(t)及其频谱如图1O5务°•6(4)根据滤波器指标选择合适的窗函数.计算窗函数的长度N,调用MATLAB函数firl设计一个FIR低通滤波器。

并编写程序,调用MATLAB快速卷积函数fftmt实现对xt的滤波。

绘图显示滤波器的频响特性曲线.滤波器输出信号的幅频特性图和时域波形图。

(4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord和remez设计FIR数字滤波器。

并比较两种设计方法设计的滤波器阶数。

提示:①MATLAB函数firl的功能及其调用格式请查阅教材;②采样频率Fs=iOOOHz,釆样周期T=l/Fs;◎根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp二120Hz,阻带截至频率fs=150Hz,换算成数字频率,通带截止频率iyp=2VpT = 0247r,通带最大衰为,阻带截至频率迅=2龙£丁 = 0・3兀,阻带最小衰为60dBo④实验程序框图如图2所示,供读者参考。

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

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

实验四FIR数字滤波器设计与软件实现
实验目的:
掌握FIR数字滤波器的设计与软件实现方法,了解滤波器的概念与基
本原理。

实验原理:
FIR数字滤波器全称为有限脉冲响应数字滤波器,其特点是具有有限
长度的脉冲响应。

滤波器通过一系列加权系数乘以输入信号的延迟值,并
将这些值相加得到输出信号。

FIR滤波器的频率响应由滤波器系数所决定。

实验步骤:
1.确定所需的滤波器的设计规格,包括截止频率、通带波纹、阻带衰
减等。

2.选择适当的滤波器设计方法,如窗函数、最佳近似法、最小二乘法等。

3.根据所选方法,计算滤波器的系数。

4.在MATLAB环境下,使用滤波器的系数实现滤波器。

5.输入所需滤波的信号,经过滤波器进行滤波处理。

6.分析输出的滤波信号,观察滤波效果是否符合设计要求。

实验要求:
1.完成FIR数字滤波器的设计和软件实现。

2.对比不同设计方法得到的滤波器性能差异。

3.分析滤波结果,判断滤波器是否满足设计要求。

实验器材与软件:
1.个人电脑;
2.MATLAB软件。

实验结果:
根据滤波器设计规格和所选的设计方法,得到一组滤波器系数。

通过
将滤波器系数应用于输入信号,得到输出滤波信号。

根据输出信号的频率
响应、通带波纹、阻带衰减等指标,评估滤波器的性能。

实验注意事项:
1.在选择设计方法时,需要根据滤波器要求和实际情况进行合理选择。

2.在滤波器实现过程中,需要注意滤波器系数的计算和应用。

3.在实验过程中,注意信号的选择和滤波结果的评估方法。

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数字滤波器的设计与实现

fir数字滤波器的设计与实现

FIR数字滤波器的设计与实现介绍在数字信号处理中,滤波器是一种常用的工具,用于改变信号的频率响应。

FIR (Finite Impulse Response)数字滤波器是一种非递归的滤波器,具有线性相位响应和有限脉冲响应。

本文将探讨FIR数字滤波器的设计与实现,包括滤波器的原理、设计方法和实际应用。

原理FIR数字滤波器通过对输入信号的加权平均来实现滤波效果。

其原理可以简单描述为以下步骤: 1. 输入信号经过一个延迟线组成的信号延迟器。

2. 延迟后的信号与一组权重系数进行相乘。

3. 将相乘的结果进行加和得到输出信号。

FIR滤波器的特点是通过改变权重系数来改变滤波器的频率响应。

不同的权重系数可以实现低通滤波、高通滤波、带通滤波等不同的滤波效果。

设计方法FIR滤波器的设计主要有以下几种方法:窗函数法窗函数法是一种常用简单而直观的设计方法。

该方法通过选择一个窗函数,并将其与理想滤波器的频率响应进行卷积,得到FIR滤波器的频率响应。

常用的窗函数包括矩形窗、汉宁窗、哈密顿窗等。

不同的窗函数具有不同的特性,在设计滤波器时需要根据要求来选择合适的窗函数。

频率抽样法频率抽样法是一种基于频率抽样定理的设计方法。

该方法首先将所需的频率响应通过插值得到一个连续的函数,然后对该函数进行逆傅里叶变换,得到离散的权重系数。

频率抽样法的优点是可以设计出具有较小幅频纹波的滤波器,但需要进行频率上和频率下的补偿处理。

最优化方法最优化方法是一种基于优化理论的设计方法。

该方法通过优化某个性能指标来得到最优的滤波器权重系数。

常用的最优化方法包括Least Mean Square(LMS)法、Least Square(LS)法、Parks-McClellan法等。

这些方法可以根据设计要求,如通带波纹、阻带衰减等来得到最优的滤波器设计。

实现与应用FIR数字滤波器的实现可以通过硬件和软件两种方式。

硬件实现在硬件实现中,可以利用专门的FPGA(Field-Programmable Gate Array)等数字集成电路来实现FIR滤波器。

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

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

实验二 FIR 数字滤波器设计与软件实现1.实验目的(1)掌握用窗函数法设计FIR 数字滤波器的原理和方法。

(2)掌握用等波纹最佳逼近法设计FIR 数字滤波器的原理和方法。

(3)掌握FIR 滤波器的快速卷积实现原理。

(4)学会调用MATLAB 函数设计与实现FIR 滤波器。

2. 两种设计FIR 滤波器的方法比较窗函数法简单方便,易于实现。

但存在以下缺点:滤波器边界频率不易精确控制。

窗函数法总使通带和阻带波纹幅度相等,不能分别控制通带和阻带波纹幅度。

所设计的滤波器在阻带边界频率附近的衰减最小,距阻带边界频率越远,衰减越大。

,所以如果在阻带边界频率附近的衰减刚好达到设计指标要求,则阻带中其他频段的衰减就有很大富余量,存在较大的资源浪费。

等波纹最佳逼近法是一种优化设计方法,克服了窗函数法的缺点,使最大误差最小化,并在整个逼近频段上均匀分布。

用等波纹最佳逼近法设计的FIR 数字滤波器的幅频响应在通带和阻带都是等波纹的,而且可以分别控制通带和阻带波纹幅度。

与窗函数法相比,由于这种设计法使最大误差均匀分布,所以设计的滤波器性能价格比最高。

阶数相同时,这种设计方法使滤波器的最大逼近误差最小,即通带最大衰减最小,阻带最小衰减最大。

指标相同时,这种设计法使滤波器阶数最低。

3. 滤波器参数及实验程序清单(1) 滤波器参数选取根据加噪信号频谱图和实验要求,可选择一低通滤波器进行滤波,确定滤波器指标参数:通带截止频率Hz f p 130=,阻带截至频率Hz f s 150=,换算成数字频率,通带截止频率ππω26.02==T f p p ,通带最大衰减为dB p 1.0=α,阻带截至频率ππω3.02==T f s s ,阻带最小衰减为dB s 60=α。

(2) 实验程序清单 图1 程序流程图信号产生函数xtg 程序清单function xt=xtg%产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1000Hz %载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz.N=1600;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;mt=cos(2*pi*f0*t); %产生单频正弦波调制信号mt ,频率为f0ct=cos(2*pi*fc*t); %产生载波正弦波信号ct ,频率为fcxt=mt.*ct; %相乘产生单频调制信号xtnt=2*rand(1,N)-1; %产生随机噪声nt%=======设计高通滤波器hn,用于滤除噪声nt 中的低频成分,生成高通噪声======= fp=150; fs=200;Rp=0.1;As=70; % 滤波器指标fb=[fp,fs];m=[0,1]; % 计算remezord函数所需参数f,m,devdev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];[n,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数hn=remez(n,fo,mo,W); % 调用remez函数进行设计,用于滤除噪声nt中的低频成分yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,生成高通噪声yt%================================================================ xt=xt+yt; %噪声加信号fst=fft(xt,N);k=0:N-1;f=k/Tp;figure(1);subplot(2,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');axis([0,Tp/4,min(xt),max(xt)]);title('信号加噪声波形');subplot(2,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('信号加噪声的频谱');axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度');FIR数字滤波器设计及软件实现程序清单clear all;close allxt=xtg; %调用xtg产生信号xt, xt长度N=1600,并显示xt及其频谱fp=130;fs=150;Rp=0.1;As=60;Fs=1000; % 输入给定指标%用窗函数法设计滤波器wc=(fp+fs)/Fs; %理想低通滤波器截止频率(关于pi归一化)B=2*pi*(fs-fp)/Fs;Nb=ceil(11*pi/B);hn=fir1(Nb-1,wc,blackman(Nb));y1t=fftfilt(hn,xt,1600); %调用函数fftfilt对xt滤波figure(2);t=0:0.001:1.599; %绘制滤波后的信号时域波形图subplot(2,1,1);plot(t,y1t);grid;xlabel('t/s');ylabel('y_1(t)');title('滤波后的y_1(t)的波形');axis([0 0.5 -1 1]);subplot(2,1,2);[h w]=freqz(hn); %绘制低通滤波器的损耗函数曲线plot(w/pi,20*log10(abs(h)));grid;xlabel('ω/π');ylabel('幅度(dB )');title('窗函数法低通滤波器的损耗函数曲线');axis([0 1 -120 5]);%用等波纹最佳逼近法设计滤波器fb=[fp,fs];m=[1,0]; %确定remezord 函数所需参数f,m,devdev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)];[Ne,fo,mo,W]=remezord(fb,m,dev,Fs); %确定remez 函数所需参数hn=remez(Ne,fo,mo,W); %调用remez 函数进行设计y2t=fftfilt(hn,xt,1600); %调用函数fftfilt 对xt 滤波figure(3);t=0:0.001:1.599; %绘制滤波后的信号时域波形图subplot(2,1,1);plot(t,y2t);grid;xlabel('t/s');ylabel('y_2(t)');title('滤波后的y_2(t)的波形');axis([0 0.5 -1 1]);subplot(2,1,2);[h w]=freqz(hn); %绘制低通滤波器的损耗函数曲线plot(w/pi,20*log10(abs(h)));grid;xlabel('ω/π');ylabel('幅度(dB )');title('等波纹逼近法低通滤波器的损耗函数曲线');axis([0 1 -80 5]);4. 实验结果在matlab 中键入以上程序,得到的仿真结果如下图2 具有加性噪声的信号x(t)及其频谱图3 窗函数法设计的滤波器损耗函数曲线及其滤波后的信号)(1t y图4 等波纹逼近法设计的滤波器损耗函数曲线及其滤波后的信号)(2t y由上述实验结果可见用窗函数法设计滤波器,滤波器长度 Nb=184。

FIR数字滤波器设计与软件实现实验报告222

FIR数字滤波器设计与软件实现实验报告222

FIR数字滤波器设计与软件实现实验报告222 FIR数字滤波器设计与软件实现实验报告222实验报告标题:FIR数字滤波器设计与软件实现实验目的:1.掌握FIR数字滤波器的设计原理;2.学会使用软件进行FIR数字滤波器设计;3.实现FIR数字滤波器的软件仿真。

实验材料与设备:1.计算机;2.FIR滤波器设计软件。

实验原理:FIR(Finite Impulse Response)数字滤波器是一种线性时不变滤波器,具有无穷冲击响应长度。

其传递函数表达式为:H(z)=b0+b1*z^(-1)+b2*z^(-2)+...+bM*z^(-M)其中,H(z)为滤波器的传递函数,z为z变换的复数变量,b0,b1,...,bM为滤波器的系数,M为滤波器的阶数。

FIR滤波器的设计包括理想滤波器的设计和窗函数法的设计两种方法。

本实验使用窗函数法进行FIR滤波器的设计。

窗函数法的步骤如下:1.确定滤波器的阶数M;2.设计理想低通滤波器的频率响应Hd(w);3.根据滤波器的截止频率选择合适的窗函数W(n);4.计算滤波器的单位脉冲响应h(n);5.调整滤波器的单位脉冲响应h(n)的幅度;6.得到滤波器的系数b0,b1,...,bM。

实验步骤:1.在计算机上安装并打开FIR滤波器设计软件;2.根据实验要求选择窗函数法进行FIR滤波器的设计;3.输入滤波器的阶数M和截止频率,选择合适的窗函数;4.运行软件进行滤波器设计,得到滤波器的系数;5.使用软件进行FIR滤波器的软件仿真。

实验结果:经过软件仿真,得到了FIR数字滤波器的单位脉冲响应和频率响应曲线,满足设计要求。

滤波器的阶数和截止频率对滤波器的响应曲线有一定影响。

通过调整滤波器阶数和截止频率,可以得到不同的滤波效果。

实验结论:本实验通过窗函数法进行FIR数字滤波器的设计,并通过软件进行了仿真。

实验结果表明,FIR数字滤波器具有良好的滤波效果,可以用于信号处理和通信系统中的滤波需求。

实验二FIR滤波器设计与实现

实验二FIR滤波器设计与实现

实验二FIR滤波器设计与实现FIR(Finite Impulse Response)滤波器是一种数字滤波器,由有限长的冲激响应组成。

与IIR(Infinite Impulse Response)滤波器相比,FIR滤波器具有线性相位、稳定性和易于设计等优点。

本实验旨在设计和实现一个FIR滤波器。

首先,我们需要确定滤波器的规格和要求。

在本实验中,我们将设计一个低通FIR滤波器,将高频信号滤除,只保留低频信号。

滤波器的截止频率为fc,滤波器的阶数为N,采样频率为fs。

接下来,我们需要确定滤波器的频率响应特性。

常用的设计方法有窗函数法、最小最大规范法等。

本实验采用窗函数法进行滤波器设计。

窗函数法的基本思想是利用窗函数来加权冲激响应的幅度,以达到要求的频响特性。

常用的窗函数有矩形窗、汉宁窗、汉明窗等。

在本实验中,我们选择汉宁窗作为窗函数。

首先,我们需要计算出滤波器的理想频率响应。

在低通滤波器中,理想频率响应为0频率处幅度为1,截止频率处幅度为0。

然后,我们需要确定窗函数的长度L。

一般来说,窗函数的长度L要大于滤波器的阶数N。

在本实验中,我们选择L=N+1接下来,我们利用窗函数对理想频率响应进行加权处理,得到加权后的冲激响应。

最后,我们对加权后的冲激响应进行归一化处理,使滤波器的频率响应范围在0到1之间。

在设计完成后,我们需要将滤波器实现在实验平台上。

在本实验中,我们使用MATLAB软件进行滤波器实现。

首先,我们需要生成一个输入信号作为滤波器的输入。

可以选择一个随机的信号作为输入,或者选择一个特定的信号进行测试。

然后,我们将输入信号输入到滤波器中,得到滤波器的输出信号。

最后,我们将滤波器的输入信号和输出信号进行时域和频域的分析,以评估滤波器的滤波效果。

在实验的最后,我们可以尝试不同的滤波器设计参数,如截止频率、窗函数的选择等,以观察滤波器设计参数对滤波器性能的影响。

综上所述,本实验是关于FIR滤波器设计与实现的实验。

FIR数字滤波器设计与实现

FIR数字滤波器设计与实现

FIR 数字滤波器设计与实现一.摘 要:数字滤波器是一种具有频率选择性的离散线性系统,在信号数字处理中有着广泛的应用。

其中FIR 滤波器是一种常用的滤波器,它在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性,在语音分析、图像处理、雷达监测等对信号相位要求高的领域有着广泛的应用,能实现IIR 滤波器不能实现的许多功能。

二.关键词:FIR 窗函数 系统函数 MATLAB 三.内容提要:数字滤波器的功能就是把输入序列通过一定的运算变换成输出序列,因此数字滤波器的结构系统中就必须包括一定数量和性能的运算器件和运算单元,而运算器件和运算单元的配置必须由数字滤波器的结构特点和性能特点来决定,因此在进行FIR 数字滤波器的设计之前,有必要介绍和总结FIR 数字滤波器的基本结构和相关特性(包括频响曲线(幅度和相位),单位冲激响应等),在介绍完其基本结构和相关特性后,就进行FIR 数字滤波器的设计和实现。

(一) FIR 滤波器的基本结构在讨论任何一种滤波器时,都要着重分析其系统函数,FIR 滤波器的系统函数为:n N n z n h z H ∑-==10)()( 。

从该系统函数可看出,FIR 滤波器有以下特点:1)系统的单位冲激响应h(n)在有限个n 值处不为零;2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处(稳定系统);3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。

1.FIR 滤波器实现的基本结构有:1) 横截型(卷积型、直接型)a.一般FIR 滤波器的横截型(直接型、卷积型)结构:若给定差分方程为:。

则可以直接由差分方程得出FIR 滤波器结构如下图所示:这就是FIR 滤波器的横截型结构,又称直接型或卷积型结构。

b .线性相位FIR 滤波器的横截型结构若h(n)呈现对称特性,即此FIR 滤波器具有线性相位,则可以简化成横截型结构,下面分情况讨论:①N 为奇数时线性相位FIR 滤波器实现结构如图所示:②N 为偶数时线性相位FIR 滤波器实现结构如图所示我们知道IIR 滤波器的优点是可利用模拟滤波器设计的结果,缺点是相位是非线性的,若需要线性相位,则要用全通网络进行校正,比较麻烦,而FIR 滤波器的优点是可以方便地实现线性相位。

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

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

实验四:FIR数字滤波器设计与软件实现1.实验目的(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。

(2)学会调用MA TLAB函数设计FIR滤波器。

(3)通过观察频谱的相位特性曲线,建立线性相位概念。

(4)掌握FIR数字滤波器的MATLAB软件实现方法。

2.实验原理设计FIR数字滤波器一般采用直接法,如窗函数法和频率采样法。

本实验采用窗函数法设计FIR滤波器,要求能根据滤波需求确定滤波器指标参数,并按设计原理编程设计符合要求的FIR数字滤波器。

本实验软件实现是调用MATLAB提供的fftfilt函数对给定输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。

3. 实验内容及步骤(1) FIR数字滤波器设计根据窗函数法设计FIR数字滤波器的原理和步骤,设计一个线性数字低通滤波器,要求通带临界频率fp=120Hz,阻带临界频率fs=150Hz,通带内的最大衰减Ap=0.1dB,阻带内的最小衰减As=60db,采样频率Fs=1000Hz。

观察设计的滤波器频率特性曲线,建立线性相位概念。

(2) FIR数字滤波器软件实现利用第(1)步设计的数字滤波器,调用fftfilt函数对信号进行滤波,观察滤波前后的信号波形变化。

4.思考题(1)简述窗函数法设计FIR数字滤波器的设计步骤。

(2)简述信号在传输过程中失真的可能原因。

5.实验报告要求(1)结合实验内容打印程序清单和信号波形。

(2)对实验结果进行简单分析和解释。

(3)简要回答思考题。

常用窗函数技术参数及性能比较一览表窗类型最小阻带衰减主瓣宽度精确过渡带宽窗函数矩形窗21dB 4π/M 1.8π/M boxcar三角窗25dB 8π/M 6.1π/M bartlett汉宁窗44dB 8π/M 6.2π/M hanning哈明窗53dB 8π/M 6.6π/M hamming 布莱克曼窗74dB 12π/M 11π/M blackman 取凯塞窗时用kaiserord函数来得到长度M和βkaiser附录:(1)FIR数字滤波器设计clear;clc;close all;format compactfp=120, Ap=0.1, fs=150, As=60 ,Fs=1000,wp=2*pi*fp/Fs,ws=2*pi*fs/Fs ,Bt=ws-wp; M=ceil(11*pi/Bt);if mod(M,2)==0; N=M+1, else N=M, end;wc=(wp+ws)/2,n=0:N-1;r=(N-1)/2;hdn=sin(wc*((n-r)+eps))./(pi*((n-r)+eps));win=blackman(N); hn=hdn.*win',figure(1);freqz(hn,1,512,Fs);grid on;图(一)FIR数字滤波器(2)FIR数字滤波器软件实现n=[0:190];xn=sin((2*pi*120/1000)*n)+sin((2*pi*150/1000)*n);yn=fftfilt(hn,xn);figure(2)subplot(2,1,1);plot(xn);title('滤波前信号') ;subplot(2,1,2);plot(yn);title('滤波后信号');图(2)FIR数字滤波器软件实现思考题:(1) 用升余弦窗设计一线性相位低通FIR数字滤波器,并读入窗口长度。

最新实验5FIR数字滤波器设计与软件实现

最新实验5FIR数字滤波器设计与软件实现

信息院 14电信(师范)1实验五:FIR数字滤波器设计与软件实现23一、实验指导41.实验目的5(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。

6(2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。

7(3)掌握FIR滤波器的快速卷积实现原理。

8(4)学会调用MATLAB函数设计与实现FIR滤波器。

92.实验内容及步骤1011(1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;1213(2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及14其频谱,如图1所示;1516图1 具有加性噪声的信号x(t)及其频谱如图17程序代码:(信号产生函数xtg程序清单)18function xt=xtg(N)19%ʵÑéÎåÐźÅx(t)²úÉú,²¢ÏÔʾÐźŵķùƵÌØÐÔÇúÏß20%xt=xtg(N)21²úÉúÒ»¸ö³¤¶ÈΪN,ÓмÓÐÔ¸ßƵÔëÉùµÄµ¥Æµµ÷·ùÐźÅxt,²ÉÑùƵÂÊ22Fs=1000Hz23%Ôز¨ÆµÂÊfc=Fs/10=100Hz,µ÷ÖÆÕýÏÒ²¨ÆµÂÊf0=fc/10=10Hz.24N=1000;Fs=1000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;2526fc=Fs/10;f0=fc/10; %Ôز¨ÆµÂÊfc=Fs/10£¬µ¥Æµµ÷ÖÆÐźÅƵÂÊΪf0=Fc/10;2728mt=cos(2*pi*f0*t); %²úÉúµ¥ÆµÕýÏÒ²¨µ÷ÖÆÐźÅmt£¬ÆµÂÊΪf 29ct=cos(2*pi*fc*t); %²úÉúÔز¨ÕýÏÒ²¨ÐźÅct£¬ÆµÂÊΪfc3031xt=mt.*ct; %Ïà³Ë²úÉúµ¥Æµµ÷ÖÆÐźÅxt32nt=2*rand(1,N)-1; %²úÉúËæ»úÔëÉùnt33%=======Éè¼Æ¸ßͨÂ˲¨Æ÷hn,ÓÃÓÚÂ˳ýÔëÉùntÖеĵÍƵ³É·Ö, 34Éú³É¸ßͨÔëÉù=======35fp=150; fs=200;Rp=0.1;As=70; % Â˲¨Æ÷Ö¸±êfb=[fp,fs];m=[0,1]; %3637¼ÆËãremezordº¯ÊýËùÐè²ÎÊýf,m,dev38dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];[n,fo,mo,W]=remezord(fb,m,dev,Fs); %3940È·¶¨remezº¯ÊýËùÐè²ÎÊý41hn=remez(n,fo,mo,W); %42µ÷ÓÃremezº¯Êý½øÐÐÉè¼Æ,ÓÃÓÚÂ˳ýÔëÉùntÖеĵÍƵ³É·Ö43yt=filter(hn,1,10*nt); %Â˳ýËæ»úÔëÉùÖеÍƵ³É·Ö£¬Éú44³É¸ßͨÔëÉùyt45%======================================================= 46=========47xt=xt+yt; %ÔëÉù¼ÓÐźÅ48fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(3,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t4950)');51axis([0,Tp/5,min(xt),max(xt)]);title('(a)52ÐźżÓÔëÉù²¨ÐÎ')53subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title 54('(b) ÐźżÓÔëÉùµÄƵÆ×')55axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('·ù¶È')56输出波形:5758(3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。

FIR滤波器设计与实现实验报告

FIR滤波器设计与实现实验报告

FIR滤波器设计与实现实验报告目录一、实验概述 (2)1. 实验目的 (3)2. 实验原理 (3)3. 实验设备与工具 (4)4. 实验内容与步骤 (6)5. 实验数据与结果分析 (7)二、FIR滤波器设计 (8)1. 滤波器设计基本概念 (9)2. 系数求解方法 (10)频谱采样法 (11)最小均方误差法 (14)3. 常用FIR滤波器类型 (15)线性相位FIR滤波器 (16)非线性相位FIR滤波器 (18)4. 设计实例与比较 (19)三、FIR滤波器实现 (20)1. 硬件实现基础 (21)2. 软件实现方法 (22)3. 实现过程中的关键问题与解决方案 (23)4. 滤波器性能评估指标 (25)四、实验结果与分析 (26)1. 实验数据记录与处理 (27)2. 滤波器性能测试与分析 (29)通带波动 (30)虚部衰减 (31)相位失真 (32)3. 与其他设计方案的对比与讨论 (33)五、总结与展望 (34)1. 实验成果总结 (35)2. 存在问题与不足 (36)3. 未来发展方向与改进措施 (37)一、实验概述本次实验的主要目标是设计并实现一个有限脉冲响应(Finite Impulse Response,简称FIR)滤波器。

FIR滤波器是数字信号处理中常用的一种滤波器,具有线性相位响应和易于设计的优点。

本次实验旨在通过实践加深我们对FIR滤波器设计和实现过程的理解,提升我们的实践能力和问题解决能力。

在实验过程中,我们将首先理解FIR滤波器的基本原理和特性,包括其工作原理、设计方法和性能指标。

我们将选择合适的实验工具和环境,例如MATLAB或Python等编程环境,进行FIR滤波器的设计。

我们还将关注滤波器的实现过程,包括代码编写、性能测试和结果分析等步骤。

通过这次实验,我们期望能够深入理解FIR滤波器的设计和实现过程,并能够将理论知识应用到实践中,提高我们的工程实践能力。

本次实验报告将按照“设计原理设计方法实现过程实验结果与分析”的逻辑结构进行组织,让读者能够清晰地了解我们实验的全过程,以及我们从中获得的收获和启示。

实验5FIR数字滤波器设计与软件实现汇总

实验5FIR数字滤波器设计与软件实现汇总

信息院14电信(师范)实验五:FIR数字滤波器设计与软件实现一、实验指导1.实验目的(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。

(2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。

(3)掌握FIR滤波器的快速卷积实现原理。

(4)学会调用MATLAB函数设计与实现FIR滤波器。

2.实验内容及步骤(1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;(2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示;图1 具有加性噪声的信号x(t)及其频谱如图程序代码:(信号产生函数xtg程序清单)function xt=xtg(N)%ʵÑéÎåÐźÅx(t)²úÉú,²¢ÏÔʾÐźŵķùƵÌØÐÔÇúÏß%xt=xtg(N) ²úÉúÒ»¸ö³¤¶ÈΪN,ÓмÓÐÔ¸ßƵÔëÉùµÄµ¥Æµµ÷·ùÐźÅxt,²ÉÑùƵÂÊFs=1000Hz%Ôز¨ÆµÂÊfc=Fs/10=100Hz,µ÷ÖÆÕýÏÒ²¨ÆµÂÊf0=fc/10=10Hz.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;mt=cos(2*pi*f0*t); %²úÉúµ¥ÆµÕýÏÒ²¨µ÷ÖÆÐźÅmt£¬ÆµÂÊΪf0ct=cos(2*pi*fc*t); %²úÉúÔز¨ÕýÏÒ²¨ÐźÅct£¬ÆµÂÊΪfcxt=mt.*ct; %Ïà³Ë²úÉúµ¥Æµµ÷ÖÆÐźÅxtnt=2*rand(1,N)-1; %²úÉúËæ»úÔëÉùnt%=======Éè¼Æ¸ßͨÂ˲¨Æ÷hn,ÓÃÓÚÂ˳ýÔëÉùntÖеĵÍƵ³É·Ö,Éú³É¸ßͨÔëÉù=======fp=150; fs=200;Rp=0.1;As=70; % Â˲¨Æ÷Ö¸±êfb=[fp,fs];m=[0,1]; % ¼ÆËãremezordº¯ÊýËùÐè²ÎÊýf,m,devdev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];[n,fo,mo,W]=remezord(fb,m,dev,Fs); % È·¶¨remezº¯ÊýËùÐè²ÎÊýhn=remez(n,fo,mo,W); % µ÷ÓÃremezº¯Êý½øÐÐÉè¼Æ,ÓÃÓÚÂ˳ýÔëÉùntÖеĵÍƵ³É·Öyt=filter(hn,1,10*nt); %Â˳ýËæ»úÔëÉùÖеÍƵ³É·Ö£¬Éú³É¸ßͨÔëÉùyt%================================================================xt=xt+yt; %ÔëÉù¼ÓÐźÅfst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(3,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');axis([0,Tp/5,min(xt),max(xt)]);title('(a) ÐźżÓÔëÉù²¨ÐÎ')subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b)ÐźżÓÔëÉùµÄƵÆ×')axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('·ù¶È')输出波形:(3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。

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

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

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

(3) 请设计低通滤波器,从高频噪声中提取xt 中的单频抑制载波调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB 。

观察xt 的频谱,确定滤波器指标参数。

(4) 根据滤波器指标选择合适的窗函数,计算窗函数的长度N ,调用MATLAB函数firl 设计一个FIR 低通滤波器。

并编写程序,调用MATLAB 快速卷积函数fftfilt 实现对xt 的滤波。

绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。

(5) 重复(3),滤波器指标不变,但改用等纹波最佳逼近法设计FIR 滤波器,调用MATLAB 函数remezord 和remez 设计FIR 数字滤波器。

比较两种设计方法设计的滤波器阶数。

00.020.040.060.080.10.120.140.160.180.2-1010t/sx (t )(a)信号加噪声波形5010015020025030035040045050000.51(b)信号加噪声的频谱f/Hz幅度3、程序清单clc;clear;NN=1000;fs1=1000;T=1/fs1;t=0:T:(NN-1)*T;Tp=NN*T;k=0:NN-1;f=k/Tp;%rs等于60dB,因此采用布克莱曼窗fp=120;fs=150;%转换为数字频率wp=2*pi*fp/fs1;ws=2*pi*fs/fs1;bt=ws-wp; %计算过渡带宽度N0=ceil(11*pi/bt);%计算滤波器阶数N1=N0+mod(N0+1,2);%确保好h(n)长度N1是奇数wc=(wp+ws)/2/pi;%计算理想高通滤波器通带截止频率hn=fir1(N1-1,wc,blackman(N1));%调用firl 计算高通FIR数字滤波器的h(n)figure;[H,W]=freqz(hn,1,512,2);plot(W,20*log10(abs(H)));y1=filter(hn,1,xtg);%调用fftfilt用重叠相加法计算卷积y1_fft=fft(y1,NN);figure;subplot(2,1,1);plot(t,y1)axis([0,0.5*Tp,min(y1),max(y1)]);subplot(2,1,2);stem(f,abs(y1_fft)/max(abs(y1_fft)),'.'); axis([0,fs1/5,0,1.2]);grid;functionxt=xtg %实验五信号x(t)产生函数,并显示信号的时域波形和幅频特性曲线%xt=xtg产生一个长度为N,有加性高频噪声的単频调幅信号xt,N=1000%采样频率Fs=1000Hz%载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10HzN=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/10mt=cos(2*pi*f0*t);%产生単频正弦波调制信号mt,频率为f0ct=cos(2*pi*fc*t);%产生载波正弦波信号mt,频率为fcxt=mt.*ct; %相乘产生単频调幅信号xtnt=2*rand(1,N)-1; %产生随机噪声nt%=======设计高通滤波器hn,用于滤除噪声nt中的低频成分,生成高通噪声====== fp=150;fs=200;Rp=0.1;As=70;%滤波器指标fb=[fp,fs];m=[0,1];%计算remezord函数所需参数f,m,devdev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/2 0)+1)];[n,fo,mo,W]=remezord(fb,m,dev,Fs);%确定remez函数所需参数hn=remez(n,fo,mo,W);%调用remez函数进行设计,用于滤除噪声nt中的低频成分yt=filter(hn,1,10*nt);%滤除随机噪声中低频成分,生成高通噪声yt%=========以下为绘图部分========xt=xt+yt; %噪声加信号fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(2,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');axis([0,Tp/5,min(xt),max(xt)]);title('(a)信号加噪声波形')subplot(2,1,2);plot(f,abs(fst)/max(abs(fst))); grid;title('(b)信号加噪声的频谱')axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')4、仿真波形00.020.040.060.080.10.120.140.160.180.2-1010t/sx (t )(a)信号加噪声波形5010015020025030035040045050000.51(b)信号加噪声的频谱f/Hz幅度0.050.10.150.20.250.30.350.40.450.5-1-0.50.5120406080100120140160180200。

fir数字滤波器的设计与实现

fir数字滤波器的设计与实现

fir数字滤波器的设计与实现一、引言数字滤波器是数字信号处理中的重要组成部分,它可以用于去除信号中的噪声,平滑信号等。

其中,fir数字滤波器是一种常见的数字滤波器。

本文将介绍fir数字滤波器的设计与实现。

二、fir数字滤波器概述fir数字滤波器是一种线性相位、有限脉冲响应(FIR)的数字滤波器。

它通过一系列加权系数对输入信号进行卷积运算,从而实现对信号的过滤。

fir数字滤波器具有以下特点:1. 稳定性好:由于其有限脉冲响应特性,使得其稳定性优于IIR(无限脉冲响应)数字滤波器。

2. 线性相位:fir数字滤波器在频域上具有线性相位特性,因此可以保持输入信号中各频率分量之间的相对时延不变。

3. 设计灵活:fir数字滤波器可以通过改变加权系数来实现不同的频率响应和截止频率。

三、fir数字滤波器设计步骤1. 确定需求:首先需要确定所需的频率响应和截止频率等参数。

2. 选择窗函数:根据需求选择合适的窗函数,常用的有矩形窗、汉明窗、布莱克曼窗等。

3. 计算滤波器系数:利用所选窗函数计算出fir数字滤波器的加权系数。

常见的计算方法有频率采样法、最小二乘法等。

4. 实现滤波器:将计算得到的加权系数应用于fir数字滤波器中,实现对信号的过滤。

四、fir数字滤波器实现方法1. 直接形式:直接将计算得到的加权系数应用于fir数字滤波器中,实现对信号的过滤。

该方法简单易懂,但是需要大量运算,不适合处理较长的信号序列。

2. 快速卷积形式:利用快速傅里叶变换(FFT)来加速卷积运算。

该方法可以大大减少计算量,适合处理较长的信号序列。

五、fir数字滤波器应用案例1. 语音处理:fir数字滤波器可以用于去除语音信号中的噪声和杂音,提高语音质量。

2. 图像处理:fir数字滤波器可以用于图像去噪和平滑处理,提高图像质量。

3. 生物医学信号处理:fir数字滤波器可以用于生物医学信号的滤波和特征提取,如心电信号、脑电信号等。

六、总结fir数字滤波器是一种常见的数字滤波器,具有稳定性好、线性相位和设计灵活等优点。

fir、iir数字滤波器的设计与实现

fir、iir数字滤波器的设计与实现

一、概述数字滤波器是数字信号处理中的重要部分,它可以对数字信号进行滤波、去噪、平滑等处理,广泛应用于通信、音频处理、图像处理等领域。

在数字滤波器中,fir和iir是两种常见的结构,它们各自具有不同的特点和适用场景。

本文将围绕fir和iir数字滤波器的设计与实现展开讨论,介绍它们的原理、设计方法和实际应用。

二、fir数字滤波器的设计与实现1. fir数字滤波器的原理fir数字滤波器是一种有限冲激响应滤波器,它的输出仅依赖于输入信号的有限个先前值。

fir数字滤波器的传递函数可以表示为:H(z) = b0 + b1 * z^(-1) + b2 * z^(-2) + ... + bn * z^(-n)其中,b0、b1、...、bn为滤波器的系数,n为滤波器的阶数。

fir数字滤波器的特点是稳定性好、易于设计、相位线性等。

2. fir数字滤波器的设计方法fir数字滤波器的设计通常采用频率采样法、窗函数法、最小均方误差法等。

其中,频率采样法是一种常用的设计方法,它可以通过指定频率响应的要求来确定fir数字滤波器的系数,然后利用离散傅立叶变换将频率响应转换为时域的脉冲响应。

3. fir数字滤波器的实现fir数字滤波器的实现通常采用直接型、级联型、并行型等结构。

其中,直接型fir数字滤波器是最简单的实现方式,它直接利用fir数字滤波器的时域脉冲响应进行卷积计算。

另外,还可以利用快速傅立叶变换等算法加速fir数字滤波器的实现。

三、iir数字滤波器的设计与实现1. iir数字滤波器的原理iir数字滤波器是一种无限冲激响应滤波器,它的输出不仅依赖于输入信号的有限个先前值,还依赖于输出信号的先前值。

iir数字滤波器的传递函数可以表示为:H(z) = (b0 + b1 * z^(-1) + b2 * z^(-2) + ... + bn * z^(-n)) / (1 +a1 * z^(-1) + a2 * z^(-2) + ... + am * z^(-m))其中,b0、b1、...、bn为前向系数,a1、a2、...、am为反馈系数,n为前向路径的阶数,m为反馈路径的阶数。

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

实验五: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;
mt=cos(2*pi*f0*t); %产生单频正弦波调制信号mt,频率为f0
ct=cos(2*pi*fc*t); %产生载波正弦波信号ct,频率为fc
xt=mt.*ct; %相乘产生单频调制信号xt
nt=2*rand(1,N)-1; %产生随机噪声nt
%=======设计高通滤波器hn,用于滤除噪声nt中的低频成分,生成高通噪声=======
fp=120; fs=150;Rp=0.2;As=60; % 滤波器指标
fb=[fp,fs];m=[0,1]; % 计算remezord函数所需参数f,m,dev
dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];
[n,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数
hn=remez(n,fo,mo,W); % 调用remez函数进行设计,用于滤除噪声nt中的低频成分
yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,生成高通噪声yt
%================================================================
xt=xt+yt; %噪声加信号
fst=fft(xt,N);k=0:N-1;f=k/Tp;
subplot(3,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');
axis([0,Tp/5,min(xt),max(xt)]);title('(1) 信号加噪声波形')
subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(2) 信号加噪声的频谱')
axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')
2、主程序/实验程序清单:
clear all;clear all;
%==调用xtg产生信号xt, xt长度N=1000,并显示xt及其频谱,=========
N=1000;xt=xtg;
fp=120; fs=150;Rp=0.2;As=60;Fs=1000; % 输入给定指标
% (1) 用窗函数法设计滤波器
wc=(fp+fs)/Fs; %理想低通滤波器截止频率(关于pi归一化)
B=2*pi*(fs-fp)/Fs; %过渡带宽度指标
Nb=ceil(11*pi/B); %blackman窗的长度N
hn=fir1(Nb-1,wc,blackman(Nb));
Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性
ywt=fftfilt(hn,xt,N); %调用函数fftfilt对xt滤波
%以下为用窗函数法设计法的绘图部分(滤波器损耗函数,滤波器输出信号波形)
f=[0:1023]*Fs/1024;
figure(2)
subplot(2,1,1)
plot(f,20*log10(Hw/max(Hw)));grid;title('(3) 低通滤波器幅频特性')
axis([0,Fs/2,-120,20]);
xlabel('f/HZ');ylabel('幅度')
t=[0:N-1]/Fs;Tp=N/Fs;
subplot(2,1,2)
plot(t,ywt);grid;
axis([0,Tp/2,-1,1]);xlabel('t/s');ylabel('y_w(t)');
title('(4) 滤波噪声后的信号波形')
% (2) 用等波纹最佳逼近法设计滤波器
fb=[fp,fs];m=[1,0]; % 确定remezord函数所需参数f,m,dev
dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)];
[Ne,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数
hn=remez(Ne,fo,mo,W); % 调用remez函数进行设计
Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性
yet=fftfilt(hn,xt,N); % 调用函数fftfilt对xt滤波
%以下为用等纹波设计法的绘图部分(滤波器损耗函数,滤波器输出信号波形)f=[0:1023]*Fs/1024;
figure(3)
subplot(2,1,1)
plot(f,20*log10(Hw/max(Hw)));grid;title('(5) 低通滤波器幅频特性') axis([0,Fs/2,-80,10]);
xlabel('f/HZ');ylabel('幅度')
%t=[0:N-1]/Fs;Tp=N/Fs;
subplot(2,1,2)
plot(t,yet);grid;
axis([0,Tp/2,-1,1]);xlabel('t/s');ylabel('y_e(t)');
title('(6) 滤波噪声后的信号波形')
四、实验波形:
五、思考题:
(1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法
设计线性相位低通滤波器?请写出设计步骤。

答:用窗函数法设计线性相位低通滤波器的设计步骤教材中有详细的介绍。

(2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为pl ω和pu ω,阻带上、下截止频率为sl ω和su ω,试求理想带通滤波器的截止频率cl cu ωω和。

答:希望逼近的理想带通滤波器的截止频率cl cu ωω和分别为:
cl sl pl cu su pu ()/2, ()/2ωωωωωω=+=+。

(3)解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低?
①用窗函数法设计的滤波器,如果在阻带截止频率附近刚好满足,则离开阻带截止频率越远,阻带衰减富裕量越大,即存在资源浪费;
② 几种常用的典型窗函数的通带最大衰减和阻带最小衰减固定,且差别较大,又不能分别控制。

所以设计的滤波器的通带最大衰减和阻带最小衰减通常都存在较大富裕。

如本实验所选的blackman 窗函数,其阻带最小衰减为74dB,而指标仅为60dB 。

③ 用等波纹最佳逼近法设计的滤波器,其通带和阻带均为等波纹特性,且通带最大衰减和阻带最小衰减可以分别控制,所以其指标均匀分布,没有资源浪费,所以期阶数低得多。

相关文档
最新文档