ADVANCED DIGITAL SIGNAL PROCESSING Lab Manual
ADVANCED DIGITAL SIGNAL PROCESSING Lab Manual
ADVANCED DIGITAL SIGNAL PROCESSING Lab Manual
EXPERIMENT-1
DISCRETE FOURIER TRANSFORM
AIM:
To verify the Discrete Fourier Transform and its properties by using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
clc;
clear all;
close all;
x=[0 -1 2 -3];
N=length(x);
for k=0:1:(N-1)
sum=0;
for n=0:1:(N-1)
sum=sum+x(n+1)*exp(-(j*2*pi*n*(k+N))/N);
end;
M(k+1)=sum;
end;
k=0:1:(N-1)
subplot(1,2,1);
stem(k,abs(M));
title('magnitude spectrum');
xlabel('fork');
ylabel('amplitude');
subplot(1,2,2);
stem(k,angle(M));
title('phase spectrum');
xlabel('fork');
ylabel('phase');
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
PROPERTIES OF DFT:
2.Linearity:
clc;
clear all;
close all;
x1=[0 1 2 3];
x2=[0 1 2 3];
m=2*x1+3*x2;
P=length(x1);
Q=length(x2);
R=length(m);
for k=0:1:P-1
sum1=0;
for n=0:1:(P-1)
sum1=sum1+x1(n+1)*exp(-(j*2*pi*n*k)/P);
end;
X1(k+1)=sum1;
end;
for k=0:1:Q-1
sum2=0;
for n=0:1:(Q-1)
sum2=sum2+x2(n+1)*exp(-(j*2*pi*n*k)/Q);
end;
X2(k+1)=sum2;
end;
for k=0:1:R-1
sum3=0;
for n=0:1:(R-1)
sum3=sum3+m(n+1)*exp(-(j*2*pi*n*k)/R);
end;
M(k+1)=sum3;
end;k=0:1:(P-1)
subplot(3,2,1);
stem(k,abs(X1));
title('magnitude spectrum for X1');
xlabel('--> k');
ylabel('-->amplitude');
subplot(3,2,2);
stem(k,angle(X1));
title('phase spectrum for X1');
xlabel('--> k');
ylabel('-->phase');
k=0:1:(Q-1)
subplot(3,2,3);
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
stem(k,abs(X2));
title('magnitude spectrum for X2');
xlabel('--> k');
ylabel('-->amplitude');
subplot(3,2,4);
stem(k,angle(X2));
title('phase spectrum for X2');
xlabel('--> k');
ylabel('-->phase');
k=0:1:(R-1)
subplot(3,2,5);
stem(k,abs(M));
title('magnitude spectrum for M');
xlabel('--> k');
ylabel('-->amplitude');
subplot(3,2,6);
stem(k,angle(M));
title('phase spectrum for M');
xlabel('--> k');
ylabel('-->phase');
3.Periodicity:
clc;
clear all;
close all;
x=[0 1 2 3];
N=length(x);
for k=0:1:3*(N-1)
sum=0;
for n=0:1:(N-1)
sum=sum+x(n+1)*exp(-(j*2*pi*n*(k+N))/N);
end;
M(k+1)=sum;
end;
k=0:1:3*(N-1)
subplot(1,2,1);
stem(k,abs(M));
title('magnitude spectrum');
xlabel('fork');
ylabel('amplitude');
subplot(1,2,2);
stem(k,angle(M));
title('phase spectrum');
xlabel('fork');
ylabel('phase');
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
4.Circular Convolution:
clc;
clear all;
close all;
x1=[0 1 2 3];
x2=[0 1 2 3];
m=cconv(x1,x2,4);
P=length(x1);
Q=length(x2);
R=length(m);
for k=0:1:P-1
sum1=0;
for n=0:1:(P-1)
sum1=sum1+x1(n+1)*exp(-(j*2*pi*n*k)/P);
end;
X1(k+1)=sum1;
end;
for k=0:1:Q-1
sum2=0;
for n=0:1:(Q-1)
sum2=sum2+x2(n+1)*exp(-(j*2*pi*n*k)/Q);
end;
X2(k+1)=sum2;
end;
for k=0:1:R-1
sum3=0;
for n=0:1:(R-1)
sum3=sum3+m(n+1)*exp(-(j*2*pi*n*k)/R);
end;
M(k+1)=sum3;
end;
k=0:1:(P-1)
subplot(3,2,1);
stem(k,abs(X1));
title('magnitude spectrum for X1');
xlabel('--> k');
ylabel('-->amplitude');
subplot(3,2,2);
stem(k,angle(X1));
title('phase spectrum for X1');
xlabel('--> k');
ylabel('-->phase');
k=0:1:(Q-1)
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
subplot(3,2,3);
stem(k,abs(X2));
title('magnitude spectrum for X2');
xlabel('--> k');
ylabel('-->amplitude');
subplot(3,2,4);
stem(k,angle(X2));
title('phase spectrum for X2');
xlabel('--> k');
ylabel('-->phase');
k=0:1:(R-1)
subplot(3,2,5);
stem(k,abs(M));
title('magnitude spectrum for M');
xlabel('--> k');
ylabel('-->amplitude');
subplot(3,2,6);
stem(k,angle(M));
title('phase spectrum for M');
xlabel('--> k');
ylabel('-->phase');
SIMULATION RESULTS
DFT:
LINEARITY:
PERIODICITY:
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
CIRCULAR CONVOLUTION:
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
EXPERIMENT-2
AIM:
To design a FIR filter without using built in functions by using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
clc;
close all;
clear all;
N=5;
wc=pi/6;
for n=-(N-1)/2:(N-1)/2
hd(n+1+(N-1)/2)=(1/(pi*(n+0.0001))*sin(wc*(n+0.0001)));
end;
w=0.5-0.5*cos(2*pi*n/(N-1));
h=hd.*w';
b=h;
a=[1];
[H w1]=freqz(b,a);
subplot(1,2,1);
plot(w1,abs(H));
title('magnitude spectrum for LPF');
xlabel('--> w1');
ylabel('-->amplitude');
subplot(1,2,2);
plot(w1,angle(H));
title('phase spectrum for LPF');
xlabel('--> w1');
ylabel('-->phase');
clc;
close all;
clear all;
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
N=5;
wc=pi/6;
for n=-(N-1)/2:(N-1)/2
hd(n+1+((N-1)/2))=(1/(pi*(n+0.0001)))*(sin(pi*(n+0.0001))-sin(wc*(n+0.0001)));
end;
w=hamming(N);
hf=hd.*w';
b=hf;
a=[1];
[H w1]=freqz(b,a);
subplot(1,2,1);
plot(w1,abs(H));
title('magnitude spectrum for HPF');
xlabel('--> w1');
ylabel('-->amplitude');
subplot(1,2,2);
plot(w1,angle(H));
title('phase spectrum for HPF');
xlabel('--> w1');
ylabel('-->phase');
SIMULATION RESULTS
EXPERIMENT-3
AIM:
To design a IIR filter without using built in functions by using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
clc;
close all;
clear all;
wp=input('enter pass band edge frequency=');
ws=input('enter stop band edge frequency=');
ap=input('enter pass band attenuation=');
as=input('enter stop band attenuation=');
Ap=20*log10(ap);
As=20*log10(as);
Wp=2*tan(wp/2);
Ws=2*tan(ws/2);
k1=log10(((10^(-0.1*Ap))-1)/((10^(-0.1*As))-1));
k2=2*log10(Wp/Ws);
N=(k1/k2);
N=round(N);
N=N+1;
for l=1:1:2*N
s(l)=exp((j*((2*l)-1)*pi)/(2*N));
end;
c=1;
for l=1:1:2*N
if s(l)<0
p(c)=s(l);
c=c+1;
end;
end;
wc=0.743;
p=p*wc;
z=[];
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
[b a]=zp2tf(z,p,(wc^2));
dk=((wc)^2/((2-p(1))*(2-p(2))));
dz=[-1 -1];
dp=[((2+p(1))/(2-p(1))) ((2+p(2))/(2-p(2)))];
dzc=dz';
dpc=dp';
[bz az]=zp2tf(dzc,dpc,dk);
freqz(bz,az);
SIMULATION RESULTS
EXPERIMENT-4
A) AIM:
To verify Discrete Fourier Transform (DFT) and Inverse Discrete Fourier Transform
(IDFT) on a given image by using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
clc;
close all;
clear all;
f=[1 2;3 4];
[M N]=size(f);
for u=0:M-1
for v=0:N-1
sum=0;
for x=0:M-1
for y=0:N-1
k1=exp((-j*2*pi*u*(x))/M);
k2=exp((-j*2*pi*v*(y))/N);
sum=sum+((1/(N))*(f(x+1,y+1)*k1*k2));
end;
end;
Z(u+1,v+1)=sum;
end;
end;
clc;
close all;
clear all;
f=[5 -1;-2 0];
[M N]=size(f);
for u=0:M-1
for v=0:N-1
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
sum=0;
for x=0:M-1
for y=0:N-1
k1=exp((j*2*pi*u*(x))/M);
k2=exp((j*2*pi*v*(y))/N);
sum=sum+((1/(N))*(f(x+1,y+1)*k1*k2));
end;
end;
Z(u+1,v+1)=sum;
end;
end;
clc;
close all;
clear all;
f=imread('cameraman.tif');
f1=imresize(f,0.125);
[M N]=size(f1);
f2=im2double(f1);
subplot(1,2,1);
imshow(f2);
title('cameraman');
for u=0:M-1
for v=0:N-1
sum=0;
for x=0:M-1
for y=0:N-1
k1=exp((-j*2*pi*u*(x))/M);
k2=exp((-j*2*pi*v*(y))/N);
sum=sum+(f2(x+1,y+1)*k1*k2);
end;
end;
Z(u+1,v+1)=sum;
end;
end;
subplot(1,2,2);
imshow(Z);
title('dft image');
for u=0:M-1
for v=0:N-1
sum=0;
for x=0:M-1
for y=0:N-1
k1=exp((j*2*pi*u*(x))/M);
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
k2=exp((j*2*pi*v*(y))/N);
sum=sum+((1/(N*N))*(Z(x+1,y+1)*k1*k2));
end;
end;
w(u+1,v+1)=sum;
end;
end;
figure,imshow(w);
title('idft image');
clc;
close all;
clear all;
f=imread('cameraman.tif');
[M N]=size(f);
imshow(f);
title('cameraman');
k=fft2(f);
k=fft2(f,M,N);
figure,imshow(k);
title('dft image');
imwrite(k,'dftimage.tif');
q=imread('dftimage.tif');
p=ifft2(q);
p=ifft2(q,M,N);
figure,imshow(q);
title('idft image');
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
SIMULATION RESULTS
Input image:
DFT image:
IDFT image:
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
B) AIM:
To verify Discrete Cosine Transform (DCT) and Inverse Discrete Cosine Transform
(IDCT) on a given image by using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
clc;
close all;
clear all;
f=[1 2;3 4];
[M N]=size(f);
for u=0:M-1
for v=0:N-1
if (u==0)
alphau=sqrt(1/M);
else
alphau=sqrt(2/M);
end;
if (v==0)
alphav=sqrt(1/N);
else
alphav=sqrt(2/N);
end;
sum=0;
for x=0:M-1
for y=0:N-1
k1=cos((pi*((2*x)+1)*u)/(2*M));
k2=cos((pi*((2*y)+1)*v)/(2*N));
sum=sum+(f(x+1,y+1)*k1*k2);
end;
end;
Z(u+1,v+1)=alphau*alphav*sum;
end;
end;
clc;
close all;
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
clear all;
f=[5 -1;-2 0];
[M N]=size(f);
for u=0:M-1
for v=0:N-1
if (u==0)
alphau=sqrt(1/M);
else
alphau=sqrt(2/M);
end;
if (v==0)
alphav=sqrt(1/N);
else
alphav=sqrt(2/N);
end;
sum=0;
for x=0:M-1
for y=0:N-1
k1=cos((pi*((2*x)+1)*u)/(2*M));
k2=cos((pi*((2*y)+1)*v)/(2*N));
sum=sum+(f(x+1,y+1)*k1*k2);
end;
end;
Z(u+1,v+1)=alphau*alphav*sum;
end;
end;
clc;
close all;
clear all;
f=imread('cameraman.tif');
f1=imresize(f,0.125);
[M N]=size(f1);
subplot(1,2,1);
imshow(f1);
title('cameraman');
for u=0:M-1
for v=0:N-1
if (u==0)
alphau=sqrt(1/M);
else
alphau=sqrt(2/M);
end;
if (v==0)
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
alphav=sqrt(1/N);
else
alphav=sqrt(2/N);
end;
sum=0;
for x=0:M-1
for y=0:N-1
k1=cos((pi*((2*x)+1)*u)/(2*M));
k2=cos((pi*((2*y)+1)*v)/(2*N));
sum=sum+(f1(x+1,y+1)*k1*k2);
end;
end;
Z(u+1,v+1)=alphau*alphav*sum;
end;
end;
subplot(1,2,2);
imshow(Z);
title('dctimage');
imwrite(Z,'dctimage.tif');
for u=0:M-1
for v=0:N-1
if (u==0)
alphau=sqrt(1/M);
else
alphau=sqrt(2/M);
end;
if (v==0)
alphav=sqrt(1/N);
else
alphav=sqrt(2/N);
end;
sum=0;
for x=0:M-1
for y=0:N-1
k1=cos((pi*((2*x)+1)*u)/(2*M));
k2=cos((pi*((2*y)+1)*v)/(2*N));
sum=sum+(Z(x+1,y+1)*k1*k2);
end;
end;
w(u+1,v+1)=alphau*alphav*sum;
end;
end;
figure,imshow(w);
title('idctimage');
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
clc;
close all;
clear all;
f=imread('cameraman.tif');
[M N]=size(f);
imshow(f);
title('cameramani');
k=dct2(f);
k=dct2(f,M,N);
figure,imshow(k);
title('dct image');
imwrite(k,'dctimage.tif');
q=imread('dctimage.tif');
p=idct2(q);
p=idct2(q,M,N);
figure,imshow(q);
title('cameramano');
SIMULATION RESULTS
Input image:
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
DCT image:
IDCT image:
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
EXPERIMENT-5
POINT ,LINE AND EDGE DETECTION BY USING DERIVATIVE OPERATORS
AIM:
To detect point, line, and edges by using derivative operators in an image by using
MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
clc;
close all;
clear all;
f=imread('cameraman.tif');
[x y]=size(f);
imshow(f);
w=[1 2 3;4 5 6;7 8 9];
[k l]=size(w);
for x=2:4
for y=2:4
sum=0;
for k=1:3
for l=1:3
sum=sum+(f(x+k-2,y+l-2)*(w(k,l)));
end;
end;
z(x-1,y-1)=sum;
end;
end;
figure,imshow(z);
2. Point Detection:
clc;
close all;
clear all;
f=imread('moon.tif');
subplot(1,2,1);
imshow(f);
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
3. Line Detection:
clc;
close all;
clear all;
f=imread('moon.tif');
subplot(2,3,1);
imshow(f);
title('original image 14481D3807');
w1=[-1 -1 -1;2 2 2;-1 -1 -1];
f1=imfilter(f,w1);
subplot(2,3,2);
imshow(f1);
title('horizantal filter 14481D3807');
w2=[-1 2 -1;-1 2 -1;-1 2 -1];
f2=imfilter(f,w2);
subplot(2,3,3);
imshow(f2);
title('vertical filter 14481D3807');
w3=[-1 -1 2;-1 2 -1;2 -1 -1];
f3=imfilter(f,w3);
subplot(2,3,4);
imshow(f3);
title('diogonal+45 filter 14481D3807');
w4=[2 -1 -1;-1 2 -1;-1 -1 2];
f4=imfilter(f,w4);
subplot(2,3,5);
imshow(f4);
title('diogonal-45 filter 14481D3807');
clc;
close all;
clear all;
f=imread('cameraman.tif');
subplot(3,3,1);
imshow(f);
title('original image');
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
clc;
close all;
clear all;
f=imread('moon.tif');
subplot(2,2,1);
imshow(f);
title('original image 14481D3807');
f1=edge(f,'prewitt');
subplot(2,2,2);
imshow(f1);
title('prewitt mask 14481D3807');
f2=edge(f,'sobel');
subplot(2,2,3);
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
imshow(f1);
title('sobel mask 14481D3807');
f3=edge(f,'roberts');
subplot(2,2,4);
imshow(f1);
title('roberts mask 14481D3807');
clc;
close all;
clear all;
f=imread('moon.tif');
subplot(2,2,1);
imshow(f);
title('original image 14481D3807');
w1=[-1 -1 -1;-1 8 -1;-1 -1 -1];
fpoint=imfilter(f,w1);
subplot(2,2,2);
imshow(fpoint);
title('point mask 14481D3807');
w2=[-1 -1 -1;2 2 2;-1 -1 -1];
fline=imfilter(f,w2);
subplot(2,2,3);
imshow(fline);
title('line mask 14481D3807');
fedge=edge(f,'prewitt');
subplot(2,2,4);
imshow(fedge);
title('edge mask 14481D3807');
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
SIMULATION RESULTS
Point detection:
Line Detection:
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
Edge Detection:
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
EXPERIMENT-6
MEASUREMENT OF BIT ERROR RATE BY USING BINARY DATA
AIM:
To measure Bit Error Rate in Binary data by using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
clc;
close all;
clear all;
a=rand(1,8);
for i=1:length(a)
if (a(i)>0.5)
b(i)=1;
else
b(i)=0;
end
end
c=[b(1),b(2),0,b(4),b(5),1,b(7),b(7)];
b
er_bits=0;
for i=1:length(b)
if(c(i)~=b(i))
er_bits=er_bits+1;
else
;
end
end
c
z=er_bits;
berate=z/length(b);
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
EXPERIMENT-7
VERIFICATION OF MINIMUM DISTANCE IN HAMMING CODES
AIM:
To verify minimum distance in hamming codes by using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
1. Hamming codes:
clc;
close all;
clear all;
for m=0:15
a=dec2binvec(m,4);
u1=xor(a(4),a(3));
p1=xor(a(1),u1);
u2=xor(a(4),a(2));
p2=xor(u2,a(1));
u3=xor(a(3),a(2));
p3=xor(u3,a(1));
c(m+1,:)=[p1,p2,a(4),p3,a(3),a(2),a(1)];
z=c;
end
for n1=0:15
for n2=0:15
v(n1+1,n2+1)=ham_d(c(n1+1,:),z(n2+1,:));
end
end
sum=0;
for j=1:256
if v(j)>0
u(sum+1)=v(j);
sum=sum+1;
end
end
dmin=min(u);
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
SUB PROGRAM:
function d=ham_d(a,b);
w=xor(a,b);
s=0;
for i=1:7
if(w(i)>0)
s=s+1;
end
end
d =s;
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
EXPERIMENT-8
DETERMINATION OF OUTPUT OF CONVOLUTION ENCODER / DECODER FOR A
GIVEN SEQUENCE
AIM:
To determine output of convolution encoder / decoder for a given sequence by using
MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
1. Convolution Encoder:
clc;
close all;
clear all;
m=input('enter m value');
a=dec2binvec(m,4);
d=[0,0,0,0];
for j=1:4
d1=d;
d(4)=a(j);
d(3)=d1(4);
d(2)=d1(3);
d(1)=d1(2);
c1(j)=xor(d(4),d(1));
c2(j)=d(4);
c3(j)=xor(d(2),d(3));
code(j,:)=[c1(j) c2(j) c3(j)]
end
2. Convolution Decoder:
clc;
close all;
clear all;
for i=0:15
a(i+1,:)=dec2binvec(i,4);
end;
for k=1:16
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
d(k,:)=[0,0,0,0];
for j=1:4
d1=d;
d(k,4)=a(k,j);
d(k,3)=d1(k,4);
d(k,2)=d1(k,3);
d(k,1)=d1(k,2);
c1(k,j)=xor(d(k,4),d(k,1));
c2(k,j)=d(k,4);
c3(k,j)=xor(d(k,2),d(k,3));
code(j,:)=[c1(k,j) c2(k,j) c3(k,j)]
end
p(k,:)=[code(1,:) code(2,:) code(3,:) code(4,:)];
t=[1 1 0 1 1 1 0 0 0 0 1 1];
q(k,:)=ham_d(p(k,:),t(1,:));
dmini=min(q);
if (dmini==q(k,:))
mes=a(k,:);
end
end
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
EXPERIMENT-9
GENERATION OF DIRECTSEQUENCE SPREAD SPECTRUM
AIM:
To generate Discrete Sequence Spread Spectrum (DSSS) by using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
1.Generation of DSSS:
clc;
close all;
clear all;
m=[1 0 1 0 1];
r1=rand(1,6);
for i=1:length(r1)
if(r1(i)>0.5)
p0(i)=1;
else
p0(i)=0;
end
end
r2=rand(1,6);
for i=1:length(r2)
if(r2(i)>0.5)
p1(i)=1;
else
p1(i)=0;
end
end
for i=1:5
if(m(i)==0)
en(i,:)=p0;
else
en(i,:)=p1;
end
end
p=[en(1,:) en(2,:) en(3,:) en(4,:) en(5,:)];
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
t=0:0.001:0.01;
c0=sin(2*pi*100*t+pi);
c1=sin(2*pi*100*t);
k=[];
for j=1:30
if(p(j)==0)
out=c0;
else
out=c1
end
k=[k,out];
end
g=1:330
h=1:30
subplot(2,1,1);
stem(h,p);
subplot(2,1,2);
plot(g,k);
SIMULATION RESULTS
EXPERIMENT-10
GENERATION OF FREQUENCY HOPPING SPREAD SPECTRUM
AIM:
To generate Frequency Hopping Spread Spectrum (FHSS) by using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
1.Generation of FHSS:
clc;
close all;
clear all;
m=[1 0 1 0 1 0 1 0];
t=0:0.0001:0.01;
c0=sin(2*pi*100*t+pi);
c1=sin(2*pi*100*t);
k=length(m);
for i=1:k
r=randi([0,7]);
switch r
case 0
fh=sin(2*pi*100*t);
case 1
fh=sin(2*pi*200*t);
case 2
fh=sin(2*pi*300*t
case 4
fh=sin(2*pi*400*t);
case 5
fh=sin(2*pi*600*t);
case 6
fh=sin(2*pi*700*t);
case 7
fh=sin(2*pi*800*t);
end
if(m(i)==0)
out(i,:)=c0.*fh;
else
out(i,:)=c1.*fh;
end
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
end
t1=1;
for i=1:k
for j=1:101
w(t1)=out(i,j);
t1=t1+1;
end
end
t2=0:0.0001:0.0807;
plot(t2,w);
SIMULATION RESULTS
AIM:
To design analog IIR Butterworth LPF by using Code Compose (CC) Studiosoftware.
TOOLS REQUIRED:
PROGRAM:
#include<stdio.h>
#include<math.h>
#define pi 3.14
int n,N,i,k;
float A,Ap,As,Wp,Ws,W21,N1,Wc,b[10],bk;
void main()
scanf("%f",&Wp);
scanf("%f",&Ws);
scanf("%f",&Ap);
scanf("%f",&As);
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
printf("\nEnter 1 or 2: ");
scanf("%d",&i);
switch(i)
case 1 :
W21=Ws/Wp;
A=(1/(As*As)-1)/(1/(Ap*Ap)-1);
N1=log(A)/(2.0*log(W21));
N=N1+1.0;
Wc=Wp/pow((1/(Ap*Ap)-1),1.0/(2.0*N));
break;
case 2 :
W21=tan(Ws/2)/tan(Wp/2);
A=(1/(As*As)-1)/(1/(Ap*Ap)-1);
N1=log(A)/(2.0*log(W21));
N=N1+1.0;
Wc=2*tan(Wp/2)/pow((1/(Ap*Ap)-1),1.0/(2.0*N));
break;
default:
printf("\nFrequency ratio\t\t\tW21\t=%f",W21);
if(N%2==0)
printf("\nHa(s)=PI(Wc*Wc/(s*s+bk*Wc*s+Wc*Wc))");
for(k=1;k<=N/2;k++)
b[k]=2*sin((2*k-1)*pi/(2*N));
for(k=1;k<=N/2;k++)
printf("\nb%d=%f",k,b[k]);
if(N%2==1)
printf("\nHa(s)=[Wc/(s+Wc)] PI[Wc*Wc/(s*s+bk*Wc*s+Wc*Wc)]");
for(k=1;k<=(N-1)/2;k++)
b[k]=2*sin((2*k-1)*pi/(2*N));
for(k=1;k<=(N-1)/2;k++)
printf("\nb%d=%f",k,b[k]);
}
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
AIM:
To detect position of error in received hamming codeword by using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
1.Generation of FHSS:
clc;
close all;
clear all;
% Hamming encoding
for m=0:15
a=dec2binvec(m,4);
u1=xor(a(4),a(3));
p1=xor(a(1),u1);
u2=xor(a(4),a(2));
p2=xor(u2,a(1));
u3=xor(a(3),a(2));
p3=xor(u3,a(1));
c(m+1,:)=[p1,p2,a(4),p3,a(3),a(2),a(1)];
z=c;
% Hamming decoding
w(m+1,:)=[z(m+1,3),z(m+1,5),z(m+1,6),z(m+1,7) ];
c1(m+1,:)=[z(m+1,1),z(m+1,2),0,z(m+1,4),z(m+1,5),z(m+1,6),z(m+1,7)];
x1(m+1,:)=xor(c1(m+1,1),0);
x2(m+1,:)=xor(x1(m+1,:),c1(m+1,5));
e1=xor(x2(m+1,:),c1(m+1,7));
e11(m+1,:)=e1;
y1(m+1,:)=xor(c1(m+1,2),0);
y2(m+1,:)=xor(y1(m+1,:),c1(m+1,6));
e2=xor(y2(m+1,:),c1(m+1,7));
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
e22(m+1,:)=e2;
q1(m+1,:)=xor(c1(m+1,4),c1(m+1,5));
q2(m+1,:)=xor(q1(m+1,:),c1(m+1,6));
e3=xor(q2(m+1,:),c1(m+1,7));
e33(m+1,:)=e3;
s=[e1,e2,e3];
syn(m+1,:)=s;
e=s(1)*2^(0)+s(2)*2^(1)+s(3)*2^(2);
errorposi(m+1,:)=e;
end
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
IJERT PAPER
MATLAB IMPLEMENTATION OF WIRELESS SENSOR NETWORK(WSN) IN
PRECISION AGRICULTURE IN RURAL INDIA
AIM:
To implement Wireless Sensor Network(WSN) in precision agriculture in rural India by
using MATLAB software.
TOOLS REQUIRED:
1.MATLAB software
2.personal computer
PROGRAM:
1.MATLAB CODE:
clc;
close all;
clear all;
% step 1
s1=imread('cameraman.tif');
subplot(3,3,1);
imshow(s1);
title('reference image');
% step 2
s2=imread('capturedimage.tif');
subplot(3,3,2);
imshow(s2);
title('captured image');
% step 3
s3=imsubtract(s1,s2);
subplot(3,3,3);
imshow(s3);
title('subtracted image');
% step 4
s4=im2bw(s3);
[M N]=size(s4);
subplot(3,3,4);
imshow(s4);
title('BW image');
% step 5
subplot(3,3,5);
imhist(s4);
title('histogram of BW image');
% step 6
ADVANCED SIGNAL PROCESSING AND COMMUNICATION LAB
s5=bwlabel(s4);
subplot(3,3,6);
imshow(s5);
title('return the size of BW image');
% step 7
for i1=1:256
for j1=1:256
if (s3(i1,j1)>2)
t(i1,j1)=1;
else
t(i1,j1)=0;
end;
end;
end;
subplot(3,3,7);
imshow(t);
title('scaned image');
SIMULATION RESULTS