Contents
Fourier series
t=[1:4096]*10e-3/4096;
T=1024*10e-3/4096;
f0=1/T
omega0=2*pi*f0;
n=[-21:21];
a=(1j./n);
a(find(n==0))=0;
a(2:2:end)=0;
f0 =
400
Plot the coefficients
figure;stem(n,real(a));grid on;
xlabel('Freq. Index');ylabel('Real A');
figure;stem(n,imag(a));grid on;
xlabel('Freq. Index');ylabel('Imag A');
Plot them vs frequency
figure;stem(n*f0,real(a));grid on;
xlabel('f, Freq., Hz');ylabel('Real A');
figure;stem(n*f0,imag(a));grid on;
xlabel('f, Freq., Hz');ylabel('Imag A');
Sum the waves
v=zeros(size(t));
for k=1:length(n);
v=v+a(k)*exp(1j*n(k)*omega0*t);
end;
Plot vs time. Note imaginary part is zero (it better be)
figure;plot(t,real(v));grid on;
xlabel('t, Time, sec');ylabel('real V');
figure;plot(t,imag(v));grid on;
xlabel('t, Time, sec');ylabel('imag V');
Sum the waves with a filter
n=[-101:101];
a=(1j./n);
a(find(n==0))=0;
a(2:2:end)=0;
tau=T/10;
H=1./(1+1j*n*omega0*tau);
v=zeros(size(t));
for k=1:length(n);
v=v+a(k).*H(k).*exp(1j*n(k)*omega0*t);
end;
Plot vs time. Note imaginary part is zero (it better be)
figure;plot(t,real(v),t,imag(v));grid on;
xlabel('t, Time, sec');ylabel('V, Volts');
What if we violate the "conjugate rule"
a=zeros(size(n));
a(98)=1;a(105)=-2j;
v=zeros(size(t));
for k=1:length(n);
v=v+a(k).*H(k).*exp(1j*n(k)*omega0*t);
end;
figure;stem(n*f0,real(a),'b');grid on;hold on;
stem(n*f0,imag(a),'r');hold off;
xlabel('f, Freq., Hz');ylabel('A');
figure;plot(t,real(v),t,imag(v));grid on;
xlabel('t, Time, sec');ylabel('V, Volts');