Azzera filtri
Azzera filtri

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

1 visualizzazione (ultimi 30 giorni)
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.

Risposte (1)

Rick Rosson
Rick Rosson il 2 Mar 2014
Modificato: Rick Rosson il 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!

Translated by