复习循环卷积的快速算法(FFT)

 
两个序列的线性卷积: x(n) N个点; 滤波器h(n) M个点, 线性出来是 L=N+M-1个点;
x(n)填充0至长度为L,h(n)同样填充至L; 做FFT运算,然后IFFT运算,出来的结果时L个点。
eg:
    x = 1:50;
    h = 1:20;
    y = conv(x,h);
   N = length(x);
   M = length(h);
   L = M+N-1;
   X = fft(x,L);
   H = fft(h,L);
   Y2 = X.*H;
   y2 = real(ifft(Y2));
sum(y-y2)
对于帧长为N连续的原始信号,使用时域的Overlap-add分段做线性卷积,对于每个段N个信号点,和N个h(n)做线性卷积的快速算法就如图上述。
 
重叠相加法:

                    
                
                
            
        
浙公网安备 33010602011771号