Azzera filtri
Azzera filtri

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

2 visualizzazioni (ultimi 30 giorni)
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 Commenti
dpb
dpb il 6 Dic 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 il 6 Dic 2021
Oh sorry! I will attach it to this comment. Thank you again.

Accedi per commentare.

Risposte (1)

Chunru
Chunru il 7 Dic 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)

Categorie

Scopri di più su Signal Processing in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by