基于DSP实现的FIR低通滤波器.docx

上传人:b****6 文档编号:7418097 上传时间:2023-01-23 格式:DOCX 页数:8 大小:128.24KB
下载 相关 举报
基于DSP实现的FIR低通滤波器.docx_第1页
第1页 / 共8页
基于DSP实现的FIR低通滤波器.docx_第2页
第2页 / 共8页
基于DSP实现的FIR低通滤波器.docx_第3页
第3页 / 共8页
基于DSP实现的FIR低通滤波器.docx_第4页
第4页 / 共8页
基于DSP实现的FIR低通滤波器.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

基于DSP实现的FIR低通滤波器.docx

《基于DSP实现的FIR低通滤波器.docx》由会员分享,可在线阅读,更多相关《基于DSP实现的FIR低通滤波器.docx(8页珍藏版)》请在冰豆网上搜索。

基于DSP实现的FIR低通滤波器.docx

基于DSP实现的FIR低通滤波器

DSP课程设计

 

题目:

基于DSP实现的FIR低通滤波器

院系:

电气信息学院

专业:

电子信息工程

姓名:

学号:

指导教师:

时间:

2015.7

目录

一、设计目标…………………………………………3

二、理论基础及编译环境介绍………………………3

1、CCS简介…………………………………………………………3

2、FIR滤波器简介…………………………………………………3

三、相应参数的计算、编写源程序以及调试过程……4

1、用MATLAB计算滤波系数………………………………………4

2、用MATLAB编写滤波器输入信号………………………………5

3、用CCS的Simulator进行滤波特性的测试……………………6

4、将文件添加到工程中……………………………………………6

四、实验结果及分析…………………………………10

一、设计目标;

设计一个FIR低通滤波器,其通带频率为5000Hz,采样频率为20000Hz,输入信号频率分别为2000Hz和8000Hz,通带波纹小于1db,阻带衰减大于40db。

FIR滤波器的设计可用MATLAB窗函数法进行。

二、理论基础及编译环境介绍:

1、CCS:

时TI公司推出针对TMS320系列DSP的集成开发环境,在CCS下,开发者可对软件进行编辑、编译、调试、代码性能测试(profile)和项目管理等所有工作,并能将程序下载到目标DSP上进行调试。

在一个开放式的插件(plug-in)结构下,CCS内部集成了一下软件工具:

(1)C5000代码产生工具(包括C5000的编码器、汇编器、汇编优先器和连接器);

(2)软件模拟器(simulator);

(3)实时软件基础DSP/BIOS;

(4)主机与目标机之间的实时数据减缓软件RTDX;

(5)实时分析(real-timeanalysis)和数据可现化(datavisualizationcapabilities)软件;

CCS不仅具有一系列的调试、分析能力,还提供了实时分析和数据可视化功能,大大降低了DSP系统的开发难度,使开发者将精力集中在应用开发上。

FIR滤波器:

2、FIR(FiniteImpulseResponse)滤波器:

有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。

因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。

FIR滤波器有以下特点:

(1)系统的单位冲激响应h(n)在有限个n值处不为零

(2) 系统函数H(z)在|z|>0处收敛,极点全部在z=0处(因果系统)

