FIR高通滤波器的设计.docx
《FIR高通滤波器的设计.docx》由会员分享,可在线阅读,更多相关《FIR高通滤波器的设计.docx(12页珍藏版)》请在冰豆网上搜索。
FIR高通滤波器的设计
课程设计任务书
学生姓名:
专业班级:
电信0902班
指导教师:
工作单位:
信息工程学院
题目:
FIR高通滤波器的设计
初始条件:
具备数字信号处理的理论知识;
具备Matlab编程能力;
熟悉高通滤波器的设计原理;
提供编程所需要的计算机一台
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、设计阻带截止频率为200Hz的FIR数字高通滤波器
2、独立编写程序实现
3、完成符合学校要求的设计说明书
时间安排:
一周,其中3天程序设计,2天程序调试
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
目录
摘要I
1MATLAB基础知识的介绍1
1.1MATLAB的介绍1
1.2基本功能1
2FIR滤波器简介2
3高通滤波器及其应用3
3.1高通滤波器的定义3
3.2高通滤波器的应用3
3.3高通滤波的时域分析3
3.4高通滤波器频域分析4
4窗函数的相关知识5
4.1窗函数的基本概念5
4.2窗函数的设计原理6
4.3窗函数的设计步骤6
5FIR数字滤波器程序设计与仿真7
5.1窗函数程序设计7
5.2仿真结果图9
6心得体会11
参考文献12
摘要
数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。
应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器有低通、高通、带通、带阻和全通等类型。
它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
应用最广的是线性、时不变数字滤波器,以及FIR滤波器。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
关键字:
FIR、高通、滤波器
1MATLAB基础知识的介绍
1.1MATLAB的介绍
MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
1.2基本功能
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。
2FIR滤波器简介
FIR滤波器:
有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
有限长单位冲激响应(FIR)滤波器有以下特点:
(1)系统的单位冲激响应h(n)在有限个n值处不为零;
(2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处(因果系统);
(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。
目前,FIR滤波器的硬件实现有以下几种方式:
(1)数字集成电路FIR滤波器
一种是使用单片通用数字滤波器集成电路,这种电路使用简单,但是由于字长和阶数的规格较少,不易完全满足实际需要。
虽然可采用多片扩展来满足要求,但会增加体积和功耗,因而在实际应用中受到限制。
(2)DSP芯片FIR滤波器
另一种是使用DSP芯片。
DSP芯片有专用的数字信号处理函数可调用,实现FIR滤波器相对简单,但是由于程序顺序执行,速度受到限制。
而且,就是同一公司的不同系统的DSP芯片,其编程指令也会有所不同,开发周期较长。
(3)可编程FIR滤波器
还有一种是使用可编程逻辑器件,FPGA/CPLD。
FPGA有着规整的内部逻辑块整列和丰富的连线资源,特别适合用于细粒度和高并行度结构的FIR滤波器的实现,相对于串行运算主导的通用DSP芯片来说,并行性和可扩展性都更好。
3高通滤波器及其应用
3.1高通滤波器的定义
高通滤波器是容许高频信号通过、但减弱(或减少)频率低于截止频率信号通过的滤波器。
对于不同滤波器而言,每个频率的信号的减弱程度不同。
它有时被称为低频剪切滤波器;在音频应用中也使用低音消除滤波器或者噪声滤波器。
高通滤波器与低通滤波器特性恰恰相反。
3.2高通滤波器的应用
这样的滤波器能够把高频率的声音引导至专用高音喇叭(tweeter),并阻止可能干擾或者损害喇叭的低音信号。
使用线圈而不是电容的低通滤波器也可以同时把低频信号引导至低音喇叭(woofer)。
参见音频桥(en:
audiocrossover)。
高通和低通滤波器也用于数字图像处理中在频域中进行变换。
3.3高通滤波的时域分析
在时域,信号经过系统的响应y(n)体现为激励x(n)跟系统单位抽样响应h(n)的卷积和y(n)=(n)×h(n)=ΣN–1m=0h(m)x(n-m)[223]。
对于长度为N的FIR系统,h(n)可以看成一个长度为N点的固定窗口,而x(n)则看成一个队列以齐步走的方式穿过h(n)窗口,每走一步,位于窗口中的x(n)部分的点跟h(n)的对应点的值相乘(即加权)再求和,所得结果构成此时系统的响应值y(n),x(n)队列每走一步就得到一个响应值y(n),即y(n)是h(n)对位于其窗口中的x(n)的加权求和。
高通滤波要求h(n)窗口具有波形锐化作用,即利用h(n)窗口加权和使得变化快的(即高频)正弦分量保留(理想高通)或衰减幅度小(实际高通),而变化缓慢(即低频)的正弦分量正负抵消(理想高通)或衰减幅度大(实际高通)。
设
其中N必须取奇数,
2.1.1
其中:
fs=11kHz,n为整数,即x(n)由100Hz的
x1(n)和1kHz的x2(n)两种频率的信号组成。
高通滤波的目的就是要尽可能地去掉x(n)中的低频分量
x1(n),同时尽可能地保留x(n)中的高频分量x2(n)。
x(n)跟h(n)卷积结果如图1所示,从图1可看出,响
应y(n)中几乎只剩下右移了(N-1)/2=5个样值点的1kHz的信号x2(n)。
3.4高通滤波器频域分析
在频域,信号经过系统的响应y(n)的频谱Y(ejω)体现为激励x(n)的频谱X(ejω)跟系统单位抽样响应h(n)的频谱H(ejω)(即系统的频谱)的乘积Y(ejω)=|H(ejω)|×|X(ejω)|×ejφH+φx,即响应的频谱Y(ejω)的幅值由系统频谱H(ejω)的幅值对激励频谱X(ejω)的幅值相乘(加权)得到,响应的频谱Y(ejω)的幅角由系统的频谱H(ejω)的幅角跟激励频谱X(ejω)的幅角相加(移相)得到[122]。
高通滤波要求系统幅度函数|H(jf)|对需要保留的高频信号频谱加权权重较大(理想时为1),对需要滤除的低频信号频谱加权权重较小(理想时为0)。
4窗函数的相关知识
4.1窗函数的基本概念
在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。
这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。
而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。
当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。
而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。
而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。
另外,在功率谱估计中也要遇到窗函数加权问题。
窗函数的基本概念。
设x(n)是一个长序列,w(n)是长度为N的窗函数,用w(n)截断x(n),得到N点序列xn(n),即xn(n)=x(n)w(n)
在频域上则有
由此可见,窗函数w(n)不仅仅会影响原信号x(n)在时域上的波形,而且也会影响到频域内的形状。
4.2窗函数的设计原理
窗函数设计法的基本原理是用有限长单位脉冲响应序列
逼近
。
由于
往往是无限长序列,而且是非因果的,所以用窗函数
将
截断,并进行加权处理,得到:
就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数
为
式中,N为所选窗函数
的长度。
用窗函数法设计的滤波器性能取决于窗函数
的类型及窗口长度N的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N。
4.3窗函数的设计步骤
窗函数法设计线性相位FIR滤波器可以按如下步骤:
1.确定数字滤波器的性质要求,确定各临界频率{
}和滤波器单位脉冲响应长度N。
2.根据性能要求和N值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应h
(e
)的幅频特性和相位特性。
3.用傅里叶反变换公式,求得理想单位脉冲响应H
(n)。
4.选择适当的窗函数W(n),求得所设计的FIR滤波器单位脉冲响应。
5.用傅里叶变换求得其频率响应H(e
),分析他的频率特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述过程,直至得到满意结果。
5FIR数字滤波器程序设计与仿真
5.1窗函数程序设计
f1=100;f2=700;%待滤波正弦信号频率
fs=2000;%采样频率
m=(0.3*f1)/(fs/2);%定义过度带宽
M=round(8/m);%定义窗函数的长度
N=M-1;%定义滤波器的阶数
window=hanning(M);
b=fir1(N,0.2,'high',window);%使用fir1函数设计滤波器
%输入的参数分别是滤波器的阶数和截止频率
figure
(1)
[h,f]=freqz(b,1,512);%滤波器的幅频特性图
%[H,W]=freqz(B,A,N)当N是一个整数时函数返回N点的频率向量和幅频响应向量
plot(f*fs/(2*pi),20*log10(abs(h)))%参数分别是频率与幅值
xlabel('频率/赫兹');
ylabel('增益/分贝');
title('滤波