(完整word版)dsp带通滤波器设计_第1页
(完整word版)dsp带通滤波器设计_第2页
(完整word版)dsp带通滤波器设计_第3页
(完整word版)dsp带通滤波器设计_第4页
(完整word版)dsp带通滤波器设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、一、设计要求试用DSPS计FIR滤波器,分别实现带通的功能,具体要求如下: 滤波器的阶数5,截止频率自行选定,滤波系数用 MATLAB1定。编制C54XDS殴现FIR滤波器的汇编源程序。用软件仿真器完成上述程序的模拟调试。 以数据文件形式自行设定滤波器输入数据,以数据文件形式输出滤波结果,并与输入数据进行比较分析。用软件仿真器有关工具显示FIR滤波器的输入输出 波形,以证明滤波器滤波性能。二、FIR滤波器的基本原理数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的 输出序列。一个线性位移不变系统的输出序列y n和输入序列x n之间的关系, 应满足常系数线性差分方程。FIR滤波器

2、的差分方程为:N 1y(n) h(m)x(n m)m 0FIR滤波器的传递函数为:hzi 0直接由差分方程得出的实现结构如图1所示:x(n) g;i/5* ?9+ . - >_Ih何'网1h(*2” ,r h(N-1:i13事事>>号y图1 横截型(直接型、卷积型)FIR滤波器的结构图由上面的公式和结构图可知,FIR滤波算法实际上时一种乘法累加运算。它 不断地从输入端读入样本值xn ,经过(z1)后做乘法累加,输出滤波结果yn 三、FIR滤波器的设计FIR滤波器的设计方法主要有窗函数法和频率采样法。其中,窗函数法是最 基本的方法。本次设计采用窗函数法。一般是先给定所要

3、求的理想滤波器频率响应Hd(ej ),由Hd(ej )导出hd(n),我们知道,理想滤波器的冲击响应hd(n)是无限长的非因果序列,而我们要设计 的是hd(n)是有限长的FIR滤波器,所以要用有限长序列hd(n)来逼近无限长序列hd(n),设:1hd(n) 2-Hd(ej )ej d(3-1)常用的方法是用有限长度的窗函数 Wn)来截取 均5)即:(3-2)h(n)(n)hd(n)这里窗函数就是矩形序列R(n),加窗以后对理想低通滤波器的频率响应将 产生什么样的影响呢?根据在时域是相乘关系,在频域则是卷积关系: j 1jj()H(ej ) Hd(ej )WJej( )d(3-3)其中,印本加小

4、为矩形窗谱,H(ej )是FIR滤波器频率响应。通过频域卷积过程看打短聆的幅度函数H()的起伏现象,可知,加窗处理 后,对理想矩形的频率响应产生以下几点影响:(1)使理想频率特性不连续点处边沿加宽,形成一个过渡带,其宽度等于窗的频 率响应的主瓣宽度。(2)在截止频率的两边的地方即过渡带的两边,出现最大的肩峰值,肩峰的两侧 形成起伏振荡,其振荡幅度取决于旁瓣的相对幅度, 而振荡的多少,则取决于旁 瓣的多少。(3)改变N,只能改变窗谱的主瓣宽度,改变 的坐标比例以及改变的绝对值大 小,但不能改变主瓣与旁瓣的相对比例(此比例由窗函数的形状决定)。对窗函数的要求:a、窗谱主瓣尽可能窄,以获取较陡的过渡

5、带;b、尽量减小窗谱的最大旁瓣的相对幅度;即能量集中于主瓣,使肩峰和波纹减 小,增大阻带的衰减。四、带通滤波器设计指标本次要设计一个FIR带通滤波器,其采样频率fs=30000Hz,通带为3000Hz5000Hz,即保留频率在3000Hz5000Hz范围内的信号成分,幅度失真小 于1dB;阻带边界频率为2000Hz和6000Hz,衰减大于40dB。同时,FIR滤波 器的阶数N=32。五、设计思路及实现步骤1.使用matlab获得输入信号数据,这里输入信号为f1=1500f2=4000f3=7000 ,采样频率为fs=30000Hz,采样点数为N=256,同时生成输入信号数据文件,matlab的

