fft1.c

来自「文件系统在DSP5509上的实现」· C语言 代码 · 共 70 行

C
70
字号
/*******************************************************************         
                           基音检测
           
           
*******************************************************************/

#include "math.h"
#include "VoiceProcess.h"
#include "Dsplib.h"


extern DATA   fft[];              //傅立叶变换


#define FftLength  80
#define FFTMIN   18
#define FFTMAX   80
#define AdptiveLength  256


unsigned int TimeLong=0;
long unsigned int FftLong[FftLength]; 
 

void  FftSubLong(void)
{
    int i;
    long unsigned int FftLong1[FftLength];
    
    TimeLong++;
    if(TimeLong>AdptiveLength)
        TimeLong=AdptiveLength;  

    for(i=FFTMIN;i<FFTMAX;i++)
    {
        FftLong[i-FFTMIN]=FftLong[i-FFTMIN]*(TimeLong-1)/TimeLong;
    }
    
    for(i=FFTMIN;i<FFTMAX;i++)
    {
       FftLong1[i-FFTMIN]=fft[i];
    }   
    for(i=FFTMIN;i<FFTMAX;i++)
    {
        FftLong1[i-FFTMIN]=FftLong1[i-FFTMIN]/TimeLong;
    }
    
    for(i=FFTMIN;i<FFTMAX;i++)
    {
        FftLong[i-FFTMIN]+=FftLong1[i-FFTMIN];
    }
    
    for(i=FFTMIN;i<FFTMAX;i++)
    {
        fft[i-FFTMIN]-=FftLong[i-FFTMIN];
    }
    
}

void  FftSubAverge(void)
{
    int i;
    for(i=FFTMIN;i<FFTMAX;i++)
    {
        fft[i]-=Averagefft;
    }
    
}

⌨️ 快捷键说明

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