g722pc.c

来自「dsp AD公司ADSP21的代码,里面有FFT FIR IIR EQULIZE」· C语言 代码 · 共 65 行

C
65
字号
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include "rtdspc.h"

/***********************************************************************

G722PC.C - Test Program for G722 Speech Compression.
           Tests encode and decode function of g722.c

************************************************************************/

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

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

#define SIZE 2000
#define IN_END 2000

#define PI 3.14159265358979323846

void main()
{
    int i,j,f;
    static int test_data[SIZE],compressed[SIZE],result[SIZE];

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

/* read in amplitude and frequency for test data */
  scanf("%d",&j);
  scanf("%d",&f);

/* 16 KHz sample rate */
    for(i = 0 ; i < SIZE ; i++) {
        test_data[i] = (float)j*cos(f*PI*i/8000.0);
    }

    for(i = 0 ; i < IN_END ; i += 2)
        compressed[i/2] = encode(test_data[i],test_data[i+1]);
    for(i = 0 ; i < IN_END ; i += 2) {
        decode(compressed[i/2]);
        result[i] = xout1;
        result[i+1] = xout2;
    }
/*
for( ; j < 32767 ; j++) {
i=IN_END-1;
printf("\n%4d %4d %4d %4d %4d",j,compressed[i/2] >> 6,compressed[i/2] & 63,result[i],result[i-1]);
}
*/
/* print ih, il */
/*
    for(i = 0 ; i < IN_END/2 ; i++) printf("\n%4d %2d %2d",
        i,compressed[i] >> 6,compressed[i] & 63);
*/

    for(i = 0 ; i < IN_END ; i++)
        printf("\n%4d %7d %7d",i,test_data[i],result[i]);
}

⌨️ 快捷键说明

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