.
.
本科课程设计报告
课程名称: DSP原理及应用
实验名称:FIR滤波器的DSP实现
实验地点:起点机房
专业班级:
学 号:
学生:
指导教师:
FIR滤波器的DSP实编译
(4)对结果和数据进展分析和算法评估利用CCS集成开发软件,用户可以在一个开发环境下完成工程工程创立、程序编辑、编译、、调试和数据分析等工作环节
四、设计方案
1、利用MATLAB来确定FIR滤波器的参数;
具体方法为:利用fir2函数产生滤波系数:b=fir2(n-1,f,m),参数n为滤波器的阶数;f为频率参数,m表示低通
2、启动CCS,在CCS中建立一个C源文件和一个命令文件,并将这两个文件添加到工程,再编译并装载程序;
3、设置波形时域观察窗口,得到滤波前后的波形变化图;
4、设置频域观察窗口,得到滤波前后的频谱变化图。
4设计参数:
设计一个低通滤波器,其设计参数为:滤波器阶数40,截止频率wp=,ws=。
五、设计程序
1、MATLAB程序
2、C源文件
#include ""
#include ""
#define signal_1_f 200
#define signal_2_f 620
#define signal_sample_f 2000
#define pi
#define coff_L 23
#define bufer_L 256
int data_in[bufer_L];
.
.
int out[bufer_L] ;
int firout;
int x[coff_L+1];
int k=0;
int bufer=bufer_L;
extern int fir(int *,int);
extern int init(int *,int);
extern int outdata(int *,int,int);
void inputwave();
void main()
{
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;
}
}
}
void inputwave()
{
float wt1;
float wt2;
.
.
int i;
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
bset frct
amov #_B,xdp
mov #_B,cdp
mov t0,ac0
sub #1,ac
太原理工大学dsp课程设计报告 来自淘豆网m.daumloan.com转载请标明出处.