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

📄 filter.c

📁 基于dm643的Fir 滤波器的设计
💻 C
字号:
/************************************************************
  Copyright (C), 2007 by SEED Electronic Technology LTD.
  FileName: Filter.c
  Author:  Ya.X      Version : V1.0         Date:2007-09-20
  Description:  FIR滤波试验演示主程序  
*************************************************************/
#include <csl.h>
#include <csl_mcasp.h>

#include "DEC643.h"
#include "codec.h"
#include "filter.h"

#define BUFLEN  1024

#pragma DATA_SECTION(DataBuffer, ".AudioData")
#pragma DATA_ALIGN(DataBuffer, 0x4)
short DataBuffer[BUFLEN];

#pragma DATA_SECTION(DDataBuffer, ".AudioData")
#pragma DATA_ALIGN(DDataBuffer, 0x4)
short DDataBuffer[BUFLEN];

#define SAMPLELONG 3     //选择采样长度

Uint32  SampleLong;

void main()
{
	Uint32 i;
	MCASP_Handle hMcasp;

	/* Initialize CSL. */
	CSL_init();

	/* Initialize DEC643 board. */
	DEC643_init();
		
#if SAMPLELONG==1
	SampleLong =256+256;
#endif
#if SAMPLELONG==2
	SampleLong =512+256;
#endif
#if SAMPLELONG==3
	SampleLong =1024+256;
#endif

    //initialize AIC23	
	DEC643_AIC23_Config(); 

	/* open the aic23 codec*/	
	hMcasp = DEC643_AIC23_OpenCodec();	
	
	while( TRUE )
	{
		/*获取SampleLong长度个数据,用于FIR滤波*/
		for(i = 0; i<SampleLong; i++)
		{
			while(!(MCASP_RGETH(hMcasp, SRCTL1) & 0x20));
        	     DataBuffer[i] = MCASP_read32Cfg(hMcasp,MCASP_RBUF1);
		}
		
		/*进行FIR滤波操作*/
		fir_filter((int *)DataBuffer, (int *)hfir, DDataBuffer, ORDER_FIR, SampleLong,ROUND_FIR);
		printf("FIR filter have done!\n");
	}
}

/********************************************************************************/
/* End of Filter.C */
/********************************************************************************/

⌨️ 快捷键说明

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