6、参考程序如下:clc;clear all ;f1=1500;f2=4000;f3=7000;fs=30000;N=256;T=1/fs;n=0:N-1;x1=0.08*sin(2*pi*f1*n*T);x2=0.08*sin(2*pi*f2*n*T);x3=0.08*sin(2*pi*f3*n*T);xn=ceil(32768*(x1+x2+x3);figure。);plot(xn)figure(2)yff=abs(fft(xn);df=n*(fs/N);plot(df,yff);fid=fopen( 'indata.inc' , 'w');fprintf(fi

7、d, ' .word%5.0fn',xn);fclose(fid);部分输入信号数据为(共256个采样点):.word 0.word 6097.word -431.word 1541.word -1019.word 1.word -2493.word -5507.2 .基于Matlab工具箱Signal中的fir1函数设计FIR带通滤波器,选择 Hamming 窗函数法,进而获取FIR带通滤波器的系数b,并保存为firin.inc数据文件。这 里FIR滤波器的阶数N=32。实现代码如下:w1=3000/15000*2;w2=5000/15000*2;b=fir1(32,w1,w

8、2,'bandpass' );fp=fopen( 'firin.inc' , 'wt' );fprintf(fp, ' .word%20.0fn',b*32768);fclose(fp);滤波器系数为:B0= -4,B1=-0,B2=7, B3=183,B4=-109,B5=-488,B6=328,B7=495,B8=-195,B9=260,B10=-1180,B11=-1433,B12=4086,B13=1879,B14=-7292,B15=-876,B16=8709,B17=-876,B18=-7292,B19=1879,B2

9、0=4086,B21=-1433,B22=-1180,B23=260,B24=-195,B25= 495,B26=328,B27=-488,B28=-109,B29=183,B30=7,B31=-0, B32=-4同时,通过Matlab中的滤波器设计工具fdatool ,可以得到满足设计要求的FIR 带通滤波器的幅度图如下示(相应设计参数见下图数据):f F,t£L Design 及 Analis Tool -心 TitifdJca,File Edit Analysis Targtels View Window Hel<pDi & p 昌 # q : 口 B2 rein

10、 旧名 £ - “ 展。刃印OrdHP » 口阳 Q¥g入 urgXirtd51,国Eg.F«ht露品M凡6年TypeLOWptMHlghpAiu口 figjidpasB”k初忙心.ai-erafliirorBBS口g gr> MdraIK djfcbFM 卜一EL-yEwqJLnt 之FflFr OfWl1«> 号总二|与 Jlljel. 12 Vininnirrii nr MrpCpiunsDengfly fmgc:加Freqiwi-y gfftHie 胤 10r由5仙:Hr*Ft 3t 皿。UHqrfl NF GHfiL fi

11、rtlTF;Emer a 'wsicrt vaiuB Tar 白电的 8rBi beow.w而口iD1啡Mj注1Wtap?4£lWiiigr - it*Designing Filter DoniP3 .基于CCS2.0配置为C5400后,创建fir工程,将1、2步骤中生成的输入信号数据文件indata.inc和滤波器系数文件firin.inc 添加在fir工程所在的文件夹中,然后给工程中添加FIR数字滤波器的汇编程序fir.asm如下:.mmregs.global start.def start, _c_int00INDEX .set 1KS .set 256.copy &q

12、uot;indata.inc" .copy "firdata.inc" .dataOUTPUT .space 1024FIR_DP .usect "FIR_V ARS”, 0D_FIN .usect "FIR_V ARS", 1 D_FOUT .usect "FIR_V ARS", 1 COFFTAB .usect "FIR_COFF”, N DATABUF .usect "FIR_BFR”, N BOS .usect "STACK", 0fhTOS .usect "

13、;STACK", 1 .text .asg AR0, INDEX_P .asg AR4, DATA_P .asg AR5, COFF_P .asg AR6, INBUF_P .asg AR7, OUTBUF_P _c_int00:B startNOPNOPstart:STM #COFFTAB, COFF_PRPT #N-1MVPD #COFF_FIR, *COFF_P+ STM #INDEX, INDEX_P STM #DATABUF, DATA_PRPTZ A, #N-1STL A, *DATA_P+STM #(DATABUF+N-1), DA TA_P STM #COFFTAB,

14、 COFF_PFIR_TASK:STM #INPUT, INBUF_PSTM #OUTPUT, OUTBUF_PSTM #KS-1, BRC RPTBD LOOP-1 STM #N, BK LD *INBUF_P+, A FIR_FILTER:STL A, *DATA_P+%RPTZ A, N-1MAC *DATA_P+0%, *COFF_P+0%, ASTH A, *OUTBUF_P+ LOOP: EEND B EEND .end4 .对应以上FIR滤波器的汇编程序编写链接文件fir.cmd如下:fir.obj-m fir.map -o fir.out MEMORY PAGE 0: ROM1

15、(RIX) :ORIGIN=0080h,LENGTH=1000h PAGE 1: INTRAM1(RW) :ORIGIN=2400h,LENGTH=0200hINTRAM2(RW) :ORIGIN=2600h,LENGTH=0100h INTRAM3(RW) :ORIGIN=2700h,LENGTH=0100h INTRAM4(RW) :ORIGIN=2800h,LENGTH=0040h B2B(RW) :ORIGIN=0070h,LENGTH=10h SECTIONS .text :>ROM1 PAGE 0 .data :>INTRAM1 PAGE 1 FIR_COFF :>

16、;INTRAM2 PAGE 1 FIR_BFR :>INTRAM3 PAGE 1 FIR_VARS :>INTRAM4 PAGE 1 .stack :>B2B PAGE 1 六、实验结果及截图0x00a01 .将程序编译链接无误后加载程序,然后运行程序,然后在入口地址为 下查看输入信号波形,输入混频信号的时域和频域波形图如下:图1三种叠加信号的时域波形图2三种叠加信号的频域图2 .在入口地址为0x2400下查看输出信号波形,下面为输入混频信号经过设计的FIR器滤波后的时域(图3)和频域(图4)波形的输出图像:图3经FIR滤波器滤波后的信号时域图图4经FIR滤波器滤波后的信号频域图七、总结通过图2与图4的分析比较,可以很清楚地看出,

温馨提示

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

评论

0/150

提交评论