FIR数字滤波器的算法实现与习题(1)
FIR数字滤波器的算法实现与习题(1)
FIR数字滤波器的算法实现与习题[例3] 窗函数设计法实现一个低通数字滤波器,要求通带截止频率10kHz,阻带截止频率22kHz,阻带衰减大于75dB,采样频率f s=75kHz。
过渡带宽度=通带截止频率+过渡带宽度/2=10kHz+12/2kHz=16 kHz数字截止频率Ω1=2π×f1/ f s=2π×16/50=0.64π理想低通滤波器单位脉冲响应h1(n)=sin(nΩ1)/n/π=sin(0.64πn)/n/π选择布莱克曼窗,滤波器长度为N=5.98 f s过渡带宽度=5.98×50/12=24.9取N=25,布莱克曼窗函数为w(n)=0.42-0.5cos(2πn/24)+0.08cos(4πn/24)滤波器单位脉冲响应为h(n)= h1(n)w(n) n≤N-1h(n)=0 n< N-1根据上式计算出,然后将单位脉冲响应移位为因果序列,完成的滤波器差分方程为y(n)=0.001x(n-2) -0.002x(n-3) -0.002x(n-4)+0.01x(n-5)-0.009x(n-6)-0.018x(n-7)+0.049x(n-8) -0.02x(n-10)+0.11x(n-11)+0.28x(n-11)+0.64x(n-13)+0.28x(n-14)-0.11x(n-15)-0.02x(n-16)-0.049x( n-17)-0.018x(n-18)-0.009x(n-19)+0.01x(n-20)-0.002x(n-21)-0.002x(n-22)+0.001x(n-23) 数字滤波器程序如下:#include “math.h”//数学函数头文件#define N 25 //FIR阶数N#define PI 3.1415926float InputWave( );//输入波形float FIR();// FIR滤波函数声明float fHn[N]={0.0,0.0,0.001,-0.002,-0.002,0.01,-0.009,//滤波器系数-0.018,0.049,-0.02,0.11,0.28,0.64,0.28,-0.11,-0.02,0.049,-0.018,-0.009,0.01,-0.002,-0.002,0.001,0.0,0.0};float fXn[N]={0.0};float fInput,fOutput;float fSignal1,fSignal2;float fStepSignal1,fStepSignal2;float f2PI;//2*PIint i;float FIN[256],FOUT[256];//输入信号与输出信号i int nIn,nOut;main(void){nIn=0;nOut=0;f2PI =2*PI;fSignal1=0.0;fSignal2=PI*0.1;fStepSignal1=2*PI/30;fStepSignal2=2*PI*1.4;while(1){fInput=InputWave();FIN[nIn]= fInput;nIn++;nIn%=256;fOutput=FIR();//调用HR滤波函数FOUT[nOut]= fOutput;nOut++;if( nOut>=256) nOut=0;}}float InputWave() //输入波形函数{for(i=N-1;i>0;i--) fXn[i]=fXn[i-1];fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;fSignal1+ = fStepSignal1;if( fSignal1>=f2PI) fSignal1- = f2PI;fSignal2+ = fStepSignal2;if( fSignal2>=f2PI) fSignal2- = f2PI;retum( fXn[0] );float FIR( ) //FIR滤波函数{float fSum;fSum=0;for( i=0;i<N;i++) fSum + = (fXn[i]*fHn[i]);return(fSum);}思考题与习题1.DSP芯片有哪些主要特点?2.简述典型DSP应用系统的构成。
实验4 FIR数字滤波器的DSP编程实现-推荐下载
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
数字信号处理(清华大学 第二版)第七章 FIR数字滤波器的设计方法 习题
则FIR滤波器的频率响应:
H
e j
e j25
12
sin
2
51
k
1
2
sin 512
51
k
1
2
k0
51sin
2
51
k
1 2
51sin
2
51
k
1 2
6
7
9.已知图P7-9-1中的 h1 n 是偶对称序列N 8 ,
图P7-9-2中的 后的序列。设
h2 n是h1 n圆周移位(移
则FIR滤波器的频率响应:
H
e j
e
j 25
sin
51
2
51sin
2
12 k 1
sin
51
51sin
2
2
k
51
k
51
sin 51
55sin
2
2
k
51
k
51
5
按第二种频率抽样,得
H
k
1,
0
k
Int
N
2
c
N
12
0,
13 k N 1 25 2
n
hd
n
c
sin c n c n
N 43
21
c 0.5
线性相位FIR低通滤波器:
h n hd n wn
0.54
0.46
cos
n
21
sin
0.5n 21 n 21
0
n
其他n
13
用海明窗设计得到FIR滤波器的幅频响应:
14
2
10
,
0
实验四FIR数字滤波器的设计
实验四FIR数字滤波器的设计
FIR(有限冲击响应)数字滤波器是一种常见的数字信号处理器件,
可以用于滤波、降噪等应用。
下面是一种FIR数字滤波器的设计流程:
1.确定滤波器的需求:首先确定需要滤除的频率范围和滤波的类型,
例如低通、高通、带通、带阻等等。
2.设计滤波器的频率响应:根据滤波器的需求,设计其理想的频率响应。
可以使用窗函数、最小二乘法等方法获得一个理想的滤波器响应。
3.确定滤波器的阶数:根据设计的频率响应,确定滤波器的阶数。
阶
数越高,滤波器的响应越陡峭,但计算复杂度也会增加。
4.确定滤波器的系数:根据滤波器的阶数和频率响应,计算滤波器的
系数。
可以使用频域窗函数或时域设计方法。
5.实现滤波器:根据计算得到的滤波器系数,实现滤波器的计算算法。
可以使用直接形式、级联形式、传输函数形式等。
6.评估滤波器的性能:使用所设计的FIR滤波器对输入信号进行滤波,评估其滤波效果。
可以使用频率响应曲线、幅频响应、群延时等指标进行
评估。
7.调整滤波器设计:根据实际的滤波效果,如果不满足需求,可以调
整滤波器的频率响应和阶数,重新计算滤波器系数,重新实现滤波器。
以上是FIR数字滤波器的基本设计流程,设计过程中需要考虑滤波器
的性能、计算复杂度、实际应用需求等因素。
课后习题及答案_第7章有限脉冲响应数字滤波器设计--习题(精品pdf)
第6章 有限脉冲响应(FIR)数字滤波器的设计习题1. 已知FIR 滤波器的单位脉冲响应为:(1) h (n )长度N =6h (0)=h (5)=1.5h (1)=h (4)=2h (2)=h (3)=3(2) h (n )长度N =7h (0)=- h (6)=3h (1)=- h (5)=- 2h (2)=-h (4)=1h (3)=0试分别说明它们的幅度特性和相位特性各有什么特点。
2. 已知第一类线性相位FIR 滤波器的单位脉冲响应长度为16, 其16个频域幅度采样值中的前9个为:H g (0)=12, H g (1)=8.34, H g (2)=3.79, H g (3)~H g (8)=0根据第一类线性相位FIR 滤波器幅度特性H g (ω)的特点, 求其余7个频域幅度采样值。
3. 设FIR 滤波器的系统函数为求出该滤波器的单位脉冲响应h (n ), 判断是否具有线性相位, 求出其幅度特性函数和相位特性函数。
4. 用矩形窗设计线性相位低通FIR 滤波器, 要求过渡带宽度不超过π/8 rad 。
希望逼近的理想低通滤波器频率响应函数H d (e j ω)为(1) 求出理想低通滤波器的单位脉冲响应h d (n );(2) 求出加矩形窗设计的低通FIR 滤波器的单位脉冲响应h (n )表达式, 确定)9.01.29.01(101)(4321−−−−++++=z z z z z Hα与N之间的关系;(3)简述N取奇数或偶数对滤波特性的影响。
5.用矩形窗设计一线性相位高通滤波器,要求过渡带宽度不超过π/10 rad。
希望逼近的理想高通滤波器频率响应函数H d(e jω)为(2)用h1(n)和h2(n)分别构成的低通滤波器是否具有线性相位?群延时为多少?题8图9.对下面的每一种滤波器指标,选择满足FIRDF设计要求的窗函数类型和长度。
(1)阻带衰减为20 dB,过渡带宽度为1 kHz,采样频率为12 kHz;(2)阻带衰减为50 dB,过渡带宽度为2 kHz,采样频率为20 kHz;(3)阻带衰减为50 dB,过渡带宽度为500 Hz,采样频率为5 kHz。
数字信号处理02-习题1-FIR滤波器设计_80
主讲人:李艳凤电子信息工程学院数 字 信 号 处 理Digital Signal Processing已知信号y(t)= x(t)+ n(t) ,其中x(t)是频率范围在0~2.5 kHz 的有用信号,n(t)是频率范围在3 kHz~4 kHz的噪声信号。
若按抽样频率fsam=10 kHz对信号y(t)进行抽样,得到离散信号y[k],设计能滤除y[k] 中噪声信号的FIR数字滤波器,要求对噪声的衰减As 不小于40dB。
FIR数字滤波器设计解:pp p sam 2π05r .πad f T f Ωω===s s s sam2π06r .πad f T f Ωω=== 设计数字低通滤波器以滤除噪声,有用信号频率范围是0~2.5 kHz ,噪声信号的频率范围是3 ~4 kHz数字滤波器的设计指标选择I 型线性相位FIR 数字滤波器 选取 : f p =2.5 kHzf s =3 kHz解:由于对噪声的衰减A s 不小于40dB ,选择Hann 窗p 0.5πrad Ω=s 0.6πradΩ=6.2p /N≤|Ωs - Ωp | 阶数M=N - 1由窗口类型以及过渡带宽度决定I 型线性相位FIR 数字滤波器,阶数M 为偶数,因而选取N =63取整得 N =62c p s ()/20.55π radΩΩΩ=+=6.2p /N≤0.1pd πj ()j d d π1[]()e e d 2πk h k A ϕΩΩΩΩ-=⎰解: 1. 确定幅度函数A d (Ω)和ϕd (Ω)d 1||0.55π()0A ΩΩ≤⎧=⎨⎩其他d ()2M ϕΩΩ=-2.根据A d (Ω)和ϕd (Ω)构建H d (e j Ω),通过IDTFT 求解h d [k ]3.加窗截短h d [k ],得到h [k ]= h d [k ]w N [k ],k =0, 1, …, 62.0.55Sa[0.55(31)]=p -k M =62FIR数字滤波器设计谢谢本课程所引用的一些素材为主讲老师多年的教学积累,来源于多种媒体及同事和同行的交流,难以一一注明出处,特此说明并表示感谢!。
实验五FIR数字滤波器的设计
实验五FIR数字滤波器的设计FIR数字滤波器(Finite Impulse Response)是一种数字滤波器,它的输出仅由有限数量的输入样本决定。
设计FIR数字滤波器的步骤如下:1.确定滤波器的要求:首先需要明确滤波器的频率响应、截止频率、通带和阻带的幅频响应等要求。
2.选择滤波器类型:根据实际需求选择合适的滤波器类型,如低通滤波器、高通滤波器、带通滤波器或带阻滤波器等。
3.确定滤波器的阶数:根据滤波器类型和要求,确定滤波器的阶数。
通常情况下,滤波器的阶数越高,能够实现更陡峭的频率响应,但会引入更多的计算复杂度。
4.设计滤波器的理想频率响应:根据滤波器的要求和类型,设计滤波器的理想频率响应。
可以使用常用的频率响应设计方法,如窗函数法、最小最大法或线性相位法等。
这些方法可以实现平滑的频率响应或者良好的阻带衰减。
5.确定滤波器的系数:根据设计的理想频率响应,通过反变换或优化算法确定滤波器的系数。
常用的优化算法包括频域方法、时域方法、最小二乘法或最小相位法等。
6.实现滤波器:将所得的滤波器系数转化为滤波器的差分方程形式或直接计算滤波器的频域响应。
7.评估滤波器性能:使用合适的测试信号输入滤波器,并对滤波器的输出进行评估。
可以使用指标,如频率响应曲线、幅度响应误差、相位响应误差或阻带衰减等指标来评估滤波器性能。
8.优化滤波器性能:根据评估结果,进行必要的修改和优化设计,以满足滤波器的要求。
通过以上步骤,可以设计出满足需求的FIR数字滤波器。
需要注意的是,FIR数字滤波器设计的复杂度和性能需要权衡与平衡,以满足实际应用的要求。
FIR习题集
FIR 数字滤波器设计本章知识点:对于一个离散时间系统∑∑=-=--=M 1n nn 1-N 0n nnz a 1z bz H )(,若分母多项式中系数0a a a M 21==== ,则此系统就变成一个FIR 系统∑-=-=1N 0n n nz bz H )(,其中系数1-N 10b ,.b ,b 即为该系统的单位取样响应h ( 0 ) , h ( 1 ) ,… h ( N-1 ),且当n > N-1时,h ( n ) = 0。
FIR 系统函数H(z) 在Z 平面上有N-1个零点,在原点z=0处有N-1个重极点。
这类系统不容易取得较好的通带和阻带特性,要想得到与IIR 系统类似的衰减特性,则要求较高的H(z)阶次。
相比于IIR 系统来说,FIR 系统主要有三大突出优点:1)系统永远稳定;2)易于实现线性相位系统;3)易于实现多通带(或多组带)系统。
线性相位FIR 滤波器实现的充要条件是:对于任意给定的数值N (奇数或偶数),冲激响应h[n] 相对其中心轴21-N 必须成偶对称或奇对称,此时滤波器的相位特性是线性的,且群延时均为常数 21-=N τ。
由于h(n) 有奇对称和偶对称两种情况,h(n)的点数N 有奇数、偶数之分。
因此,h (n )可以有4种不同的类型,分别对应于4种线性相位FIR 数字滤波器:h[n] 偶对称N 为奇数、h[n] 偶对称N 为偶数、h[n] 奇对称N 为奇数、h[n] 奇对称N 为偶数。
四种线性相位FIR 滤波器的特性归纳对比于表5.1中。
一.FIR DF 设计方法FIR DF 的设计实现不能像IIR DF 设计那样借助于模拟滤波器的设计方法来实现,其设计方法主要是建立在对理想滤波器频率特性进行不同程度逼近的基础上,主要的逼近方法有三种:窗函数法;频率抽样法;最佳一致逼近法。
1. 窗函数法窗函数法是设计FIR 滤波器的最直接方法,它通过采用不同时宽的窗函数,对理想滤波器的无限长冲激响应h d (n)进行截短,从而得到系统的有限长冲激响应 h (n),这一过程可用式5-1来描述:,021-N ||,(n)h )()()(d ⎪⎩⎪⎨⎧≤=其它= n n w n h n h R d (5.1)其中W R (n)是时宽为N 的窗函数。
实验三:用窗函数法设计FIR数字滤波器1
实验四:用窗函数法设计FIR 数字滤波器4学时 设计性一、实验目的1.掌握用窗函数法设计FIR 数字滤波器的原理和方法。
2.熟悉线性相位FIR 数字滤波器特征。
3.了解各种窗函数对滤波特性的影响。
二、实验仪器微型计算机 matlab 软件 三、实验原理和方法如果所希望的滤波器的理想频率响应函数为 )(ωj d eH ,则其对应的单位脉冲响应为)(n h d =π21ωωωππd eeH j j d )(⎰-(2-1)窗函数设计法的基本原理是用有限长单位脉冲响应序列)(n h 逼近)(n h d 。
由于)(n h d 往往是无限长序列,且是非因果的,所以用窗函数)(n ω将)(n h d 截断,并进行加权处理,得到:)(n h =)(n h d )(n ω (2-2) )(n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(ωj d e H 为:)(ωj d eH =∑-=-1)(N n j e n h ω (2-3)式中,N 为所选窗函数)(n ω的长度。
由第七章可知,用窗函数法设计的滤波器性能取决于窗函数)(n ω的类型及窗口长度N 的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。
各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。
这样选定窗函数类型和长度N 后,求出单位脉冲响应)(n h =)(n h d ·)(n ω,并按式(2-3)求出)(ωj e H 。
)(ωj eH 是否满足要求,要进行验算。
一般在)(n h 尾部加零使长度满足于2的整数次幂,以便用FFT 计算)(ωj e H 。
如果要观察细节,补零点数增多即可。
如果)(ωj eH 不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。
如果要求线性相位特性,则)(n h 还必须满足)1()(n N h n h --±= (2-4)根据上式中的正负号和长度N 的奇偶性又将线性相位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滤波器设计与实现的实验。
DSP软件编程(fir滤波器)
FIR滤波器的单位冲激响应 FIR滤波器的单位冲激响应h(n)为有限长序列。 滤波器的单位冲激响应h 为有限长序列。 若h(n)为实数,且满足偶对称或奇对称的条件, 为实数,且满足偶对称或奇对称的条件, 则FIR滤波器具有线性相位特性。 FIR滤波器具有线性相位特性。 滤波器具有线性相位特性 偶对称: 偶对称:h(n)= h(N-1-n); 奇对称: 奇对称:h(n)= -h(N-1-n)。 偶对称线性相位FIR滤波器的差分方程: FIR滤波器的差分方程 偶对称线性相位FIR滤波器的差分方程:
FIR滤波器的DSP实现 FIR滤波器的DSP实现 滤波器的DSP
在数字信号处理中,滤波占有极其重要的地位。 在数字信号处理中,滤波占有极其重要的地位。 数字滤波是语音处理、图像处理、模式识别、 数字滤波是语音处理、图像处理、模式识别、频谱分 析等应用中的基本处理算法。 DSP芯片实现数字滤 析等应用中的基本处理算法。用DSP芯片实现数字滤 波除了具有稳定性好、精确度高、 波除了具有稳定性好、精确度高、不受环境影响等优 点外,还具有灵活性好等特点。 点外,还具有灵活性好等特点。 数字滤波器是DSP的基本应用, DSP的基本应用 数字滤波器是DSP的基本应用,分为有限冲激响 应滤波器FIR和无限冲激响应滤波器IIR 应滤波器FIR和无限冲激响应滤波器IIR。 FIR和无限冲激响应滤波器IIR。 本节主要讨论FIR滤波器的基本结构、 FIR滤波器的基本结构 本节主要讨论FIR滤波器的基本结构、设计方法 DSP实现方法 实现方法。 和DSP实现方法。
y (n) = ∑ bi x( n − i )
数字信号处理第五章附加题
第五章FIR 滤波器的设计附加题1. 一FIR 数字滤波器的传输函数为12341()[1242]30H z z z z z ----=++++ 求()h n 、幅度()H ω、和相位()ϕω。
2. 一个FIR 线性相位滤波器的h(n)是实数,且n<0和n>6时,h(n)=0。
如果h(0)=1且系统函数在30.5j z e π=和z = 3处各有一个零点,求()H z 。
3. 一个FIR 线性相位滤波器的h(n)是实数,且n<0和n>6时,h(n)=0。
如果h(0)=1且系统函数在30.5j z e π=和z = 3处各有一个零点,求()H z 。
4. 如图所示h 1(n)为N=8的偶对称序列,h 2(n)为其循环右移4位后的序列。
设H 1(k)=DFT [ h 1(n) ],H 2(k)=DFT [ h 2(n) ](1)问 | H 1(k)| = | H 2(k)| 吗?1()k θ与2()k θ的关系是什么?(2)若h 1(n)、h 2(n)各构成一个低通滤波器,问它们是否是线性相位的?延时分别是多少?(3)两个滤波器的性能是否相同?0123456701234567h 1(n) h 2(n)5. 用矩形窗设计一线性相位FIR 低通数字滤波器0()0j a c j d c e H e ωωωωωωπ-⎧≤≤⎪=⎨<≤⎪⎩ (1)求h d (n);(2)求h(n),并确定a 与N 的关系;(3)讨论N 取奇数和偶数对滤波器性能有什么影响。
6. 设计一个线性相位FIR 低通滤波器,给定抽样频率为42**1.5*10(/sec)s pi rad Ω=,通带截止频率为32**1.5*10(/sec)p pi rad Ω=,阻带起始频率为32**3*10(/sec)st pi rad Ω=,阻带衰减不小于-50db 。
7. 选择合适的窗函数设计FIR 数字滤波器:通带衰减为0dB ,阻带衰减为40dB ,通带边缘频率为1kHz ,阻带边缘频率为2.5kHz ,采样频率为12kHz 。
实验七FIR滤波器的算法
实验七FIR滤波器的算法一、实验目的和任务1.理解并掌握FIR数字滤波器的机理;2. 掌握用MATLAB构建FIR滤波器的方法,设计FIR低通滤波器;3. 掌握FIR滤波器的算法;二、实验原理滤波器的种类很多,从功能上可以分为低通、高通、带通和带阻滤波器,上述每种滤波器又可以分为模拟滤波器和数字滤波器。
如果滤波器的输入输出都是数字信号,则这样的滤波器称之为数字滤波器,它通常通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分来实现滤波。
根据数字滤波器冲激响应的时域特性,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器[3]。
有数字信号处理的一般理论可知,IIR滤波器的特征是具有无限持续时间的冲激响应,而FIR滤波器使冲激响应只能持续一定的时间。
三、FIR滤波器的窗函数设计法FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。
窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:(1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。
(2) 由性能指标确定窗函数W(n)和窗口长度N。
(3) 求得实际滤波器的单位脉冲响应h(n),h(n)即为所设计FIR滤波器系数向量b(n)。
(4) 检验滤波器性能。
设计FIR低通、带通滤波器,并改变参数要求,观察输出结果。
实例一及解析:wp=0.2*pi;Ap=1;ws=0.3*pi;As=15;T=1;Fs=1/T;Op=(2/T)*tan(wp/2);Os=(2/T)*tan(ws/2);N=ceil((log10((10^(Ap/10)-1)/(10^(As/10)-1)))/(2*log10(Op/Os)));OmegaC=Os/((10^(As/10)-1)^(1/(2*N)));[z,p,k]=buttap(N);p=p*OmegaC;k=k*OmegaC^N;bs=k;as=real(poly(p));[b,a]=bilinear(bs,as,Fs);n=0:0.02*pi:pi;[H,w]=freqz(b,a,n);magH=abs(H);db=20*log10((magH+eps)/max(magH));subplot(2,1,1);plot(w/pi,magH);subplot(2,1,2);plot(w/pi,db);实例一的解析:wp=0.2*pi;Ap=1;ws=0.3*pi;As=15;T=1;Fs=1/T;Op=(2/T)*tan(wp/2);Os=(2/T)*tan(ws/2 );%利用双线性变换法计算模拟滤波器的截止频率和通带截止频率N=ceil((log10((10^(Ap/10)-1)/(10^(As/10)-1)))/(2*log10(Op/Os)));%这是在求滤波器的阶数ceil函数是用来求大于后面的最小实数OmegaC=Os/((10^(As/10)-1)^(1/(2*N)));[z,p,k]=buttap(N);%z = [];p = exp(sqrt(-1)*(pi*(1:2:2*n-1)/(2*n)+pi/2)).';k = real(prod(-p));详细使用方法见matlab help中的buttap,是固定滤波函数p=p*OmegaC;k=k*OmegaC^N;bs=k;as=real(poly(p));[b,a]=bilinear(bs,as,Fs); %把s变换变成z变换n=0:0.01*pi:pi;[H,w]=freqz(b,a,n);magH=abs(H);db=20*log10((magH+eps)/max(magH));subplot(2,1,1);plot(w/pi,magH);subplot(2,1,2);plot(w/pi,db);实例二(Buttord函数法)2.高通滤波器程序:fc=30;fs=100;fst=35;Rc=0.5;Rst=40;Wc=fc/(fs/2);Wst=fst/(fs/2);[N,Wn]=Buttord(Wc,Wst,Rc,Rst);[B,A]=Butter(N,Wn,'high');[H,w]=freqz(B,A);plot(w*fs/(2*pi),abs(H))gridfs=1000;fc1=180;fc2=280;fst1=140;fst2=320;rc=0.5;rst=40;wc=[fc1,fc2]/(fs/2);wst=[fst1,fst2]/(fs/2);[N,Wn]=Buttord(wc,wst,rc,rst);[B,A]=Butter(N,Wn); fs=1000;0510152025303540455000.20.40.60.811.21.4。
实验8 FIR数字滤波器的设计实验
实验8 FIR 数字滤波器设计实验一.实验目的1.掌握用窗函数法设计FIR 数字滤波器的原理和方法。
2.熟悉线性相位FIR 数字滤波器特性。
3.了解各种窗函数对滤波器特性的影响。
二.实验设备PC 兼容机一台,操作系统为WindowsXP ,安装CCS 软件。
三.实验原理1.基于窗函数法设计FIR 数字滤波器的基础理论。
(请参考教材《数字信号处理教程》)2.根据要求设计FIR 数字低通滤波器。
要求:通带边缘频率10kHz p f =,阻带边缘频率22kHz st f =,阻带衰减70dB ,采样频率50kHz s f =。
(1) 求各对应的数字频率:通带截止频率:2210500.4 p p s f f ωπππ==⋅=弧度阻带截止频率:2222500.88 st st s f f ωπππ==⋅=弧度阻带衰减相当于:270dB δ=(2) 求()d h n 。
设,()0, j j c d e H e ωτωωω-⎧≤=⎨⎩其他, 理想数字低通滤波器的截止频率为:10.40.88()0.6422c p st ππωωωπ+=+== 由此可得:()()sin ,1()2, c j j n d c n n n h n e e d n πωτωπωττπτωπωτπ--⎧-⎡⎤⎣⎦≠⎪⎪-==⎨⎪=⎪⎩⎰ 其中,12N τ-=(3) 求窗函数。
由阻带衰减2δ确定窗形状,由过渡带宽确定N 。
由于270dB δ=,查表可选择布莱克曼窗。
由于布莱克曼窗过渡带宽满足: 5.982/N ωπ=⋅故:窗函数长度 )5.9820.880.424.9N πππ=⋅-=所以N =25,窗函数为:2424()0.420.5cos 0.08cos ()2424n n w n R n ππ⎡⎤⎛⎫⎛⎫=-+⋅ ⎪ ⎪⎢⎥⎝⎭⎝⎭⎣⎦ (4) 求()h n 。
()()24sin 0.641224()()()0.420.5cos 0.08cos ()122424d n n n h n h n w n R n n ππππ-⎡⎤⎡⎤⎛⎫⎛⎫⎣⎦=⋅=⋅-+⋅ ⎪ ⎪⎢⎥-⎝⎭⎝⎭⎣⎦(5) 根据上面计算出的()h n ,得到数字滤波器的差分方程为:()0.001(2)0.002(3)0.002(4)0.01(5)0.009(6)0.018(7)0.049(8)0.02(9)0.11(10)0.28(11)0.64(12)0.28(13) 0.11(14)0.02(15)0.049(y n x n x n x n x n x n x n x n x n x n x n x n x n x n x n x n =-----+-----+-----+-+-+-----+16)0.018(17)0.009(18)0.01(19)0.002(20)0.002(21)0.001(-22)x n x n x n x n x n x n -----+-----+3.程序流程图:四.实验步骤1.设置软件仿真工作模式。
FIR数字滤波器的Matlab实现
第7章 FIR 数字滤波器的Matlab 实现之南宫帮珍创作7.1 实验目的●学习用窗函数法设计FIR 数字滤波器的原理及其设计步伐;●学习编写数字滤波器的设计法式的方法, 并能进行正确编程;●根据给定的滤波器指标, 给出设计步伐.7.2 实验原理及实例分析FIR 低通数字滤波器的设计原理如果系统的冲激响应)(n h d 为已知, 则系统的输入/输出关系为:对低通滤波器, 只要设计出低通滤波器的冲激响应函数, 就可以由上式获得系统的输出了.假设所希望的数字滤波器的频率响应为)(jw d e H , 它是频域的周期函数, 周期为2 , 那么它与)(jwd e H 相对应的傅立叶系数为以)(n h d 为冲激响应的数字滤波器将具有频域响)(jwd e H . 可是将)(n h d 作为滤波器脉冲响应有两个问题:(1)它是无限长的, 与FIP 滤波器脉冲响应有限长这一前提纷歧致(2)它是非因果的, 0,0)(<≠n n h d对此, 要采用以下的办法,(1)将)(n h d 截短 (2)将其往右平移,由此获得)(2n h 的实际频域响应jnwN n jwd e n h e H ∑-==102)()(, 与理想频域响应)(jw de H 相近, 但不完全一致.理论证明上述现象是对)(n h d 进行简单截长处置的肯定结果, 一般称为吉布斯现象, 为尽可能的减少吉布斯现象, 应对)(n h d 进行加窗截取, 即以)()()(n W n h n h N d ⋅=作为FIR 滤波器的系数.经常使用的窗函数有矩形窗、海明窗和布莱克曼窗等. 用窗函数法设计FIR 滤波器Matlab 设计FIR 滤波器有多种方法和对应的函数, 见表7-1.表7-1 matlab 设计FIR 滤波器的方法和函数窗函数方法不单在数字滤波器的设计中占有重要的位置, 同时可以用于功率谱的估计, 从根本上讲, 使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs 现象所带来的影响.窗函数设计线性相位FIR 滤波器步伐如下:(1) 确定命字滤波器的性能要求, 临界频率}{k w , 滤波器单元脉冲响应长度N(2) 根据性能要求, 合理选择单元脉冲响应h(n)的奇偶对称性, 从而确定理想频率响应)(jwd e H 的幅频特性和相频特性(3) 求理想单元脉冲响应)(n h d , 在实际计算中, 可对)(jwd e H 采样, 并对其求IDFT 的)(n h M , 用)(n h M 取代)(n h d(4) 选择适当的窗函数w (n ), 根据)()()(n W n h n h N d ⋅=求所需设计的FIR 滤波器单元脉冲响应(5) 求)(jwd e H , 分析其幅频特性, 若不满足要求, 可适当改变窗函数形式或长度N, 重复上述设计过程, 以获得满意的结果调用格式:a) b=fir1(N,wn)b)b=fir1(N,wn,’hign ’)N 为滤波器的阶次, wn 是通带截止频率, 其值在0~1之间, 1对应抽样频率的一半;b 是设计好的滤波器系数h(n).对格式a), 若wn 是标量, 则用来设计低通滤波器, 若wn 是1×L 的向量, 则用来设计带通(带阻)滤波器.其格式为: b=fir1(N,wn,’DC-1’)或b=fir1(N,wn,’DC-0’),其中, 前者保证第一个带为通带, 后者保证第一个带为阻带. b )用来设计高通滤波器.用于发生窗函数的matlab 文件有如下8个: bartlett.m(巴特利特窗) blackman.m(布莱克曼窗)rectangle.m(矩形窗) hamming.m (汉明窗) hanning.m (汉宁窗) triang.m(三角窗)chebwin.m (切比雪夫窗) Kaiser.m (凯泽窗)π, 使用具有30dB 波纹的chebyshev 窗.解:源法式如下:b=fir1(34,0.48,'high',chebwin(35,30));freqz(b,1,512) 其响应波形如图7-1所示.图7-1 带通FIR 滤波器【实例7-2】设计一个24阶FIR 带通滤波器, 通带频率0.350.65w ππ≤≤.解:源法式如下: wn=[0.35 0.65]; N=24;b=fir1(2*N,wn,'DC-0');% DC-0暗示第一个带为阻带, 这样设计出来的滤波器为带通滤波器. freqz(b,1,512)图7-2 带通FIR 滤波器【实例7-3】 设计具有下面指标的低通FIR 滤波器由于其最小阻带衰减为50dB, 因此可以选择hamming窗来实现这个滤波器, 因为它具有较小的过渡带.解:MATLAB源法式为%数字滤波器指标wp=0.2*pi;ws=0.3*pi;tr_width=ws-wp;%通带宽度N=ceil(6.6*pi/tr_width)+1;%滤波器长度if rem(N,2)==0N=N+1;endNw=N;%滤波器长度为奇数n=[0:1:Nw-1];wc=(ws+wp)/2;%截止频率alpha=(Nw-1)/2;m=n-alpha+0.00001;%如果不加0.00001, 当n= alpha时, m为0, 下式分母为0, 不能执行hd=sin(wc*m)./(pi*m);%理想滤波器的冲激响应% 生成hamming窗w_ham=(hamming(Nw))';% 频域图像的绘制h=hd.*w_ham;% 滤波器实际冲激响应freqz (h,[1])figure(2);subplot(2,2,1),stem(n,hd);title('理想脉冲响应') axis([0 Nw-1 -0.3 0.3]);xlabel('n');ylabel('hd(n)') subplot(2,2,2),stem(n,w_ham);title('hamming窗') axis([0 Nw-1 -0.3 1.2]);xlabel('n');ylabel('w(n)') subplot(2,2,3),stem(n,h);title('实际脉冲响应')axis([0 Nw-1 -0.3 0.3]);xlabel('n');ylabel('h(n)')其响应波形如图7-2所示.图7-3hamming窗函数设计FIR滤波器【实例7-4】设带通滤波器的指标为选择Blackman窗来实现这个滤波器.解:MATLAB源法式为% 数字滤波器指标ws1=0.2*pi;wp1=0.35*pi;ws2=0.65*pi;wp2=0.8*pi;As=60;tr_width=min((wp1-ws1),(wp2-ws2));% 过渡带带宽N=ceil(11*pi/tr_width)+1;if rem(N,2)==0N=N+1;endNw=N;n=[0:1:Nw-1];wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;alpha=(Nw-1)/2;m=n-alpha+0.00001;%如果不加0.00001, 当n= alpha时, m为0, 下式分母为0, 不能执行hd=sin(wc2*m)./(pi*m)-sin(wc1*m)./(pi*m);%理想滤波器的冲激响应% 生成blackman窗w_bla=(blackman(M))';h=hd.*w_bla;% 频域图像的绘制freqz(h,[1])figure(2);subplot(2,2,1),stem(n,hd);title('idael impulse response') axis([0 Nw-1 -0.4 0.5]);xlabel('n');ylabel('hd(n)')subplot(2,2,2),stem(n,w_bla);title('blackman window')axis([0 Nw-1 0 1.1]);xlabel('n');ylabel('w(n)')subplot(2,2,3),stem(n,h);title('actual impulse response') axis([0 Nw-1 -0.4 0.5]);xlabel('n');ylabel('h(n)')其响应波形如图7-4所示.图7-4blackman 窗函数设计FIR 滤波器7.3编程练习1. 设计一个48阶FIR 带阻滤波器, 通带频率00.35,0.65w w πππ≤≤≤≤.2.用窗函数设计一个线性相位FIR 高通滤波器, 并满足性能指标:通带鸿沟频率0.66wp π=,阻带鸿沟频率0.5ws π=, 阻带衰减不小于40db.提示:参考例7-3, 4;首先根据阻带衰减, 选择合适的窗函数, 见课本P342, 表7-3.再根据P345, 式7-74写出理想滤波器的冲激响应hd.。
课后习题及答案_第7章有限脉冲响应数字滤波器设计--习题答案
∑ h ( n )e
n =0
N −1
− j ωm
1 [1 + 0.9e − jω + 2.1e − j2ω + 0.9e − j3ω + e − j4ω ] 10 1 j2ω (e + 0.9e jω + 2.1 + 0.9e − jω + e − j2ω )e − j2ω 10
1
=
1 ( 2.1 + 1.8 cos ω + 2 cos 2ω )e − j2ω 10
其中, a=(N-1)/2=10。 (2) 由 Hd(ejω)求得 hd(n):
0
|ω | π
π 4
π <| ω | 4
π sin (n − 10) π − 4 1 4 hd (n) = e − jω10 e jωn dω = ∫ −π / 4 2π π(n − 10)
(3) 加窗得到 FIR 滤波器单位脉冲响应 h(n): · 升余弦窗:
4π N
H(ejπ)=0,
不能实现高
π , 即 N≥40。取 N=41。 10
hd (n) =
1 π H d (e jω )e jω n dω ∫ −π 2π ωc + B 1 −ωc = e − jω a e jω m dω + ∫ω e − jω a e jω n dω ∫ ω − ( + B ) c 2π c
4
和[h2(n)]也可以得到同样的结论。
jθ ( ω ) jω 设 H1 (e ) = FT[h1 (n)] = H 1g (ω )e 1
H 2 (e jω ) = FT[h2 (n)] = H 2g (ω )e jθ 2 (ω )
fir例题1
试画出它们的线性相位型结构图,并说明它们的幅度特性、相 试画出它们的线性相位型结构图,并说明它们的幅度特性、 位特性各有什么特点。 位特性各有什么特点。 提示:根据单位脉冲响应的数值,推导出FIR滤波器具有第 提示:根据单位脉冲响应的数值,推导出FIR滤波器具有第 几类线性相位特性。 几类线性相位特性。
π N −1 θ (ω ) = − − ω = − − 3ω 2 2 2
由于 N = 7 为奇数所以幅度特性关于ω
π
= 0,2π
点奇对称
例题2:设某 数字滤波器的系统函数为: 例题 :设某FIR数字滤波器的系统函数为: 数字滤波器的系统函数为
1 H ( z ) = × (1 + 2 z −1 + 4 z − 2 + 2 z − 3 + z − 4 ) 10 H jω 的幅频响应和相频响应的表达式, 的表达式、 试求 h(n) 的表达式、 (e )的幅频响应和相频响应的表达式, 并给出该滤波器的线性相位结构形式。 并给出该滤波器的线性相位结构形式。
N −1 θ (ω ) = −ω = −2.5ω 2
=π
点奇对称
x (n)z −1
z −1
z
3
−2
z
y(n)
h 的取值可知, 由所给 h(n) 的取值可知, (n) 满足h( n) = − h( N − 1 − n),所以
FIR滤波器具有第二类线性相位特性,即 滤波器具有第二类线性相位特性, 滤波器具有第二类线性相位特性
实验六-用窗函数设计FIR滤波器(附思考题程序)
实验六用窗函数设计FIR滤波器1.实验目的(1)熟悉FIR滤波器设计的方法和原理(2)掌握用窗函数法设计FIR滤波器的方法和原理,熟悉滤波器的特性(3)了解各种窗函数滤波器特性的影响2.实验原理FIR滤波器的设计方法主要有三种:窗函数法、频率取样法、切比雪夫等波纹逼近法。
FIR滤波器的设计是要寻求一系统函数H(Z),使其频率响应H (e「)逼近滤波器要求的理想频率响应Hd(e J ),其对应的单位脉冲响应hd(n)。
(1)用窗函数设计FIR滤波器的基本方法在时域用一个窗函数截取理想的hd (n)得到h (n),以有限长序列h (n)近似逼近理想的hd (n);在频域用理想的H a (e J)在单位圆上等角度取样得到h(k),根据h(k)得到H(z)将逼近理想的Hd(z)o设理想滤波器Hd(e J)的单位脉冲响应为hd (n) o以低通线性相位FIR数字滤波器为例。
Hd(e: ) hd (n) e1ha(n) 一Hd(e J ) e jn dhd(n)—般是无限长的、非因果的,不能直接作为FIR滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断h(n) h d(n) w(n),即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR滤波器的单位脉冲响应。
按照线性相位滤波器的要求,h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即h(n) ha( n) w( n)a (N 1)/2用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,(现彖称为吉布斯(Gibbs )效应)。
(2 )典型的窗函数(a)矩形窗(Rectangle Window)w(n) R N ( n)其频率响应和幅度响应分别为:W j) sin(x 2) e J〒,W R() siiT22)sin( /2) sin( /2)在mat lab 中调用w=boxcar(N)函数,N为窗函数的长度(b )三角形窗(Bartlett Window)w(n) 2n2nN 1N 1其频率响应为:w j) WN /4)『e」TN sin( /2)在mat lab中调用w=triang(N) 函数,N为窗函数的长度(c)汉宁(Hanning)窗,又称升余弦窗w(n) [1 cos( 2nN严)其频率响应和幅度响应分別为:w(n) [0. 54 0. 46C0S (" ) ]R N (n)N 1其幅度响应为:W( ) 0. 54W R ( ) 0. 23[W R (在 mat lab 中调用 w=hamming (N)N 1 W( )e Ja2 N” RW( ) 0. 5W R ( )0. 25[W R (在mat lab 屮调用 w=ha nnin 函数,N 为窗函数的长度(d)汉明(Hamming)替“又称改进的升余弦窗W(e J){0. 5W R ( ) 0・25[W R ()W R (函数,N 为窗函数的长度(e )布莱克曼(Blankman)窗,又称二阶升余弦窗w (n) [0. 42W() 其幅度响应为:2 n 4: n0. 5cos( ---- ) 0. 08cos( ------ )]Rx( n)N 1 N 10. 25[W R(2 0.42W R()W R(N 10. 04[W R()W R(在mat lab 中调用w=blackman (N)(f)凯泽(Kaiser)窗w (n)皿/ [1 2n/(N1)1 )。
(完整word版)有限冲激响应滤波器(FIR)算法实验(word文档良心出品)
福州大学至诚学院《DSPs原理及应用》实验报告实验题目:实验三有限冲激响应滤波器(FIR)算法实验姓名:学号:系别:信息工程系专业:通信工程年级: 2011 级同组姓名:实验时间: 2014.11.10~2014.11.112014年 11 月 14 日实验3:有限冲激响应滤波器(FIR)算法实验1.实验目的1.1掌握用窗函数法设计FIR数字滤波器的原理和方法;1.2熟悉线性相位FIR数字滤波器特性;1.3了解各种窗函数对滤波器特性的影响。
2.实验设备PC 兼容机一台;安装Code Composer Studio 3.1软件。
3.实验原理3.1有限冲激响应数字滤波器的基础理论。
3.2模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
3.3数字滤波器系数的确定方法。
3.4根据要求设计低通 FIR 滤波器:要求:通带边缘频率 10kHz,阻带边缘频率 22kHz,阻带衰减 75dB,采样频率50kHz。
设计:3.4.1过渡带宽度=阻带边缘频率-通带边缘频率=22-10=12kHz;3.4.2采样频率:f1=通带边缘频率+(过渡带宽度)/2=10000+12000/2=16kHz;Ω1=2πf1/fs=0.64π;3.4.3理想低通滤波器脉冲响应:h1[n]=sin(nΩ 1)/n/π =sin(0.64π n)/n/π3.4.4根据要求,选择布莱克曼窗,窗函数长度为:N=5.98fs/过渡带宽度=5.98*50/12=24.93.4.5选择 N=25,窗函数为:w[n]=0.42+0.5cos(2π n/24)+0.8cos(4π n/24)3.4.6滤波器脉冲响应为:h[n]=h1[n]w[n] |n|≤12 h[n]=0 |n|>123.4.7根据上面计算,各式计算出 h[n],然后将脉冲响应值移位为因果序列。
3.4.8完成的滤波器的差分方程为:y[n]=-0.001x[n-2]-0.002x[n-3]-0.002x[n-4]+0.01x[n-5]-0.009x[n-6]-0.018x[n-7]-0.049x[n-8]-0.02x[n-9]+0.11x[n-10]+0.28x[n-11]+0.64x[n-12]+0.28x[n-13]-0.11x[n-14]-0.02x[n-15]+0.049x[n-16]-0.018x[n-17]-0.009x[n-18]+0.01x[n-19]-0.002x[n-20]-0.002x[n-21]+0.001x[n-22]3.5程序流程图:4.实验步骤4.1实验准备:设置软件仿真模式;启动CCS 3.3。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FIR数字滤波器的算法实现与习题
[例3] 窗函数设计法实现一个低通数字滤波器,要求通带截止频率10kHz,阻带截止频率22kHz,阻带衰减大于75dB,采样频率f s=75kHz。
过渡带宽度=通带截止频率+过渡带宽度/2=10kHz+12/2kHz=16 kHz
数字截止频率
Ω1=2π×f1/ f s=2π×16/50=0.64π
理想低通滤波器单位脉冲响应
h1(n)=sin(nΩ1)/n/π=sin(0.64πn)/n/π
选择布莱克曼窗,滤波器长度为
N=5.98 f s过渡带宽度=5.98×50/12=24.9
取N=25,布莱克曼窗函数为
w(n)=0.42-0.5cos(2πn/24)+0.08cos(4πn/24)
滤波器单位脉冲响应为
h(n)= h1(n)w(n) n≤N-1
h(n)=0 n< N-1
根据上式计算出,然后将单位脉冲响应移位为因果序列,完成的滤波器差分方程为y(n)=0.001x(n-2) -0.002x(n-3) -0.002x(n-4)+0.01x(n-5)-0.009x(n-6)-0.018x(n-7)+0.049x(n-8) -0.02x(n-10)+0.11x(n-11)+0.28x(n-11)+0.64x(n-13)+0.28x(n-14)-0.11x(n-15)-0.02x(n-16)-0.049x( n-17)-0.018x(n-18)-0.009x(n-19)+0.01x(n-20)-0.002x(n-21)-0.002x(n-22)+0.001x(n-23) 数字滤波器程序如下:
#include “math.h”//数学函数头文件
#define N 25 //FIR阶数N
#define PI 3.1415926
float InputWave( );//输入波形
float FIR();// FIR滤波函数声明
float fHn[N]={0.0,0.0,0.001,-0.002,-0.002,0.01,-0.009,//滤波器系数-0.018,0.049,-0.02,0.11,0.28,0.64,0.28,
-0.11,-0.02,0.049,-0.018,-0.009,0.01,
-0.002,-0.002,0.001,0.0,0.0};
float fXn[N]={0.0};
float fInput,fOutput;
float fSignal1,fSignal2;
float fStepSignal1,fStepSignal2;
float f2PI;//2*PI
int i;
float FIN[256],FOUT[256];//输入信号与输出信号
i int nIn,nOut;
main(void)
{
nIn=0;nOut=0;
f2PI =2*PI;
fSignal1=0.0;
fSignal2=PI*0.1;
fStepSignal1=2*PI/30;
fStepSignal2=2*PI*1.4;
while(1)
{
fInput=InputWave();
FIN[nIn]= fInput;
nIn++;nIn%=256;
fOutput=FIR();//调用HR滤波函数
FOUT[nOut]= fOutput;
nOut++;
if( nOut>=256) nOut=0;
}
}
float InputWave() //输入波形函数
{
for(i=N-1;i>0;i--) fXn[i]=fXn[i-1];
fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;
fSignal1+ = fStepSignal1;
if( fSignal1>=f2PI) fSignal1- = f2PI;
fSignal2+ = fStepSignal2;
if( fSignal2>=f2PI) fSignal2- = f2PI;
retum( fXn[0] );
float FIR( ) //FIR滤波函数
{
float fSum;
fSum=0;
for( i=0;i<N;i++) fSum + = (fXn[i]*fHn[i]);
return(fSum);
}
思考题与习题
1.DSP芯片有哪些主要特点?
2.简述典型DSP应用系统的构成。
3.简述DSP应用系统的一般设计开发过程。
如何选择DSP芯片? 4.常用的DSP芯片有哪些?
5.DSP控制器的应用领域有哪些?
6.哈佛结构与冯·诺依曼结构计算机存储器的组成有何不同? 7.5416 DSP引脚可以分为哪几类?其中的XMP/MC引脚有什么作用? 8.简述5416 DSP的内部结构主要部分的功能。
9.简述5416 DSP的片内存储器的组成、地址与用途。
10.如何由外部晶振或外部时钟频率确定CPU时钟频率?
11.什么是DSP的低功耗模式?
12.如何使用看门狗定时器?
13.C54x DSP的通用I/O接口有哪些引脚?有哪些功能?如何使用?
14.片内外设寄存器的地址是如何安排的?如何访问?
15.C54x DSP的中断是如何组织的?有哪些中断源?
16.响应中断后,如何找到中断服务程序入口地址?
17.DSP复位后从哪里开始执行程序?
18.辅助寄存器有哪些?其作用是什么?
19.状态寄存器ST0、ST1的作用是什么?
20.C54x DSP有哪些寻址方式?
21.直接寻址方式中,数据存储单元的地址是如何形成的?
22.访问片内外设寄存器可以采用哪些寻址方式?
23.C54x DSP有哪些类型的指令?
24.DSP应用系统的软件开发流程是什么?
25.采用CCS集成开发环境进行软件开发调试的步骤是什么?
26.说明.text段、.data段、.bss段分别包含什么内容?
27.链接命令文件包括哪些主要内容?如何编写?
28.DSP C语言有哪些特点?
29.如何访问片内外设寄存器的某些位?
30.如何直接访问存储器单元?
31.C语言与汇编语言混合编程有哪些方法?
32.DSP的硬件仿真器(Emulator)和软件仿真器(Simulator)有什么异同点? 33.C54x DSP的串行通信接口有哪些特点?
34.异步串行通信的数据格式有哪些?如何设置?
35.如何设置异步串行通信的波特率?
36.如何设计DSP与PC串行通信的硬件电路与软件?
37.C54xDSP的最小系统包括哪些具体电路?
38.如何设计DSP的复位电路?
39.如何设计DSP的时钟电路?
40.如何用DSP C语言编程实现常用的FFT与FIR信号处理算法?。