FIR数字滤波器设计——窗函数法

这篇具有很好参考价值的文章主要介绍了FIR数字滤波器设计——窗函数法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验目的

本实验结合理论教材中FIR数字滤波器设计的教学内容中的窗函数设计法,学习和掌握窗函数法设计FIR数字滤波器的原理和实现过程,学习MATLAB设计FIR数字滤波器的相关函数的使用,掌握使用MATLAB设计FIR数字滤波器的过程与方法,从而加深对FIR数字滤波器常用指标和设计过程的理解。

实验内容

用窗函数法设计一个FIR数字低通滤波器。滤波器满足指标:通带截至频率fp=800Hz, 阻带截至频率fs=1000Hz,幅度特性单调下降,通带波纹0.5dB, 阻带最小衰减为40dB,抽样频率4000Hz。窗函数类型根据指标要求自行选定。

实验代码

clear;clc;close all
fc=4000;
ap=0.5;as=40;fp=800;fs=1000;
wp=2*pi*fp/fc;
ws=2*pi*fs/fc;
dw=ws-wp;
wc=(wp+ws)/2;
N=8*pi/dw;%阶数
N2=12*pi/dw;
 
nd = (N-1)/2;
w = hann(N)';
for n=0:N-1;
   hd(n+1)=sin(wc*(n-nd))/pi/(n-nd);
end
h1 = hd.*w;
H1=freqz(h1,1,512);
 
h2=fir1(N2-1,wc/pi,'low',blackman(N2));
H2=freqz(h2,1,512);
 
w=0:1/512:1-1/512;
 
figure(1);
H11=20*log10(abs(H1));
H22=20*log10(abs(H2));
v=plot(w,H11,w,H22,'r'); 
xlabel('\omega/\pi');ylabel('幅度(dB)');title('幅度特性')
hold on;
x1=wp/pi;x2=ws/pi;
y1=interp1(w,H11,x1);
y2=interp1(w,H11,x2);
y3=interp1(w,H22,x1);
y4=interp1(w,H22,x2);
plot(x1,y1,'-o');
plot(x2,y2,'-o');
plot(x1,y3,'-o');
plot(x2,y4,'-o');
legend(v,'汉宁窗','布莱克曼窗');

 实验结果

用窗函数法设计fir数字滤波器,数字信号处理基础,matlab,图像处理,开发语言

 如何选择窗函数?

  1. 根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N((或阶数M=N-1),窗函数类型可根据最小阻带衰减As独立选择,因为窗口长度N对最小阻带衰减As没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N,设待求滤波器的过渡带宽为△w,它与窗口长度N近似成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N,在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数wd (n)。
  2. 根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n),如果给出待求滤波器频率应为Hd,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:在一般情况下,hd(n)是不能用封闭公式表示的,需要采用数值方法表示;从w=O到w=2T采样N点,采用离散傅里叶反变换(IDFT)即可求出。
  3. 用窗函数wd(n)将hd(n)截断,并进行加权处理,得到如果要求线性相位特性,则h(n)还必须满足:根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。要根据所设计的滤波特性正确选择其中一类。例如,要设计线性相位低通特性可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。
  4. 验算技术指标是否满足要求,为了计算数字滤波器在频域中的特性,可调用freqz子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。

什么是吉布斯现象?如何改善?

答:

在改变截取长度N时,只会改变过度带宽的宽窄,而不会改变H(w)肩峰的相对值。频率截断会引起时域信号在不连续处产生“振铃效应”,这个现象成为吉布斯现象。

改善吉布斯现象的方法:

1.低通滤波器对信号频谱进行频域加窗,频窗有限引起时域的吉布斯波纹,可以考虑其它的频窗,如三角窗等

2.对时域加窗(时域截断)也会出现的吉布斯波纹,因此需要选择好合适的窗函数。

 文章来源地址https://www.toymoban.com/news/detail-536244.html

