信号周期与否?使用MATLAB函数可能吗?

时间:2010-11-10 07:43:22

标签: matlab

使用MATLAB函数简要解释信号(非)周期性的原因

喜欢isperiodic(signal)......

这样的事情吗?

2 个答案:

答案 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函数)