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

📄 g722main.c

📁 dsp AD公司ADSP21的代码,里面有FFT FIR IIR EQULIZER G722_21F 等可以在项目中直接应用的代码.此代码的来源是ADI公司自己出版的书籍,此书在美国购得
💻 C
字号:
#include <math.h>
#include "rtdspc.h"

/* Main program for g722 encode and decode demo for DSP32C */

    extern int encode();
    extern void decode();
    extern void reset();

/* outputs of the decode function */
    extern float xout1,xout2;

#define BUF_SIZE 15000

    extern short int chkl[];
    short int buffer[BUF_SIZE];

/* this code tests the routines but does not run in real-time
on most DSP32C boards because the compiler/processor combination
is not efficient enough for this G722 encode and decode algorithm
(decode does run in real-time as implemented here) */

void main()
{
    int i,j;
    float t1,t2;

/* reset, initialize required memory */
    reset();

/* code the speech, interpolate because it was recorded at 8000 Hz */
    for(i = 0 ; i < 5999 ; i++) {
        t1=64.0*(float)chkl[i];
        t2=32.0*(float)(chkl[i]+chkl[i+1]);
        chkl[i]=encode(t1,t2);
    }

/* output sample rate is 16 kHz */
    for(i = 0 ; i < 6000 ; i++) {
        decode(chkl[i]);
        sendout(xout1);
        sendout(xout2);
    }

/* note: the g722 standard calls for 16 KHz for voice operation */
    while(1) {
/* used for non-realtime test:
*/
      for(i = 0 ; i < BUF_SIZE ; i++) {
        buffer[i] = (int)getinput();
        sendout(0.0);
      }
      for(i = 0 ; i < BUF_SIZE ; i+=2) {
        buffer[i/2]=encode((float)buffer[i],(float)buffer[i+1]);
      }
/* this is realtime for encode:
      for(i = 0 ; i < BUF_SIZE ; i++) {
        t1 = getinput();
        t2 = getinput();
        buffer[i]=encode(t1,t2);
        sendout(0.0);
        sendout(0.0);
      }
*/
/* used for pass test:
      for(i = 0 ; i < BUF_SIZE ; i++) sendout((float)buffer[i]);
*/
      int_disable();
      out_int_enable();
      for(i = 0 ; i < BUF_SIZE/2 ; i++) {
        decode((int)buffer[i]);
        sendout(xout1);
        sendout(xout2);
      }
      flush();
      in_int_enable();
    }
}

⌨️ 快捷键说明

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