dsp课程设计报告fir滤波器设计.docx

上传人:b****5 文档编号:11647721 上传时间:2023-03-29 格式:DOCX 页数:12 大小:261.07KB
下载 相关 举报
dsp课程设计报告fir滤波器设计.docx_第1页
第1页 / 共12页
dsp课程设计报告fir滤波器设计.docx_第2页
第2页 / 共12页
dsp课程设计报告fir滤波器设计.docx_第3页
第3页 / 共12页
dsp课程设计报告fir滤波器设计.docx_第4页
第4页 / 共12页
dsp课程设计报告fir滤波器设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

dsp课程设计报告fir滤波器设计.docx

《dsp课程设计报告fir滤波器设计.docx》由会员分享,可在线阅读,更多相关《dsp课程设计报告fir滤波器设计.docx(12页珍藏版)》请在冰豆网上搜索。

dsp课程设计报告fir滤波器设计.docx

dsp课程设计报告fir滤波器设计

DSP

课程设计报告

 

课程名称:

DSP原理及应用

设计题目:

FIR滤波器设计

学院:

电气信息学院

专业年级:

通信工程2011级

指导教师:

姓名:

学号:

时间:

2014.6.30-2014.7.4

引言3

第一章课程设计要求及流程4

1.1FIR滤波器设计要求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)=

N=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”文件的编写

.globalstart,fir

.mmregs

COFF_FIR_START:

.sect"coff_fir"

.include"0127.inc"

K_FIR_BFFR.set20

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

.asgAR6,INBUF_P

.asgAR7,OUTBUF_P

.asgAR3,OUTBUF

.asgAR2,INBUF

.sect"fir_prog"

nop

start:

stm#stack+stacksize,SP

LD#FIR_DP,DP

STM#d_data_buffer,FIR_DATA_P;

RPTZA,#K_FIR_BFFR-1;RC=31

STLA,*FIR_DATA_P+;

STM#d_filin,INBUF_P

STM#d_filout,OUTBUF_P

STM#output,OUTBUF

STM#input,INBUF

STM#100h,BK

fir_loop:

NOP

LD*INBUF_P,A

STLA,*INBUF

CALLfir

STHA,*OUTBUF_P+%

STHA,*OUTBUF

main_end:

bfir_loop

fir:

STM#d_data_buffer,FIR_DATA_P

STLA,*FIR_DATA_P

STM#(d_data_buffer+K_FIR_BFFR-1),FIR_DATA_P

fir_task:

RPTZA,#K_FIR_BFFR-1

MACD*FIR_DATA_P-,COFF_FIR_START,A

RET

.end

2.4.2链接命令文件“.cmd”的编写

MEMORY

{

PAGE0:

PROG:

o=100h,l=2000h

PAGE1:

DATA1:

o=2600h,l=1000h

DATA2:

o=2100h,l=100h

DATA3:

o=2200h,l=100h

DATA4:

o=2300h,l=100h

DATA5:

o=2400h,l=100h

DATA6:

o=2500h,l=100h

}

SECTIONS

{

coff_fir:

{}>PROGPAGE0

fir_prog:

{}>PROGPAGE0

fir_vars:

{}>DATA1PAGE1

fir_coff:

{}>DATA2PAGE1

fir_bfr:

{}>DATA3PAGE1

}

2.5调试过程

2.5.1调试前的准备

1)启动SETUP并选择芯片C5402simulator。

2)在CCS的安装目录myproject子目录下创建一个文件夹0127。

2.5.2.inc和.dat的使用

将MATLAB生成的0127.inc文件和0127.dat文件复制到0127文件夹中。

2.5.3编写及编译程序

1)创建工程文件:

在Project菜单中选择New项,在Project中输入0127并保存。

2)编写汇编源程序和链接程序:

在File菜单中选中New-SourceFile,编写源程序,然后以.asm格式保存在0127文件夹里;再在File菜单中选中New-SourceFile,编写链接程序,然后以.cmd格式保存在0127文件夹里。

3)在工程文件中添加程序文件:

在Project菜单中选中AddFiletoProject…,将以上程序加载到工程目录下。

4)生成和运行程序:

在Project菜单中选中RebuildAll对工程进行编译、汇编和链接(如果有错就修改,然后再编译链接直到无误为止);在File菜单中选中LoadProgram,在当前目录的Debug目录下选择0127.out并打开,将Build生成的程序加载到DSP中;在Debug菜单中选中Run,运行该程序。

2.5.4观察点设置

1)设置断点:

在.asm文件中标号为fir_loop下面的Nop语句设置软件断点(Togglebreakpoint)探针(ToggleProbepoint)。

2)在File菜单中选中FileI/O,将会看到FileI/O对话框,按照图2操作然后选中AddProbePoint…再按图3操作。

图2

图3

3)打开观察窗口

选择菜单“View”、“Graph”、“Time/Frequency…”按照图4所示依次操作。

图4

2.6运行并观察结果

输入时域和频域波形如图5,输出时域和频域波形如图6。

从图形可以看出,高于1500Hz的频率成分被滤去,低于1500Hz的频率成分通过,符合截止频率为1500Hz的低通滤波器的特性,达到了设计要求。

图5

图6

第三章课程设计总结

在本次课程设计中,我了解到了数字滤波是信号处理技术中的重要部分,重温了数字滤波器的基本理论知识以及实现它的方法。

复习了MATLAB的相关知识,并且利用MATLAB与CCS设计了低通滤波器,更加熟悉CCS环境下的程序开发方法、调试工具的使用等。

使我将课堂知识与实际运用结合起来,理论联系实际。

在这过程中,我也遇到了很多问题,总是无法正确的显示输入输出波形。

在老师和同学的帮助下,最终找到了问题的所在,原来是滤波器的阶数设置的不合适。

经过多番修改,终于成功完成了本次课程设计。

综合运用模拟电子、数字电子和DSP基本原理等课程中所学的理论知识,合理利用MATLAB去独立完成一个项目的设计,还需要我不断地努力、总结。

本次课程设计对我还是有一定的积极意义的,我将以更加饱满的热情运用所学知识投入到今后的工作和生活中。

 

参考文献

《DSP原理及应用》邹彦主编电子工业出版社

《DSP技术及应用实验指导书》曹玉英编西南石油大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1