我使用此處描述的算法平滑一系列數據點:http://www.scipy.org/Cookbook/SignalSmooth。將平滑信號與輸入信號進行比較
我怎麼能比較平滑後的信號和輸入信號?我希望我能得到一個標量來描述輸出的「接近」輸出。有沒有標準的方法來做到這一點?我可以找一些術語?
我不知道甚至找什麼。謝謝!
我使用此處描述的算法平滑一系列數據點:http://www.scipy.org/Cookbook/SignalSmooth。將平滑信號與輸入信號進行比較
我怎麼能比較平滑後的信號和輸入信號?我希望我能得到一個標量來描述輸出的「接近」輸出。有沒有標準的方法來做到這一點?我可以找一些術語?
我不知道甚至找什麼。謝謝!
我用normalized root mean squared deviation。這給了我一個介於0和1之間的數字。數字越大,兩個數據系列越遠。 0表示信號與平滑信號完美匹配。
假設您平滑信號以消除噪聲,最自然的優點是SNR。
因此,像:
mean((smoothed[n] - original[n])^2)/mean((smoothed[n])^2)
上面假設信號的平均值爲0〜。
離散相關是一種在噪聲背景下檢測已知波形的方法。只需找到兩個信號之間的相關性。離散相關是一個簡單的矢量點積:
for n in range(N):
y[n] = sum([x1[i]*x2[i+n] for i in range(N)])
在純Python,或:
y = xcorr(x1,x2);
在Matlab
,或者:
y = correlate(x1,x2)
在Python + SciPy的
。
相關性是兩個信號相似性的非常敏感的度量。當兩個信號在頻率內容上相似並且彼此同相時,它被最大化。
我使信號平滑以便近似它。我有一系列的數據點(測量數據),但是1)我對我感興趣的每一點都沒有價值,2)測量結果可能有小錯誤。我繪製了一條很好的曲線,代表近似信號和測量的散點圖。分散給我一個關於近似值有多遠的想法,但我希望有一個我可以輕鬆比較的數字。信號的平均值不是0。 – ibz 2010-11-30 04:07:11