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

📄 aic23_loopback.c

📁 TMS320C6713的语音信号的FIR滤波
💻 C
字号:
#include "6713.h"
#include "cfg6713.h"
#include "aic23cfg.h"
#include "evm6713.h"
#include "functions.h"
#include "CTR.h"
#include "scancode.h"
#include "ICETEK-C6713-A.h"
#include<math.h>

int jj;
int buf[256];
#define nSoundNumber 0x0ffffff
#define FIRNUMBER 64
int *p=(int *)0x80000000;
int nNumber=0,Number=0;
float fHnL[FIRNUMBER]={
-0.00078814,
-0.00080162,
-0.00083956,
-0.00089177,
-0.00094191,
-0.00096785,
-0.00094226,
-0.00083371,
-0.00060795,
-0.00022950,
 0.00033660,
 0.00112289,
 0.00215763,
 0.00346299,
 0.00505337,
 0.00693405,
 0.00910009,
 0.01153569,
 0.01421393,
 0.01709707,
 0.02013719,
 0.02327745,
 0.02645364,
 0.02959616,
 0.03263229,
 0.03548863,
 0.03809368,
 0.04038037,
 0.04228852,
 0.04376703,
 0.04477580,
 0.04528721,
 0.04528721,
 0.04477580,
 0.04376703,
 0.04228852,
 0.04038037,
 0.03809368,
 0.03548863,
 0.03263229,
 0.02959616,
 0.02645364,
 0.02327745,
 0.02013719,
 0.01709707,
 0.01421393,
 0.01153569,
 0.00910009,
 0.00693405,
 0.00505337,
 0.00346299,
 0.00215763,
 0.00112289,
 0.00033660,
-0.00022950,
-0.00060795,
-0.00083371,
-0.00094226,
-0.00096785,
-0.00094191,
-0.00089177,
-0.00083956,
-0.00080162,
-0.00078814
 };//1K低通滤波参数
float fXn[FIRNUMBER]={ 0.0 }; 
int i,ii=0,flag3=0,flag4=0,flag6=0,flag7=0,Ch=0,bCode=0; 
 
unsigned char IntToALaw(int nInput);
int ALawToInt(unsigned char nInput);
void InputWave(float);
float FIRL();
float FIRH(); 
main()
{
    int i;
    jj=0;
	for(i=0;i<FIRNUMBER;i++)
	 fXn[i]=0.0;
    init_pll();
    chip_sel();
    init_emif();
    InitCTR();
	init_MCBSP0();
    init_MCBSP1();
    AIC23_cfg();
    initInterrupt();
    for(;;) ;
    CloseCTR();
	exit(0);
}

void interrupt rxVioce( void )
{
 short int j;
 if(bCode==0)
 {	
	j=McBSP0_DRR;
	McBSP0_DXR=j;
 }
 else
 {	
    j=McBSP0_DRR;
	InputWave(j);
	j=FIRL();
	McBSP0_DXR =j;
 }
}			 


void InputWave(float a)
{
	for ( i=FIRNUMBER-1;i>0;i-- )
		fXn[i]=fXn[i-1];
	fXn[0]=a;
}

float FIRL()
{
	float fSum;
	fSum=0;
	for ( i=0;i<FIRNUMBER;i++ )
	{
		fSum+=(fXn[i]*fHnL[i]);
	}
	return(fSum);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -