how to hold max amplitude of a signal until next amplitude value is bigger?

15 次查看(过去 30 天)
for a signal with varying amplitude, I need to find max amplitudes and hold that max value untill another max value is detected. the hold can be i.e for 1000 samples, if not max value is detected after 1000 samples it should slowly go back to its original position as shown in figure. can anybody help how to do that in simulink?

回答(1 个)

Image Analyst
Image Analyst 2017-7-30
编辑:Image Analyst 2017-7-30
Take a look at the boundary() and envelope() functions. Try them and write back, attaching your data and code, if you can't figure out the parameters to use with them. Anyway, that's what I'd do in MATLAB. I don't have Simulink so I don't know if you can do that in Simulink, or if Simulink has better approaches.
  2 个评论
Mohammad Wasi Ahmadi
if you have Matlab, you must have simulink also.
envelope() and boundary() cannot be done in simulink because the whole length of the signal is not known. however, envelope() does not return what I am asking for, which is holding the peak value for some time.
Image Analyst
Image Analyst 2017-7-30
"if you have Matlab, you must have simulink also." Absolutely not true. If you have a student suite, you get both, but I have a professional license for MATLAB only.
Try movmax() instead.

请先登录,再进行评论。

产品

Community Treasure Hunt

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

Start Hunting!

Translated by