フィルターのクリア

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

2 ビュー (過去 30 日間)
Francisco Cano
Francisco Cano 2021 年 12 月 6 日
回答済み: Chunru 2021 年 12 月 7 日
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 件のコメント
dpb
dpb 2021 年 12 月 6 日
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 2021 年 12 月 6 日
Oh sorry! I will attach it to this comment. Thank you again.

サインインしてコメントする。

回答 (1 件)

Chunru
Chunru 2021 年 12 月 7 日
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)

カテゴリ

Help Center および File ExchangeSignal Processing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by