📄 filter.c
字号:
#include "math.h"
#include "tms320.h"
#include "dsplib.h"
#define NX 128
#define NH 12
#define STEP 278
#pragma DATA_SECTION (h,".coefs")
#pragma DATA_SECTION (dbuffer,".dbuffer")
float x1[NX]=
{
-0.0012, 0.3370, 0.6613, 0.9107, 0.9006, 0.5507,
0.1619, 0.0315, 0.0099, -0.0474, -0.0024, 0.0593,
-0.1825, -0.6194, -0.8710, -0.8283, -0.5545, -0.0265,
0.5786, 0.9478, 1.1167, 1.2769, 1.3243, 1.0505,
0.5957, 0.1942, 0.0362, 0.1582, 0.2566, 0.0978,
-0.1884, -0.6001, -1.2673, -1.7287, -1.4251, -0.5908,
0.2170, 0.8460, 1.3868, 1.8114, 1.9675, 1.6785,
1.0540, 0.4404, -0.0619, -0.5184, -0.8318, -0.8409,
-0.7371, -0.7171, -0.7604, -0.9237, -1.3112, -1.6152,
-1.3584, -0.5648, 0.4279, 1.3603, 1.9440, 1.8650,
1.2703, 0.6023, 0.1472, -0.1307, -0.3200, -0.4783,
-0.6588, -0.9722, -1.2903, -1.1675, -0.5133, 0.1458,
0.4187, 0.5684, 0.8556, 1.1166, 1.0962, 0.8148,
0.4102, 0.0369, -0.0993, 0.0643, 0.2887, 0.2177,
-0.1335, -0.3903, -0.3950, -0.4510, -0.6523, -0.6962,
-0.5416, -0.3688, -0.0357, 0.5956, 1.1765, 1.3201,
1.0514, 0.6269, 0.2569, 0.0085, -0.1297, -0.2004,
-0.3704, -0.8191, -1.4847, -2.0303, -2.0276, -1.3796,
-0.4959, 0.1748, 0.5304, 0.5890, 0.4151, 0.2231,
0.0821, -0.0116, 0.1161, 0.3980, 0.2931, -0.3813,
-1.1877, -1.7552, -1.9487, -1.5861, -0.8118, -0.2025,
-0.1160, -0.2762
};
float des1[NX]=
{0, 0.3387, 0.6374, 0.8607, 0.9823, 0.9877, 0.8763,
0.6613, 0.3681, 0.0314, -0.3090, -0.6129, -0.8443, -0.9759, -0.9921,
-0.8910, -0.6845, -0.3971, -0.0628, 0.2790, 0.5878, 0.8271, 0.9686,
0.9956, 0.9048, 0.7071, 0.4258, 0.0941, -0.2487, -0.5621, -0.8090,
-0.9603, -0.9980, -0.9178, -0.7290, -0.4540, -0.1253, 0.2181, 0.5358,
0.7902, 0.9511, 0.9995, 0.9298, 0.7501, 0.4818, 0.1564, -0.1874,
-0.5090, -0.7705, -0.9409, -1.0000, -0.9409, -0.7705, -0.5090, -0.1874,
0.1564, 0.4818, 0.7501, 0.9298, 0.9995, 0.9511, 0.7902, 0.5358,
0.2181, -0.1253, -0.4540, -0.7290, -0.9178, -0.9980, -0.9603, -0.8090,
-0.5621, -0.2487, 0.0941, 0.4258, 0.7071, 0.9048, 0.9956, 0.9686,
0.8271, 0.5878, 0.2790, -0.0628, -0.3971, -0.6845, -0.8910, -0.9921,
-0.9759, -0.8443, -0.6129, -0.3090, 0.0314, 0.3681, 0.6613, 0.8763,
0.9877, 0.9823, 0.8607, 0.6374, 0.3387, 0.0000, -0.3387, -0.6374,
-0.8607, -0.9823, -0.9877, -0.8763, -0.6613, -0.3681, -0.0314, 0.3090,
0.6129, 0.8443, 0.9759, 0.9921, 0.8910, 0.6845, 0.3971, 0.0628,
-0.2790, -0.5878, -0.8271, -0.9686, -0.9956, -0.9048, -0.7071, -0.4258,
-0.0941
};
DATA x[NX];
DATA dbuffer[NH];
DATA h[NH];
DATA r[NX];
DATA des[NX];
DATA *dp = dbuffer;
short i;
main()
{
//tranform data from float to fixed
fltoq15(x1,x,NX);
fltoq15(des1,des,NX);
// clear
for (i=0;i<NH;i++) h[i] =0; // clear coeff buffer (optional)
for (i=0;i<NX;i++) r[i] =0; // clear output buffer (optional)
for (i=0; i<NH; i++) dbuffer[i] = 0; // clear delay buffer (a must)
// compute
dlms(x,h,r,&dp,des,STEP, NH, NX);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -