太原理工大学DSP课程设计Word下载.docx
- 文档编号:19889827
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:9
- 大小:239.61KB
太原理工大学DSP课程设计Word下载.docx
《太原理工大学DSP课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《太原理工大学DSP课程设计Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
5.学习使用CCS软件。
二、设计容
1通过MATLAB来设计一个低通滤波器,并对它进行模拟仿真,确定FIR滤波器系数
2.用DSP汇编语言及C语言进行编程,实现FIR运算,对产生的合成信号滤除信号中高频成分,观察滤波前后波形的变化。
三、设计原理
数字滤波器是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。
一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系,应满足差分方程为:
对其进行z变换,可得到FIR滤波器的传递函数为:
=
FIR滤波算法实际上是一种乘法累加运算。
它不断输入样本,经延时,作乘法累加,再输出滤波结果y(n)。
FIR滤波器的结构如图1:
图1:
FIR滤波器的结构图
可以看出,在数字滤波器中FIR滤波器有以下几个特点:
(1)系统的单位冲激响应h(n)在有限个n值处不为零;
(2)系统函数H(z)在|z|>
0处收敛,在|z|>
0处只有零点,有限z平面只有零点,而全部极点都在z=0处;
(3)结构主要是非递归结构,没有输出到输入的反馈。
在DSP芯片中,实现z-1算法很方便,可采用循环缓冲区法,其特点如下:
(1)对于N级FIR滤波器,在数据存储器中开辟一个N单元的缓冲区(窗),用来放最新的N个输入样本;
(2)从最新样本开始取数;
(3)读完最后一个样本后,输入最新样本来代替最老样本,而其他数据位置不变;
(4)用片循环缓冲区长度寄存器对缓冲区进行间接寻址,是循环缓冲区地址首位相邻。
使用CCS开发应用程序的一般步骤
(1)打开或创建一个工程项目文件
(2)编辑各类文件
(3)对工程项目进行编译
(4)对结果和数据进行分析和算法评估利用CCS集成开发软件,用户可以在一个开发环境下完成工程项目创建、程序编辑、编译、、调试和数据分析等工作环节
四、设计方案
1、利用MATLAB来确定FIR滤波器的参数;
具体方法为:
利用fir2函数产生滤波系数:
b=fir2(n-1,f,m),参数n为滤波器的阶数;
f为频率参数,m表示低通
2、启动CCS,在CCS中建立一个C源文件和一个命令文件,并将这两个文件添加到工程,再编译并装载程序;
3、设置波形时域观察窗口,得到滤波前后的波形变化图;
4、设置频域观察窗口,得到滤波前后的频谱变化图。
4设计参数:
设计一个低通滤波器,其设计参数为:
滤波器阶数40,截止频率wp=0.4π,ws=0.45π。
五、设计程序
1、MATLAB程序
2、C源文件
#include"
s.h"
math.h"
#definesignal_1_f200
#definesignal_2_f620
#definesignal_sample_f2000
#definepi3.1415926
#definecoff_L23
#definebufer_L256
intdata_in[bufer_L];
intout[bufer_L];
intfirout;
intx[coff_L+1];
intk=0;
intbufer=bufer_L;
externintfir(int*,int);
externintinit(int*,int);
externintoutdata(int*,int,int);
voidinputwave();
voidmain()
{
inputwave();
init(x,BL);
while
(1)
x[0]=data_in[k];
firout=fir(x,BL);
outdata(out,firout,bufer);
k++;
if(k>
=bufer_L)
k=0;
}
voidinputwave()
floatwt1;
floatwt2;
inti;
for(i=0;
i<
=bufer_L;
i++)
wt1=2*pi*i*signal_1_f;
wt1=wt1/signal_sample_f;
wt2=2*pi*i*signal_2_f;
wt2=wt2/signal_sample_f;
data_in[i]=(cos(wt1)+cos(wt2))/2*32768;
3、汇编源文件
.global_fir,_init,_B,_outdata
_fir
bsetfrct
amov#_B,xdp
mov#_B,cdp
movt0,ac0
sub#1,ac0
movac0,mmap(csr)
addac0,ar0
mov#0,ac0
rptcsr
macmz*ar0-,*cdp+,ac0
movhi(ac0),t0
ret
_init
movmmap(t0),ac0
movac0,ar7
rptzac0,ar7
movac0,*ar0+
_outdata
movt1,ac0
sub#2,ac0
delay*ar0-
mar*ar0+
movt0,*ar0
4、命令文件
-stack0x500
-sysstack0x500
-heap0x1000
-c
-u_Reset
-lrts55.lib
MEMORY
{
PAGE0:
RAM(RWIX):
origin=0x000100,length=0x01ff00
ROM(RIX):
origin=0x020100,length=0x01ff00
VECS(RIX):
origin=0xffff00,length=0x000200
PAGE2:
IOPORT(RWI):
origin=0x000000,length=0x020000
}
SECTIONS
.text>
ROMPAGE0
.data>
.bss>
RAMPAGE0
.const>
.sysmem>
.stack>
.sysstack>
.switch>
.cinit>
.pinit>
.vectors>
VECSPAGE0
.ioport>
IOPORTPAGE2
}
六、结果分析
(1)滤波前
图2:
输入时域波形
图3:
输入频域波形
(2)滤波后
图4:
输出时域波形
图5:
:
输出频域波形
由以上容可以看出,时域图中,滤波前波形有很多毛刺,滤波后,是平滑的等幅正弦波,而且滤波后最大振幅有所减小。
频域图中,滤波前有两个带尖峰的图像,滤波后只有一个带尖峰图像,而且是出现在低频部分,说明信号经过低通滤波器后,将信号中的高频成分滤除掉了。
滤波前后时域、频域特性对比总结如下:
时域
频域
滤波前
波形有较多毛刺
平滑的等幅正弦波
滤波后
两个带尖峰
一个低频带尖峰
表1:
滤波前后时域、频域对比
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太原 理工大学 DSP 课程设计