
Filtering a signal by setting it zero for a specific amount of time
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I'm currently trying to filter the following signal:

I starteted with creating a dead zone from Y(-0.1;0.1). This resulted in the follwing signal:

In a next step I want to check if the signal is unequal to 0. If so, the first 1.5s of the signal should also be set to 0. After 1.5s the original signal should pass through. My problem is that this should only happen in the three red marked regions. I don't know which trigger I should use.
The signal I created and which I'm trying to filter is just an example to test possible solutions. In the real world application exications are random and therefore I cannot define a fixed time at which the signal is switched from the original one to zero. I have to find a trigger that detects all excitations but always stops setting the signal to zero after 1.5s even if the sinosoidal signal is still going.
I cannot increase the dead zone because of the corresponding real world application.
Thanks in advance!
0 Commenti
Risposte (1)
Angelo Yeo
il 3 Lug 2023
Hi Sven,
I'm not 100% sure what you ultimately want only with the description, but your title made me believe clock and switch blocks should be helpful.

Please check out the attachment too.
Hope this helps.
Angelo
4 Commenti
Angelo Yeo
il 3 Lug 2023
If the signal can be distinguished only with the frequency range, you can use a bandpass filter for 15-20 Hz. Also, you can use triggered subsystem if you need to trigger a part of system to be activated under certiain conditions (e.g., waiting for a certain amount of time like 1.5 s).
Vedere anche
Categorie
Scopri di più su Filter Analysis 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!