University of Engineering and Technology: (Narowal Campus)

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

UNIVERSITY OF ENGINEERING AND TECHNOLOGY

(NAROWAL CAMPUS)

Department of Biomedical Engineering

Lab 3a
Assignment
SUBJECT:

Biomedical Signal Processing

SUBMITTED TO:

Dr. Rehaan Chouhdry

SUBMITTED BY:

Kamran Ahmed

(2018-BME-127)
1 Objectives:

• To become familiar with MATLAB programming.


• To learn computational Fourier analysis.

2 Decomposing a Signal into sum of Sinusoids Code:

Code:
N=1024;
dx=2*pi/(N-1);
x=-pi:dx:pi;
f=0*x;
f(N/4:N/2)=4*(1:N/4+1)/N;
f(N/2+1:3*N/4)=1-4*(0:N/4-1)/N;
plot(x,f,'-k','Linewidth',3.5)
xticks([-pi 0 pi])
xticklabels({'-\pi','0','\pi'})
yticks([0 1])
set(gcf,'color','w');
hold on
CC=jet(20);
A0 = sum(f.*ones(size(x)))*dx/(pi);
FS=A0/2;
for k=1:20
A(k)= sum(f.*cos(pi*k*x/pi))*dx/pi;
B(k)= sum(f.*sin(pi*k*x/pi))*dx/pi;
FS=FS+A(k)*cos(pi*k*x/pi)+B(k)*sin(pi*k*x/pi);
plot(x,FS,'-','Color',CC(k,:),'Linewidth',2)
plot(x,FS,'-','color',CC(k,:),'LINEWIDTH',2)
title('Sum of Sinusiods');
xlabel('Time');ylabel('y(t)');
pause(0.5)
end

Graph:
3 Task I
Perform the Fourier series decomposition of below signals.

• The periodic rectangular pulse signal

Code:
N=1024;
dx=2*pi/(N-1);
x= -pi:dx:pi;
f=0*x;
f();
f(N/100:N/2)=1;
plot(x,f,'-k','linewidth',3.5);
xticks([-pi 0 pi]);
xticklabels({'-\pi','0','\pi'});
yticks([0 1]);
hold on
CC=jet(20);
A0=sum(f.*ones(size(x)))*dx/(2*pi);
FS=A0;
for k=1:10;
A(k)=sum(f.*cos(pi*k*x/pi))*dx/pi;
B(k)=sum(f.*sin(pi*k*x/pi))*dx/pi;
FS=FS++A(k)*cos(pi*k*x/pi)+B(k)*sin(pi*k*x/pi);
plot(x,FS,'-','color',CC(k,:),'LINEWIDTH',2)
title('Sum of Sinusiods');
xlabel('Time');ylabel('y(t)')
pause(0.5)
end
Graph:
• Square Wave

Code:
N=1024;
dx=2*pi/(N-1);
x= -pi:dx:pi;
f=0*x;
f();
f(N/100:N/2)=1;
f(N/2)=-1;
f(N/2:N)=-1;
f(N)=0;
plot(x,f,'-k','linewidth',3.5);
xticks([-pi 0 pi]);
xticklabels({'-\pi','0','\pi'});
yticks([0 1]);
hold on
CC=jet(20);
A0=sum(f.*ones(size(x)))*dx/(2*pi);
FS=A0;
for k=1:10;
A(k)=sum(f.*cos(pi*k*x/pi))*dx/pi;
B(k)=sum(f.*sin(pi*k*x/pi))*dx/pi;
FS=FS++A(k)*cos(pi*k*x/pi)+B(k)*sin(pi*k*x/pi);
plot(x,FS,'-','color',CC(k,:),'LINEWIDTH',2)
title('Sum of Sinusiods');
xlabel('Time');ylabel('y(t)')
pause(0.5)
end
Graph:
• Saw-tooth signal

Code:
N=100;
dx=2*pi/(N-1);
x=-pi:dx:pi;
f=0*x;
f();
f(N/100:N/4)=4*(1:N/4)/N;
f(N/4+1:N/2)=(4*(0:N/4-1)/N)-1;
f(N/2+1:3*N/4)=(4*(0:N/4-1)/N);
f(3*N/4+1:N)=(4*(0:N/4-1)/N)-1;
plot(x,f,'-k','Linewidth',3.5);
xticks([-pi 0 pi]);
xticklabels({'-\pi','0','\pi'});
yticks([-1 0 1]);
hold on
CC=jet(20);
A0 = sum(f.*ones(size(x)))*dx/(pi);
FS=A0/2;
for k=1:5
A(k)= sum(f.*cos(pi*k*x/pi))*dx/pi;
B(k)= sum(f.*sin(pi*k*x/pi))*dx/pi;
FS=FS+A(k)*cos(pi*k*x/pi)+B(k)*sin(pi*k*x/pi);
plot(x,FS,'-','Color',CC(k,:),'Linewidth',2)
title('Sum of Sinusiods');
xlabel('Time');ylabel('y(t)')
pause(0.5)
end
Graph:
• Triangle signal

Code:
N=100;
dx=2*pi/(N-1);
x=-pi:dx:pi;
f=0*x;
f(N/100:N/4)=1-8*(1:N/4)/N;
f(N/4+1:N/2)=8*(1:N/4)/N-1;
f(N/2+1:3*N/4)=1-8*(1:N/4)/N;
f(3*N/4+1:N)=8*(1:N/4)/N-1;
plot(x,f,'-k','Linewidth',3.5)
xticks([-pi 0 pi])
xticklabels({'-\pi','0','\pi'})
yticks([-1 0 1])
hold on
CC=jet(20);
A0 = sum(f.*ones(size(x)))*dx/(pi);
FS=A0/2;
for k=1:10
A(k)= sum(f.*cos(pi*k*x/pi))*dx/pi;
B(k)= sum(f.*sin(pi*k*x/pi))*dx/pi;
FS=FS+A(k)*cos(pi*k*x/pi)+B(k)*sin(pi*k*x/pi);
plot(x,FS,'-','Color',CC(k,:),'Linewidth',2)
title('Sum of Sinusiods');
xlabel('Time');ylabel('y(t)')
pause(0.5)
end
Graph:

You might also like