
Filtering a signal by setting it zero for a specific amount of time
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (1)
Angelo Yeo
el 3 de Jul. de 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 comentarios
Angelo Yeo
el 3 de Jul. de 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).
Ver también
Categorías
Más información sobre Filter Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!