I'm trying to generate a code that calculates the fourier series coefficients of a period.

1 次查看(过去 30 天)
such as: x(tc) = {1 if 0<=tc<5 and -0.5 if 5 <=tc<10}
I am given the fundamental period as 10 seconds.
The continuous time tc can be approximated as the discrete time, td, whose sampling frequency is 1kHz.

回答(1 个)

Rick Rosson
Rick Rosson 2014-3-2
编辑:Rick Rosson 2014-3-2
Fs = 1000;
dt = 1/Fs;
t = (0:dt:10-dt)';
N = size(t,1);
x = ones(N,1);
x(t>=5) = -0.5;
X = fftshift(fft(x))/N;
dF = Fs/N;
f = (-Fs/2:dF:Fs/2-dF)';
figure;
stem(f,abs(X));

类别

Help CenterFile Exchange 中查找有关 Spectral Measurements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by