预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

DSP课程设计 PAGE\*MERGEFORMAT13 DSP 课程设计报告 课程名称:DSP原理及应用 设计题目:FIR滤波器设计 学院:电气信息学院 专业年级:通信工程2011级 指导教师: 姓名: 学号: 时间:2014.6.30-2014.7.4 目录 引言 3TOC\o"1-3"\u 第一章课程设计要求及流程 4 1.1 FIR滤波器设计要求 4 1.2 设计流程 4 第二章 课程设计实现 4 2.1 功能描述 4 2.2 算法研究 4 2.3 参数计算 5 2.3.1 利用Matlab计算滤波系数 5 2.3.2 编写滤波器输入信号程序 6 2.4 编写源程序 6 2.4.1 汇编源程序“.asm”文件的编写 6 2.4.2链接命令文件“.cmd”的编写 8 2.5调试过程 8 2.5.1 调试前的准备 8 2.5.2 .inc和.dat的使用 8 2.5.3 编写及编译程序 8 2.5.4 观察点设置 9 2.6运行并观察结果 10 第三章 课程设计总结 12 参考文献 12 引言 随着信息与数字技术的发展,数字信号处理已经成为当今极其重要而学科与技术领域之一。它在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。其中滤波是应用非常广泛的一个环节,数字滤波器的理论和相关设计也一直都是人们研究的重点之一。FIR滤波器的是非递归的,稳定性好,精度高;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特征。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输和生物医学等领域得到广泛应用。 在数字信号处理中,滤波占有极其重要的地位。数字滤波是语音信号处理、图像处理、模式识别、频谱分析等应用的基本处理算法。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵活性好等特点。 本次课程设计的是FIR低通滤波器,首先运用MATLAB产生滤波系数,再用DSP仿真软件CCS进行仿真,观察输入输出,看是否符合低通滤波器的功能。 第一章课程设计要求及流程 1.1FIR滤波器设计要求 设计一个FIR低通滤波器,通带边界频率为1500Hz,通带波纹小于1dB;阻带边界频率为2000Hz,阻带衰减大于40dB;采样频率为10000Hz,滤波器阶数为16。FIR滤波器的设计也可以用MATLAB窗函数法进行。 1.2设计流程 设计流程如图1。 图1设计流程图 第二章课程设计实现 2.1功能描述 低通滤波器是允许低于截至频率的信号经过,但高于截止频率的信号不能经过的电子滤波安装。 2.2算法研究 FIR的原理及公式 FIR设计原理: 如果一个FIR滤波有一个冲激响应,h(0),h(1),…,h(N-1),和x(n)描绘输入的时常滤波n,输出滤波y(n)的n给出以下方程式: Y(n)=h(0)x(n)+h(1)x(n-1)+h(2)x(n-2)+…+h(N-1)x[n-(n-1)] N阶有限冲激响应滤波器(FIR)公式: Y(n)=k=0N2-1hkxn-k+xn-N-1+kN=0,1,2,3… 2.3参数计算 2.3.1利用Matlab计算滤波系数 滤波器阶数为16阶,截止频率1500HZ,采样频率10000HZ。 2.3.2编写滤波器输入信号程序 因为截止频率为1500Hz,所以输入信号应该至少包含两种频率成分的正弦信号,一种信号频率小于1500Hz,一种信号频率大于1500Hz。利用Matlab生成滤波器输入信号程序“.inc”文件和“.dat”文件。 2.4编写源程序 2.4.1汇编源程序“.asm”文件的编写 .global start,fir .mmregs COFF_FIR_START:.sect"coff_fir" .include "0127.inc" K_FIR_BFFR .set 20 d_data_buffer.usect "fir_bfr",64 FIR_DP .usect "fir_vars",0 d_filin .usect "fir_vars",1 output .usect "fir_vars",1 input .usect"fir_vars",1 d_filout .usect "fir_vars",100h stacksize.set256 stack.usect"fir_vars",stacksize .asgAR4,FIR_DATA_P .asg AR6,INBUF_P .asg AR7,OUTBUF_P .asg AR