⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filter.c

📁 基于DSP的自适应滤波器的设计与实现(C54x上实现)的源代码
💻 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 + -