フィルターのクリア

Signal smoothing for logarithmic timescale

19 ビュー (過去 30 日間)
Divij Gupta
Divij Gupta 2021 年 7 月 9 日
コメント済み: Mathieu NOE 2021 年 7 月 9 日
I want to perform signal smoothing for the graph shown above. However, using the method shown in MATLAB documentation is not working since the timescale for my graph is logarithmic (logspace(1,5,1000)), not linear. How can I smooth this using a filter?

採用された回答

Mathieu NOE
Mathieu NOE 2021 年 7 月 9 日
hello
you can smooth data even in log spacing
a demo code is provided below. I kept the amount of samples low , so the smoothed curve is easy to see that the constant log spacing is still there.
clc
clearvars
% dummy data : x is Logarithmically spaced vector
samples = 100;
xlog = logspace(1,5,samples);
ylog = (1-exp(-xlog*1e-4)).*randn(1,samples);
% smoothdata
N = 25;
ylogs = smoothdata(ylog,"gaussian",N);
semilogx(xlog,ylog,xlog,ylogs,'-*');
legend ('raw data','smoothed');
  2 件のコメント
Divij Gupta
Divij Gupta 2021 年 7 月 9 日
Thank you so much! This works perfectly
Mathieu NOE
Mathieu NOE 2021 年 7 月 9 日
My pleasure

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSmoothing and Denoising についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by