You are on page 1of 7

Uncertainty Principle

Task 1: a) Verify principle for Gaussian b) variance in time domain and


frequency domain independent of mean

% Verify Uncertainity principle for Gaussian
clc
clear all;
fs=10;
t=-10:1/fs:10;
m_g=0 ; v_g=1;
g=(1/(sqrt(2*pi*v_g*v_g))).*exp(-((t-m_g).^2)./(2.*v_g.*v_g));

% No. of samples

N= length(g);

% plot

figure(1);
plot(t,g);
title('gaussian function')

% Finding PDF = |f(t)|^2/||f(t)||^2

pdf1 = (abs(g).^2)./(norm(g,2).^2); % norm(g).^2 = sum(abs(g).^2)

% finding mean

m_pdf1 = sum(t.*pdf1);

sigma_t2 = sum(((t-m_pdf1).^2).*pdf1) ;
% For Frequency Domain, Find FFt

f_g = fftshift(fft(g));

% plot FFT
figure(2);
w=linspace(-pi*fs,pi*fs,N);
plot(w,abs(f_g));
title('FFT of gaussian');
xlabel('Frequency (radians)');


% Finding Pdf = |F(w)^2|/||F(w)||^2

pdf2 = (abs(f_g).^2)./(norm(f_g,2).^2);

% finding mean
m_pdf2 = sum(w.*pdf2);

sigma_f2 = sum(((w-m_pdf2).^2).*pdf2) ;

c=sigma_t2.*sigma_f2 ;

Output:
Case 1: m_g=0, v_g =1
sigma_t2 = .5000
sigma_f2 = .5050
c=.2525
Case2: m_g=2,v_g=1
sigma_t2 = .5000
sigma_f2 = .5050
c=.2525
Case 3: m_g=0, v_g =2
sigma_t2 = 2.0000
sigma_f2 = .1263
c=.2525
Case 4: m_g=2, v_g =2
sigma_t2 = 2.0000
sigma_f2 = .1263
c=.2525
Conclusion:
1) Principle is verified, i.e.
Sigma_t^2*sigma_f^2 =1/4 for Gaussian
2) From above four cases it can be seen that variance in time domain and
frequency domain remains .5000 and .505 respectively, when mean =0 and
changed to 2
3) However by changing variance, values of variance in time domain and
frequency domain changes.
4) Principle is independent of mean and variance




Task 2: a) Verify principle for laplacian b) variance in time domain and
frequency domain independent of mean
%Verify Uncertainity principle for Laplacian

clc;
clear all;

fs=10;
t=-10:1/fs:10;
lambda = 2;

l = (lambda/2).*exp(-lambda.*abs(t)); % Lambda /2 is normalizing factor

% No. of samples

N= length(l);

% plot

figure(1);
plot(t,l);
title('Laplacian function')

% Finding PDF = |f(t)|^2/||f(t)||^2

pdf1 = (abs(l).^2)./(norm(l,2).^2); % norm(g).^2 = sum(abs(g).^2)

% finding mean

m_pdf1 = sum(t.*pdf1);

sigma_t2 = sum(((t-m_pdf1).^2).*pdf1) ;
% For Frequency Domain, Find FFt

f_l = fftshift(fft(l));

% plot FFT
figure(2);
w=linspace(-pi*fs,pi*fs,N);
plot(w,abs(f_l));
title('FFT of gaussian');
xlabel('Frequency (radians)');


% Finding Pdf = |F(w)^2|/||F(w)||^2

pdf2 = (abs(f_l).^2)./(norm(f_l,2).^2);

% finding mean
m_pdf2 = sum(w.*pdf2);

sigma_f2 = sum(((w-m_pdf2).^2).*pdf2) ;

c=sigma_t2.*sigma_f2 ;

Output:
Case 1: lambda=2
sigma_t2 = .1233
sigma_f2 = 4.4055
c= .5434
Case2: lambda = .5
sigma_t2 = 1.9931
sigma_f2 = .2595
c=.5173
Case 3: lambda = 100
sigma_t2 = 4.1223e-11
sigma_f2 = 332.2400
c=1.3696e-08
Conclusion:
1) Principle is verified, i.e.
Sigma_t^2*sigma_f^2 >1/4 for Gaussian
2) From above four cases it can be seen that variance in time domain and
frequency domain changes with change of lambda
3) Principle is independent if value of lambda is small
At lambda=100
Principle violates as product is less than .25

You might also like