1、DSP 课程设计 题 目: FIR 滤波器设计 指导老师: 姓 名: 学 号: 专业年级: 电 信 08 院 系: 电气信息学院 2012 年 01 月 12 日 DSP 课程设计 1 目录目录 一 设计题目:FIR 滤波器设计 2 二 设计要求 2 1. FIR 滤波器设计要求 . 2 2. 利用 MATLAB 计算滤波器系数 2 三 功能描述 2 1. 部分语句说明 . 2 2. 指定存储器. 2 3. 汇编程序部分说明:. 2 四 算法特点 3 1. FIR 的原理及公式 . 3 2. 算法设计 3 五 相应参数计算. 3 1. 高通滤波器的滤波系数的计算. 3 2. 滤波器输入信号参数
2、. 3 六 编写程序. 4 1. 源程序 4 2. 0807040126.cmd 程序 5 3. 滤波器系数测试程序. 5 4. 滤波器输入信号生成程序 5 七 调试过程 5 1. 调试前的准备 . 6 2. MATLAB 的使用 6 3. 编写及编译程序 6 4. 观察点设置. 6 5. 运行并观察结果 6 八 运行结果 6 1. 运行结果 6 2. 输入信号频谱图 7 九 设计心得 7 DSP 课程设计 2 一 设计题目:FIR 滤波器设计 二 设计要求 1. FIR 滤波器设计要求 设计一个 FIR 低通(或高通、带通)滤波器通带边界频率为 1500Hz,通带波纹 小于 1dB;阻带边界
3、频率为 2000 Hz,阻带衰减大于 40 dB;采样频率为 8000 Hz.FIR 滤波器的设计可以用 MATLAB 窗函数法进行。 2. 利用 MATLAB 计算滤波器系数 fir(n,wn) 例如:round(fir1(16,1500/8000*2)*32768) round(fir1(16,1500/8000*2,high)*32768) 可用以下语句看频谱特性,如图 41 所示为低通滤波特性 图 41 低通滤波特性曲线 三 功能描述 1. 部分语句说明 1).global start,fir 设定全局变量。 2)COFF_FIR_START: .sect”coff_fir”。 Inc
4、lude”ZB0807040126.inc”(设定系数文件)。 3)K_FIR_BFFR .set32(滤波阶数)。 4)d_filin(存放输入波形) 。 5)d_filout(存放输出波形) 。 2. 指定存储器 指定 AR4 为 FIR_DATA_P 数据寄存器。 指定 AR6 为 INBUF_P 输入数据寄存器。 指定 AR7 为 OUTBUF_P 输出数据寄存器。 3. 汇编程序部分说明: 1) start 部分:程序初始化部分指定寄存器,清空寄存器。 2) fir_loop 部分:循环调入输入数据,并调用子程序 fir 进行计算。 3) main_end 部分:跳转至循环部分。 4) fir 部分:子程序部分。其中 fir_task 部分:进行计算并返回计算结果。 DSP 课程设计 3 四 算法特点 1. FIR 的原理及公式 1) 滤波器公式:y()= h(k)x(n k) + x(n (N 1 +k) 21 =0 N=1,2,3 2) FIR 设计原理: 根据系数 h 是偶对称为了