• 大小: 7KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: C/C++
  • 标签: AGC  DSP  

资源简介

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

评论

共有 条评论