Integration of data with discrete values
3 ビュー (過去 30 日間)
古いコメントを表示
I've amplitude-time data (discrete data) of a signal. I want to find the power of the signal using the algorithm in figure. I'm unable to do the Integration part. Can someone please help me?? (Data file attached)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/160410/image.png)
0 件のコメント
採用された回答
Star Strider
2017 年 2 月 5 日
This calculates the power using numerical integration, then integrates it. Either the cumtrapz or trapz call should work for you.
[D,S,R] = xlsread('data.xls');
Amplitude = D(1,:);
Time = D(2,:);
Power = Amplitude.^2; % Data Are Real, ‘abs’ Not Necessary
Cumulative_Integral = cumtrapz(Time, Power);
Total_Power = trapz(Time, Power);
2 件のコメント
Star Strider
2017 年 2 月 6 日
The ‘Power’ signal doesn’t seem to be noisy. I don’t know what you want to do with a ‘smoothing filter’. Two options I can suggest are the Savitizky-Golay filter (the sgolayfilt function) and the envelope function (also see the hilbert function). A lowpass filter is also an option, however the others are likely easier considering the nature of your signal.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Signal Generation and Preprocessing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!