Square Wave Fourier Coefficients
d = 0.50;
coeff = @(k) d*sinc(k*d);
M = 11;
yc = zeros(M,1);
idx = 1:2:M;
load square.mat
fprintf('%2s %10s %10s %8s %8s\n','k','ck (V)','ck (dB)','calc (dB)','meas (dB)');
for k=idx
c = abs(coeff(k));
yc(k) = 20*log10(c);
fprintf('%2d %10g %10g %8g %8g\n',k,c,yc(k),yc(k)-yc(1),y(k)-y(1));
end
stem(idx,yc(idx)-yc(1)+35);
hold on;
plot(idx,y(idx)-y(1)+35,'kx','MarkerSize',16);
hold off;
xlabel('harmonic');
ylabel('dB');
axis([0 M+1 0 40]);
k ck (V) ck (dB) calc (dB) meas (dB)
1 0.31831 -9.943 0 0
3 0.106103 -19.4854 -9.54243 -9.38
5 0.063662 -23.9224 -13.9794 -13.91
7 0.0454728 -26.845 -16.902 -16.72
9 0.0353678 -29.0278 -19.0849 -18.75
11 0.0289373 -30.7709 -20.8279 -20.78