
Filtering a signal by setting it zero for a specific amount of time
2 views (last 30 days)
Show older comments
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 Comments
Answers (1)
Angelo Yeo
on 3 Jul 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 Comments
Angelo Yeo
on 3 Jul 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).
See Also
Categories
Find more on Filter Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!