基于Matlab的信号频谱分析及FIR数字滤波器设计
2023-06-20 09:10:33
论文总字数:12053字
摘 要
本文首先对利用FFT进行离散与连续信号频谱分析以及利用FIR数字滤波器进行滤波的原理进行了分析,随后结合相关实例给出实际解决方案,最后对实验结果进行分析.关键词: Matlab, 频谱分析, FFT, FIR数字滤波器
Abstract: At first, we analysis the principles of using FFT to spectrum analyses discrete and continuous signals and using FIR digital filter for filtering. Then it will provide practical solutions according to related examples. At last, it will analyses the experiment results.
Keywords: matlab, spectral analysis, fft, fir digital filter
目 录
1 引言 …………………………………………………………………4
2 信号的频谱分析 ……………………………………………………5
2.1 DFT与FFT…………………………………………………………5
2.2 利用FFT进行信号频谱分析原理 ………………………………6
2.3 利用Matlab实现FFT频谱分析…………………………………7
3 FIR数字滤波器设计…………………………………………………9
3.1 FIR数字滤波器设计原理…………………………………………9
3.2 利用Matlab实现FIR数字滤波器滤波…………………………17
结 论 ……………………………………………………………………23
参考文献…………………………………………………………………24
致 谢 ……………………………………………………………………25
1 引言
数字信号处理是将信号以数字方式表示并处理的理论和技术,在计算机及信息科学技术日新月异的今日,其已渐渐发展成一门独立的学科,更是成为信息科学不可或缺的一部分.所谓信号处理是指对信号进行滤波、变换、分析、加工、提取特征参数等的过程,而信号的频谱分析与滤波器设计则是数字信号处理中比较重要的两个部分.随着信息时代与数字世界的到来,数字信号处理在通信、雷达、航空、医疗、军事等众多领域的重要性愈发凸显.
对信号进行频谱分析即是对信号利用傅里叶变换的方法进行分解,将其按照频率顺序展开,最终导出频率的函数,进而能够在频域的范围内对信号进行更深层次的研究.与频谱分析最直接相关的就是傅里叶变换,离散傅里叶变换(DFT)是对数字信号进行频谱分析的基本手段,而由此演变而来的快速傅里叶变换(FFT)则是进行频谱分析的重要方法,本文采用的便是这种处理方式.
滤波器有模拟滤波器与数字滤波器之分,模拟滤波器可以直接用来处理现实生活中的模拟信号,如音频信号,而数字滤波器处理的对象是已经经过AD转换的数字信号.模拟滤波器一般用电容,电感这些模拟器件搭建的,数字滤波器可以通过软件或者数字芯片来实现.模拟滤波器如需修改参数时需要对相关的电容、电感进行更换调整,较为复杂麻烦,而数字滤波器仅需要对相关的参数进行调整(如采用matlab进行设计时)即可实现滤波器参数的修改,较为方便快捷.此外数字滤波器较之于模拟滤波器还具有稳定性高、精度高等突出的优点,有效的避免了模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题,故本文着重探讨数字滤波器的原理与设计.
数字滤波器可分为有限长冲激响应(FIR)和无限长冲激响应(IIR)这两大类,IIR的系统函数式用有理分式来表述的,且它的脉冲响应是无限长的,这就增加了设计分析的难度.而对于FIR系统脉冲响应是有限长的,而且是用多项式的形式来描述的.不同于IIR滤波器,FIR滤波器能实现在严格保证其线性相位的条件下实现滤波器幅度特性的灵活设计,因而其在实际中的应用也更为广泛.FIR数字滤波器设计的最重要的部分就是选取合适的脉冲响应,以此得到能满足技术指标中系统幅频特性要求和相频特性要求的系统函数,而对于本文而言由于采用窗函数法来设计滤波器,故主要问题就是怎样选择合适的窗函数,使之尽量逼近技术要求,为此需要在熟悉各种窗函数功能的基础之上,按照需求选择合适的窗函数.
本文第一部分首先比较了DFT与FFT的异同,并解释了为何FFT能极大的提高计算效率的原理,之后对利用FFT对连续及离散信号进行频谱分析的原理进行了阐述,此后结合相关的实例给出了基于Matlab的解决方案,并给出相关的代码,最后对实验的结果给出了分析与比较.本文的第二部分首先对滤波器的分类进行介绍并对模拟滤波器与数字滤波器进行了比较,其后进一步对数字滤波器做详细的解释并对两种以时域特性来划分的不同的数字滤波器进行比较,随后简单描述了窗函数法设计滤波器的原理,给出了相关的公式,紧接着本文对几种常见的不同窗函数进行了对比,给出了同一窗口长度下不同窗函数的相关参数,并对窗函数的选取理由进行了解释,此后又对Matlab中滤波器的设计工具进行了简单的阐述,最后结合具体的实例给出了各种不同数字滤波器的解决方案,并结合上一节的实验结果对滤波器的滤波结果进行了分析解释.基于DSP 的硬件实验和基于Matlab 的软件实验是数字信号处理实验的两种重要手段.采用Matlab进行软件模拟较之于基于DSP的硬件实验具有方便、快速的优点,有助于我们更好的加深对数字信号处理中基本概念、原理及方法的理解与应用.为此本文给出了利用Matlab软件解决相关实例问题的方法,最后对实验结果进行分析比较,以期这些方法对相关问题能起到一定的指导作用.
2 信号的频谱分析
2.1 DFT与FFT
频谱分析中最强大的工具是傅里叶变换,它是建立在“信号”与“频谱函数”之间的关系,其中“信号”以时间作为自变量,而“频谱函数”以频率作为自变量.两种自变量取值的连续与离散性,就构成了不同的傅里叶变换.
利用离散傅里叶变换(DFT)可以对信号的频谱、线性卷积和功率谱进行计算,因而其在实际应用中是非常重要的.离散傅立叶变换(DFT)的计算方法是,设是一个有限长序列,则它的点DFT:
, (1)
.
剩余内容已隐藏,请支付后下载全文,论文总字数:12053字