资源简介
dsp上代码 用于实现自动增益功能,用c语言编码,
代码片段和文件信息
/*****************************************************************************/
/* Filename: agc_aduio.c */
/* Author:ZhangYong */
/* 2002-12 */
/*****************************************************************************/
#include “agc_face.h“
#include “agc_func.h“
int dIndOut;
int Read_BSP1(void);
void Write_BSP1(int);
void Led_Light(void);
int AGC_audio(int);
// Main program
void main()
{
init_board();
while (1)
{
dIn=Read_BSP1();
dOut=AGC_audio(dIn);
Write_BSP1(dOut);
Led_Light();
}
}
int Read_BSP1(void)
{
int dDataIn;
*(volatile u16 *)SPSA_ADDR(1)=SPCR1_SUBADDR; //Receive Data from McBSP1
while(!((*(volatile u16 *)SPSD_ADDR(1)) & 0x0002)){};
dDataIn=*(volatile u16*)DRR1_ADDR(1);
return dDataIn;
}
void Write_BSP1(int dDataOut)
{
*(volatile u16 *)SPSA_ADDR(1)=SPCR2_SUBADDR; //Transmit Data To McBSP1
while(!((*(volatile u16 *)SPSD_ADDR(1)) & 0x0002)){};
*(volatile u16 *)DXR1_ADDR(1)=dDataOut;
}
void Led_Light(void)
{
static int i=0;
if(i>1024)
{
// *(int *)(0x0007)^=0x2000;
*(volatile u16 *)reg_ST1 ^= 0x2000; //Every 1024 times XF changed
i=0;
}
i++;
}
int AGC_audio(int AGC_in)
{
int AGC_out;
static int dTime=0;
static float AGC_Coff=1.0;
static int maxAGC_in=0;
static int maxArrIn=0;
if(AGC_in>maxArrIn)
maxArrIn=AGC_in;
if(-1*AGC_in>maxArrIn)
maxArrIn=-1*AGC_in;
if(dTime>4096)
{
if(maxArrIn maxAGC_in=maxArrIn;
maxArrIn=0;
dTime=0;
}
dTime++;
if(AGC_in > maxAGC_in)
{
maxAGC_in=AGC_in;
if(maxAGC_in>1)
AGC_Coff=20000.0/maxAGC_in;
}
if((-1*AGC_in)>maxAGC_in)
{
maxAGC_in=-1*AGC_in;
if(maxAGC_in>1)
AGC_Coff=20000.0/maxAGC_in;
}
AGC_out=AGC_in*AGC_Coff;
if(AGC_out>20000)
AGC_out=20000;
if(AGC_out<-20000)
AGC_out=-20000;
return AGC_out;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2005-06-09 15:15 agc_audio\
文件 2016 2003-05-31 15:36 agc_audio\agc_audio.c
文件 2016 2003-01-05 11:54 agc_audio\agc_audio.c.bak
文件 501 2003-01-05 10:45 agc_audio\agc_audio.cmd
文件 2837 2003-06-07 16:58 agc_audio\agc_audio.paf
文件 877 2003-01-05 13:43 agc_audio\agc_audio.pjt
文件 2743 2003-01-05 12:05 agc_audio\agc_face.h
文件 2897 2003-01-05 12:05 agc_audio\agc_func.h
文件 472 2003-01-05 12:05 agc_audio\cc_build_Debug.log
文件 462 2003-01-05 12:16 agc_audio\cc_build_Release.log
目录 0 2005-06-09 15:15 agc_audio\Debug\
文件 294 2003-01-05 12:05 agc_audio\Debug.lkf
文件 294 2003-01-05 12:05 agc_audio\Debug.lkv
目录 0 2005-06-09 15:15 agc_audio\Release\
文件 300 2003-01-05 12:15 agc_audio\Release.lkf
文件 300 2003-01-05 12:15 agc_audio\Release.lkv
文件 393 2003-01-04 15:24 agc_audio\vectors.asm
- 上一篇:xm
l解析 CMarkup类 c++ - 下一篇:银行排队系统课程设计
相关资源
- Tms320c55xdsp 语音录音滤波和回放例程
- FIR的DSP实现C语言实现
- 基于TMS320VC5509 DSP的有源噪声控制系统
- 基于DSP2812的SVPWM算法C语言编程
- DSP带速度传感器的电机矢量控制程序
- dsPIC30系列编程
- TIDSP常用FFT算法研究与实现(C语言)
- tms320f28335 dsp中文数据手册
- DSP28335通过SPI读写SD卡例程
- 语音代码论文:CSR86708675DSP算法EQ动态
- 《DSP集成开发环境CCS开发指南》.pdf
- FIR滤波器 C5000 DSP的实现
- DSP 28335 BLDC开环驱动程序代码
- DSP 28335 BLDC闭环驱动程序代码
- 基于DSP的积分分离的PID控制算法
- 全面收集的DSP面试题集锦
评论
共有 条评论