|
楼主 |
发表于 2008-2-19 10:59:35
|
显示全部楼层
$6. DSP实验 用TMS320C31 STARTER KIT做的FIR带通滤波器
1. 指标:中心频率:2150 Hz
带宽:400 Hz
阻带:800 Hz
阻带衰减:50 dB
2. 设计:采样频率:9765.5Hz (DSP晶振:50.000MHz)
算法:Optimum
MATLAB program: (?会出怪字符,只好用贴图方式)
FIR Optimum Coefficient Calculation:
BPFop.asm:
------------------------------------------------------------------------------------------
ADC_recv
.FLOAT 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
.FLOAT 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
.FLOAT 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
.FLOAT 0.0,
FIR_coef
.FLOAT -9.385346e-04, -4.694695e-03, 3.763390e-03, 2.323693e-02,
.FLOAT 2.694312e-03, -5.605288e-02, -3.522902e-02, 8.624895e-02,
.FLOAT 9.709550e-02, -8.317186e-02, -1.631546e-01, 3.499939e-02,
.FLOAT 1.917821e-01, 3.499939e-02, -1.631546e-01, -8.317186e-02,
.FLOAT 9.709550e-02, 8.624895e-02, -3.522902e-02, -5.605288e-02,
.FLOAT 2.694312e-03, 2.323693e-02, 3.763390e-03, -4.694695e-03,
.FLOAT -9.385346e-04 ,
------------------------------------------------------------------------------------------------
修改FirFilt.asm (参阅上传的附件)
连接好电脑和DSP STARTER KIT
下载BPFop.asm 文件:
运行:dsk3a ;
dsk3d;
reset;
load firfilt;
runf;
3.验证:
用信号发生器和毫伏表实测结果如下:
信号发生器Vo=4.00V (正弦), 逐点测量
f(Hz): 100 1000 1100 1150 1200 1300 1400 1500 1600 1700 1800 1900 1950
Vout(V): 0.01 0.01 0.01 0.02 0.04 0.12 0.31 0.73 1.22 1.70 2.82 3.14 3.41
f(Hz): 2000 2100 2150 2200 2300 2350 2400 2500 2600 2700 2800 2900
Vout(V): 3.66 3.96 4.00 3.92 3.60 3.32 3.00 2.32 1.60 0.96 0.56 0.32
f(Hz): 3000 3100 3150 3200 3300 3400 4800
Vout(V): 0.17 0.03 0.02 0.01 0.01 0.01 0.01
附注:毫伏表在测量10mV以下电压时指针已摇摆不定,全部算10mV |
|