2014-05-04 192 views
1

我有一些數據,當繪製時看起來像附圖所示的左側。 它有一些扭曲,我想刪除和平滑,以獲得一個不錯的曲線[右圖]。刪除扭曲和平滑曲線

目前,我手動刪除扭曲並通過高階多項式插入刪除的部分[說9]。然後我重新填充已刪除的片段並重新繪製曲線。 這需要很長時間,我有很多文件需要處理。

你可以建議一個有效的方法來做到這一點嗎? [在MATLAB或其他方式] enter image description here

非常感謝!

P.S:增加了一個情節澄清上述 Second case

+0

查看'filter'函數文檔中的移動平均值示例,它可以幫助您。 – thewaywewalk

+0

謝謝,我會看看它。但是我認爲我曾嘗試過一次,如果數據有很大的糾結,結果並不令人滿意。 –

回答

2

我認爲這是一個簡單的低通濾波問題像@thewaywealk建議。去除扭結對應於消除信號中的某些高頻。這可以通過濾波器操作在matlab中實現。示範顯示在denoising a sinusoidal wave here

+0

謝謝,我肯定會給它一個鏡頭。我唯一擔心的是,如果我有一個很大的糾結,假設在數據中產生了一個相當長的步驟或抑鬱症:例如x軸總範圍的15%。那麼平滑自動化將非常困難。 –

+0

剛剛又加了一塊情節來解釋我的意思。再次感謝。 –

+0

在這種情況下,我會建議一個小波閾值方法,在小波基的不同比例下執行平滑。這在[matlab](http://www.mathworks.fr/fr/help/dsp/examples/wavelet-denoising.html)中也得到了證明/這正好適用於在x中出現不同比例的扭結尺寸。 – beedot