FIR滤波器的MATLAB设计与实现_第1页
FIR滤波器的MATLAB设计与实现_第2页
FIR滤波器的MATLAB设计与实现_第3页
FIR滤波器的MATLAB设计与实现_第4页
FIR滤波器的MATLAB设计与实现_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FIR滤波器的MATLAB设计与实现1、设计任务1、用MATLAB软件实现FIR滤波器;2、设计基于DSP的FIR滤波器硬件框图;3、了解用DSP实现FIR滤波器的关键问题;4、完成必要的软件流程图。前言在通信与电子信息当中,在对信号作分析与处理时,常会遇到有用信号叠加无用噪声的问题。这些噪声信号有的是与信号同时产生的,有的是在传输过程中混入的,在接收的信号中,必须消除或减弱噪声干扰,这是信号处理中十分重要的问题。根据有用信号与噪声的不同特性,消除或减弱噪声,提取有用信号的过程就称为滤波。滤波器的种类很多,实现方法也多种多样。随着数字技术的飞速发展,数字滤波理论也得到了长足的进步。因此,对数字滤波系统硬件实现的要求也越来越高,而软件模拟的方法不仅能及时地提供系统运行的信息,还可以随时改变系统结构从而验证全新的系统,所以软件仿真变得非常重要。Matlab是具有很强的科学计算和图形显示功能的软件系统,可以对数字滤波器进行精确设计,并且方便地进行FFT频谱分析与频谱图显示,从而对数字滤波器进行快速地检验和分析。本文讨论在MATLAB平台下的FIR数字滤波器设计与分析。DSP是一种实时、快速、特别适合于实现各种数字信号处理运算的微处理器。III于它山具有丰富的硬件资源、高速数据处理能力和强大的指令系统,而在通信、航空、航天、雷达、工业控制、网络及家用电器等各个领域得到广泛应用。DSP分为定点和浮点两种,本文以定点DSP芯片为例,讨论FIR滤波器实现的儿个关键问题。所讨论的这些问题,在DSP系统设计中有实际的参考和应用价值。.FIR滤波器的原理与MATLAB仿真设计滤波器概述数字滤波在数字信号处理中占有重要的地位,是广泛使用的一种基本线性处理模块,它可以实现模拟器件很难达到的准确线性相位关系特性。数字滤波器分为无限冲激响应滤波器⑴即和有限冲激响应滤波器下止)。由于FIR系统只有零点,因此这类滤波器不像IIR滤波器那样容易取得比较好的通带与阻带衰减特性。要取得好的衰减特1/11性,一般要求H⑵的阶次要高,即N要大。FIR滤波器有自己突出的优点,其一是系统总是稳定的,其二是易实现线性相位,其三是只要经过一定的时延,任何非因果有现场序列都能变成因果有限长序列,因而总能用因果系统来实现,其四是FIR滤波器由于单位冲击响应是有限长的,因而可以用快速傅里叶变换算法来实现过滤信号,从而可以大大提高运算效率。山于FIR滤波器在阶数相同的条件下运算速度比IIR滤波器快,同时FIR滤波器具有不含反馈环路、结构简单以及可以实现的严格线性相位等优点,因而在对相位要求比较严格的条件下,常常采用FIR数字滤波器。LI前常用的设计方法主要有窗函数法、频率取样法及等波纹逼近法。本文应用窗函数法设IIFIR数字低通滤波器。具体参数见表一。FIR数字滤波器基本原理窗函数法的基本思想先构造一个线性相位理想滤波器的频率响应HQ,然后用一个N点的窗函数w(n),(0</z</V-l)去截取理想滤波器的单位抽样响应hd(n)(通常为无限长),从而得到具有线性相位的实际滤波器的有限长单位抽样响h(n)=hd(n)w(n)。3・2・2基本方法(1)构造线性相位理想滤波器的频率响应Hd(ejw),为简单起见,若没有90°相移的特殊要求,一般选择滤波器具有第一类线性相位。(2)求理想滤波器的单位抽样响应打⑺)o(3)根据技术指标要求和4种形式的线性相位FIR数字滤波器的特点,选择合适的窗函数亚(口)及其长度N,然后对心(“)加窗函数截取,得到具有线性相应的实际FIR数字滤波器的单位抽样相应/?(“)=几(”)叽“)(0</7<N-l)。(4)检验实际滤波器的频率响应H(产)=DTFT[h(n)]是否满足设计指标要求。3.2.3用窗函数设计FIR滤波器的步骤(1)根据技术要求确定线性相位理想滤波器的频率响应孔(*)°(2)求理想滤波器的单位抽样响应卜乂”)do(3)根据对过渡带及阻带衰减的要求,选择窗函数的形式,并估计窗口长度N,设待求滤波器的过渡带用Aw表示,它近似等于窗函数主瓣的宽度。(4)计算滤波器的单位抽样响应h{n)=hd(n)w(n)(5)验算技术指标是否满足要求,设计出的滤波器频率响应用下式计算N-1/7(占)=工/心)广加/r-03.2.4用窗函数设计FIR滤波器设滤波器的通带截止频率为几,阻带截止频率为系统采样频率为人哪,则其过渡带宽带为抽样周期为 7.一二一J'amnp则过渡带数字角频率为%*=2开白=2加与工各种窗函数的过渡带宽可用二来表示,其中N是滤波器阶数,x是一个整数,对N应于矩形窗,三角窗,汉亍窗,汉明窗,其值分别为4,&&8,所以滤波器的阶数N可由下式求得N一兀一入J%2(Z-/P)理想低通滤波器的冲击响应为人/।其中6二空犁,叫是3dB通带截止数字角频率,其值为(几十皿1 2,j,口呻加窗后的低通滤波器的冲击响应为%也%)检验实际滤波器的频率响应DTFT[h(n)]是否满足设计指标要求。表1几种常见的窗函数对比窗函数旁瓣瞩值主瓣最小阻带衰减/dB宽度/儿/N衰减/dB矩形窗134-21三角窗-258-25汉宁窗-318-44海明窗-41S-53例:用窗函数设计一个线性相位FIR低通滤波器,并满足性能要求:通带边界的归一化频率wp二0.5,阻带边界的归一化频率ws二0.66,阻带衰减不小于30dB,.通带波纹不大于3dB,假设一个信号,其中f1二5Hz,f2二20Hz.。信号的采样频率为50Hz.o并将原信号与通过滤波器的信号进行比较。由题意值,阻带衰减不小于30dB,根据表1,选取汉宇窗,因为汉宇窗的第一旁瓣相对主瓣衰减为31dB,满足滤波要求。wp=O.5*pi;ws=0.66*pi; %滤波器的边界频率wdelta=ws-wp; %过渡带宽度N=ceil(8*pi/wdelta); %根据过渡带宽等于表中汉中窗函数的主瓣宽度求得滤波器所用常函数的最小带宽Wn=(O.5+O.6)*pi/2; %截止频率取通带和阻带边界频率的中点b=firl(N,Wn/pi,hanning(N+1));%设计FIR滤波器[H,f]=freqz(b,1,512,50); %采用50Hz的采样频率绘出该滤波器的幅频和相频响应subplot(2,l,1),plot(f,20*log10(abs(H)));xlabel(,频率,);ylabel(振幅J;gridon;subplot(2,l,2),plot(f,l80/pi*unwrap(angle(H)));xlabel(濒率);ylabel('相位')旭兔on;fl=3;f2=20;dt=0.02;t=0:dt:3; %采样间隔和检测信号的时间序列x=sin(2*pi*f1*t)+cos(2*pi*f2*t);%检测信号y=fftfilt(b,x); %给出滤波器的输出figure(2)subplot(2J,1)00班出),由1。0输入信号)%绘出输入信号subplot(2,l,2),plot(t,y)%绘出输出信号holdon;plot([11]*(N-1)/2*dt,ylim;r,) %绘出延迟到的时刻xlabef时间XtitleC输出信号)10 16频率/电10 16频率/电I t输入(言号0 0.5 11 1.5 2 12.5 '3图2所设计滤波器的输入和输出信号程序运行结果如图1,2.该例对应于50Hz的采样频率通带边界频率为fp二50/2*0.5二12.5Hz,fs二50/2*0.66二16.5Hz。有图1上图得,在小于12.5Hz的频段上,儿乎看不到下降,即满足通带波纹不大于3dB的要求。在大于16.5Hz的频段上,阻带衰减大于30dB,满足题L1要求。山图1下图得,在通带范围内,相位频率响应为一条直线,表面该滤波器为线性相位。图2给出了滤波器的输入信号和输出信号,输入信号包括3Hz和20Hz的信号,由图1可知,20Hz的信号不能通过该滤波器,通过滤波器后只剩下3Hz的信号。III于FIR滤波所需的阶数较高,信号延迟(N-1)/2也较大,输出信号前面有一段直线就是延迟造成的。FIR滤波器的DSP实现FIR滤波器的DSP实现方案DSP与一般的微处理器相比有很大的区别。它所特有的结构和指令集合为解决复杂的数字信号处理问题提供了便利。在DSP处理器上实现FIR滤波时,一般使用实系数的FIR滤波器,其最基本的操作是MAC(乘-累加)指令。本文介绍在TMS320C54X上实现FIR滤波器。C54X上有一个17位*17位的乘法器和一个40位的加法器,用于在单周期内实现MAC运算。同时,C54X使用了先进的多总线体系结构,包含1条程序总线,3条数据总线及4条辅助地址总线。这些特殊的硬件结构使得C54X支持单指令循环,快循环,数据块搬移及循环寻址。所以这些都有利于高效的实现FIR滤波器。

