You are on page 1of 11

Singularity Detection

Task1: Singularity Detection in Stair Case Signal


clc
clear all;
close all;
t=-10:.1:10;
% generating f(t)
x=@(t) 1*(t>=0 & t<2) + 2*(t>=2 & t<4)+3*(t>=4 & t<=10);
figure(1)
subplot(3,3,1)
plot(t,x(t));
xlim([0 10]);
title('Stair Case signal')
xlabel('Time(sec)')
ylabel('Amplitude')

% Generating si(t)

% phi(t)= gaussian

theta= 1/sqrt(2*pi*.1)*exp(-(t.^2)/.2);
figure(2)
subplot(3,1,1)
plot(t,theta);
title('Gaussian Pulse')
xlabel('Time(sec)')
ylabel('Amplitude')

psi1=-1.*diff(theta)/.1;
t1=-10:.1:(10-.1);
subplot(3,1,2)
plot(t1,psi1);
title('First Derivative')
xlabel('Time(sec)')
ylabel('Amplitude')

psi2=diff(theta,2)/.1;
t3=-10:.1:(10-.2);
subplot(3,1,3)
plot(t3,psi2)
title('Second Derivative')
xlabel('Time(sec)')
ylabel('Amplitude')

y1=conv(x(t),psi1);
t2=-20:.1:(20-.1);
figure(1)
subplot(3,1,2)
plot(t2,y1)
title('Output showing point of singularities')
%xlim([0 10]);
xlabel('Time(sec)')
ylabel('Amplitude')

y2=conv(x(t),psi2);
t3=-20:.1:(20-.2);
subplot(3,1,3)
plot(t3,y2)
title('Output showing point of singularities')
%xlim([0 10]);
xlabel('Time(sec)')
ylabel('Amplitude')



Fig: Input Stair Case Signal And Output showing Singularities


Fig: Gaussian Pulse and its first and second derivatives
Task2: Singularity Detection in Sine wave
clc;
clear all;
close all;
ts=.0001;

t=-5:ts:5;

x=sin(4.*t);
% x=sin(4*2*pi*.t);
figure(1)
subplot(3,1,1)
plot(t,x)
title('Sine Wave')
xlabel('Time(sec)')
ylabel('Amplitude')

% generating psi
theta= (1/sqrt(2*pi*.001))*exp(-(t.^2)/.000002);
subplot(3,1,2)
plot(t,theta)
title('Gaussian Pulse')
xlabel('Time(sec)')
ylabel('Amplitude')

psi1=-1.*diff(theta)/ts;
y1=conv(x,psi1);
t1= -10:ts:(10-ts);
subplot(3,1,3)
plot(t1,y1)
title('Output showing point of singularities')
xlabel('Time(sec)')
ylabel('Amplitude')




Fig: Input Sine Wave And Output showing Singularities

Task3: Singularity Detection in Lenna Image
clc;
clear all;
close all;
i=imread('lenna.tif');
figure()
imshow(i);
title('Original Image')

% generating psi
t=linspace(-5,5,256);
theta= 1/sqrt(2*pi*.0001)*exp(-(t.^2)/.0002);
psi1=-1.*diff(theta)/(t(2)-t(1));
% horizontal singularity detection
X=zeros(256,510);

for j=1:256

X(j,:) = conv(i(j,:),psi1);
end

figure()
imshow(uint8(X))
title('Image showing Horizontal Singularities for First Order derivative')

% Vertical singularity detection
X1=zeros(510,256);

for j=1:256

X1(:,j) = conv(i(:,j),psi1);
end

figure()
imshow(uint8(X1))
title('Image showing Vertical Singularities for First Order derivative')
%n=2
psi2=diff(theta,2)/(t(2)-t(1));
% horizontal singularity detection
X2=zeros(256,509);

for j=1:256

X2(j,:) = conv(i(j,:),psi2);
end

figure()
imshow(uint8(X2))
title('Image showing Horizontal Singularities for Second Order derivative')

% Vertical singularity detection
X3=zeros(509,256);

for j=1:256

X3(:,j) = conv(i(:,j),psi2);
end

figure()
imshow(uint8(X3))
title('Image showing Vertical Singularities for Second Order derivative')















Task4: Singularity Detection in Lenna Image with high Variance
clc;
clear all;
close all;
i=imread('lenna.tif');
figure()
imshow(i);
title('Original Image')

% generating psi
t=linspace(-5,5,256);
theta= 1/sqrt(2*pi*.01)*exp(-(t.^2)/.2);
psi1=-1.*diff(theta)/(t(2)-t(1));
% horizontal singularity detection
X=zeros(256,510);

for j=1:256

X(j,:) = conv(i(j,:),psi1);
end

figure()
imshow(uint8(X))
title('Image showing Horizontal Singularities for First Order derivative')

% Vertical singularity detection
X1=zeros(510,256);

for j=1:256

X1(:,j) = conv(i(:,j),psi1);
end

figure()
imshow(uint8(X1))
title('Image showing Vertical Singularities for First Order derivative')
%n=2
psi2=diff(theta,2)/(t(2)-t(1));
% horizontal singularity detection
X2=zeros(256,509);

for j=1:256

X2(j,:) = conv(i(j,:),psi2);
end

figure()
imshow(uint8(X2))
title('Image showing Horizontal Singularities for Second Order derivative')

% Vertical singularity detection
X3=zeros(509,256);

for j=1:256

X3(:,j) = conv(i(:,j),psi2);
end

figure()
imshow(uint8(X3))
title('Image showing Vertical Singularities for Second Order derivative')

You might also like