clear xJhat
N=50; n=[-24:25]; omega=2*pi/N;
%% Part (a) : M=12 :
%% =================
M=12;
X=[(2*M+1)/N sin([1:N/2]*pi*(2*M+1)/N)./(N*sin([1:N/2]*pi/N))];
B=[X(1) 2*X(2:N/2) X(N/2+1)];
xJhat(1,:)=B(1)*cos(n*0*omega);
for k=2:26
xJhat(k,:)=xJhat(k-1,:)+B(k)*cos(n*(k-1)*omega);
end
figure(1)
subplot(3,2,1)
stem(n,B(2)*cos(n*1*omega),'.')
xlabel('n'),ylabel('B[1]cos(omega*n)'),axis tight
subplot(3,2,2)
stem(n,xJhat(2,:),'.')
xlabel('n'),ylabel('x_1[n]'),axis tight
subplot(3,2,3)
stem(n,B(4)*cos(n*3*omega),'.')
xlabel('n'),ylabel('B[3]cos(omega*n)'),axis tight
subplot(3,2,4)
stem(n,xJhat(4,:),'.')
xlabel('n'),ylabel('x_3[n]'),axis tight
subplot(3,2,5)
stem(n,B(6)*cos(n*5*omega),'.')
xlabel('n'),ylabel('B[5]cos(omega*n)'),axis tight
subplot(3,2,6)
stem(n,xJhat(6,:),'.')
xlabel('n'),ylabel('x_5[n]'),axis tight
figure(2)
subplot(2,2,1)
stem(n,B(24)*cos(n*23*omega),'.')
xlabel('n'),ylabel('B[23]cos(omega*n)'),axis tight
subplot(2,2,2)
stem(n,xJhat(24,:),'.')
xlabel('n'),ylabel('x_2_3[n]'),axis tight
subplot(2,2,3)
stem(n,B(26)*cos(n*25*omega),'.')
xlabel('n'),ylabel('B[25]cos(omega*n)'),axis tight
subplot(2,2,4)
stem(n,xJhat(26,:),'.')
xlabel('n'),ylabel('x_2_5[n]'),axis tight
%% Part (b) : M=5 :
%% ================
M=5;
X=[(2*M+1)/N sin([1:N/2]*pi*(2*M+1)/N)./(N*sin([1:N/2]*pi/N))];
B=[X(1) 2*X(2:N/2) X(N/2+1)];
xJhat(1,:)=B(1)*cos(n*0*omega);
for k=2:26
xJhat(k,:)=xJhat(k-1,:)+B(k)*cos(n*(k-1)*omega);
end
figure(3)
subplot(3,2,1)
stem(n,B(2)*cos(n*1*omega),'.')
xlabel('n'),ylabel('B[1]cos(omega*n)'),axis tight
subplot(3,2,2)
stem(n,xJhat(2,:),'.')
xlabel('n'),ylabel('x_1[n]'),axis tight
subplot(3,2,3)
stem(n,B(4)*cos(n*3*omega),'.')
xlabel('n'),ylabel('B[3]cos(omega*n)'),axis tight
subplot(3,2,4)
stem(n,xJhat(4,:),'.')
xlabel('n'),ylabel('x_3[n]'),axis tight
subplot(3,2,5)
stem(n,B(6)*cos(n*5*omega),'.')
xlabel('n'),ylabel('B[5]cos(omega*n)'),axis tight
subplot(3,2,6)
stem(n,xJhat(6,:),'.')
xlabel('n'),ylabel('x_5[n]'),axis tight
figure(4)
subplot(2,2,1)
stem(n,B(24)*cos(n*23*omega),'.')
xlabel('n'),ylabel('B[23]cos(omega*n)'),axis tight
subplot(2,2,2)
stem(n,xJhat(24,:),'.')
xlabel('n'),ylabel('x_2_3[n]'),axis tight
subplot(2,2,3)
stem(n,B(26)*cos(n*25*omega),'.')
xlabel('n'),ylabel('B[25]cos(omega*n)'),axis tight
subplot(2,2,4)
stem(n,xJhat(26,:),'.')
xlabel('n'),ylabel('x_2_5[n]'),axis tight
%% Part (c) : M=20 :
%% =================
M=20;
X=[(2*M+1)/N sin([1:N/2]*pi*(2*M+1)/N)./(N*sin([1:N/2]*pi/N))];
B=[X(1) 2*X(2:N/2) X(N/2+1)];
xJhat(1,:)=B(1)*cos(n*0*omega);
for k=2:26
xJhat(k,:)=xJhat(k-1,:)+B(k)*cos(n*(k-1)*omega);
end
figure(5)
subplot(3,2,1)
stem(n,B(2)*cos(n*1*omega),'.')
xlabel('n'),ylabel('B[1]cos(omega*n)'),axis tight
subplot(3,2,2)
stem(n,xJhat(2,:),'.')
xlabel('n'),ylabel('x_1[n]'),axis tight
subplot(3,2,3)
stem(n,B(4)*cos(n*3*omega),'.')
xlabel('n'),ylabel('B[3]cos(omega*n)'),axis tight
subplot(3,2,4)
stem(n,xJhat(4,:),'.')
xlabel('n'),ylabel('x_3[n]'),axis tight
subplot(3,2,5)
stem(n,B(6)*cos(n*5*omega),'.')
xlabel('n'),ylabel('B[5]cos(omega*n)'),axis tight
subplot(3,2,6)
stem(n,xJhat(6,:),'.')
xlabel('n'),ylabel('x_5[n]'),axis tight
figure(6)
subplot(2,2,1)
stem(n,B(24)*cos(n*23*omega),'.')
xlabel('n'),ylabel('B[23]cos(omega*n)'),axis tight
subplot(2,2,2)
stem(n,xJhat(24,:),'.')
xlabel('n'),ylabel('x_2_3[n]'),axis tight
subplot(2,2,3)
stem(n,B(26)*cos(n*25*omega),'.')
xlabel('n'),ylabel('B[25]cos(omega*n)'),axis tight
subplot(2,2,4)
stem(n,xJhat(26,:),'.')
xlabel('n'),ylabel('x_2_5[n]'),axis tight