How to Correct Signal Waveform (may use some filter)

Hello, I would like to ask is there a way to process below data so that, when y goes from -1 to 1 (or from 1 to -1), there are no small dips near 1 (or -1). The force applied to generate such data has squre waveform. But my data waveform is distorted.
I have tried using lowpass(), but the dips are still there. Data and figure are attached.
Manny thanks and best regards,
Ryanne

1 Kommentar

Runzi Hao
Runzi Hao am 2 Mai 2023
Bearbeitet: Runzi Hao am 3 Mai 2023
Also I hope the near 1 (or near -1) signals before the dips can be increased to 1 (or -1).
The sampling rate is 1e11 Hz. Data in first column is in nanoseconds.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

You can try to use a low pass filter.
websave("data.mat", "https://www.mathworks.com/matlabcentral/answers/uploaded_files/1372834/ask_matlab_community.mat")
ans = '/users/mss.system.ENlxcn/data.mat'
load data
% design a low pass filter
d = designfilt("lowpassfir", PassbandFrequency=0.04, StopbandFrequency=0.12, ...
PassbandRipple=1, StopbandAttenuation=60);
x = filtfilt(d, dataAsk(:,2));
plot(dataAsk(:,1), dataAsk(:, 2))
hold on;
plot(dataAsk(:,1), x)

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by