(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。

设FIR滤波器的单位冲激响应h(n)为一个N点序列,0≤n≤N—1,则滤波器的系统函数为

H(z)=∑h(n)*z^-n

就是说,它有(N—1)阶极点在z=0处,有(N—1)个零点位于有限z平面的任何位置。

三、相应参数的计算、编写源程序以及调试过程

1、用MATLAB计算滤波系数

用来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR数字滤波器的设计。

语法:

b=fir1(n,Wn)

b=fir1(n,Wn,’ftype’)

b=fir1(n,Wn,widow)

b=fir1(n,Wn,’ftype’,Window)

产生低通FIR滤波器系数其代码如下:

w1=5000/20000*2;

b=fir1(32,w,'lowpass');

fp=fopen('0125.inc','wt');

fprintf(fp,'.word%20.0f\n',b*32768);

fclose(fp);

其运行后生成inc文件,图像结果如图一所示:

(图一)低通滤波特性曲线

2、用MATLAB编写滤波器输入信号:

其代码如下:

i=0:

1:

255;

y=round((sin(2*pi*[i]*2000/20000)+sin(2*pi*[i]*8000/20000))*32768/2);

fid=fopen('0125.dat','wt');

fprintf(fid,'16512010\n');

fprintf(fid,'%d\n',y);

fclose(fid)

freqz(y,1,512)

其结果生产dat文件,图像如图二所示:

(图二)输入信号时域波形图

3、用CCS的Simulator进行滤波特性的测试:

3.1、设置CodeComposerStudio2.0在软件仿真(Simulator)方式下进行,选择TMS320C5400芯片,然后启动CCS。

3.2、创建新工程文件:

(1)在CCS下的安装目录myproject子目录下创建一个0125文件夹。

(2)在Project菜单中选择New项,在Project中输入0125,选择目标类型为TMS320C5400,CCS将创建一个名为0125.pjt的工程。

3.3、编辑程序:

编写程序,完成后保存时文件类型选择.asm,执行File/New/SourceFile建立新的程序文件,编辑程序为0125.asm和0125.cmd。

4、将文件添加到工程中:

4.1选择菜单“Project”的“AddFilestoProject…”项,在“AddFilestoproject”对话框中,一次添加0125.cmd文件、0125.asm文件等

其结果如图三所示:

(图三)工程文件添加程序文件图

 

4.2打开程序文件0125.asm如下,然后编译,编译成功后,设置断点和探针,如图四所示:

(图四)程序图

 

4.3设置工程文件(编译后出现警告错误):

选择菜单“Project”的“BuildOptions…”项,选择连接设置,单击“Linker”属性页,“AutoinitModel”项设置成“NoAutoinitialization”,“CodeEntryPoint”项中输入“start

”,退出设置窗口,单击确定,然后重新编译、汇编和链接。

如图五所示:

(图五)工程文件设置窗口

4.4数据的图形显示:

(1)选择菜单命令View/Graph/Time/Frequency,弹出GraphProperty对话框。

(2)在GraphProperty对话框中更改图形的标题、起始地址、缓冲区大小、显示数据大小、DSP数据类型、自动标尺属性及最大Y值。

(3)单击OK,出现Input窗口。

(4)在图形窗口中右击,从弹出的菜单中选择ClearDisplay,消除已有显示波形。

(5)自此执行菜单命令View/Graph/Time/Frequency

(6)这次将GraphTitle改为output,开始栏改为out_buffer,其他不变。

(7)单击OK按钮,出现一个显示output的波形的图形窗口,同样单击右键,从弹出的菜单中选择ClearDisplay,消除已有显示的波形。

(8)最后出现四个窗口,在Debug工具栏中单击run,可看到,两个不同频率的波经过模拟fir低通滤波器滤波,如图六所示:

(图六)低通滤波器信号输入及输出结果

四、实验结果及分析:

MATLAB辅助DSP 实现FIR ,其总体过程为在DSP中编写处理程序,在MATLAB中利用滤波器设计、分析工具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,再把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB 辅助DSP 实现FIR 数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处理后的数据。

在这过程中,还是遇到了一部分的难题,比如说在程序的编写上,在用MATLAB来获得滤波系数和用它来编写产生输入信号的程序时,编写的程序有一点错误以致没有运行出结果来,在后面CCS环境下时,在添加文件已及设置时候也出了一点错,导致了滤波器不能正常工作,在经过同学和老师的帮助过后,终于得到了一个稳定清晰能够良好运行的低通滤波器,其结果如(图六)所示。

同过这一次的DSP课程设计,我更加深刻的了解到了跟多的关于对MATLAB的使用和对CCS的一些使用,最好感谢同学们和老师的帮助。

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

当前位置:首页 > 高等教育 > 理学

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

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