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数字滤波器设计与软件实现实验报告222
FIR数字滤波器设计与软件实现实验报告222 FIR数字滤波器设计与软件实现实验报告222实验名称:FIR数字滤波器设计与软件实现实验目的:1.了解数字滤波器的工作原理和设计方法。
2.学习使用MATLAB软件进行FIR数字滤波器的设计和实现。
实验器材:1.计算机2.MATLAB软件实验步骤:1.导入信号数据:首先,打开MATLAB软件,创建一个新的脚本文件,然后导入待滤波的信号数据。
可以通过以下代码实现:```matlabfs = 1000; % 采样频率为1000Hzt = 0:(1/fs):1; % 1秒的时间范围f1=10;%信号频率为10Hzf2=50;%信号频率为50Hzx = sin(2*pi*f1*t) + sin(2*pi*f2*t); % 生成两个正弦信号叠加```2.设计低通滤波器:使用fir1函数设计一个低通滤波器,并指定截止频率为100Hz,实现代码如下:```matlaborder = 64; % 滤波器阶数cutoff = 100; % 截止频率为100Hzb = fir1(order, cutoff/(fs/2)); % 设计低通滤波器系数```3.应用滤波器:将设计好的滤波器系数应用到信号上,实现代码如下:```matlabfiltered_signal = filter(b, 1, x); % 应用滤波器```4.绘制滤波前后的信号波形:使用plot函数分别绘制滤波前和滤波后的信号波形,实现代码如下:```matlabfigure; % 创建新的图形窗口plot(t, x);title('Original Signal'); % 设置图标题plot(t, filtered_signal);title('Filtered Signal'); % 设置图标题```5.显示滤波前后的频谱图:使用fft函数计算滤波前后信号的频谱,并使用plot函数显示频谱图,实现代码如下:```matlabfigure; % 创建新的图形窗口X = abs(fft(x)); % 计算滤波前信号的频谱f = (0:length(X)-1)*fs/length(X); % 计算频率轴的范围plot(f, X);title('Spectrum of Original Signal'); % 设置图标题filtered_X = abs(fft(filtered_signal)); % 计算滤波后信号的频谱plot(f, filtered_X);title('Spectrum of Filtered Signal'); % 设置图标题```实验结果与分析:通过实验设计的FIR数字滤波器,可以实现对输入信号的滤波功能。
fir数字滤波器设计与软件实现数字信号处理实验原理
fir数字滤波器设计与软件实现数字信号处理实验原理FIR数字滤波器设计的基本原理是从理想滤波器的频率响应出发,寻找一个系统函数,使其频率响应尽可能逼近滤波器要求的理想频率响应。
为了实现这一目标,通常会采用窗函数法进行设计。
这种方法的基本思想是,将理想滤波器的无限长单位脉冲响应截断为有限长因果序列,并用合适的窗函数进行加权,从而得到FIR滤波器的单位脉冲响应。
在选择窗函数时,需要考虑其频率响应和幅度响应。
常见的窗函数包括矩形窗、三角形窗、汉宁窗、汉明窗、布莱克曼窗和凯泽窗等。
每种窗函数都有其特定的特性,如主瓣宽度、旁瓣衰减等。
根据实际需求,可以选择合适的窗函数以优化滤波器的性能。
在软件实现上,可以使用各种编程语言和信号处理库进行FIR滤波器的设计和实现。
例如,在MATLAB中,可以使用内置的`fir1`函数来设计FIR滤波器。
该函数可以根据指定的滤波器长度N和采样频率Fs,自动选择合适的窗函数并计算滤波器的系数。
然后,可以使用快速卷积函数`fftfilt`对输入信号进行滤波处理。
此外,还可以使用等波纹最佳逼近法来设计FIR数字滤波器。
这种方法的目标是找到一个最接近理想滤波器频率响应的实数序列,使得在所有可能的实
数序列中,该序列的误差平方和最小。
通过优化算法,可以找到这个最优序列,从而得到性能更优的FIR滤波器。
总的来说,FIR数字滤波器设计与软件实现数字信号处理实验原理是基于对理想滤波器频率响应的逼近和优化,通过选择合适的窗函数和算法,实现信号的滤波处理。
实验四FIR数字滤波器设计与软件实现
实验四FIR数字滤波器设计与软件实现
实验目的:
掌握FIR数字滤波器的设计与软件实现方法,了解滤波器的概念与基
本原理。
实验原理:
FIR数字滤波器全称为有限脉冲响应数字滤波器,其特点是具有有限
长度的脉冲响应。
滤波器通过一系列加权系数乘以输入信号的延迟值,并
将这些值相加得到输出信号。
FIR滤波器的频率响应由滤波器系数所决定。
实验步骤:
1.确定所需的滤波器的设计规格,包括截止频率、通带波纹、阻带衰
减等。
2.选择适当的滤波器设计方法,如窗函数、最佳近似法、最小二乘法等。
3.根据所选方法,计算滤波器的系数。
4.在MATLAB环境下,使用滤波器的系数实现滤波器。
5.输入所需滤波的信号,经过滤波器进行滤波处理。
6.分析输出的滤波信号,观察滤波效果是否符合设计要求。
实验要求:
1.完成FIR数字滤波器的设计和软件实现。
2.对比不同设计方法得到的滤波器性能差异。
3.分析滤波结果,判断滤波器是否满足设计要求。
实验器材与软件:
1.个人电脑;
2.MATLAB软件。
实验结果:
根据滤波器设计规格和所选的设计方法,得到一组滤波器系数。
通过
将滤波器系数应用于输入信号,得到输出滤波信号。
根据输出信号的频率
响应、通带波纹、阻带衰减等指标,评估滤波器的性能。
实验注意事项:
1.在选择设计方法时,需要根据滤波器要求和实际情况进行合理选择。
2.在滤波器实现过程中,需要注意滤波器系数的计算和应用。
3.在实验过程中,注意信号的选择和滤波结果的评估方法。
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(Finite Impulse Response)数字滤波器是一种常用的数字滤波器,本实验旨在通过设计和软件实现FIR数字滤波器,加深对数字滤波器的理解和应用。
实验材料和设备:
1.个人电脑
2. 数字信号处理软件(如MATLAB、Python等)
实验步骤:
1.确定滤波器的类型和设计要求,如低通滤波器、高通滤波器、带通滤波器等。
给定滤波器的截止频率、通带衰减和阻带衰减等参数。
2.使用指定的设计方法,如窗函数法、频率采样法等,进行FIR滤波器的设计。
根据设计要求选择合适的窗函数(如矩形窗、汉宁窗、布莱克曼窗等)或频率采样点。
3.进行FIR滤波器的软件实现。
在数字信号处理软件中,根据设计好的滤波器系数(也称为权值),通过卷积操作对输入信号进行滤波。
可以使用已有的滤波器设计函数或自行编写代码实现。
4.对输入信号进行滤波,观察滤波效果。
可以通过绘制输入信号和输出信号的时域图和频域图,分析滤波效果。
根据需要,可以对滤波器进行调整和优化。
5.根据实验结果,对滤波器的性能进行评估。
可以对比不同设计方法和参数选择的滤波器性能,分析其优缺点。
注意事项:
1.在选择滤波器的设计方法时,要根据实际需求和要求来选择。
不同方法有不同的适用范围和设计效果。
2.在进行滤波器实现时,要注意系数计算的精度和卷积操作的效率。
3.在进行滤波效果评估时,要综合考虑时域和频域等多个指标,避免单一指标的片面评价。
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
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数字滤波器设计与软件实现实验目的:1.了解FIR数字滤波器的基本原理和设计方法;2.学习使用软件实现FIR数字滤波器的设计和仿真。
实验器材:1.个人电脑;2. DSP软件(如Matlab、LabVIEW等)。
实验步骤:1.确定数字滤波器的需求,包括滤波器类型(低通、高通、带通、带阻)、截止频率、滤波器阶数等;2.根据滤波器的需求,选择合适的设计方法进行滤波器设计。
常用的设计方法有窗函数法、频率采样法、最优化法等;3.使用DSP软件进行滤波器设计。
根据选择的设计方法,设置相关参数并生成滤波器系数;4.利用软件进行滤波器的仿真。
输入滤波器的信号,通过滤波器系数对信号进行滤波,并观察输出信号的效果;5.调整滤波器的参数,如截止频率、阶数等,重新生成滤波器系数,并进行仿真分析。
比较不同参数下滤波器的性能差异。
实验注意事项:1.在进行滤波器设计前,需充分了解各种设计方法的优缺点,选择适合的设计方法;2.在进行滤波器仿真时,需要选择合适的输入信号,并注意输入信号的幅度范围;3.切勿过度调节滤波器的参数,以避免出现无法预期的结果。
实验总结和思考:通过本次实验,我对FIR数字滤波器的基本原理和设计方法有了更深入的了解。
掌握了使用DSP软件进行滤波器设计和仿真的方法,能够根据滤波器的需求灵活调整参数,实现不同类型的数字滤波器的设计。
在实验过程中,我发现滤波器的参数选择对滤波器的性能影响很大,需要根据具体应用场景进行合理选择。
同时,滤波器的设计方法也有各自的优缺点,需要根据实际情况进行选择。
总的来说,本次实验加深了我对FIR数字滤波器的理解,提高了我在滤波器设计和仿真方面的能力。
FIR滤波器设计与实现
FIR滤波器设计与实现一、FIR滤波器的设计原理y(n)=b0*x(n)+b1*x(n-1)+b2*x(n-2)+...+bM*x(n-M)其中,b0、b1、..、bM是滤波器的系数,M是滤波器的阶数。
在设计FIR滤波器时,需要确定滤波器的截止频率、滤波器类型(低通、高通、带通、带阻)以及滤波器的阶数。
通常情况下,滤波器的阶数越高,滤波器的性能越好,但计算复杂度也越高。
1.确定滤波器的截止频率和滤波器类型。
根据信号的频谱特性和滤波器的要求,确定滤波器的截止频率和滤波器类型。
2.确定滤波器的阶数。
根据滤波器的设计要求和计算资源的限制,确定滤波器的阶数。
3.计算滤波器的系数。
通过设计方法(如窗函数法、频率采样法、最优化法等),计算滤波器的系数。
4.实现滤波器。
根据计算得到的滤波器系数,使用差分方程或直接形式等方法实现FIR滤波器。
二、FIR滤波器的实现方法1.差分方程形式差分方程形式是FIR滤波器的一种常见实现方法,它基于差分方程对输入信号进行逐点计算。
根据滤波器的差分方程,可以使用循环结构对输入信号进行滤波。
2.直接形式直接形式是另一种常见的FIR滤波器实现方法,它基于滤波器的系数和输入信号的历史值对输出信号进行逐点计算。
直接形式的计算过程可表示为:y(n)=b0*x(n)+b1*x(n-1)+b2*x(n-2)+...+bM*x(n-M)其中,b0、b1、..、bM是滤波器的系数,x(n)、x(n-1)、..、x(n-M)是输入信号的历史值。
直接形式的优点是计算过程简单,缺点是计算量比较大,特别是当滤波器的阶数较高时。
除了差分方程形式和直接形式外,还有其他一些高级实现方法如离散余弦变换(DCT)和快速卷积等,它们能够进一步提高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数字滤波器设计与软件实现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数字滤波器设计与软件实现
信息院 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。
实验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数字滤波器是一种常见的数字滤波器。
本文将介绍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数字滤波器的设计与实现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为反馈路径的阶数。
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 滤波器的优点是可以方便地实现线性相位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二:FIR 数字滤波器设计与软件实现
一、实验指导
1.实验目的
(1掌握用窗函数法设计 FIR 数字滤波器的原理和方法。
(2掌握用等波纹最佳逼近法设计 FIR 数字滤波器的原理和方法。
(3掌握 FIR 滤波器的快速卷积实现原理。
(4学会调用 MA TLAB 函数设计与实现 FIR 滤波器。
2. 实验内容及步骤
(1认真复习第七章中用窗函数法和等波纹最佳逼近法设计 FIR 数字滤波器的原理;
(2调用信号产生函数 xtg 产生具有加性噪声的信号 xt ,并自动显示 xt 及其频谱,如图 1所示;
图 1 具有加性噪声的信号 x(t及其频谱如图
(3请设计低通滤波器,从高频噪声中提取 xt 中的单频调幅信号,要求信号幅频失真小于 0.1dB ,将噪声频谱衰减 60dB 。
先观察 xt 的频谱,确定滤波器指标参数。
(4根据滤波器指标选择合适的窗函数,计算窗函数的长度 N ,调用 MATLAB 函数 fir1设计一个 FIR 低通滤波器。
并编写程序,调用 MATLAB 快速卷积函数 fftfilt 实现对 xt 的滤波。
绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。
(5 重复 (3 , 滤波器指标不变, 但改用等波纹最佳逼近法, 调用MA TLAB 函数 remezord 和 remez 设计 FIR 数字滤波器。
并比较两种设计方法设计的滤波器阶数。
提示:○ 1MA TLAB 函数 fir1的功能及其调用格式请查阅教材;
○ 2采样频率 Fs=1000Hz,采样周期 T=1/Fs;
○ 3根据图 1(b和实验要求,可选择滤波器指标参数:通带截止频率 fp=120Hz,阻带截
至频率 fs=150Hz, 换算成数字频率, 通带截止频率 p 20.24 p
f
ωπ
=T=π, 通带最大衰为 0.1dB ,
阻带截至频率 s 20.3 s
f
ωπ
=T=π,阻带最小衰为 60dB 。
3、实验程序框图如图 2所示,供读者参考。
图 2 实验程序框图
4.信号产生函数 xtg 程序清单(见教材
二、滤波器参数及实验程序清单
1、滤波器参数选取
根据实验指导的提示③选择滤波器指标参数:
通带截止频率 fp=120Hz,阻带截至频率 fs=150Hz。
代入采样频率 Fs=1000Hz,换算成
数字频率,通带截止频率 p 20.24 p
f
ωπ
=T=π,通带最大衰为 0.1dB ,阻带截至频率
s 20.3 s
f
ωπ
=T=π,阻带最小衰为 60dB 。
所以选取 ? 窗函数。
与信号产生函数 xtg 相同,采样频率 Fs=1000Hz。
按照图 2 所示的程序框图编写的实验程序为 exp2.m 。
2、实验程序清单
% FIR数字滤波器设计及软件实现
clear all;close all;
%==调用 xtg 产生信号 xt, xt长度 N=1000,并显示 xt 及其频谱 ,========= N=1000;
xt=xtg(N;
fp=120; fs=150;Rp=0.2;As=60;Fs=1000; % 输入给定指标
% (1 用窗函数法设计滤波器
wc=(fp+fs/Fs;
B=2*pi*(fs-fp/Fs;
Nb=ceil(11*pi/B;
hn=fir1(? ; % 要求填入参数
Hw=abs(fft(hn, ?; % 要求填入参数
ywt=fftfilt(? ; % 要求填入参数
%以下为用窗函数法设计法的绘图部分(滤波器损耗函数,滤波器输出信号波形f=[0:1023]*Fs/1024;
figure(2
subplot(2,1,1
plot(f,20*log10(Hw/max(Hw;grid;title('(a 低通滤波器幅频特性 '
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('(b 滤除噪声后的信号波形 '
% (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;
hn=remez(? ; % 要求填入参数
Hw=abs(fft(hn, ?; % 要求填入参数
yet=fftfilt(? ; % 要求填入参数
%以下为用等波纹设计法的绘图部分(滤波器损耗函数,滤波器输出信号波形figure(3;subplot(2,1,1
f=[0:1023]*Fs/1024;
plot(f,20*log10(Hw/max(Hw;grid;title('(c 低通滤波器幅频特性 '
axis([0,Fs/2,-80,10];
xlabel('f/Hz';ylabel('幅度 '
subplot(2,1,2;plot(t,yet;grid;
axis([0,Tp/2,-1,1];xlabel('t/s';ylabel('y_e(t';
title('(d 滤除噪声后的信号波形 '
三、实验程序运行结果
用窗函数法设计滤波器,滤波器长度 Nb=184。
滤波器损耗函数和滤波器输出yw(nT分别如图 3(a和(b 所示。
用等波纹最佳逼近法设计滤波器,滤波器长度 Ne=83。
滤波器损耗函数和滤波器输出 ye(nT分别如图 3(c和(d 所示。
两种方法设计的滤波器都能有效地从噪声中提取信号, 但等波纹最佳逼近法设计的滤波器阶数低得多,当然滤波实现的运算量以及时延也小得多,从图 3(b和(d 可以直观地看出时延差别。
图 3
四、思考题
(1如果给定通带截止频率和阻带截止频率以及阻带最小衰减 , 如何用窗函数法设计线性相位低通滤波器 ? 请写出设计步骤 .
(2如果要求用窗函数法设计带通滤波器 , 且给定通带上、下截止频率为pl ω和pu ω, 阻带上、下截止频率为sl ω和su ω,试求理想带通滤波器的截止频率cl cu ωω和。
(3解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低?。