Filter löschen
Filter löschen

How do I use a loop to remove all of the noise signal segments?

2 Ansichten (letzte 30 Tage)
Francisco Cano
Francisco Cano am 6 Dez. 2021
Beantwortet: Chunru am 7 Dez. 2021
So there is a signal that has 0.5 secs of silence, followed by 1 sec worth of noise, another 0.5 secs of silence, and 1 sec sine wave starting at 100Hz. This pattern continues until the sine wave reaches 1000Hz. I need to use a loop to remove the noises and silence to preserve the sine waves segments. Any tips on how I can do this? Thank you!
  4 Kommentare
dpb
dpb am 6 Dez. 2021
If you want somebody to play with your signal, make it easy for them...attach a .mat file with some sample data; don't expect somebody else to try to reproduce your data for you....
Francisco Cano
Francisco Cano am 6 Dez. 2021
Oh sorry! I will attach it to this comment. Thank you again.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Chunru
Chunru am 7 Dez. 2021
load signal
% detect the env
y = sqrt(2)* movstd(x, [200 200]);
figure
plot(x); hold on
plot(y)
% extract signal
z = x(y>0.8);
figure
spectrogram(z, 2048, 1024)

Kategorien

Mehr zu Signal Processing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by