到了这里,关于FIR数字滤波器设计——窗函数法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32 FIR实时数字滤波器实现

    首先是生成不同周期的正弦波:         由于定时器设置为250us进入一次中断,每秒可进入中断4000次,为了生成25HZ的正弦信号,一个周期内生成160个数据;为了生成200HZ的正弦信号,一个周期内生成20个数据,故代码如下:     sin_1=arm_sin_f32(3.141592654*i/80)+1;//25HZ 信号   

    2024年02月14日
    浏览(46)
  • 信号处理之FIR数字滤波器(Matlab仿真)

            数字滤波器的作用是滤除不感兴趣的信号,留下想要的信号。数字滤波器可分为无限脉冲响应(IIR)数字滤波器、有限脉冲响应(FIR)数字滤波器两种,两者各有优缺点,其中FIR数字滤波器因其具有良好的线性相位特性受到广泛应用,线性相位是指信号中各频率成分的相对

    2024年02月03日
    浏览(52)
  • FPGA设计FIR滤波器低通滤波器,代码及视频

    名称:FIR滤波器低通滤波器 软件:Quartus 语言:Verilog/VHDL 本资源含有verilog及VHDL两种语言设计的工程,每个工程均可实现以下FIR滤波器的功能。 代码功能: 设计一个8阶FIR滤波器(低通滤波器),要求截止频率为20KHz,使用线性相位结构。 参数设计方法: 使用matlab软件设计滤

    2024年02月08日
    浏览(53)
  • FPGA 的数字信号处理:Verilog 实现简单的 FIR 滤波器

    该项目介绍了如何使用 Verilog 实现具有预生成系数的简单 FIR 滤波器。 不起眼的 FIR 滤波器是 FPGA 数字信号处理中最基本的模块之一,因此了解如何将具有给定抽头数及其相应系数值的基本模块组合在一起非常重要。因此,在这个关于 FPGA 上 DSP 基础实用入门的教程中,将从一

    2024年02月09日
    浏览(50)
  • 数字信号处理-10-并行FIR滤波器MATLAB与FPGA实现

    本文介绍了设计滤波器的FPGA实现步骤,并结合杜勇老师的书籍中的并行FIR滤波器部分进行一步步实现硬件设计,对书中的架构做了复现以及解读,并进行了仿真验证。 FIR滤波器的结构形式时,介绍了直接型、级联型、频率取样型和快速卷积型4种。在FPGA实现时,最常用的是最

    2023年04月09日
    浏览(49)
  • Xilinx FIR IP核设计滤波器

    使用matlab工具,根据具体需求设计出滤波器系数; 打开fir ip导入滤波器系数即可; 打开matlab使用fdatool工具,填入相应的参数生成系数; Fs=250; Fpass=50; Fstop=70; Apass=0.01; Astop=80; 将滤波器系数设置为定点数输出; 导出滤波器系数,生成coe文件; Select source:选择为coe文件

    2024年02月05日
    浏览(45)
  • 数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发)

    利用MATLAB GUI设计平台,用窗函数法设计FIR数字滤波器,对所给出的含有噪声的声音信号进行数字滤波处理,得到降噪的声音信号,进行时域频域分析,同时分析不同窗函数的效果。将文件解压至一个目录下,运行m文件即可使用。 读取.wav音频文件函数 :audioread();(老版

    2024年02月08日
    浏览(56)
  • 滤波器设计:FIR和IIR高、低、带通滤波器的实现及Matlab代码

    滤波器设计:FIR和IIR高、低、带通滤波器的实现及Matlab代码 引言: 滤波器作为信号处理中非常重要的一部分,广泛应用于数字信号处理、音频处理、图像处理等领域。本文主要讨论FIR(有限长冲激响应)和IIR(无限长冲激响应)两种常见滤波器的设计及其实现。 FIR滤波器

    2024年02月09日
    浏览(44)
  • 【Verilog 教程】7.3 Verilog 串行 FIR 滤波器设计

    串行 FIR 滤波器设计 设计说明 设计参数不变,与并行 FIR 滤波器参数一致。即,输入频率为 7.5 MHz 和 250 KHz 的正弦波混合信号,经过 FIR 滤波器后,高频信号 7.5MHz 被滤除,只保留 250KMHz 的信号。 串行设计,就是在 16 个时钟周期内对 16 个延时数据分时依次进行乘法、加法运算

    2024年02月06日
    浏览(51)
  • Xilinx的FIR滤波器IP的设计与仿真

    平台:Vivado2021.1 芯片:xcku115-flva1517-2-i (active) 语言:VerilogHDL 参考文件:pg149.下载地址 FIR Compiler LogiCORE IP Product Guide • FIR Compiler (PG149) • 阅读器 • AMD 自适应计算文档门户 (xilinx.com) FIR滤波器 最近准备研究以下滤波器。还是从xilinx的官方IP出发,来学习以下这部分。 使用

    2024年01月21日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包