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

📄 iir_fixpt_dsplib32.c

📁 用dsp解压mp3程序的算法
💻 C
字号:
/*********************************************************************
*  iir_fixpt_dsplib32.c- C program for IIR filtering (direct-form II)  
*                        using C5400 DSP Lib in Section 7.7.7  
**********************************************************************
*  System configuration:
*
* in(n) |----------------| out(n)
*  ---->| Bandpass filter|----->
*       |----------------|
*
*********************************************************************/
#include "math.h"
#include "stdio.h"
#include "tms320.h"
#include "dsplib.h"
	
#include "input3a.h"     // for using iircas4 

short i;
short oflag;		 // overflow flag 
DATA gain=17;
DATA x1[300];
void main(void)
{
    asm(" STM	#0, SWWSR");

    /* clear */
    for (i=0;i<NX;i++) r[i] =0;	             // clear output buffer (optional)
    for (i=0; i<3*NBIQ; i++) dbuffer[i] = 0; // clear delay buffer (a must)
    for (i=0;i<NX;i++) x1[i] = (DATA)(((long)(DATA)x[i]*(long)(DATA)gain)>>15);
    
    /* compute */

    /* (i)300 samples/block
    oflag=iir32(x1,h,r,&dp,NBIQ, NX); */
    
    /* (ii)75 samples/block
    if (NX >= 4)
    {
    oflag=iir32(x1,h,r,&dp,NBIQ,NX/4);
    oflag=iir32(&x1[NX/4],h,&r[NX/4],&dp,NBIQ,NX/4);
    oflag=iir32(&x1[NX/2],h,&r[NX/2],&dp,NBIQ,NX/4);
    oflag=iir32(&x1[(3*NX)/4],h,&r[(3*NX)/4],&dp,NBIQ,NX/4);
    } */ 
    
    /* (iii) sample mode  */
    for (i=0; i<NX; i++)
    {
      oflag=iir32(&x1[i],h,&r[i],&dp,NBIQ,1);
    } 
    
    for (i=0;i<NX;i++) r[i] = r[i]*8;

/*
    if (oflag != 0)
    {
      exit(-1);
    }  */

    return;
}

⌨️ 快捷键说明

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