天天看點

過采樣系列二:傅裡葉變換與信噪比

傅裡葉變換的提出讓人們看問題的角度從時域變成了頻域,多了一個次元。快速傅裡葉變換算法的提出普及了傅裡葉變換在工程領域的應用,在科學計算和數字信号處理等領域,離散傅裡葉變換(DFT)至今依然是非常有效的工具之一。

過采樣系列二:傅裡葉變換與信噪比

比如下圖是一個幅度為1、頻率為2Hz的正弦波和它的離散傅裡葉變換後的結果。

過采樣系列二:傅裡葉變換與信噪比

信噪比(SNR)是信号與噪聲的比率,它是衡量通信或模拟系統性能的重要名額之一,與傅裡葉變換更是有千絲萬縷的聯系。在很多情況下,我們是通過傅裡葉變換來評估信噪比,如果評估方法不對,很難的到我們期望的結果,經常會事與願違。

過采樣系列二:傅裡葉變換與信噪比

求解SNR的過程,我們是用‘評估SNR’來描述,這就是說我們無法精确計算出SNR,隻能進行評估,事實也是如此。

評估SNR的方法分為時域和頻域兩種。我們以一組離散樣本點為分析目标,看下如何評估SNR,及其誤區。

時域估計SNR

Xs(n)為信号序列,Xn(n)為噪聲序列,則信号X(n)=Xs(n)+Xn(n),是一組帶噪離散序列,在時域上評估X(n)的信噪比公式如下:

過采樣系列二:傅裡葉變換與信噪比

其意義為分别求取離散信号、噪聲功率和,計算二者之比。這裡有個前提是,我們需要分離出信号與噪聲,然後才能求解,

然而問題也在于此,對于一段給定的離散時間序列,我們很難完全分離出信号和噪聲,是以時域評估SNR是有局限性的,而且不夠直覺,是以通常我們在頻域下求解。

頻域估計SNR

在頻域上的SNR計算原理和時域很接近,還是求信号功率與噪聲功率隻比。最簡單的方法是在頻譜X(m)上設定門檻值,門檻值之上為信号,門檻值之下為噪聲。這樣就會有門檻值設定帶來的估計準确性問題,同時信号頻帶範圍内或多或少也會有噪聲疊加進來,在頻域計算SNR也是一個近似。

過采樣系列二:傅裡葉變換與信噪比

SNR以dB作為機關,SNR(dB)=10*log10(SNR)。

我們往往使用Matlab評估SNR,Matlab是非常強大的數學工具,其內建了SNR計算函數,如果應用不正确,誤差會非常大,無法得到預期結果,舉例如下。

下圖是一個幅度為1、頻率為2Hz的正弦波和它的離散傅裡葉變換後的結果。

過采樣系列二:傅裡葉變換與信噪比

用Matlab SNR函數計算計算信噪比的結果如下,藍色為感興趣的信号成分,橙色為噪聲。這個頻域圖就可以表征SNR,橙色的噪聲數值越小、越低,說明信噪比越高、越好。即使紅色圓圈部分有一點噪聲,在評估單頻率成分信号的SNR時,這依然是一個非常有效的手段。

過采樣系列二:傅裡葉變換與信噪比

假如一信号x(n)=sin(4pi*t)+0.5*sin(18pi*t),如下圖是一個幅度為1、頻率為2Hz的正弦波疊加幅度為0.5、頻率為9Hz的正弦波的結果。

過采樣系列二:傅裡葉變換與信噪比

用Matlab SNR函數計算計算信噪比的結果如下,藍色為感興趣的信号成分,橙色為噪聲,matlab舍棄了頻率為9Hz、能量少的成分,隻計算了2Hz信号的信噪比。

是以倘若我們的感興趣信号比較複雜,就不能直接用SNR函數直接計算。

過采樣系列二:傅裡葉變換與信噪比

是以我們一定要在了解DFT與SNR關系的基礎上,正确使用matlab才能得到期望的SNR結果。

在過采樣中,信噪比、ADC有效位數、過采樣率是有千絲萬縷的聯系,了解了基本的概念後,我們一步一步了解過采樣的原理。