FIR数字滤波器在MATLAB中的实现

摘要 数字滤波器是由数字乘法器、加法器和延时单元组成的一种装置。数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。近年来数字滤波在通信、图像编码、语言编码、雷达等许多领域中有着十分广泛的应用。

本文首先介绍了数字滤波器的研究背景及其发展现状,然后介绍了FIR数字滤波器的设计原理。在理解设计方法的基础上,最后基于MATLAB软件利用窗函数法实现了FIR数字带通滤波器的设计。仿真结果表明,所设计的滤波器具有良好的滤波器特性,所设计的指标符合设计任务要求。

关键词 MATLAB;FIR数字滤波器;窗函数;带通滤波器

I

I

IV

II

Realization of FIR Digital Filter Based On matlab

Name

###########################

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

II

II

IV

II

目 次

1 引 言 1

1.1 数字滤波器的研究背景和意义 1

1.2 数字滤波器的发展及其现状 1

1.3 数字滤波器的实现方法 2

1.4 MATLAB简介 2

2 FIR数字滤波器的设计原理 4

2.1 FIR数字滤波器的特点 4

2.2 FIR数字滤波器的实现结构 4

2.3 窗函数法的设计原理 7

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

3.1几种常用的窗函数 9

3.2 利用窗函数设计FIR带通滤波器的设计步骤 12

3.3 基于MATLAB的FIR数字带通滤波器的仿真实现 13

结论 17

参考文献 18

致 谢 19

III

III

19

II

1 引 言

在线性系统中,信号滤波过程一般定义为,当输入波形通过一个系统时,对它作一个线性运算,在时间域上这种变换如像内插,外插微分和积分,在频率域上这种变换则如低通滤波或平滑,带通滤波,谱设计和谱分析。如模拟滤波器对连续时间信号的这种运算,在数学上是用线性常系数微分方程确定的。用拉普拉斯变换可在S域内进行这些运算的分析。用傅立叶变换则在f域内分析。同样的,可用常系数线性方程来定义离散时间信号的线性变换,并且用二变换来分析和合成离散时间滤波器[1]。

1.1 数字滤波器的研究背景和意义

当今,数字信号处理技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科;它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。

数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信号、雷达信号、通信信号、导航信号等等。上述这些信号大部分是模拟信号,也有小部分是数字信号。模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或多维的。大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。因此,数字信号实际上是数字序列表示的信号,语音信号经采样和量化后,得到的数字信号是一个一维离散时间序列;而图像信号的经采样和量化后,得到的是数字信号是一个二维离散空间序列[2]。

数字滤波技术是数字信号分析、处理技术的重要分支。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输时至关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。

1.2 数字滤波器的发展及其现状

数字滤波是从20世纪60年代发展起来的,当时主要采用计算机模拟的方法研究数字滤波问题。到了70年代,开始将微处理器应用于数字滤波。但是由于微处理器速度不高,在很多场合都难以实现实时处理。随着VLSI技术的发展,使用硬件来实现数字滤波器已成为可能。80年代,通用数字信号处理器的成熟和大量涌现,使得音频范围内数字滤波技术迅速得到广泛的应用。近些年来,除了不断提高通用信号处理器的速度和功能外,还出现了许多工作频率达100MHZ以上的专用芯片和积木式部件,从而使数字滤波技术进入视频实时处理阶段[3]。

数字滤波在通信、图像编码、语言编码、雷达等许多领域中有着十分广泛的应用。目前,数字信号滤波器的设计图像处理、数据压缩等方面的应用取得了令人瞩目的进展和成就。近年来迅速发展起来的小波理论,由于其局部分析性能的优异在图像处理中的应用研究,尤其是在图像压缩、图像去噪等方面的应用研究。

1.3 数字滤波器的实现方法

数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。数字滤波器的实现,大体上有如下几种方法:

1. 用单片机来实现。

目前单片机的发展速度很快,功能也很强依靠单片机的硬件环境和信号处理软件可用于工程实际,如数字控制,医疗仪器等。

