The fourier series coefficients are:
A0=1/2 , Ak=2/π*k (for k:odd) , Ak=0 (for k even, greater than 0)
matlab code:
clear
% initialize variables
SR=44100; % sample rate
Tf=2.0; %duration
N=10; % number of fourier coefficients
t=[0:1/SR:Tf]; % duration 2 seconds with an 1/44100 step
fc=ones(1,N); % put ones to vector fc
%for loop that finds the even and odd fourier coefficients
for n=2:N
if mod(n,2)==1;
fc(n)=2/(pi*n);
else
fc(n)=0;
end
end
f(1)=0.5; % the first coefficients(which is the zero one), is 0.5.
x=ones(1,N); %put ones to an new vector x
x(1)=f(1); % the first value of x is equal to 0.5.
for n=2:N
x(n)=fc(n)+x(n-1); % a for loop that adds the fourier coefficients starting for f(1)=0.5
end
x
I have done this until now..Although,I have the correct sum resaults I think that I have made some mistake in the use of for loop...
The most serious for me is that i cannot plot x against t. How can I plot different sized vectors? I am not sure if I have understand it well.I have tried to see their sizes and then change x length like t length but the plot was not right.
This exercise also suggests to change the sample rate in order to see the differences in the plot.
I hope this would be clear for you..
Thanks in advance..
Nikolas