dsp课程设计Word文件下载.docx
- 文档编号:1230208
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:13
- 大小:153.52KB
dsp课程设计Word文件下载.docx
《dsp课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《dsp课程设计Word文件下载.docx(13页珍藏版)》请在冰点文库上搜索。
DSP
目录
1.绪论1
1.1设计背景1
1.2设计内容及要求1
2.FIR滤波器简介1
2.1FIR滤波器的特点2
2.2FIR滤波器的基本结构2
3.设计流程图2
4.设计步骤3
4.1使用matlab中的fdatool设计滤波器3
4.2利用matlab产生噪声信号3
4.3在CCS中编写FIR滤波器程序4
5.滤波器仿真测试4
6.总结5
参考文献………………………………………………………………………………………5
1绪论
1.1设计背景
在信号处理中,滤波占有十分重要的地位。
数字滤波是数字信号处理的基本方法。
数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求。
低通有限冲激响应滤波器(低通FIR滤波器)有其独特的优点,因为FIR系统只有零点,因此,系统总是稳定的,而且容易实现线性相位和允许实现多通道滤波器。
DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C54X作为DSP处理芯片,通过对其编程来实现FIR滤波器。
对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。
由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。
但是FIR系统有自己突出的优点:
①系统总是稳定的;
②易实现线性相位;
③允许设计多通带(阻带)滤波器。
其中后两项是IIR系统不易实现的。
1.2设计内容及要求
已知x1(n)=sin(2*pi*f11*n*T);
x2(n)=0.7*sin(2*pi*f12*n*T)
x3(n)=0.5*sin(2*pi*f13*n*T);
x(n)=x1(n)+x2(n)+x3(n)
其中:
f11=500Hz;
f12=2000Hz;
f13=4000Hz;
fs=10000Hz
要求设计一个基于DSP的FIR低通滤波器,把f12和f13滤掉,保留f11。
FIR低通滤波器的系数由Matlab中的fdatool产生,信号也由Matlab产生。
2FIR滤波器简介
2.1FIR滤波器的特点
数字滤波器的功能,就是把输入序列通过一定的运算变换成输出序列。
它的实现方法有很多,其中比较常用到的是无限长脉冲响应滤波器IIR和有限长脉冲响应滤波器FIR两种。
在计算量相等的情况下,IIR数字滤波器比FIR滤波器的幅频特性优越,频率选择性也好。
但是,它有着致命的缺点,其相位特性不好控制。
它的相位特性
是使频率产生严重的非线性的原因。
但是在图像处理、数据传输等波形传递系统中都越来越多的要求信道具有线性的相位特性。
在这方面FIR滤波器具有它独特的优点,设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数H(z)为
H(z)是
的(N-1)次多项式,它在z平面上有(N-1)个零点,原点z=0是(N-1)阶重极点。
因此,H(z)永远稳定,它可以在幅度特性随意设计的同时,保证精确、严格的线性相位。
2.2FIR滤波器的基本结构
数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列,FIR滤波器的差分方程为:
对上式进行Z变换得到FIR滤波器的传递函数为:
由上式可以看出,H(z)是
的N-1次多项式,它在z平面内有N-1个零点,同时在原点处有N-1个重极点。
N阶滤波器通常采用N个延迟单元、N个加法器与N+1个乘法器,取图1中(a)、(b)两种结构。
图1FIR滤波器的一般结构
因为FIR滤波器的单位抽样响应是有限长的,所以它永远是稳定的。
另外,若对h(n)提出一些约束条件,那么可以很容易地使H(z)具有线性相位,这在信号处理的很多领域是非常重要的。
FIR滤波器的设计任务,是要决定一个转移函数H(z),使它的频率响应满足给定的要求。
这里所说的要求,除了通带频率
、阻带频率及两个带上的最大和最小衰减
和
外,很重要的一条是保证H(z)具有线性相位。
3设计流程图
图2设计流程图
4设计步骤
4.1使用Matlab中的Fdatool设计滤波器
(1)在Matlab的Start菜单中选择Toolboxes->
FilterDesign->
FilterDesign&
AnalysisTools(fdatool),或者在命令行中输入fdatool来启动滤波器设计分析器。
(2)在选项中选择或输入滤波器参数,然后点击“DesignFilter”按钮,完成滤波器的设计。
(3)从Matlab中导出FIR滤波器系数。
a.在Fdatool中,选择Targets->
CodeComposerStudio(tm)IDE,如图1-3。
b.在出现的对话框中选择输出文件类型为Cheaderfile,输出系数类型为signed16-bitinteger,如图1-4所示。
c.点击Generate按钮,选择路径,即可输出前一步设计出的FIR滤波器的系数表。
系数表:
constintBL=81;
constint16_TB[81]=
{
-185,-311,10,-123,13,30,115,153,183,
169,123,41,-60,-164,-249,-295,-286,-216,
-90,74,247,396,486,488,389,190,-84,
-393,-680,-882,-941,-809,-464,91,822,1666,
2540,3351,4010,4439,4587,4439,4010,3351,2540,
1666,822,91,-464,-809,-941,-882,-680,-393,
-84,190,389,488,486,396,247,74,-90,
-216,-286,-295,-249,-164,-60,41,123,169,
183,153,115,30,13,-123,10,-311,-185
};
4.2利用Matlab产生噪声信号
将下面代码另存为M文件,在Matlab中运行后将会生成input.dat文件。
该数据文件中含有500Hz、3000Hz、8000Hz三种频率的信号,用于滤波器滤波效果测试。
信号的时域图和频谱分别图2-1、图2-2所示。
程序:
f11=500;
%/Hz
f12=3000;
f13=8000;
fs=10000;
%/采样Hz
N=1000%数据个数
T=1/fs;
%采样周期
n=0:
N;
x11=sin(2*pi*f11*n*T);
x12=0.7*sin(2*pi*f12*n*T);
x13=0.5*sin(2*pi*f13*n*T);
x_base=(x11+x12+x13);
%待滤波信号波形
figure
(1)
plot(x_base)
%待滤波信号频谱
figure
(2)
yff=abs(fft(x_base))
df=n*(fs/N)
plot(df,yff)
xout=x_base/max(x_base);
%归一化
xto_ccs=round(32767*xout)
fid=fopen('
input.dat'
'
w'
);
%打开文件
fprintf(fid,'
16511000\n'
%输出文件头
%d\n'
xto_ccs);
%输出
fclose(fid);
图3时域图
图4频谱图
4.3在CCS中编写FIR滤波器程序
FIR滤波器程序
#include"
stdio.h"
fdacoefs.h"
#defineN81//FIR滤波器的级数+1,本例中滤波器级数为80
#defineLEN200//待滤波的数据长度
longyn;
intinput[LEN];
//输入缓冲,在仿真时将从内存载入
intoutput[LEN];
//输出缓冲,直接存放在内存中
voidmain()
{
inti,j;
int*x;
for(j=0;
j<
LEN-1;
j++)
x=&
input[j];
yn=0;
for(i=0;
i<
N-1;
i++)
yn+=B[i]*(*x++);
output[j]=yn>
>
15;
}
while
(1);
cmd文件如下:
MEMORY
PAGE0:
EPROG:
origin=0x1400,len=0x7c00
VECT:
origin=0xff80,len=0x80
PAGE1:
USERREGS:
origin=0x60,len=0x1c
BIOSREGS:
origin=0x7c,len=0x4
IDATA:
origin=0x80,len=0x1380
ByCraftor
EDATA:
origin=0x1400,len=0x8000
EDATA1:
origin=0x9400,len=0x4c00
SECTIONS
.vectors:
{}>
VECTPAGE0
.sysregs:
BIOSREGSPAGE1
.trcinit:
EPROGPAGE0
.gblinit:
frt:
.text:
.cinit:
.pinit:
.sysinit:
.bss:
IDATAPAGE1
.far:
.const:
.switch:
.sysmem:
.cio:
.MEM$obj:
.sysheap:
.stack:
(3)导入rts.lib文件,在…\ti\c5400\cgtools\lib文件夹下。
5滤波器仿真测试
(1)、在第3部分编译成功后会在”<
工程所以目录>
/debug”文件夹下产生*.out文件,在CCS软件的File->
LoadProgram里打开这个.out文件
(2)将滤波器设计文件载入到内存中
选择File->
Data->
Load…打开之前Matlab生成的input.dat文件
将Address设置为input,Length设置为200,Page设置为Data
(3)运行程序
(4)查看滤波器滤波效果
图5滤波器设置
仿真结果
图6仿真结果
6总结
FIR滤波器的设计是数字信号处理技术的基础,也是DSP芯片的重要组成部分。
FIR滤波器性能的好坏直接影响着DSP的运行速度和精度,对现代电子技术的发展起决定性作用,FIR滤波器的设计在以后的一段相当长的时间里将持续主导DSP,而DSP随着电子技术的不断发展,应用领域愈来愈广泛。
这次课程设计实现了一个简单的FIR滤波器的设计,在张老师的精心指导和帮助以及自己上网查找资料,较好的完成了课程设计的任务并达到了理想的目的。
在这里我对张老师表示感谢,感谢她的耐心和热心。
通过这次课程设计使我对DSP芯片有了更深一步的了解,也不断的强化了自己的基础知识。
参考文献:
[1]程佩青.数字信号处理教程[M].北京:
清华大学出版社,1999年
[2]孙宗瀛,谢鸿林.TMS320C5xDSP原理设计与应用[M].北京:
清华大学出版社,2002年
[3]乔瑞萍,崔涛,张芳娟.TMS320C54xDSP原理及应用[M].西安:
西安电子科技大学出版社,2005年
[4]张雄伟.DSP芯片的原理与开发应用(第三版)[M].北京:
电子工业出版社,2003年
[5]郑红.TMS320C54XDSP应用系统设计[M].北京:
北京航空航天大学出版社,2002年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dsp 课程设计