




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、理想低通滤波器第1页/共37页低通、高通、带通与带阻第2页/共37页高通滤波器第3页/共37页带通滤波器第4页/共37页带阻滤波器a.Band-reject byAdding parallel stagesb.Band-reject byin a single stagexnh1nh2nynLow-passxnh1n+h2nynband-passhigh-pass第5页/共37页有限冲击响应(FIR)滤波器10Npppkxakypa式中,yk是时刻t=kT时滤波器的输出信号,xk是最近( t=kT )的输入信号,xk-p是延时了p个采样周期的输入信号, 是第p个延时节的加权值(也就是滤波器系数
2、)。 从这个结构可以看出,因为该滤波器的冲激响应,在N个采样周期后变为0,因此称为有限冲激响应滤波器。FIR滤波器的基本结构,是一个分节的延时线,每一节的输出加权累加,得到滤波器的输出。数学上可以表示为:而IIR滤波器的差分方程后面还需要加上一项Mpppkyb1第6页/共37页10)1(110)(NpNNppzazaazazH将式 作Z变换,得传输函数:10Npppkxaky由传输函数可以看出,由于FIR的传输函数H(z)只在Z平面上的原点处有极点,因此,它是稳定的。第7页/共37页FIR滤波器的横截型结构Z-1Z-1Z-1Z-1+y(n)x(n)x(n-1)x(n-2)x(n-N+1)a0a
3、1a2aN-2aN-1第8页/共37页FIR滤波器的主要特点单位冲激响应只有有限多项可以设计成线性相位系数只在零点处有极点,因此系统总是稳定的便于DSP实现并可用立即数乘加指令编程,节约存储器第9页/共37页系统非线性相移造成输出信号失真 系统相位特性决定了信号不同频率的时延,系统的群延时定义为相位函数的导数。 dd)(第10页/共37页忽略相位信息的后果DFT变换DFT反变换忽略相位信息输入波形输出波形第11页/共37页要求线性相位的例子通信系统:数据通信、调制解调器希尔伯特变换器:要求输入输出信号正交高保真音响系统:音乐的相位失真必须减到最小,尽可能逼真地重现原来的声音理想微分器第12页/
4、共37页线性相位的FIR滤波器系统的群延时tconsddgtan)(第13页/共37页线性相位设计当hp=hN-p 即hp关于中点对称,且:2NTg则满足线性相位要求,群延时为:sgfNNT221第14页/共37页FIR滤波器的DSP实现 FIR滤波器的基本算法是一种乘法-累加运算,即不断的输入样本x(n),经过 延时后,再进行乘法-累加,最后输出滤波结果y(n) 操作:延迟(一个采样周期)操作,两种方法:1、线性缓冲区实现2、用循环缓冲区实现1z1z1z1z第15页/共37页线性缓冲区法 线性缓冲区法又称延迟线法。其方法是:对于n=N的FIR滤波器,在数据存储器中开辟一个N单元的缓冲区,存放
5、最新的N个样本;滤波时从最老的样本开始,每读一个样本后,将此样本向下移位;读完最后一个样本后,输入最新样本至缓冲区的顶部。 以上过程,可以用N=6的线性缓冲区示意图来说明,如图所示: 第16页/共37页第17页/共37页循环缓冲区法下图说明了使用循环寻址实现FIR滤波器的方法。对于N级FIR滤波器,在数据存储区开辟一个称为滑窗的具有N个单元的缓冲区,滑窗中存放最新的N个输入样本值。每次输入新的样本时,新的样本将改写滑窗中最老的数据,其他数据则不需要移动。第18页/共37页第19页/共37页用循环缓冲区实现1z第20页/共37页FIR滤波器编程实现RPTBD fir_filter_loop-1S
6、TM #k_FIR_BFFR,BK;FIR circular bffr sizeLD *INBUF_P+,A;load the input valueFir_filter:STL A,*FIR_DATA_P+%;replace oldest sample with newest sampleRPTZ A,(K_FIR_BUFF-1)MAC *FIR_DATA_P+0%,*FIR_COFF_P+0%,A;filteringSTH A,*OUTBUF_P+;replace the oldest bffr valuefir_filter_loop第21页/共37页计算16阶的FIR滤波器输出256个
7、点.sect ”fir_prog” STM #255,BRC;Repeat 256 timesRPTBD fir_filter_loop STM #16,BK;FIR circular buffer sizeLD *AR7+,A;load the input valueSTL A,*AR4+%;replace oldest sample with newest sampleRPTZ A,#15MAC *AR4+0%,*AR3+0%,A;filteringSTH A,*AR5+;replace the oldest buffer valueFir_filter_loop第22页/共37页C54的
8、FIRS指令该指令实现一个对称的FIR滤波器。累加器A的高段和由pmad(程序存储器地址)寻址的pmem相乘,结果加到累加器B中。同时,存储器操作数Xmem和Ymem相加,结果左移16bits,然后装入累加器A。在下一个循环中,pmad加1.语法:FIRS Xmem,Ymem,pmad例:FIRS *AR3+,*AR4+,COEFFS第23页/共37页【例】用循环缓冲区和双操作数寻址方法编写实现FIR滤波的程序。1FIR滤波器设计 设计一个FIR低通滤波器,通带边界频率为1500Hz,通带波纹小于1dB;阻带边界频率为2000Hz,阻带衰减大于40dB;采样频率为8000Hz。FIR滤波器的设
9、计可以用MATLAB窗函数法进行。第24页/共37页2产生滤波器输入信号的文件 按照通常的程序调试方法,先用Simulator逐步调试各子程序模块,再用硬件仿真器在实际系统中与硬件仪器联调。使用CCS的Simulator进行滤波器特性测试时,需要输入时间信号x(n)。本例设计一个采样频率Fs为8000Hz,输入信号频率为1000Hz和2500Hz的合成信号,通过设计的低通滤波器将2500Hz信号滤掉,余下1000Hz信号。第25页/共37页3编写FIR数字滤波器的汇编源程序FIR数字滤波器汇编程序fir.asm如下:* * * * * * * * * * * * 一 个 F I R 滤 波 器
10、 源 程 序 fir.asm*.mmregs.global start.def start,_c_int00INDEX .set 1KS.set 256 ;输入样本数据个数COEF_FIR .sect COEF_FIR;FIR滤波器系数N .set 17 ;FIR滤波器阶数第26页/共37页.word 0,158,264,-290,-1406,-951,3187,9287,12272.word9287,3187,-951,-1406,-290,264,158,0.dataINPUT.copy firin.inc;输入数据在数据区0 x2400OUTPUT.space1024;输出数据在数据区0
11、 x2500COEFTAB .usectFIR_COEF,NDATABUF.usectFIR_BFR,NBOS.usectSTACK,0FhTOS.usectSTACK,1 .text.asg AR0,INDEX_P第27页/共37页 .asgAR4,DATA_P;输入数据x(n)循环缓冲区指针 .asgAR5,COEF_P;FIR系数表指针 .asg AR6,INBUF_P ;模拟输入数据指针 .asgAR7,OUTBUF_P ;FIR滤波器输出数据指针 _c_int00 b start nop nopstart: SSBxFRCT ; 小 数 乘 法 编 程 时 , 设 置FRCT(小数方
12、式)位 MVPD#COEF_FIR,*COEF_P+ STM#INDEX,INDEX_P第28页/共37页 STM#DATABUF,DATA_P;数据循环缓冲区清零 RPTZA,#N-1 STLA,*DATA_P+ STM#(DATABUF+N-1),DATA_P;数据循环缓冲区指针指向xn-(N-1) STM#COEFTAB,COEF_P STM #COEFTAB,COEF_P ;将FIR系数从程序存储器移到数据存储器 RPT #N-1 FIR_TASK: STM#INPUT,INBUF_P S T M # O U T P U T , O U T B U F _ P 第29页/共37页STM
13、#KS-1,BRCRPTBDLOOP-1STM#N,BK;FIR循环缓冲区大小LD*INBUF_P+,A ;装载输入数据FIR_FILTER: ;FIR滤波运算STLA,*DATA_P+% ;用最新的样本值替代最旧的样本值RPTZA,N-1MAC*DATA_P+0%,*COEF_P+0%,ASTHA,*OUTBUF_P+.end第30页/共37页4编写FIR滤波器链接命令文件 对应以上汇编程序的链接命令文件fir.cmd如下:fir.obj-m fir.map-ofir.outMEMORYPAGE 0:ROM1(RIX):ORIGIN=0080H,LENGTH=100HPAGE 1:INTRA
14、M1(RW) :ORIGIN=2400H,LENGTH=0200H INTRAM2(RW) :ORIGIN=2600H,LENGTH=0100H将输出文件名改成fir.out,如果不使用-o,则输出文件省缺名为a.out。-m选择项建立映射列表文件,该映射列表描述存储器划分、输入与输出断的位置以及外部符号重新定位后的地址。PAGE说明一个存储器空间,用户最多可以说明255页。通常,page0是程序存储器,page1是数据存储器。第31页/共37页INTRAM3(RW):ORIGIN=2700H,LENGTH=0100HB2B(RW):ORIGIN=0070H,LENGTH=10H SECTIONS.text :ROM1PAGE 0.data : INTRAM1 PAGE 1FIR_COEF: INTRAM2 PAGE 1FIR_BFR : INTRAM3 PAGE 1. s t a c k : B 2 B PAGE 1 程序代码装入ROM区第32页/共37页5CCS集成开发环境下上机操作过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机科学核心知识试题及答案
- 法学概论与人文社会科学的交融试题及答案
- 山东省威海文登区四校联考2025届七下数学期末综合测试模拟试题含解析
- 信息处理技术员考试复习问题集试题及答案
- 增强班级合作意识的工作措施计划
- 法治文化的内涵与外延试题及答案
- 班级理论知识竞赛的组织与实施计划
- 企业治理与决策科学的总结计划
- 如何提升工作效率的策略计划
- 基于数据分析的急诊业务提升计划
- 钢塑复合管一般规格表
- 【履职清单】2023新版安全生产责任体系重点岗位履职清单
- GB/T 19670-2023机械安全防止意外启动
- 施工单位回执单
- 新时代高职英语(基础模块)Unit5
- 完全病历模板
- 食材配送服务人员配置方案
- 幼儿启蒙12电子狗机器人课件
- 《好的数学:数的故事》读书笔记模板
- 人工流产-清宫术知情同意书
- 名校版初中物理“公式+考点+方法技巧”大汇编
评论
0/150
提交评论