how to set limits of integration (for example: 0:inf) for a vector using trapz tool ?
3 次查看(过去 30 天)
显示 更早的评论
%defining a linear modulated signal
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = 5000; % Length of signal
t = (0:L-1)*T; % Time vector
a=chirp(t,5,max(t),20,'linear');
f=fft(a);
F=(0:L-1)/Fs;
e=trapz(F,(abs(f).^2));
%finding the average frequency
x=trapz(F,F.*abs(f).^2);
AVG=x./e
0 个评论
采纳的回答
Daniel M
2019-10-23
编辑:Daniel M
2019-10-26
Your vector of frequencies is not correct, because fft returns the negative frequencies first, followed by the positive frequencies. I suggest looking at the documentation for fft.
Otherwise, trapz will integrate over whatever values you provide it. If you want it to integrate over a certain interval, only pass those elements as inputs. You can also look into integral().
Correction: fft returns the frequencies in the following order: zeroth frequency, positive frequencies up to the Nyquist freq, followed by the negative frequencies in ascending order.
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!