基于matlab的fir和iir滤波器_课程设计说明书(编辑修改稿)内容摘要:

b)。 subplot(4,1,1)。 plot(y1)。 subplot(4,1,2)。 图 34 方波信号 图 0 50 100 15032101230 50 100 1503210123课程设计说明书 8 plot(y2)。 subplot(4,1,3)。 plot(y3)。 subplot(4,1,4)。 plot(y4)。 输出正弦叠加信号的波形 如图 35 所示 上图由上向下,第一个图是低频正弦波,第二个图是高频正弦波,第三个图是低频与高频的叠加,最后一个是叠加后的正弦波经低通滤波器后出现的波形,基本与低频正弦信号相同。 FIR 滤波器的 CCS 设计 根据 Matlab 中设计的滤波器参数,也就是我么需要的 H(n),将它们用 Q15的定标方式写进汇编程序。 程序编写完成后,加载 Matlab 中生成的 *.dat 文件,就可以得到滤波之后的图像。 这里同样以方波和正弦波进行检验。 其中生成方波的 *.dat 文件程序如下 x=0:2*pi/1024:2*pi。 x1=2*square(2*pi*x)。 plot(x1)。 axis([0,1000,4,4])。 xlout=x1/max(x1)。 图 35 正弦叠加信号 0 200 400 600 800 1000 12001010 200 400 600 800 1000 12001010 200 400 600 800 1000 12002020 200 400 600 800 1000 1200101课程设计说明书 9 x1t0_ccs=round(32767*xlout)。 fid=fopen(39。 39。 ,39。 w39。 )。 fprintf(fid,39。 1651 1 0210 0 c8\n39。 )。 fprintf(fid,39。 %d\n39。 ,x1t0_ccs)。 fclose(fid) 生成正弦波的 *.dat 文件程序如下 figure(3) x=0:2*pi/1024:2*pi。 y1=sin(1*x*2*pi+pi/6)。 y2=sin(100*x*2*pi)。 y3=y1+y2。 plot(y3)。 xout=y3/max(y3)。 %归一化 xto_ccs=round(32767*xout) fid=fopen(39。 39。 ,39。 w39。 )。 %打开文件 fprintf(fid,39。 1651 1 0210 0 c8\n39。 )。 %输出文件头 fprintf(fid,39。 %d\n39。 ,xto_ccs)。 %输出 fclose(fid)。 课程设计说明书 10 FIR 滤波器的 CCS 设计程序 FIR 滤波器的设计流程图 如下 根据上图编写程序 主程序 .title .mmregs .global _c_int00 定义 16 空间 HN, BUF; 200 个空间 Xn, Yn AR5 指向 TABLE BUF 分配的 16个空间给 AR4;切 AR4清零 AR AR4 分别指向输入 Xn 和输出 Yn AR5 和 AR4 分别指向 Hn 和 BUF 的末尾 AR0 值为 1,定义 241 次循环 BRC 定义一个长度为 16的循环缓冲区 BK, AR5 和AR4 乘累加 16 次,每次各自进行循环减 1 给循环缓冲区送数据,把 AR3 中的数据给AR4,每次 AR4 循环减 结束 开始 图 36 FIR 设计流图 课程设计说明书 11 Hn: .usect Hn , 16 BUF: .usect BUF, 16 Xn: .usect Xn, 200 nop Yn: .usect Yn, 240 .data TABLE: .word 34*32768/10000, 74*32768/10000,188*32768/10000, 395*32768/10000 .word 677*32768/10000, 984*32768/10000, 1248*32768/10000, 1400*32768/10000 .word 1400*32768/10000, 1248*32768/10000, 984*32768/10000, 677*32768/10000 .word 395*32768/10000, 188*32768/10000, 74*32768/10000, 34*32768/10000 .text _c_int00: SSBX FRCT STM Hn,AR5。 AR5 指向冲激响应 RPT 15 MVPD TABLE,*AR5+ STM BUF,AR4。 AR4 指向缓冲区间 RPTZ A,15 STL A,*AR4+ STM Xn,AR3。 AR3 指向输入 STM Yn,AR2。 AR4 指向输出 STM (Hn+15),AR5。 STM (BUF+15),AR4 STM 1,AR0 LD BUF,DP MVDD *AR3+,*AR4。 向缓冲 区 送数 STM 240,BRC RPTB TABLE。 卷积算法 STM 16,BK RPTZ A,15 MAC *AR4+0%,*AR5+0%,A 课程设计说明书 12 STH A,*AR2+ TABLE: MVDD *AR3+,*AR4+0% .end 链接配置文件 o m MEMORY { PAGE 0: EPROM: =0E000H len=1000H VECS : =0FF80H len=0080H PAGE 1: SARAM: =0060H len=0040H DARAM: =0101H len=1480H } SECTIONS { .text : EPROM PAGE 0 .vectors : VECS PAGE 0 .data : EPROM PAGE 0 .bss : SARAM PAGE 1 Hn : align(128){} DARAM PAGE 1 BUF : align(128){} DARAM PAGE 1 Xn : DARAM PAGE 1 Yn : DARAM PAGE 1 } 中断向量表文件 .title .ref _c_int00 .sect .vectors B _c_int00 .end CCS 波形仿真图 CCS 中方波信号和滤波后波形如图 37 所示: 图 37 方波波。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。