文档详情

FIR滤波器设计与DSP实现.doc

发布:2017-08-10约3.78千字共8页下载文档
文本预览下载声明
FIR滤波器设计与DSP实现 实验目的 1. 掌握数字滤波器的设计过程; 2. 了解FIR 的原理和特性; 3. 熟悉设计FIR 数字滤波器的原理和方法。 二、实验内容 1. 通过MATLAB 设计确定FIR 滤波器系数; 2. DSP 初始化; 3. A/D 采样 ; 4. FIR 运算,观察滤波前后的波型变化。 三、实验背景知识 1. 有限冲击响应数字滤波器(FIR)的基础理论 FIR 数字滤波器是一种非递归系统,其冲激响应h(n)是有限长序列,其差分方程表达式 为:,其中N 为FIR 滤波器的阶数。 在数字信号处理应用中往往需要设计线性相位的滤波器,FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。为了使滤波器满足线性相位条件,要求其单位脉冲响应h(n)为实序列,且满足偶对称或奇对称条件,即h(n)=h(N-1-n)或 h(n)=-h(N-1-n)。这样,当N 为偶数时,偶对称线性相位FIR 滤波器的差分方程表达式为 由上可见,FIR 滤波器不断地对输入样本x(n)延时后,再做乘法累加算法,将滤波器结 果y(n)输出。因此,FIR 实际上是一种乘法累加运算。而对于线性相位FIR 而言,利用线性 相位FIR 滤波器系数的对称特性,可以采用结构精简的FIR 结构将乘法器数目减少一半。 2. 本实验中FIR 的算法公式: 四、实验程序的功能与结构说明 1. Filter 实验所包含文件 ①. DEC5502_Filter.c:这是实验的主程序,包含了系统初始化,音频芯片各控制寄存 器的初始化, A/D 采样程序; ②. FIR_Filter 滤波子程序; ③. AIC.c:音频芯片各控制寄存器的初始化; ④. E2PROM_Function.c:包含对IIC 的各操作函数; ⑤. I2C.c:进行I2C 初始化; ⑥. mcbsp.c:配置mcbsp; ⑦. SEED_DEC5502.cmd: 声明了系统的存储器配置与程序各段的连接关系。 2.程序流程图 3.实验准备 首先将光盘下 03. Examples of Program \ 05. SEED-DTK5502 实验程序目录下的 3.4.1 FiR_filter 的文件夹拷贝到D:盘根目录下。 ①. 将DSP 仿真器与计算机连接好; ②. 将DSP 仿真器的JTAG 插头与SEED-DEC5502 单元的J1 相连接; ③. 打开SEED-DTK5502 的电源。观察SEED-DTK_MBoard 单元的+5V,+3.3V, +15V,-15V 的电源指示灯以及SEED_DEC5502 的电源指示灯D2、D4 是否均 亮;若有不亮的,请断开电源,检查电源。 ④. 用音频线连接SEED-DTK_MBoard 单元的J10 接口与SEED-DEC5502 单元的J5接口。 4.实验步骤 ①.打开CCS,进入CCS 的操作环境; ②.装入DEC5502_FIR.pjt 工程文件,添加SEED_DEC5502.gel 文件,进行调试; ③. 打开DEC5502_Filter.c 文件,到第35 行修改SAMPLELONG 宏定义。SAMPLELONG 是采样长度选择,有3 个选择1、2、3。1 表示256+256,2 表示512+256,3 表示1024+256本实验中将其设置为3,如下图所示: ④. 修改完宏定义后,编译、连接生成DEC5502_Filter.out 文件,装载程序 DEC5502_Filter.out; ⑤. 本实验需要设置实验箱信号源。通过液晶屏和键盘,设置信号源:当液晶屏上出现“通讯自检不成功,请复位系统”时,按下“Enter”键,进入“信号发生器设置”。 在“信号发生器设置”这一菜单下: “通道”设为“0”; “信号类型”可根据需要任意选择,本实验中设置为“带噪声的正弦波” “信号频率”和“信号振幅”可在屏幕下方“有效输入”限定的范围内任意输入,建议 振幅设为1000 左右,频率”设为300 左右; “电压偏移”设为0;、 “信号发生器开关”设为“开启”(通过关闭到开启的转变,使其指示灯变亮)。此时便有信号输入音频芯片AIC23 的输入端。 ⑥打开DEC5502_Filter.c 文件,在第340行“while(1){”设置断点,与357 行“fir_filter(DataBuffer,hfir,DDataBuffer,ORDER_FIR,SampleLong,ROUND_FIR)”设置断点。 ⑦. 运行程序,程序停在第一个断点处,表明数据采集完成;继续运行程序,程序停在 第二个断点处,表明滤波完成。可以观察收到的数据和显示的图像;DataBuffer 数
显示全部
相似文档