版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FIR滤波器的MATLAB设计与实现1、设计任务1、用MATLAB软件实现FIR滤波器;2、设计基于DSP的FIR滤波器硬件框图;3、了解用DSP实现FIR滤波器的关键问题;4、完成必要的软件流程图。2前言在通信与电子信息当中,在对信号作分析与处理时,常会遇到有用信号叠加无用噪声的问题。这些噪声信号有的是与信号同时产生的,有的是在传输过程中混入的,在接收的信号中,必须消除或减弱噪声干扰,这是信号处理中十分重要的问题。根据有用信号与噪声的不同特性,消除或减弱噪声,提取有用信号的过程就称为滤波。滤波器的种类很多,实现方法也多种多样。随着数字技术的飞速发展,数字滤波理论也得到了长足的进步。因此,对数
2、字滤波系统硬件实现的要求也越来越高,而软件模拟的方法不仅能及时地提供系统运行的信息,还可以随时改变系统结构从而验证全新的系统,所以软件仿真变得非常重要。Matlab 是具有很强的科学计算和图形显示功能的软件系统,可以对数字滤波器进行精确设计,并且方便地进行FFT 频谱分析与频谱图显示,从而对数字滤波器进行快速地检验和分析。本文讨论在MATLAB 平台下的FIR 数字滤波器设计与分析。DSP是一种实时、快速、特别适合于实现各种数字信号处理运算的微处理器。由于它由具有丰富的硬件资源、高速数据处理能力和强大的指令系统,而在通信、航空、航天、雷达、工业控制、网络及家用电器等各个领域得到广泛应用。DSP
3、分为定点和浮点两种,本文以定点DSP芯片为例,讨论FIR滤波器实现的几个关键问题。所讨论的这些问题,在DSP系统设计中有实际的参考和应用价值。3FIR 滤波器的原理与MATLAB仿真设计3.1 滤波器概述数字滤波在数字信号处理中占有重要的地位,是广泛使用的一种基本线性处理模块,它可以实现模拟器件很难达到的准确线性相位关系特性。数字滤波器分为无限冲激响应滤波器(IIR)和有限冲激响应滤波器(FIR)。由于FIR系统只有零点,因此这类滤波器不像IIR 滤波器那样容易取得比较好的通带与阻带衰减特性。要取得好的衰减特性,一般要求H(z)的阶次要高,即N 要大。FIR 滤波器有自己突出的优点,其一是系统
4、总是稳定的,其二是易实现线性相位,其三是只要经过一定的时延,任何非因果有现场序列都能变成因果有限长序列,因而总能用因果系统来实现,其四是FIR滤波器由于单位冲击响应是有限长的,因而可以用快速傅里叶变换算法来实现过滤信号,从而可以大大提高运算效率。由于FIR 滤波器在阶数相同的条件下运算速度比IIR 滤波器快,同时FIR滤波器具有不含反馈环路、结构简单以及可以实现的严格线性相位等优点,因而在对相位要求比较严格的条件下,常常采用FIR 数字滤波器。目前常用的设计方法主要有窗函数法、频率取样法及等波纹逼近法。本文应用窗函数法设计FIR 数字低通滤波器。具体参数见表一。3.2 FIR 数字滤波器基本原
5、理窗函数法的基本思想先构造一个线性相位理想滤波器的频率响应,然后用一个N点的窗函数w(n), 去截取理想滤波器的单位抽样响应(通常为无限长),从而得到具有线性相位的实际滤波器的有限长单位抽样响。基本方法(1)构造线性相位理想滤波器的频率响应,为简单起见,若没有90°相移的特殊要求,一般选择滤波器具有第一类线性相位。(2)求理想滤波器的单位抽样响应。(3)根据技术指标要求和4种形式的线性相位FIR数字滤波器的特点,选择合适的窗函数w(n)及其长度N,然后对加窗函数截取,得到具有线性相应的实际FIR数字滤波器的单位抽样相应,。(4)检验实际滤波器的频率响应是否满足设计指标要求。用窗函数设
6、计FIR滤波器的步骤(1)根据技术要求确定线性相位理想滤波器的频率响应。(2)求理想滤波器的单位抽样响应。(3)根据对过渡带及阻带衰减的要求,选择窗函数的形式,并估计窗口长度N,设待求滤波器的过渡带用表示,它近似等于窗函数主瓣的宽度。(4)计算滤波器的单位抽样响应(5)验算技术指标是否满足要求,设计出的滤波器频率响应用下式计算用窗函数设计FIR滤波器设滤波器的通带截止频率为,阻带截止频率为,系统采样频率为,则其过渡带宽带为 , 抽样周期为 则过渡带数字角频率为 各种窗函数的过渡带宽可用来表示,其中N 是滤波器阶数,x是一个整数,对应于矩形窗,三角窗,汉宁窗,汉明窗,其值分别为4,8,8,8,所
7、以滤波器的阶数N可由下式求得理想低通滤波器的冲击响应为 其中, 是3dB通带截止数字角频率,其值为 加窗后的低通滤波器的冲击响应为 检验实际滤波器的频率响应是否满足设计指标要求。表1 几种常见的窗函数对比窗函数旁瓣峰值主瓣最小阻带衰减/dB宽度/ /N衰减/dB矩形窗134-21三角窗-258-25汉宁窗-318-44海明窗-418-53例: 用窗函数设计一个线性相位FIR低通滤波器,并满足性能要求:通带边界的归一化频率wp=0.5,阻带边界的归一化频率ws=0.66,阻带衰减不小于30dB,.通带波纹不大于3dB,假设一个信号,其中f1=5Hz,f2=20Hz.。信号的采样频率为50Hz.。
8、并将原信号与通过滤波器的信号进行比较。由题意值,阻带衰减不小于30dB,根据表1,选取汉宁窗,因为汉宁窗的第一旁瓣相对主瓣衰减为31dB,满足滤波要求。wp=0.5*pi;ws=0.66*pi; %滤波器的边界频率wdelta=ws-wp; %过渡带宽度N=ceil(8*pi/wdelta); %根据过渡带宽等于表中汉宁窗函数的主瓣宽度求得滤波器所用常函数的最小带宽Wn=(0.5+0.6)*pi/2; %截止频率取通带和阻带边界频率的中点b=fir1(N,Wn/pi,hanning(N+1);%设计FIR滤波器H,f=freqz(b,1,512,50); %采用50Hz的采样频率绘出该滤波器的
9、幅频和相频响应subplot(2,1,1),plot(f,20*log10(abs(H);xlabel('频率');ylabel('振幅');grid on;subplot(2,1,2),plot(f,180/pi*unwrap(angle(H);xlabel('频率');ylabel('相位');grid on;f1=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); %给出滤波器的输出fig
10、ure(2)subplot(2,1,1),plot(t,x),title('输入信号') %绘出输入信号subplot(2,1,2),plot(t,y) %绘出输出信号hold on;plot(1 1*(N-1)/2*dt,ylim,'r') %绘出延迟到的时刻xlabel('时间'),title('输出信号')图1 所设计滤波器的幅频响应(上图)和相频响应(下图)图2 所设计滤波器的输入和输出信号程序运行结果如图1,2.该例对应于50Hz的采样频率通带边界频率为fp=50/2*0.5=12.5Hz,fs=50/2*0.66=16
11、.5Hz。有图1上图得,在小于12.5Hz的频段上,几乎看不到下降,即满足通带波纹不大于3dB的要求。在大于16.5Hz的频段上,阻带衰减大于30dB,满足题目要求。由图1下图得,在通带范围内,相位频率响应为一条直线,表面该滤波器为线性相位。图2给出了滤波器的输入信号和输出信号,输入信号包括3Hz和20Hz的信号,由图1可知,20Hz的信号不能通过该滤波器,通过滤波器后只剩下3Hz的信号。由于FIR滤波所需的阶数较高,信号延迟(N-1)/2也较大,输出信号前面有一段直线就是延迟造成的。4FIR滤波器的DSP实现4.1 FIR滤波器的DSP实现方案 DSP与一般的微处理器相比有很大的区别。它所特
12、有的结构和指令集合为解决复杂的数字信号处理问题提供了便利。在DSP处理器上实现FIR滤波时,一般使用实系数的FIR滤波器,其最基本的操作是MAC(乘-累加)指令。本文介绍在TMS320C54X上实现FIR 滤波器。C54X上有一个17位*17位的乘法器和一个40位的加法器,用于在单周期内实现MAC运算。同时,C54X使用了先进的多总线体系结构,包含1条程序总线,3条数据总线及4条辅助地址总线。这些特殊的硬件结构使得C54X支持单指令循环,快循环,数据块搬移及循环寻址。所以这些都有利于高效的实现FIR滤波器。4.2 硬件框图时钟输入模拟信号输出模拟信号号同步FIFO同步FIFOD/A转换A/D转
13、换DSP(TMS320C5410)FLASEJTAG接口 SRAMRS232接口 图3 系统总体框图JTAG(Joint Test Action Group)联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。基本原理是在器件内部定义一个TAP(Test Access Port�测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。FLASE存储器具有性价比高,体积小,功耗低,可电擦写,使用方便等优点。在DSP应用系统中采用Flash存储
14、器和固定数据是一种比较好的选择。SRAM静态存储器,读写速度快,但价格较高。适合于外部存放需要经常访问或更新的临时数据。RS232电平转换模块,将外部电平转换为适合DSP芯片内部要求的电平。图3是系统的总体框图。主要包括输入信号缓冲及调理电路、A/D 变换器、输入缓冲 FIFO、DSP及外围电路、输出缓冲FIFO、D/A变换器等几部分。其中DSP及外围电路包括程序存储器、串行口、显示及键盘接口等。串行口用于实现和PC机的通信,可以通过PC机对滤波器的控制。假定输入模拟信号为带限信号。该信号经缓冲和调理后经A/D变换进入输入缓冲FIFO,当 FIFO中的数据达到一定数量时产生中断,DSP将数据读
15、入内存中并进行计算和处理,这里DSP主要实现FIR滤波运算。处理后的数据写入输出FIFO中,之后通过D/A变换后输出模拟信号。输出的信号是低通滤波后的结果。4.3 用DSP实现FIR滤波器的关键问题 定点数的定标 在滤波器的实现过程中,DSP所要处理的数可能是整数,也可能是小数或混合小数;然而,DSP在执行算术运算指令时,并不知道当前所处理的数据是整数还是小数,更不能指出小数点的位置在哪里。因此,在编程时必须指定一个数的小数点处于哪一位,这就是定标。通过定标,可以在16位数的不同位置上确定小数点,从而表示出一个范围大小不同且精度也不同的小数。4.3.2 误差问题因为在用定点DSP实现时,所有的
16、数据都是定长的,运算也都是定点运算,因而会产生有限字长效应。所产生的误差主要包括:数模转换引起的量化误差、系数量化引起的误差以及运算过程中的舍入误差。在用定点DSP时,产生误差是不能避免的。 循环寻址循环寻址是DSP中经常用到的一种寻址方式。该寻址方法可以对一块特定存储区实现循环的操作。可以把循环寻址理解为实现一个滑动窗,新数据引入后将覆盖老的数据,便得该窗中包含了需处理的最新数据。在数字信号处理中的FIR、卷积等运算中,循环寻址具有极其重要的意义。4.3.4 运算量估计及 DSP 芯片的选取。滤波器必须做到实时处理,因此对运算量应该有一个精确的估计,然后选择合适的 DSP 处理器。估计运算量
17、时应按最高采样率时计算,主要估算其乘加次数。4.3.5 A/D 及 D/A 变换器的选取A/D 及 D/A 变换器的选取主要考虑速度和数据宽度。变换器的速度一定要大于所设计滤波器的最高采样速率并要考虑一定的裕量,变换器的数据宽度则根据实际需要的计算精度选择。4.3.6 DDS 芯片的选取DDS 芯片的选择主要考虑频率的调整步长,当可调滤波器的调整步长较大时,可以选择精度稍低的 DDS 芯片。4.4 软件流程滤波器的软件要实现的功能主要是FIR滤波。工作流程为:根据按键输入的频率,DSP计算出应对AD9850设置的状态字并对AD9850进行设置,AD9850将按设置的频率输出时钟。A/D 转换后
18、的数据进入FIFO中,当到达设置的数据量时将产生中断,DSP将输入 FIFO 中的数据读入DSP并进行FIR运算。运算完成后的数据写入输出FIFO。输出FIFO中的数据将按照与A/D转换同样的速率输出到 D/A 变换器中并产生模拟输出。这样,只要保证FIR运算足够快就可以 既不会产生数据溢出,也不会输出数据不足。停止采样,释放系统资源是否继续采样开始结束显示波形D/A转换DSP计算A/D转换输入频率否是 图4 软件流程图5.结束语由于数字技术的飞速发展,数字滤波理论得到飞速发展,对数字滤波器的设计也提出了更高的要求。现代数字滤波器可以用软件或硬件2 种方式来实现,软件方式实现的优点是可以通过参数的修改进行滤波器性能的仿真和优化。本文运用MATLAB软件,根据设计要求进行了FIR滤波器的仿真。并分析了用DSP实现FIR滤波器的硬件结构和几个关键问题,这些关键问题在实际设计中都有着重要义。6参考文献1程佩青.数字信号处理教程M.北京:清华大学出版社,2008,323-369.2万永革.数字信号处理的MATLAB实现M.北京:科学出版社,2007,187-234.3张卫宁.DSP原理及应用教程M.北京:科学出版社,2008,282-296.4张雄伟,邹
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塑料薄膜阻隔性塑料浆体磨料磨损试验机浆体浓度检测作业指导书
- 2026年中职第二学年(物业客服)沟通技巧阶段测试题及答案
- 山西省晋中市2026-2027学年三年级数学第一学期期末联考模拟试题含解析
- 成都市新津县2026年数学四上期末考试模拟试题含解析
- 2027届江苏省南京市玄武区三年级数学第一学期期末复习检测试题含解析
- 初级考试考试题目及答案
- 2027届昆明市寻甸回族彝族自治县数学五下期末调研试题含答案含解析
- 水下航行器艉轴密封的泄漏特性研究报告
- 农药包装废弃物高温热解环评报告
- 放射培训考试题及答案解析
- 2026年执业医师《乡村全科执业助理医师》真题回忆版
- 2026年江西高考历史试卷及答案
- 教育评价改革学生发展论文
- 2026四川自贡市沿滩区就业创业促进中心招聘高校毕业生公共服务岗7人参考题库含答案详解(培优)
- 幽门螺杆菌感染双联方案专家共识解读总结2026
- 2026年珲春市事业单位公开招聘工作人员和基层治理专干(含专项招聘高校毕业生)(180人)笔试参考试题及答案详解
- 2026中国质子治疗系统引进成本与本土化生产可行性报告
- 2026年保密观保密教育线上培训答案
- 2026年中国民用航空适航审定中心招聘备考题库(40人)及完整答案详解一套
- 卷材防水屋面监理实施细则
- 亚洲语言文明现状研究报告
评论
0/150
提交评论