在本练习中,你将用DSP汇编语言来完成一个FIR(有限脉冲相应)滤波器。在开始之前,先来学习一 个基本的FIR滤波器汇编代码 filter.asm.
| filter.asm |
|---|
|
filter.asm 将从输入通道1送来的信号用FIR滤波器处理后将结果送至输出通道1,并将原始信号送至输出通道2。
首先,在你的网络驱动器上创建一个工作目录来存放练习所需使用的文件,并将 filter.asm
和 core.asm
拷贝到该目录下。然后用MATLAB来产生两个20参数的FIR滤波器。第一个滤波器用以通过 4 kHz 和 8 kHz 之间的频段;第二个滤波器用以通过 8 kHz 和 12 kHz 之间的频段。两个滤波器频段边缘的过渡范围(transition band)都为1kHz。为生成滤波器,首先将频段边缘转化成基于系统 44.1 kHz 采样率的数字频率(digital frequencies),然后用MATLAB的
remez 命令来产生滤波器;你可以键入
help remez 来获取帮助信息。用
save_coef 命令将所产生的滤波器存为不同的文件。(注意在保存之前要将滤波器参数矢量倒置。)同时将你的滤波器存为MATLAB矩阵,以后生成检测矢量时需要用到。这些可以用MATLAB命令
save 来完成。在完成这些操作后,用
freqz 命令来显示每个滤波器的频率响应。








