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

1 view (last 30 days)
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.

Answers (1)

Rick Rosson
Rick Rosson on 2 Mar 2014
Edited: Rick Rosson on 2 Mar 2014
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));

Community Treasure Hunt

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

Start Hunting!