4

IV

19

II

2. 用DSP来实现。

DSP芯片较之单片机有着更为突出的优点,如内部带有乘法器,累加器,采用流水线工作方式及并行结构,多线程,速度快,配有适用于信号处理指令等,DSP芯片的问世及飞速发展,为信号处理技术应用于工程实际提供了可能。

3. 在通用的微型计算机上用软件的方法来实现。

软件可以由自己编写或者使用现成的。自IEEE DSP Comm于1979年出第一个信号处理软件包以来,国外的研究机构也陆续推出不同语言不同用途的信号处理软件包[4]。MATLAB软件具有良好的工作平台及编程环境、简单易用的程序语言、强大的科学计算机数据处理能力和出色的图形处理功能等。因此,本文主要采用MATLAB软件来实现FIR数字滤波器的设计。

1.4 MATLAB简介

MATLAB是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境[5]。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域[6]。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

MATLAB具有以下特点和优势:

1.高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来。

2.具有完备的图形处理功能,实现计算结果和编程的可视化。

3.友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握。

4.功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具[7]。

5

V

19

II

2 FIR数字滤波器的设计原理

FIR滤波器设计的任务是选择有限长度的,使传输函数满足一定的幅度特性和线性相位要求。由于FIR 滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。

设计过程一般包括以下三个基本问题[8]:

(1) 根据实际要求确定数字滤波器性能指标;

(2) 用一个因果稳定的系统函数去逼近这个理想性能指标;

(3) 用一个有限精度的运算去实现这个传输函数。

2.1 FIR数字滤波器的特点

FIR数字滤波器相比较于IIR数字滤波器有以下的特点:

(1) 单位抽样响应h(n)是有限长的,因此FIR数字滤波器一定是稳定的。

(2) 经延时,h(n)总可变成因果序列,所以FIR数字滤波器总可以由因果系统实现。

(3) h(n)为有限长,可以用FFT实现FIR数字滤波器。

(4) FIR的系统函数是的多项式,故IIR的方法不适用。

(5) FIR的相位特性可以是线性的,因此,它有更广泛的应用。

2.2 FIR数字滤波器的实现结构

FIR滤波器的传递函数一般有如下形式:

(1)

其基本结构有以下几种:直接型,级联型,线性相位型,频率采样型。

1. 直接型

直接型也称卷积型或横截型,称为卷积型,是因差分方程是信号的卷积形式;称为横截型,是因为滤波器是一条输入x(n)延时链的横向结构。直接由差分方程可画出对应的网络结构。其FIR滤波器的直接型结构结构图如图1所示,FIR滤波器的直接型转置结构如图2所示。

(2)

式中,为实数;x(n)为输入序列,y(n)为输出序列,h(n)单位采样响应。

直接型结构的优点是:简单直观,乘法运算量较少;缺点是,调整零点较难。

3 线性相位型

FIR滤波器的重要特点是可设计成具有严格线性相位的滤波器,此时H(z)满足偶对称或奇对称条件。其单位冲击响应有如下特性:

4. 频率采样型

频率采样型结构是一种用系数将滤波器参数化的一种实现结构。一个有限长序列可以由相同长度频域采样值唯一确定。系统函数在单位圆上作N等分取样就是单位取样响应h(n)的离散傅里叶变换H(k)。H(k)与系统函数之间的关系可用内插公式表示:

                      (7)

由上看出,FIR系统可用一子FIR系统和一子IIR系统级联而成。

其网络结构(信号流图)如图5所示。

图5 FIR滤波器的频率采样型结构

频率采样型结构的优点有:

(1) 选频性好,适于窄带滤波,这时大部分H(k)为零,只有较少的二阶子网络。

(2) 不同的FIR滤波器,若长度相同,可通过改变系数用同一个网络实现。

(3) 复用性好。

频率采样型结构的缺点:

(1) 具体实现时难免存在误差,零、极点可能不能正好抵消,造成系统不稳定。

