How can I find rise time from an array of values that starts and ends at its steady state?
14 views (last 30 days)
Show older comments
Kimberly Cardillo
on 3 Jun 2020
Commented: Star Strider
on 3 Jun 2020
MATLAB says that if I use stepinfo for my code it will calculate rise time which is the "time it takes for the response to rise from 10% to 90% of the steady-state response" and specified in the picture below.
I have multiple waves that are made up of a matrix that is 5119x102 where the columns are the different waves and the rows are time. The matrix is called CHWaveForm_1 but the wave starts at zero and its steady state is also at zero. I have performed a for loop to get the stepinfo from my values but I know the rise time is not calculated correcly since my steady state is at zero. The code I am using as well as one of my waves can be seen below.
for i=1:size(CHWaveForm_1,2)
W(:,i)=[CHWaveForm_1(1200:end,i)];
S=stepinfo(W);
end
0 Comments
Accepted Answer
Star Strider
on 3 Jun 2020
Edited: Star Strider
on 3 Jun 2020
The stepinfo function will work if you have a Control System Toolbox or System Identification Toolbox ‘system’ object. It will not work on data.
To do that, you need to use Signal Processing Toolbox functions risetime, settlingtime, and perhaps others. However, you likely need to filter your signal first, likely using lowpass (or your own filter design, since those are straightforward in MATLAB) to eliminate as much of the noise as possible.
There are also other possibilities for filtering your signal, however lowpass is likely the easiest first option. It is straightforward to set the cutoff frequency if you first plot the one-sided fft of the signal so you can determine the signal and noise frequencies (since it appears in the time-domain plot to be band-limited noise).
2 Comments
Star Strider
on 3 Jun 2020
After you filter it, perhaps.
The ‘second picture’ apparently plots amplitude, not time. (Note the first pciture.) You have to process your signal to eliminate as much of the noise as possible, and then experiment with the relevant functions to get the result you want.
More Answers (0)
See Also
Categories
Find more on Linear Prediction in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!