#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
#include "f2812a.h"
#include"math.h"
#define IIRNUMBER 2
#define SIGNAL1F 1000
#define SIGNAL2F 4500
#define SAMPLEF 10000
#define PI 3.1415926
float InputWave();
float IIR();
float fBn[IIRNUMBER]={ 0.0,0.7757 };
float fAn[IIRNUMBER]={ 0.1122,0.1122 };
float fXn[IIRNUMBER]={ 0.0 };
float fYn[IIRNUMBER]={ 0.0 };
float fInput,fOutput;
float fSignal1,fSignal2;
float fStepSignal1,fStepSignal2;
float f2PI;
int i;
float fIn[256],fOut[256];
int nIn,nOut;
main(void)
{
nIn=0; nOut=0;
f2PI=2*PI;
fSignal1=0.0;
fSignal2=PI*0.1;
// fStepSignal1=2*PI/30;
// fStepSignal2=2*PI*1.4;
fStepSignal1=2*PI/50;
fStepSignal2=2*PI/2.5;
while ( 1 )
{
fInput=InputWave();
fIn[nIn]=fInput;
nIn++; nIn%=256;
fOutput=IIR();
fOut[nOut]=fOutput;
nOut++;
if ( nOut>=256 )
{
nOut=0; /* 请在此句上设置软件断点 */
}
}
}
float InputWave()
{
for ( i=IIRNUMBER-1;i>0;i-- )
{
fXn[i]=fXn[i-1];
fYn[i]=fYn[i-1];
}
fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;
fYn[0]=0.0;
fSignal1+=fStepSignal1;
if ( fSignal1>=f2PI ) fSignal1-=f2PI;
fSignal2+=fStepSignal2;
if ( fSignal2>=f2PI ) fSignal2-=f2PI;
return(fXn[0]);
}
float IIR()
{
float fSum;
fSum=0.0;
for ( i=0;i<IIRNUMBER;i++ )
{
fSum+=(fXn[i]*fAn[i]);
fSum+=(fYn[i]*fBn[i]);
}
return(fSum);
}
EX28_IIR.rar_CCS3.3 IIR
版权申诉
55 浏览量
2022-07-14
21:33:02
上传
评论
收藏 229KB RAR 举报
林当时
- 粉丝: 100
- 资源: 1万+
最新资源
- 基于STM32CubeMX、FREERTOS、MCP3202(SPI接口)的12位ADC转换器应用proteus仿真设计
- 什么是matlab GUI仿真以及学习matlab GUI仿真的意义是什么
- Vue单文件组件嵌套的方法及示例
- DS-00859-GD5F1GM7UE-Rev1.0
- DS-00846-GD5F4GM8UE-Rev1.0
- 嵌入式FreeRTOS学习资料FreeRTOS系列教程基础篇文档资料合集(20个).zip
- 8_base.apk.1
- DS-00557-GD5F4GQ6xExxG-Rev1.3
- DS-00526-GD25Q256E-Rev0.1
- DS-00501-GD5F1GQ4xExxH-Rev1.7
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