使用MATLAB函数简要解释信号(非)周期性的原因
喜欢isperiodic(signal)......
这样的事情吗?
答案 0 :(得分:4)
fft可以做到:
Y = fft(signal);
periodLength = 'second'; %or whatever units your signal was acquired in.
N = length(Y);
Y(1) = [];
power = abs(Y(1:floor(N/2))).^2;
nyquist = 1/2;
freq = (1:floor(N/2))/floor(N/2)*nyquist;
figure;
plot(freq,power)
grid on
xlabel(['cycles/' periodLength]);
title('Frequency plot');
并将其作为每个周期的周期数。
period = 1./freq;
figure;
plot(period,power)
grid on
ylabel('Power')
xlabel(['Period (' periodLength 's/Cycle)']);
title('Period Plot');
答案 1 :(得分:2)
研究信号autocorrelation的概念,(MATLAB中的XCORR函数)