DFT應用——快速卷積之重疊保留法理解
一、重疊保留法介紹:
仍然采用分段求卷積再組合的方法。
該方法與重疊相加法的區別為:
ⅰ. 對序列x(n)以M為長度重疊分段為xi(n) ,其后段與前段有N-1個重疊點;
ⅱ. 每段以M為周期計算循環卷積 ;(用FFT)
ⅲ. 將每段得到的循環卷積結果的前N-1個點去掉(這是循環卷積中的混疊部分),然后將各段剩余部分(對應線性卷積結果)首尾銜接起來,即得到最終結果。

二、理解過程
下面結合課本第三章的一道課后題來解釋清楚重疊保留法的過程
21.我們希望利用h(n)長度為N=50的FIR濾波器對一段很長的數據序列進行濾波處理,要求采用重疊保留法通過DFT(即FFT)來實現。所謂重疊保留法,就是對輸入序列進行分段(本題設每段長度為M=100個采樣點),但相鄰兩段必須重疊V個點,然后計算各段與h(n)的L點(本題取L=128)循環卷積,得到輸出序列y(n),m表示第m段循環卷積計算輸出。最后,從y(n)中選取B個樣值,使每段選取的B個樣值連接得到濾波輸出y(n)。
(1)求V;(2)求B;
分析:
不管是重疊相加法還是重疊保留法,其本質都是用循環卷積去代替線性卷積,但是循環卷積根據情況(L>=N+M-1)可能等於或者不等於線性卷積,我們需要對多余的部分做操作,是保留還是如何。下面看一下這題的示意圖

從上往下依次:
- 被分段的輸入序列之一
- 濾波器的單位取樣響應h(n)
- h(n)以L為周期進行周期延拓后的反轉序列
實際的線性卷積只有①段,因此線性卷積和循環卷積要想相等,必須把②段移出0~99外,即79~99共21個點。因此作循環卷積時,前21個點會發生混疊,即ym(0)~ym(20)要舍去。
因此相鄰兩段必須重疊21個點,即下一段xm(n)要從79開始,再有21個無效的輸出時,①段的左側與上一次的x(n)的n=99重合,因此第一次ym(n)取樣值也只取到這里,即取第21到99點作為輸出,而不取到128,否則會有重復。
但是實際生活中,往往L是未知的,但是濾波器是固定的,濾波器確定了,h(n)的長度就確定了,所以一般干脆取N-1點作為重疊部分,而不需要考慮L,這里為了計算機計算方便,L會取比分段序列每一段長大的2的冪次,如本題中27>100。這里的分段長度可能實際生活中是不確定了,而我們21點就是據此算出來的,為了形成統一的算法,取重疊部分為N-1,因為②段的長度就是N,所以一定會被移出去。保證了循環卷積和線性卷積結果一致。
