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




