打印

谁来解读下FIR源程序

[复制链接]
505|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiajs|  楼主 | 2018-12-10 16:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "DSP28_Device.h"     // DSP281x Headerfile Include File
//#include "DSP281x_Examples.h"   // DSP281x Examples Include File
//#include "f2812a.h"
#include"math.h"

#define FIRNUMBER 25
#define SIGNAL1F 1000
#define SIGNAL2F 4500
#define SAMPLEF  10000
#define PI 3.1415926
#define Pi 3.1415926
float InputWave();
float FIR();

//冲激响应系数

float fHn[FIRNUMBER]={ 0.0,0.0,0.001,-0.002,-0.002,0.01,-0.009,
                       -0.018,0.049,-0.02,0.11,0.28,0.64,0.28,
                       -0.11,-0.02,0.049,-0.018,-0.009,0.01,
                       -0.002,-0.002,0.001,0.0,0.0
                     };
float fXn[FIRNUMBER]={ 0.0 };
float fInput,fOutput;
float fSignal1,fSignal2;
float fStepSignal1,fStepSignal2;
float f2PI;
int i;
float fIn[256],fOut[256],H[102];
int nIn,nOut;
main(void)
{
    InitSysCtrl();
    nIn=0; nOut=0;
f2PI=2*PI;
fSignal1=0.0;
fSignal2=PI*0.1;
fStepSignal1=2*PI/30;     
fStepSignal2=2*PI*1.4;
  while ( 1 )
{
  fInput=InputWave();
  fIn[nIn]=fInput;
  nIn++; nIn%=256;
  fOutput=FIR();
  fOut[nOut]=fOutput;
  nOut++;
  if ( nOut>=256 )
  {
   nOut=0;  /* 请在此句上设置软件断点 */
  }
}
}  


float InputWave()
{
for ( i=FIRNUMBER-1;i>0;i-- )
  fXn=fXn[i-1];
// fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;  //此时为混合信号(sin 为低频信号,cos为高频信号)
// fXn[0]=cos(fSignal2)/6.0; //此时为cos 高频信号
fXn[0]=sin(fSignal1); //此时为sin 低频信号
fSignal1+=fStepSignal1;
if ( fSignal1>=f2PI ) fSignal1-=f2PI;
fSignal2+=fStepSignal2;
if ( fSignal2>=f2PI ) fSignal2-=f2PI;
return(fXn[0]);
}

float FIR()
{
float fSum;
fSum=0;
for ( i=0;i<FIRNUMBER;i++ )
{
  fSum+=(fXn*fHn);
}
return(fSum);
}

相关帖子

沙发
zhaoxqi| | 2018-12-10 16:27 | 只看该作者
这是低通滤波程序,怎么了

使用特权

评论回复
板凳
jiajs|  楼主 | 2018-12-10 16:32 | 只看该作者
我把它放在ccs里面运行了,结果正确,可是还是有很多问题没有解决掉

使用特权

评论回复
地板
zhenykun| | 2018-12-10 16:36 | 只看该作者
光程序没看出啥来

使用特权

评论回复
5
wyjie| | 2018-12-10 16:40 | 只看该作者
直接调用就行了。
确定一下参数是什么

使用特权

评论回复
6
yszong| | 2018-12-10 16:43 | 只看该作者
都有什么样的问题呢?
能不能粘贴一下你的输出数据

使用特权

评论回复
7
jiahy| | 2018-12-10 16:47 | 只看该作者

低通滤波程序
这个就是个FIR滤波的程序的。

使用特权

评论回复
8
shimx| | 2018-12-10 16:54 | 只看该作者
FIR滤波算法

使用特权

评论回复
9
zhanghqi| | 2018-12-10 16:57 | 只看该作者
你按照公式来一步步的试试。

使用特权

评论回复
10
jiajs|  楼主 | 2018-12-10 17:02 | 只看该作者

嗯,那我按大家的说法挨个排查一下,先结贴啦,谢谢哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

940

主题

11975

帖子

6

粉丝