DSP-FIR线性相位滤波器的设计
dsp_FIR滤波器
电子信息学院DSP结构原理及应用实验_FIR低通滤波器设计及滤波组员:蒋万欣;邓宏恩;谢兴轮实验报告书写:蒋万欣:2012141451177日期:第十四教学周四地点:基础教学楼B座520实验室实验五FIR滤波器一、实验目的:1,熟悉FIR滤波器‘C54X’实现的编程方法。
2,测试FIR滤波器的单位冲击响应曲线。
3,检查FIR滤波器的频率特性。
二、实验条件1,已经设计出的线性相位FIR滤波器的参数如下:滤波器名称:带通滤波器采样频率:Fs = 10 kHz通带:1 kHz ——4 kHz过渡带:1 kHz —— 1.375 kHz,3.625 kHz —— 4 kHz带类脉动:< 0.5dB阻带衰减:—60dB以下滤波器级数:N = 80滤波器系数:H(0) = FFDCH H(10) = 00A2H H(20) = 000BH H(30) = FAA3HH(1) = 001FH H(11) = FF6FH H(21) = FE7FH H(31) = 0347HH(2) = 0051H H(12) = FFFEH H(22) = FDBFH H(32) = FE3DHH(3) = FFE9H H(13) = FF70H H(23) = 0192H H(33) = 0747HH(4) = FFE6H H(14) = FEF4H H(24) = FFB5H H(34) = 09BBHH(5) = FFBAH H(15) = 00CBH H(25) = 026AH H(35) = FE3DHH(6) = FFB4H H(16) = 000BH H(26) = 0368H H(36) = 052BHH(7) = 004BH H(17) = 00E6H H(27) = FDC2H H(37) = DB59HH(8) = FFF9H H(18) = 0187H H(28) = 00C0H H(38) = DC2AHH(9) = 0069H H(19) = FEE5H H(29) = FC0AH H(39) = 2D57H2,生成正弦信号的数据文件的高级语言程序,程序名,sin_flt.exe.用法见附录2.3,线性相位FIR滤波器源程序Lab5.asm,以及链接命令文件Lab5.cmd,参看教材6.3节。
基于DSP的FIR 滤波器的设计
1 前言本课程是电子信息工程专业的专业基础课,目的为通过对课程设计任务的完成,使学生理解课程教学的理论内容,并且能够掌握和熟悉DSP的开发流程和基本的编程方法。
FIR滤波器具有严格的线性相位特性,由于图像处理、数据传输等以波形携带的信息系统。
在数字信号处理中,滤波占有极其重要的地位。
数字滤波是数字信号处理的一个基本方法。
一个DSP芯片执行数字滤波算法的能力,反应了这种芯片的功能大小。
本文介绍了数字滤波器的工作原理,给出了采用窗函数法设计FIR,并利用MATLAB软件进行辅助设计,同时使用CCS应用软件来对一段音频信号进行低通滤波的仿真与调试.从而实现DSP数字低通滤波的设计方法。
FIR数字滤波器广泛地应用于数字信号处理领域,本文对FIR滤波器的工件原理和设计方法进行了简单的介绍。
文中采用窗函数法设计FIR数字滤波器,给出了TMS320VC5402的编程语句及其仿真波形。
2 FIR滤波器基本原理一个截止频率为ωc(rad/s)[1]的理想数字低通滤波器,其表达式是:这个滤波器在物理上是不可实现的,因为冲激响应具有无限性和因果性。
为了产生有限长度的冲激响应函数过截短保留冲激响应,可以加窗函数将其截短,通过截短保留冲激响应的中心部分,就可以获得一个线性相位的FIR滤波器。
例如,使用一个简单的矩形窗设计一个长度N=127,截止频率ωc=π/2的低通滤波器,冲激响应h(n)可表示为:一般来说,FIR数字滤波器输出y(n)的Z变换形式Y(z)与输入x(n)的Z 变换形式之间的关系如下:实现结构如图1所示。
从上面的Z变换和结构图可以很容易得出FIR滤波器的差分方程表示形式。
在实际的FIR滤波器的设计中,一般采用计算机辅助设计。
Matlab是一套功能强大的适应于科学工程计算的可视化高性能语言,他提供了2种窗函数方法设计FIR 滤波器:一种是标准通带滤波器的设计FIR1;一种是多带FIR滤波器的设计FIR2。
函数FIR1只能设计标准的低通、高通、带通和带阻线性相位FIR滤波器。
(完整版)利用DSP的FIR滤波器设计
题目:利用DSP的FIR滤波器设计数字处理器(DSP)有很强的数据处理能力,它在高速数字信号处理领域有广泛的使用,例如数字滤波、音频处理、图像处理等。
相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等。
使用可编程的DSP芯片实现数字滤波可以通过修改滤波器的参数十分方便地改变滤波器的特性,下面主要说明利用TMS320VC54x DSP芯片设计实现FIR数字滤波器。
设计目的意义一个实际的使用系统中,总存在各种干扰,所以在系统设计中,滤波器的好坏将直接影响系统的性能。
使用DSP进行数字处理,可以对一个具有噪声和信号的混合信号源进行采样,再经过数字滤波,滤除噪声,就可以提取有用信号了。
所以说,数字滤波器是DSP最基本的使用领域,熟悉基于DSP的数字滤波器能为DSP使用系统开发提供良好的基础。
技术指标1、数字滤波器的频率参数主要有:①通带截频:为通带和过渡带的边界点,在该点信号增益下降到规定的下限。
②阻带截频:为阻带和过渡带的边界点,在该点信号衰耗下降到规定的下限。
③转折频率:为信号功率衰减到1/2(约3dB)时的频率,在很多情况下,也常以fc作为通带或阻带截频。
④当电路没有损耗时,固有频率:就是其谐振频率,复杂电路往往有多个固有频率。
2、增益和衰耗滤波器在通带内的增益并非常数。
①对低通滤波器通带增益,一般指ω=0时的增益;高通指ω→∞时的增益;带通则指中心频率处的增益。
②对带阻滤波器,应给出阻带衰耗,衰耗定义为增益的倒数。
③通带增益变化量指通带内各点增益的最大变化量,如果通带增益变化量以dB为单位,则指增益dB值的变化量。
3、阻尼系数和品质因数阻尼系数α是表征滤波器对角频率为ω0信号的阻尼作用,是滤波器中表示能量衰耗的一项指标,它是和传递函数的极点实部大小相关的一项系数。
4、灵敏度滤波电路由许多元件构成,每个元件参数值的变化都会影响滤波器的性能。
DSP课程设计--FIR滤波器设计
K_FIR_BFFR.set64
d_data_ect"fir_bfr",64
FIR_ect"fir_vars",0
d_ect"fir_vars",1
ect"fir_vars",1
ect "fir_vars",1
}
五、调试过程
1.调试前的准备
1)启动SETUP并选择芯片’c5402,关闭启动CCS。
2)在CCS的安装目录myproject子目录下创建一个文件夹0205。
3)使用MATLAB工具编写滤波器系数测试程序,生成0205.inc文件并保存在上述文件夹0205中。
4)使用MATLAB工具编写输入信号生成程序,并生成0205.dat文件保存在上述文件夹0205中。
三、相应参数的计算
1、FIR滤波器的MATLAB实现
MATLAB是一种功能强、效率高、便于进行科学和工程计算的交互式软件包,它集数值分析、矩阵运算、信号处理和图形显示于一体,为用户提供了方便、友好的界面环境。
MATLAB中的工具箱(Toolbox)包含了许多实用程序。它提供了多种FIR滤波器设计方法。
其中n为滤波器的阶数;Wn为滤波器的截止频率;ftype为用来决定滤波器的类型,当ftype=high时,可设计高通滤波器;当ftype=stop时,可设计带阻滤波器。Window为用来指定滤波器采用的窗函数类型,Window参数可采用的窗口函数有:Boxcar,Hanning,Bartlett,Blackman,Kasier和chebwin等,其默认时为Hamming窗,从而得到滤波器的系数。
FIR滤波器设计和DSP实现
FIR滤波器设计和DSP实现FIR滤波器(Finite Impulse Response Filter)又称为有限脉冲响应滤波器,是一种数字滤波器,其脉冲响应为有限长度。
FIR滤波器具有稳定性、线性相位等优点,广泛应用于数字信号处理(DSP)中。
1.窗函数法:窗函数法是FIR滤波器设计中最简单、最常用的方法之一、设计步骤主要有:选择合适的窗函数(如矩形窗、汉宁窗、哈宁窗等);确定滤波器的截止频率和通带或阻带波动范围;根据窗函数的特性进行滤波器系数的计算。
窗函数法设计得到的滤波器具有较好的频域响应,并且易于实现。
2.频率采样法:频率采样法是通过对滤波器在频域中的理想特性进行采样,然后进行逆变换得到滤波器系数。
设计步骤主要有:确定理想滤波器的频率响应;进行频率采样,得到取样频率上的实际频率响应;对实际频率响应进行逆变换,得到滤波器系数。
频率采样法设计的滤波器可以满足设计要求,但是需要进行逆变换,计算复杂度较高。
3.最小二乘法:最小二乘法是通过求解最小化均方差的优化问题,得到最佳滤波器系数。
设计步骤主要有:建立最小二乘优化问题的数学模型;对数学模型进行求解,得到最佳滤波器系数。
最小二乘法能够得到较好的滤波器性能,并且不需要进行逆变换,计算复杂度相对较低。
1.将滤波器的系数存储在系数寄存器中;2.将输入信号与相应的系数进行乘法运算;3.将乘法运算的结果累加得到输出信号;4.将输入信号和系数向右移动一个位置;5.重复步骤2-4,直到滤波器输出满足要求。
DSP实现可以采用硬件方法,如使用专用的FPGA或ASIC实现滤波器的计算单元;也可以采用软件方法,在DSP芯片上运行相应的滤波算法代码。
对于较复杂的滤波器设计,可以使用专门的滤波器设计软件进行设计和实现。
综上所述,FIR滤波器的设计和实现是数字信号处理中的重要内容,不同的设计方法和实现方式可以根据具体需求选择。
设计一个合适的FIR 滤波器可以满足信号处理的要求,并且在DSP实现中能够提高系统的运算效率和性能。
基于DSP的FIR数字滤波器的设计
基于DSP的FIR数字滤波器的设计陈永泰,李蕾武汉理工大学信息工程学院,武汉(430070)E-mail:ultralilei@摘 要:文章设计了一种基于TI公司的DSP(TMS320VC5402)的FIR数字滤波器系统。
主要包括了DSP最小系统电路设计、AD和DA转换接口电路设计,并给出了系统初始化程序设计和FIR程序设计。
关键词:FIR,DSP,数字滤波器中图分类号:TN7131.引言数字滤波器在数字通信、语音图象处理、谱分析、模式识别、自动控制等领域得到了广泛的应用。
相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等。
和IIR滤波器相比,FIR滤波器可以得到严格的线性相位。
而且FIR滤波器可以用非递归方法实现,有限精度的计算不会产生振荡,同时由于量化舍入以及系数的不准确所引起的误差的影响比IIR滤波器要小得多。
再者FIR滤波器可采用FFT算法,在相同阶数下,运算速度可以快得多[1]。
2.所用FIR滤波器结构本文中的FIR滤波器采用直接型结构,又称为卷积型结构。
有限长单位脉冲响应滤波器的系统函数为:∑−=−=1) ()(Nnnz nhzH其差分方程为:∑−=−=1)()()(Nkknxkhny其结构图如图1所示:图1 FIR滤波器直接型结构图3.FIR数字滤波器硬件电路设计本系统的具体硬件方案框图如图2。
图2 FIR数字滤波器系统方案框图在本系统设计中采用了TI的TMS320VC5402作为其核心处理单元。
TMS320VC5402为低功耗定点数字信号处理器,其运算速度最快可达532MIPS。
它采用先进的修正哈佛结构,片内共有8条总线(1条程序存储器总线、3条数据存储总线和4条地址总线)。
其CPU 采用并行结构设计,使其能在一条指令周期内,高速地完成多项算术运算。
TMS320VC5402的丰富的片上外围电路(通用I/O引脚,定时器,时钟发生器, HPI接口,多通道缓冲串行口McBSP)使其与外部接口方便[2]。
DSP FIR滤波器设计
中文摘要数字信号处理即我们所说的DSP技术是一门涉及许多学科而又广泛应与于众多领域的新兴学科,具有快速实现各种数字信号算法的优点,发展十分迅速。
在通信、数码产品、数字电视、工业控制、精密仪器乃至航空航天领域中都被应用,在移动通信中,DSP主要用于数字基带信号处理等。
数字信号处理利用计算机或专用设备,以数字形式对信号进行采样、变换、滤波、估值、增强、压缩、识别等处理,以得到人们需要的信号形式。
我本次设计的题目是FIR滤波器的程序设计,即利用TMS320C54X系列的DSP系统模拟仿真程序来达到滤波算法的处理作用,我们上课所学的调试环境等正是我这次设计最有利的工具,无论是课本上指令的意义还是环境中调试的步骤都让我得心应手,数字滤波器有两种类型:有限冲激响应滤波器(FIR),它是没有反馈回路的,也是无条件稳定系统,我所用的是给系统一个单位脉冲让滤波器来对其进行滤波称为我们所需要的信号波形。
或者可以给系统一方波等让其成为我们需要的波形。
这也是本次程序的目的之一。
FIR滤波器原理是基于数字信号处理,即大量的运算和算法是其根本,让其能以最少的运算量来达到我们理想的目标也是本次设计的一个难题,但我可以解决这个问题,因为FIR滤波器具有线性相位的特性,可以把其系数设计为对称的。
那么对信号的滤波运算可以大大减少来提高效率和速率,这也是FIR滤波器的一大特点。
所以说对于这次的任务有多种设计方案和算法。
而我最中选择了系数对称的FIR滤波器算法,也就是节省时间的算法,它不仅量化误差小,而且简单易于实现。
关键词:FIR滤波器,数字信号处理,DSP,有限冲激响应目录课程设计任务书............................................................................................... 错误!未定义书签。
中文摘要 (IV)1 设计任务描述 (VI)1.2设计目的: (VI)1.3 基本要求: (VI)2 设计思路 (7)2.1 数字滤波器 (7)2.1.1 数字滤波器分类 (7)2.1.2 FIR滤波器的原理与选择 (7)2.1.3 FIR滤波器的结构及其特点 (8)3 设计方框图 (10)4 FIR滤波器算法的DSP实现 (11)4.1 TM S320C54x系列芯片对FIR滤波器算法的实现 (11)4.2 FIR 滤波器实现的关键问题 (11)4.3 FIR滤波器的DSP实现原理 (12)4.3.1 FIR传递函数结构设计 (12)4.3.2 FIR滤波器实现方法 (12)4.4 系数对称FIR滤波器的实现方法 (14)5、程序运行结果 (16)5.1利用软件仿真器调试 (16)6 程序清单 (12)小结................................................................................................................. 错误!未定义书签。
基于DSP的FIR滤波器设计
《DSP原理与技术》实验报告姓名:XXX学号:XXXX院系:航天学院控制科学与工程系指导老师:XXX2011年5月25日1 FIR 滤波器的设计与DSP 实现1.1 FIR 滤波器的理论基础FIR 滤波器即有限长冲击响应滤波器的单位冲击响应()h n 是有限长的(01n N ≤≤-),其Z 变换为1()()N n n H z h n z --==∑在有限Z 平面(0z ∞ )内有(1N -)个零点,在Z 平面的原点0z =处有(1N -)阶极点。
()h n 的频率响应()j H e ω为10()()N j j n n H e h n e ωω--==∑当单位冲击响应序列()h n 为实序列时,()j H e ω表示成()()()j j H e H e ωθωω=当具有线性相位即()θωτω=-或()θωβτω=-当满足条件()θωτω=-可得出12N τ-=()(1)h n h N n =--上式即为FIR 滤波器具有线性相位条件的充要条件,它要求单位冲击响应序列()h n 是以12N n -=为对称中心的偶对称序列。
当满足条件()θωβτω=-可得出 2πβ=±12N τ-=()(1)h n h N n =---此时要求单位冲击响应序列()h n 是以12N n -=为对称中心的奇对称序列。
鉴于工程实际应用,具有线性相位的FIR 滤波器具有更加广阔的应用。
对于非线性相位的FIR 滤波器,一般可以用IIR 滤波器来代替。
同样幅度特性,IIR 滤波器所需阶数比FIR 滤波器所需阶数少得多。
1.2 FIR 滤波器的设计常见的FIR 滤波器设计方法包括窗函数设计法和频率采样设计法。
这里讨论用窗函数设计方法设计数字低通滤波器。
理想的数字低通滤波器的频率响应如图1.2.1所示。
根据傅立叶逆变换,由图1.2.1可得其单位脉冲响应()h n 为0()sin()0cc n h n n n nππΩ⎧=⎪⎪=⎨Ω⎪≠⎪⎩ 此时()h n 是一个无限长的偶对称序列。
DSP课程设计-FIR滤波器设计
DSP课程设计报告题目:FIR滤波器设计学院:电气信息学院专业:通信工程姓名:学号:指导老师:曹玉英一、设计目标设计一个FIR高通滤波器,通带边界频率为2khz,通带纹波小于1dB,采样频率为8khz,实现当多个频率的输入信号输入时只保留大于2khz的信号功能,其中FIR滤波器的设计可以用MATLAB窗函数法进行。
二、算法研究1. FIR的原理和参数生成公式FIR数字滤波器是非递归性的线性时不变因果系统,这样的系统的差分方程可以表示为:令输入信号x(n)=δ(n),代入式,有=aδ(n)+a1δ(n-1)+···+an-1δ[n-(N-1)]这时的y(n)即为冲激响应h(n)。
由式很容易得到h(0)=a,h(1)=a1, ···,h(N-1)=an-1;又由式可知,当n<0以及n>N-1时,h(n)=0,即这个系统的冲激响应是有限长度的,这样的滤波器就叫做有限冲激响应(FIR)滤波器。
将ai=h(i)(i=0,1, ···,N-1)代入式,得到将式的两边进行z变换后,可以得到FIR滤波器的系统函数:又由式,有因此,FIR滤波器的系统函数H(z)的极点都位于z=0处,为N-1阶极点;而N-1个零点由冲激响应h(n)决定,一般来说,可以位于有限z平面的任何位置。
由于FIR数字滤波器的极点都集中在单位圆内的原点z=0处,与系数h(n)无关,因此FIR滤波器总是稳定的,这是FIR数字系统的一大优点。
2. 利用MATLAB计算滤波系数用来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR数字滤波器的设计。
语法:b=fir1(n,Wn)b=fir1(n,Wn,‘ftype’)b=fir1(n,Wn,Window)b=fir1(n,Wn,‘ftype’,window)n:滤波器的阶数;Wn:滤波器的截止频率;ftype:用来决定滤波器的类型,当ftype=high时,可设计高通滤波器;当ftype=stop时,可设计带阻滤波器;Window:用来指定滤波器采用的窗函数类型,其默认值为汉明窗。
基于DSP的FIR滤波器的设计
基于DSP的FIR滤波器的设计引言数字信号处理现已在通信与信息系统、信号与信息系统、自动控制、需达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
在数字信号处理应用中,滤波占有十分重要的地位,如对信号的过滤、检测、预测等,都要广泛地用到滤波器。
IIR 数字滤波器的设计保留了一些典型模拟滤波器优良的幅度特性,但所涉及的滤波器相位特性一般是非线性的,而FIR 滤波器则可在保证幅度特性并满足技术要求的同时,也很容易做到严格的线性相位特性。
1 基于窗函数法的FIR 滤波器设计1.1 单位冲激响应首先应根据技术要求确定待求滤波器的单位冲激响应hd (n)。
如果给出待求滤波器的频率为Hd (ej),那么单位取样响应则可用下式求出:如果给出通带阻带衰减和边界频率的要求,则可选用理想滤波器作为逼近函数,从而用理想滤波器的特性作傅立叶逆变换,以求出hd (n)。
若理想低通滤波器为:1.2 过渡带及阻带衰减根据对过渡带及阻带衰减的要求,设计时可选择窗函数的形状,并估计窗口长度N。
设待求滤波器的过渡带用Δω表示,它近似等于窗函数的主瓣宽度。
由于过渡带Δω近似与窗口长度N 成反比。
即N=A/Δω,其中A 决定于窗口形式,例如,矩形窗A=4π,哈明窗A=8π等。
按照过渡带及阻带衰减情况,选择窗函数形式。
其设计原则是在保证阻带衰减的情况下,尽量选择主瓣比较窄的窗函数。
1.3 单位取样响应的计算:计算滤波器的单位取样响应h (n) 时,可按正式进行:验算技术指标是否满足要求时其设计出的滤波器频率响应可采用下式进行计算:计算上式时,可使用FFT 算法。
如果H (ejω)不能满足要求,那么,根据具体情况,可重复上述设计,直到满足要求为止。
2 基于DSP 的FIR 数字滤波器实现方案2.1 滤波系统的差分方程tips:感谢大家的阅读,本文由我司收集整编。
dsp实验五 FIR数字滤波器的设计
实验五FIR数字滤波器的设计杨阳04011003一、实验目的(1)掌握用窗函数法,频率采样法及优化设计法设计FIR滤波器的原理及方法,熟悉响应的matlab编程;(2)熟悉线性相位FIR滤波器的幅频特性和相频特性;(3)了解各种不同窗函数对滤波器性能的影响。
二、实验内容(1)N=45,计算并画出矩形窗、汉明窗、布莱克曼窗的归一化的幅度谱,并比较各自的主要特点。
答:matlab作图如下:分析:(2)N=15,带通滤波器的两个通带边界分别是πω3.01=,πω5.02=。
用汉宁(Hanning )窗设计此线性相位带通滤波器,观察它的实际3dB 和20dB 带宽。
N=45,重复这一设计,观察幅频和相位特性的变化,注意长度N 变化的影响。
答:matlab 作图如下: 所设计滤波器的h(n):相应的幅频相频特性曲线:分析:(3)分别改用矩形窗和Blackman窗,设计(2)中的带通滤波器,观察并记录窗函数对滤波器幅频特性的影响,比较三种窗的特点。
答:N=45时,三种窗设计的滤波器的h(n)分别如下:相应的幅频曲线如下:分析:(4)用Kaiser 窗设计一专用线性相位滤波器,N=40,)( j d e H 如图,当β=4、6、10时,分别设计、比较它们的幅频和相频特性,注意β取不同值时的影响。
答:matlab 作图如下:分析:(5)用频率采样法设计(4)中的滤波器,过渡带分别设一个过渡点,令H(k)=0.5。
比较两种不同方法的结果。
答:matlab作图如下:分析:(6)用雷米兹(Remez)交替算法设计(4)中的滤波器,并比较(4)、(5)、(6)三种不同方法的结果。
fa=[0 .175 .2 .4 .425 .575 .6 .8 .825 1];mag=[0 0 1 1 0 0 1 1 0 0];b=remez(40,fa,mag);[h1,w1]=freqz(b,1);plot(w1/pi,20*log10(abs(h1)));plot(w1/pi,angle(h1));运行结果如下:分析:(7)利用雷米兹(Remez)交替算法,设计一个线性相位高通FIR 数字滤波器,其指标为:Hz f c 800=,dB 1=δ, Hz f r 500=,dB At 40=,Hz f s 5000=。
基于DSP的FIR滤波器的设计报告
u 目录1概述................................................................ -0 -1.1数字滤波器的研究现状 ......................................... -0 -2系统硬件设计........................................................ -1 -2.1系统设计方案................................................... -1 -2.2主控模块....................................................... -3 -3系统软件设计........................................................ -4 -3.1软件整体设计................................................. -4 -3.2测量模块....................................................... -7 -4系统测试与总结...................................................... -8 -4.1系统测试 ....................................................... -8 -4.2总结体会...................................................... -10 -参考文献 .............................................................. -11 - 附录 .................................................................. -12 -1 概述1.1 数字滤波器的研究现状20 世纪60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70 年代以后的主攻方向。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSP原理及应用——FIR线性相位滤波器设计学院光电信息与计算机工程学院专业通信工程姓名王桐张莹戴梦渝丁洁华张嫕日期2011年12月目录1.引言2.原理简介2.1滤波器的分类2.2 FIR滤波器的设计2.3窗函数设计法3.实验所用软件4.滤波器类型设定5.实验步骤5.1参数设定5.2滤波器的脉冲响应5.3 MATLAB获取H参数5.4 DSP实现程序5.5在CCS下的程序调试和结果显示6.心得体会7.小组成员具体分工一.引言随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
数字信号处理在通信、语音、图像,自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
在数字信号处理中,滤波占有极其重要的地位。
数字滤波器是谱分析、雷达信号处理、通信信号处理应用中的基本处理算法,在系统设计中,滤波器的好坏将直接影响系统的性能。
现代数字滤波器可以用软件或设计专用的数字处理硬件两种方式来实现,用软件来实现数字滤波器优点是随着滤波器参数的改变,很容易改变滤波器的性能。
二.原理简介2.1滤波器的分类数字滤波器从功能上看,可分为低通、高通、带通、带阻滤波器。
数字滤波器根据其单位脉冲响应可分为IIR (Infinite Impulse Response) 无限长冲激响应滤波器和FIR (Finite Impulse Response)有限长冲激响应滤波器两类。
IIR滤波器可以用较少的阶数获得很高的选择特性,但在有限精度的运算中可能出现不稳定现象,而且相位特性不好控制。
在许多实际应用中为了保证滤波后的信号不产生相位失真。
一般均采用FIR滤波器。
2.2 FIR滤波器的设计FIR 滤波器能够在保证幅度特性满足技术要求的同时,易做成严格的线性相位特性,且FIR滤波器的单位抽样响应是有限长的,因而滤波器一定是稳定的,而且可以用快速傅里叶变换算法实现,大大提高了运算速率。
同时只要经过一定的延时,任何非因果有限长序列都能变成因果的有限长序列,所以系统总能用因果系统来实现。
但FIR必须用很长的冲激响应滤波器才能很好地逼近锐截止的滤波器,需要很大的运算量,要取得很好的衰减特性,需要较高的阶次。
有限长单位冲激响应(FIR )滤波器有以下特点:(1) 系统的单位冲激响应h (n)在有限个n值处不为零;(2) 系统函数H(z )在|z|>0处收敛,极点全部在z = 0处(因果系统);(3) 结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。
长度为N 的FIR 滤波器的单位冲激响应h(n )的系统函数为:H(z)=n=0N -1h(n)z -n其差分方程为:yn =m=0N -1hnx n-mFIR 滤波器直接型结构如图1所示:图1 FIR 滤波器直接型结构F IR 滤波器的设计任务是选择有限长的单位冲激响应,使传输函数满足技术要求。
主要设计方法有窗函数法、频率取样法和等波纹逼近法等3种。
2.3窗函数设计法基于窗函数的FIR 数字滤波器的设计方法通常也称之为傅里叶级数法,是用一定宽度窗函数截取无限脉冲响应序列,获得有限长的脉冲响应序列,从而得到FIR 滤波器。
它是在时域进行的,由理想滤波器的频率响应H d(e jw)推导出其单位冲激响应h d (n),再设计一个FIR 数字滤波器的单位冲激响应h (n)去逼近h d(n ),表示为:hdn=12π-ππH d(e jω)ejωndω由此得到的离散滤波器的系统传递函数H d (z)为:H dz =n =-∞∞hd (n)z-ny(n) -1 -1 -1 -1该h d (n)为无限长序列,因此H d (z)是物理不可实现的。
ﻫ 为了是系统变为物理可实现的,且使实际的F IR滤波器尽可能逼近理想滤波器的频率响应,用一个有限长度的窗函数将无限脉冲响应h d (n )截取一段h(n)来近似表示h d (n ),可得:h(n)=h d (n )w(n),从而有:Hz=n=0N-1h (n )z -n式中N 表示窗口长度,这样H(z)就是物理可实现的系统。
并且从FIR 滤波器的充要条件可知,为了获得线性相位FIR 数字滤波器的冲激响应h (n),那么序列h(n)应该有τ=(N -1)/2的延迟。
窗函数序列的形状及长度的选择是设计关键。
加窗处理对理想矩形频率响应产生了以下几点影响:(1)加窗处理使理想频率特性在不连续点外边沿加宽,形成一个过渡带,过渡带的宽度等于窗的频率响应W R(ω)的主瓣宽度Δω=4π/N。
注意,这里所指的过渡带是两个肩峰之间的宽度,与滤波器真正的过渡带不同。
(2)在截止频率ωC 两边ω=ωC ±2π/N 的地方(即过渡带两边),H(ω)出现最大的肩峰值,肩峰的两侧形成起伏振荡,其振荡幅度取决于旁瓣的相对幅度,而振荡的多少,取决于旁瓣的多少。
(3)增加截取长度N ,则在主瓣附近的窗的频率响应为:W Rω=sin(Nω2)sin(ω2)≈sin(Nω2)ω/2=Nsi nxx其中,x=Nω/2。
所以,改变N,这能窗函数频谱的主瓣宽度、ω坐标的比例以及W R (ω)的绝对值大小,但不能改变主瓣与旁瓣的相对比例。
由于窗函数的选择对结果起着重要的作用,针对不同的信号和不同的处理目的来确定窗函数的选择才能收到良好的效果。
一般情况下,窗函数选择的原则是:具有较低的旁瓣幅度,尤其是第一旁瓣的幅度;旁瓣的幅度下降的速率要快,以利于增减阻带的衰减;主瓣的宽度要窄,这样可以得到比较窄的过渡带。
在本次实验中我们采用blackma n窗函数法。
布莱克曼窗函数布莱克曼窗函数的时域形式可以表示为⎪⎭⎫ ⎝⎛--+⎪⎭⎫ ⎝⎛---=11π4cos 08.011π2cos 5.042.0)(N k N k k w N k ,,2,1 = 它的频域特性为:=)(ωW 42.0()ωR W +25.0+⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-++⎪⎭⎫ ⎝⎛--1212N W N W R R πωπω⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-++⎪⎭⎫ ⎝⎛--1π41π404.0N W N W R R ωω 其中,)(ωR W 为矩形窗函数的幅度频率特性函数。
布莱克曼窗函数的最大旁瓣值比主瓣值低57dB,但是主瓣宽度是矩形窗函数的主瓣宽度的3倍,为12π/N 。
窗函数法设计FIR 滤波器的主要步骤:(1)给出希望设计的滤波器的频率响应函数H d (e jw);(2)根据允许的过渡带宽度及带阻衰减,初步选定窗函数及其长度N;(3)根据技术要求确定待求滤波器的单位取样响应h d (n),hd n=12π-ππHd ejωejωndω 或 hdn=12π02πHd (ejω)ejωndω(4)将hd(n )与窗函数相乘得到F IR 数字滤波器的单位取样响应h(n ),h(n )=h d (n )w(n );(5)按如下方法计算F IR 数字滤波器的频率响应,并验证是否达到所要求的技术指标Hejω=12πHd ejω*Wejω 或 Hejω=n=0N-1hne jωn由H(e j w)计算幅度响应H(ω)和相位响应φ(ω)。
如果不满足要求,可根据具体情况重复(2)~(5)的步骤,直到满足技术要求。
三.实验所用软件(1)M atlab7.1(2)CCS3.3四.滤波器类型设定设计低通FIR 滤波器:通带边缘频率10KHz,阻带边缘频率22KHz ,阻带衰减75dB,采样频率50KH z。
五、实验步骤5.1 参数计算窗函数选定:阻带衰减75dB,选择blackman窗截止频率:2pi*(10+(22-10)/2)/50= 0.64pi窗函数长度:blackman窗的过渡带宽为5.98,单位为2pi/N,而要设计的低通滤波器的过渡带宽为2pi*12/50=0.48pi,二者相等,得N=24.9,取25。
5.2 滤波器的脉冲响应理想低通滤波器脉冲响应:h1[n] = sin(nΩ1)/n/pi = sin(0.64pi*n)/n/pi窗函数为:w[n] =0.42-0.5cos(2pi*n/24)+0.8cos(4pi*n/24)则滤波器脉冲响应为:h[n] =h1*w[n]|n|<=12h[n] = 0|n|>125.3 MATLAB获取H参数根据滤波器的脉冲响应计算出h[n],然后将脉冲响应值移位为因果序列这里计算h[n]的值,采用Matlab计算。
代码如下:Window=blackman(25);h=fir1(24,0.64,Window);freqz(h,1)系数如下:h1=Columns1through80.0000-0.00000.0008-0.0019-0.00160.0100-0.0087-0.0180Columns9through160.0492-0.0204-0.10950.28000.64000.2800-0.1095-0.0204Columns17through240.0492-0.0180-0.00870.0100-0.0019-0.00160.0008-0.0000Columns250.00005.4 DSP 实现程序程序设计框图:否是开 始 定义各变量,进行初始化 主函数各变量初始化 调用信号输入函数 调用滤波函数fOut[nOut]=fOutputnOut 是否小于256 nOut=0 END输入信号的获取:float InputWave() //信号输入函数{for (i=FIRNUMBER-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;return(fXn[0]);}滤波器的实现:floatFIR() //滤波实现函数{floatfSum;fSum=0;for ( i=0;i<FIRNUMBER;i++ ){fSum+=(fXn[i]*fHn[i]);}return(fSum);}5.5 在CCS下的程序调试和结果显示(1)启动CCS(2)硬件选择(3)创建fir.pjt工程(4)加载fir.out文件(5)显示输入信号的时域波形(6)显示输入信号的频域波形(7)显示输出信号的时域波形(8)显示输出信号的频域波形六.实验结果分析f2PI=2*PI; fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;fSignal1=0.0; fSignal1+=fStepSignal1;fSignal2=PI*0.1;fXn[i]=fXn[i-1];fStepSignal1=2*PI/30;fStepSignal2=2*PI*1.4;由上面两段程序可以看出:输入信号x(0)是由sin(0)+cos(0.1π)/6叠加,再与sin(2π/30)与cos(2.9π)混叠,是一个混叠有高频噪声的输入波形。