4.2硬件框图时同步WFOA/J转换*4.2硬件框图时同步WFOA/J转换*^<^LX号」DSP

(TMS32

0C5410)RS232接口JTAG接口JTAG图3系统总体框图JTAG(JointTestActionGroup)联合测试行动小组)是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。基本原理是在器件内部定义一个TAP(TestAccessPort�测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。FLASE存储器具有性价比高,体积小,功耗低,可电擦写,使用方便等优点。在DSP应用系统中采用Flash存储器和固定数据是一种比较好的选择。SRAM静态存储器,读写速度快,但价格较高。适合于外部存放需要经常访问或更新的临时数据。RS232电平转换模块,将外部电平转换为适合DSP芯片内部要求的电平。图3是系统的总体框图。主要包括输入信号缓冲及调理电路、A/D变换器、输入缓冲FIFO、DSP及外圉电路、输出缓冲FIFO、D/A变换器等儿部分。其中DSP及外围电路包括程序存储器、串行口、显示及键盘接口等。串行口用于实现和PC机的通信,可以通过PC机对滤波器的控制。假定输入模拟信号为带限信号。该信号经缓冲和调理后经A/D变换进入输入缓冲FIFO,当FIFO中的数据达到一定数量时产生中断,DSP将数据读入内存中并进行计算和处理,这里DSP主要实现FIR滤波运算。处理后的数据写入输出FIFO中,之后通过D/A变换后输出模拟信号。输出的信号是低通滤波后的结果。4.3用DSP实现FIR滤波器的关键问题定 点 数 的 定 标在滤波器的实现过程中,DSP所要处理的数可能是整数,也可能是小数或混合小数;然而,DSP在执行算术运算指令时,并不知道当前所处理的数据是整数还是小数,更不能指出小数点的位置在哪里。因此,在编程时必须指定一个数的小数点处于哪一位,这就是定标。通过定标,可以在16位数的不同位置上确定小数点,从而表示出一个范围大小不同且精度也不同的小数。误 差 问 题因为在用定点DSP实现时,所有的数据都是定长的,运算也都是定点运算,因而会产生有限字长效应。所产生的误差主要包括:数模转换引起的量化误差、系数量化引起的误差以及运算过程中的舍入误差。在用定点DSP时,产生误差是不能避免的。循 环 寻 址循环寻址是DSP中经常用到的一种寻址方式。该寻址方法可以对一块特定存储区实现循环的操作。可以把循环寻址理解为实现一个滑动窗,新数据引入后将覆盖老的数据,便得该窗中包含了需处理的最新数据。在数字信号处理中的尸1氐卷积等运算中,循环寻址具有极其重要的意义。运算量估计及DSP芯片的选取。滤波器必须做到实时处理,因此对运算量应该有一个精确的估计,然后选择合适的DSP处理器。估计运算量时应按最高采样率时计算,主要估算其乘加次数。4.3.5A/D及D/A变换器的选取A/D及D/A变换器的选取主要考虑速度和数据宽度。变换器的速度一定要大于所设计滤波器的最高采样速率并要考虑一定的裕量,变换器的数据宽度则根据实际需要的计算精度选择。4.3.6DDS芯片的选取DDS芯片的选择主要考虑频率的调整步长,当可调滤波器的调整步长较大时,可以选择精度稍低的DDS芯片。4.4软件流程滤波器的软件要实现的功能主要是FIR滤波。工作流程为:根据按键输入的频

率,DSP讣算出应对AD9850设置的状态字并对AD9850进行设置,AD9850将按设置的频率输出时钟。A/D转换后的数据进入FIFO中,当到达设置的数据量时将产生中断,DSP将输入FIFO中的数据读入DSP并进行FIR运算。运算完成后的数据写入输出FIFOo输出FIFO中的数据将按照与A/D转换同样的速率输出到D/A变换器中并产生模拟输出。这样,只要保证FIR运算足够快就可以既不会产生数据溢出,也不会输出数据不足。图4软件流程图5结束语山于数字技术的飞速发展,数字滤波理论得到飞速发展,对数字滤波器的设计也提出了更高的要求。现代数字滤波器可以用软件或硬件2种方式来实现,软件方式实现的优点是可以通过参数的修改进行滤波器性能的仿真和优化。本文运用MATLAB软件,根据设计要求进行了FIR滤波器的仿真。并分析了用DSP实现FIR滤波器的硬件结构和儿个关键问题,这些关键问题在实际设计中都有着重要义。参考文献[1]程佩青.数字信号处理教程[M].北京:清华大学出版社,2008,323-369.[2]万永革.数字信号处理的MATLAB实现[M].北京:科学出版社,2007,187-234.[3]张卫宁.DSP原理及应用教程[M].北京:科学出版社,2008,282-296.[4]张雄伟,邹霞,贾冲.DSP芯片原理与应用[M]

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论