Signal smoothing for logarithmic timescale
18 views (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
Mathieu NOE
on 9 Jul 2021
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');
More Answers (0)
See Also
Categories
Find more on Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!