數(shù)字信號處理算法離散時間傅里葉變換與N點離散傅里葉變換
在數(shù)字信號處理DSP系統(tǒng)中,信號通過采樣器,模數(shù)轉(zhuǎn)換器(ADC)后進入數(shù)字處理系統(tǒng)進行計算。在這個過程中,雖然輸入信號為模擬連續(xù)量,但是經(jīng)過采樣后的信號為離散的點。因此在DSP系統(tǒng)中,信號的處理基于離散傅里葉變換與逆離散傅里葉變換。其中一個離散信號可被表示為傅里葉級數(shù)DTFS。當給定一個周期為N的離散信號x(n)時,對于所有x(n)=x(n+N)來說,這個信號可被表示為由N個諧波組成的函數(shù)
其中x(n)為一個離散信號,ck為信號分量的系數(shù),為信號分量,N為函數(shù)周期。基于傅里葉級數(shù)的原理,一個信號的頻譜也可被表示為多個諧波頻譜的組合函數(shù)。而對于離散信號在頻域與時域間的變換稱為離散時間傅里葉變換DTFT與逆離散時間傅里葉變換IDFT
其中為此信號的頻譜,而x(n)為輸入的離散信號,為多個頻率分量?;诖耸竭€可寫出逆離散時間傅里葉變換IDTFT。
由上式可見當DSP系統(tǒng)輸入信號為有限長度信號時,此信號頻譜通常為無限長度。
一個DSP通常通過DTFT算法,將輸入信號在頻域與數(shù)字濾波器進行卷積。再通過IDTFT將濾波結(jié)果在頻域變換到時域,從而產(chǎn)生信號處理結(jié)果。由上式可見,對于一個有限長度的信號來說,其頻譜信號通常為無限長度。但是對于一個數(shù)字計算系統(tǒng)如MCU,FPGA來說,存儲空間都是有限的。因此DTFT與IDTFT雖然在理論上成立,但是在現(xiàn)實中不可實現(xiàn)。因此為了將數(shù)字濾波算法應用于實際的數(shù)字計算系統(tǒng),DTFT算法被簡化以便于使得被處理信號在時域與頻域都只有有限長度,以便于在有限的儲存空間中進行處理。因此具有固定長度L的離散傅里葉變換DFT與IDFT被采用。
或此式可被表示為
由上式可見,輸入信號頻譜具有了有限長度。第一個頻率元素為
,而最后一個頻率元素為。而其中可由計算機提前計算完成,計算時可通過查表簡化計算。因此,在信號輸入時可采用DFT算法將信號在頻域內(nèi)表現(xiàn)為有限長度頻譜信號,雖然在逆變換后的信號因頻譜丟失會有所失真,但在指定長度0~N-1范圍內(nèi)仍為有效信號。