How to Correct Signal Waveform (may use some filter)

2 vues (au cours des 30 derniers jours)
Runzi Hao
Runzi Hao le 2 Mai 2023
Commenté : Runzi Hao le 3 Mai 2023
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 commentaire
Runzi Hao
Runzi Hao le 2 Mai 2023
Modifié(e) : Runzi Hao le 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.

Connectez-vous pour commenter.

Réponse acceptée

Chunru
Chunru le 3 Mai 2023
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)
  1 commentaire
Runzi Hao
Runzi Hao le 3 Mai 2023
Cool! It works well and thank you so much for the solution!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Signal Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by