(2) 结构复杂,采用的存贮器多[9]。

2.3 窗函数法的设计原理

FIR数字滤波器的设计主要有三种设计方法:窗函数法、频率抽样法、切比雪夫逼近法。鉴于窗函数法的原理简单明了、选择性多、易于实现的优点等。本文主要运用窗函数法来进行设计。以下就有关窗函数法的基本原理进行简单介绍。

这样用一个有限长的序列h(n)去代替

,肯定会引起误差,表现在频域就通常所说的吉布斯效应。该效应引起的过渡带加宽以及带通和阻带内的波动,尤其使阻带的衰减小,从而满足不了技术上要求,这种吉布斯效应是由于将

直接截取引起的,因此,也成为截断效应[10]

图6窗函数设计法的时域波形

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/455497.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么诺贝尔物理学奖颁给了 AI 大神

瑞典皇家科学院刚宣布,科学家约翰霍普菲尔德(John J. Hopfield) 和杰弗里辛顿 (Geoffrey E. Hinton) 荣膺 2024年诺贝尔物理学奖,以表彰他们通过人工神经网络 (ANN) 实现机器学习而作出的基础性发现和发明 (for foundational discoveries and…

程序员:代码世界的探险家与日常“救火队员”

在这个被数字与代码编织的时代,程序员,这一群看似平凡却又不凡的“数字工匠”,正用他们的智慧与汗水,构建着我们生活的每一个角落。值此1024程序员节之际,让我们以轻松幽默的方式,一同走进程序员的世界&…

8轴/4轴的EtherCAT轴模块EIO24088G-V2及EIO16084G的使用(一):TwinCAT总线配置与使用

上节课给大家介绍了 EIO24088-V2及EIO16084结合RTSys进行总线配置与使用,详情请点击→8轴/4轴的EtherCAT轴模块EIO24088-V2及EIO16084的使用(一):RTSys总线配置与使用。 今天正运动给大家分享一下EIO24088G-V2及EIO16084G如何用T…

DNS安全概述

一、DNS的解析过程 1.递归解析 递归解析是一种由DNS客户端(通常是用户的应用程序,如一个浏览器)向本地DNS解析器发出解析请求,然后本地DNS解析器负责查询最终结果并将结果返回给客户端,而中间的所有查询请求都由本地D…

Unity之如何在物体空间中制作马赛克

文章目录 前言屏幕空间马赛克着色器对象空间中的马赛克着色器最后前言 GrabPass 允许您创建应用马赛克叠加的着色器。如果你想在屏幕空间中应用马赛克,你可以通过使用片段着色器对其进行离散化来实现,但我在尝试将其应用到对象空间时遇到了问题,所以这是一个记录。 ▼ 原图…

proteus中没有STM32F103C8(已解决)

想在proteus找一个和开发板相同的芯片型号STM32F103C8T6,亲测proteus的7.8、8.6、8.9版本都没有STM32F103C8,然后在proteus8.15中找到了,M4内核的芯片也有。 M3内核: M4内核:

新脉集团携手中宏大数据 共推县域乡村振兴与数据资产化

2024年10月23日,数字生态赋能平台新脉集团与中宏大数据产业有限责任公司正式宣布达成战略合作。新脉集团创始人兼CEO李晶、新脉集团联合创始人兼CSO梁钟、新脉集团首席城市战略顾问邓详达、新脉中医健康教育学院院长王庆辉以及中宏大数据产业有限责任公司总裁张春宝…

053_python基于深度学习的短视频内容理解与推荐系统

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…

ZYNQ PS_GPIO中断

REVIEW zynq PS端 GPIO_zynq modem signal-CSDN博客 C基础与SDK调试方法_csdk-CSDN博客 AXI_GPIO_axigpio-CSDN博客 对于GPIO,前面只用了简单读写,今天搞一下中断 1. 今日摸鱼任务 了解中断原理,实现PS_GPIO中断。 MIIO: #define PS_KEY 47#…

零售行业的数字化营销转型之路

一方面,市场竞争激烈,电商平台、新兴品牌和跨界对手带来巨大压力。另一方面,消费者需求变化迅速,更加追求个性化、多元化和便捷化的购物体验,同时传统零售企业还面临着高成本压力,如租金、人力和库存等。 然…

Chainlit集成LlamaIndex和Chromadb实现RAG增强生成对话AI应用

前言 本文主要讲解如何使用LlamaIndex和Chromadb向量数据库实现RAG应用,并使用Chainlit快速搭建一个前端对话网页,实现RAG聊天问答增强的应用。文章中还讲解了LlamaIndex 的CallbackManager回调,实现案例是使用TokenCountingHandler&#xf…

Pollard‘s p-1算法

概述 光滑数 (Smooth number):指可以分解为多个小素数乘积的正整数 当p是N 的因数,并且p−1是光滑数,可以考虑使用Pollards p-1算法来分解N 当p是N的因数,并且p1是光滑数,可以考虑使用Williamss p1算法来分解N 这里…

程序员节-回顾篇

回顾: 时间如白驹过隙,转眼间,我们又走过了一个充满挑战与机遇的年份。回顾过去的一年,心中充满了感慨与收获。 一、个人成长 这一年里,我在各个方面都有了显著的成长。在工作上,我通过不断学习和实践&a…

【小洛的VLOG】Web 服务器高并发压力测试(Reactor模型测试)

目录 引言 工具介绍 环境介绍 测试结果 个人主页:东洛的克莱斯韦克-CSDN博客 引言 大部分的网络通信都是支持TCP/IP协议栈,为了保证通信的可靠性,客户端和服务端之间需要建立链接。服务端能并发处理多少个链接,平均每秒钟能处理…

国产蓝牙耳机哪个品牌值得买?百元国产蓝牙耳机品牌排行榜

一款优质的蓝牙耳机总能为我们带来更加便捷、舒适的听觉体验,而在众多蓝牙耳机品牌中,国产蓝牙耳机凭借其高性价比、丰富的功能和独特的设计,逐渐赢得了消费者的青睐,那么国产蓝牙耳机哪个品牌值得买?作为一个资深的蓝…

一、Linux 目录文件

一、目录结构 |-/ # 根节(cd /) |-/bin # 系统命令 |-/boot # 启动目录 |-/dev # 设备文件保存目录 |-/etc # 系统的所有配置文件|-profile # 环境变量配置文件(修改后需source /etc/profile使配置文件立即生效) |-/home # 普通用…

光储充微电网:策略调度带领能源新未来---安科瑞 吴雅芳

一、光储充微电网概述 光储充微电网是一种高度智能化的电力系统,在新能源领域占据着重要地位。它主要由光伏电站、储能系统、充电桩、微电网控制器等组成。 光伏电站是光储充微电网的核心部分之一,应选择稳定的组件和好的支架。在设计光伏发电系统时&a…

解锁文本数据可视化的无限可能:Wordcloud库全解析

文章目录 **🌟解锁文本数据可视化的无限可能:Wordcloud库全解析🔐**1. **背景介绍**2. **Wordcloud库是什么?**3. **如何安装Wordcloud库?**4. **Wordcloud库的基本函数使用方法**5. **实际应用场景**6. **常见问题及解…

实操 maxkey对接三方文档

实操 maxkey 对接三方文档 概述前置准备:MaxKey 安装与配置:第三方系统准备网络环境 对接三方配置oauth2协议对接导入jar包(调接口)权限加回调重定向获取token处理业务 api对接三方获取api凭证配置 MaxKey更新代码 概述 最近在搞m…

hhdb数据库介绍

背景 随着互联网的崛起,海量数据的存储、计算、分析需求越来越普遍。在各种计算机应用场景中,传统集中式数据库面临着理论升级和技术升级两大难题。21世纪以来,随着以 Hadoop及其衍生技术为代表的大规模数据处理技术的崛起,数据库…