Analysis of the Effect of Vignetting on MIMO Optical Wireless Systems Using Spatial OFDM

Abstract—The performance of pixelated multiple-input multiple output optical wireless communication systems can be impaired by vignetting, which is the gradual fall-off in illumination at the edges of a received image. This paper investigates the effect of vignetting for a pixelated system using spatial orthogonal frequency division multiplexing (OFDM). Our analysis shows that vignetting causes attenuation and intercarrier interference (ICI) in the spatial frequency domain. MATLAB simulations indicate that for a given constellation size, spatial asymmetrically clipped optical OFDM (SACO-OFDM) is more robust to vignetting than spatial dc biased opticalOFDM (SDCO-OFDM).Moreover, for the case of SDCO-OFDM, the very large zeroth subcarrier causes severe ICI in its neighbourhood causing flattening of the bit error rate (BER) curves. We show that this BER floor can be eliminated by leaving some of the lower spatial frequency subcarriers unused. The BER performance can also be improved by applying a vignetting estimation and equalization scheme. Finally, it is shown that equalized SACO-OFDM with 16-QAM has the same overall data rate as equalized SDCO-OFDM using 4-QAM, but requires less optical power.

Block diagram of a spatial OFDM system

                     Illustration of a pixelated MIMO wireless communication system


Hard Reset and Soft Reset for Nokia Lumia 930 Lumia 630

If you simply want to return phone to factory status, just go to 

Settings -> About, and choose Reset Your Phone.

 And if your phone is stuck when using some applications like whatsapp the phone may get hang this time use the soft reset expained below

SOFT RESET for Lumia 930,(Lumia 900,Lumia 920
  • Press and hold the volume keys, power button and camera together for 3-5 seconds
  • The phone should soft-reset .  some phones have 3 vibrations 
This option restores the .ini files from the ROM. Does not erase data (photos, videos, documents) or applications from a third party.
Lumia 630,Lumia 625
  • Press and hold the volume keys and power button together for 3-5 seconds
  • The phone should soft-reset

In some phones press and hold the POWER BUTTON FOR 10 Seconds

HOTSPOT Wi-Fi share with Android Devices from Linux Mint 17 Laptops

This is a quick tip to make your laptop as wi-fi hotspot . some people using ap-hotspot which doesnt work for me , so i found this new method which works pretty fine for me

Follow the steps

1.Open Terminal
2. run the command $ sudo synaptic

3 in synaptic search for plasma-nm

4. right click on the plasma-nm and mark for installation 

5. Afrer installation finished use Alt + f2


6. select wifi(shared) From the connection manager window

configure with custom names and wPA2 passkeys 


Edge Detection Technique by Fuzzy Logic CLA and Canny Edge Detector u sing Fuzzy Image Processing

Download Full paper at IJRITCC
Edge detection in an image is an major issue in image processing.Many hidden objects can be identified using edge detection which gives major clue in identifying actual truth behind the images. In this paper, double thresholding method of edge detection along with canny edge detector is used to identify the small objects in an images.Here threshold plays a major role which extracts the clear image from unclear picture 
Conclusion : 
Because of the uncertainties that exist in many aspects of image processing  , and as image are always dynamic , fuzzy processing is desirable . These uncertainties include additive and non- additive noise in low level image processing , imprecision in the assumptions underlying the algorithms , and  ambiguities in interpretation during high level image processing . For the common process of edge detection usually models edges as intensity ridges . Finally by increasing the threshold value greater than 50 and contrast can be improved . 
And here is the full program in matlab  for the same 
%%Start of coding, Symbols have their usual meaning 

%% Input Image 
clear all;
%Using 16 fuzzy edge templets that show the possible direction of the edge
%s in the image and then calculating the divergence between the origin
%image and the 16 fuzzy templets.

%Take any one example and uncomment it ;
%Reading the pixel of the image using imread function of the matlab
% %for rice image
%  III = rgb2gray(imread('rice.tif'));%name of the image
% II = imcrop(III,[80 30 240 200]);

 %III = rgb2gray(imread('self_fig.tif'));%name of the image
%II = imcrop(III,[50 40 650 400]);
 III = rgb2gray(imread('canny1.tif'));%name of the image
 II = imcrop(III,[5 5 560 450]);
%%For Tree image;
 %III = rgb2gray(imread('1.2.03.tiff'));%name of the image
% %II = imcrop(III,[35 94 430 355]);

  %III = imread('1.4.09.tiff');%name of the image
% %For lena photo
% III = rgb2gray(imread('lena.tiff'));%name of the image
%  II = imcrop(III,[35 94 430 355]);

I = double(II);
[r,k] = size(I);%no of row and column is I

%% Selection of the 16 fuzzy templets
a=0.3; b=0.8;
t1 = [a a a; 0 0 0; b b b];
t2 = [a a b; a b 0; b 0 0];
t3 = [b b b; 0 0 0; a a a];
t4 = [b a a; 0 b a; 0 0 b];
t5 = [b a 0;b a 0; b a 0];
t6 = [a 0 b;a 0 b; a 0 b];
t7 = [0 0 0; b b b; a a a];
t8 = [0 b a; 0 b a; 0 b a];
t9 = [a a a; b b b;0 0 0]; 
t10 = [a b 0; a b 0;a b 0];
t11 = [0 0 0; a a a;b b b];
t12 = [0 a b; 0 a b; 0 a b];
t13 = [b b b; a a a; 0 0 0];
t14 = [b 0 a; b 0 a; b 0 a];
t15 = [b 0 0; b 0 a; a a b];
t16 = [0 0 b; 0 b a; b a a];

%% Initization of algo
xmax = max(max(max(I)));%maximum pixel/element of the image;
%converting into the fuzzy domain from the original image;
fim = I/xmax;%fim is the image data of the input image in the fuzzy domain,all value of the fim in the interval of [0 1];
%initializing the edge image as zeros matrix i.e black box;
fedgeim = zeros(r,k);%in fuzzy domain
%Increaing the boreder line of the iamge i.e to increase the row and column
%by 2 in the first and last by taking the mirror image of the immediate
%existing rows and columns respectively;
r1 = fim(2,:);%Copy of all element in the 2nd row of fim
r2 = fim(r-1,:);
c1 = fim(:,2);
c2 = fim(:,k-1);
b1 = [0 r1 0];
b2 = [0 r2 0];
b3 = [c1 fim c2];
bfim = [b1;b3;b2];%bfim = Border fuzzy image matix
bfim(1,1) = fim(1,1);
bfim(r+2, k+2) = fim(r,k);
bfim(1,k+2) = fim(1,k);
bfim(r+2,1) = fim(r,1);

%finding Hesitation degree or intuitionstic fuzzy index
%c = input("Enter the value of pi  ");
c= 0.2;
pibfim = c*(1-bfim);
pit1 = c*(1-t1);pit2 = c*(1-t2);pit3 = c*(1-t3);pit4 = c*(1-t4);pit5 = c*(1-t5);pit6 = c*(1-t6);pit7 = c*(1-t7);
pit8 = c*(1-t8);pit9 = c*(1-t9);pit10 = c*(1-t10);pit11 = c*(1-t11);pit12 = c*(1-t12);pit13 = c*(1-t13);
pit14 = c*(1-t14);pit15 = c*(1-t15);pit16 = c*(1-t16);

%Calculation of the maximum of the divergance value between the 16 templets
%and the original image of the same size let the original image denoted by
%A this A arew formed by taking the 3x3 matrix in the border matix i.e from
%Considering the fuzzy templats as mask of size 3x3 and then we will slide
%this matix  in the fuzzy matrix i.e in the fim not inj the bfim
for i = 2:r+1
    for j = 2:k+1
        A = [bfim(i-1,j-1) bfim(i,j-1) bfim(i+1,j-1) ; bfim(i-1,j) bfim(i,j) bfim(i+1,j) ; bfim(i-1,j+1) bfim(i,j+1) bfim(i+1,j+1)];
        piA = [pibfim(i-1,j-1) pibfim(i,j-1) pibfim(i+1,j-1) ; pibfim(i-1,j) pibfim(i,j) pibfim(i+1,j) ; pibfim(i-1,j+1) pibfim(i,j+1) pibfim(i+1,j+1)];
        %3x3 matrix for determining the divergence with the tempelets t1,
        %we calculate the divergence of 3x3 matrix at a time and then
        %taking the minimun element of the matrix for all 16 fuzzy
        %d1 is a matrix of 3x3 = divergence with original matix and
        %fuzzy templets 1
        d1 = 2 - (1-A+t1).*exp(A-t1)-(1-t1+A).*exp(t1-A)+ 2- (1-(A-t1)+pit1-piA).*exp(A-t1-(pit1-piA))-(1-(pit1-piA)+A-t1).*exp(pit1-piA-(A-t1));
        min1 =min(min(d1));
        %d2 is the matix of 3x3 = divergence matix with orinigal matrix and fuzzy tempelts 2. 
        d2 = 2 - (1-A+t2).*exp(A-t2)-(1-t2+A).*exp(t2-A)+2-(1-(A-t2)+pit2-piA).*exp(A-t2-(pit2-piA))-(1-(pit2-piA)+A-t2).*exp(pit2-piA-(A-t2));
        min2 =min(min(d2));
        d3 = 2 - (1-A+t3).*exp(A-t3)-(1-t3+A).*exp(t3-A)+2-(1-(A-t3)+pit3-piA).*exp(A-t3-(pit3-piA))-(1-(pit3-piA)+A-t3).*exp(pit3-piA-(A-t3));
        min3 =min(min(d3));
        d4 = 2 - (1-A+t4).*exp(A-t4)-(1-t4+A).*exp(t4-A)+2-(1-(A-t4)+pit4-piA).*exp(A-t4-(pit4-piA))-(1-(pit4-piA)+A-t4).*exp(pit4-piA-(A-t4));
        min4 =min(min(d4));
        d5 = 2 - (1-A+t5).*exp(A-t5)-(1-t5+A).*exp(t5-A)+2-(1-(A-t5)+pit5-piA).*exp(A-t5-(pit5-piA))-(1-(pit5-piA)+A-t5).*exp(pit5-piA-(A-t5));
        min5 =min(min(d5));
        d6 = 2 - (1-A+t6).*exp(A-t6)-(1-t6+A).*exp(t6-A)+2-(1-(A-t6)+pit6-piA).*exp(A-t6-(pit6-piA))-(1-(pit6-piA)+A-t6).*exp(pit6-piA-(A-t6));
        min6 =min(min(d6));
        d7 = 2 - (1-A+t7).*exp(A-t7)-(1-t7+A).*exp(t7-A)+2-(1-(A-t7)+pit7-piA).*exp(A-t7-(pit7-piA))-(1-(pit7-piA)+A-t7).*exp(pit7-piA-(A-t7));
        min7 =min(min(d7));
        d8 = 2 - (1-A+t8).*exp(A-t8)-(1-t8+A).*exp(t8-A)+2-(1-(A-t8)+pit8-piA).*exp(A-t8-(pit8-piA))-(1-(pit8-piA)+A-t8).*exp(pit8-piA-(A-t8));
        min8 =min(min(d8));
        d9 = 2 - (1-A+t9).*exp(A-t9)-(1-t9+A).*exp(t9-A)+2-(1-(A-t9)+pit9-piA).*exp(A-t9-(pit9-piA))-(1-(pit9-piA)+A-t9).*exp(pit9-piA-(A-t9));
        min9 =min(min(d9));
        d10 = 2 - (1-A+t10).*exp(A-t10)-(1-t10+A).*exp(t10-A)+2-(1-(A-t10)+pit10-piA).*exp(A-t10-(pit10-piA))-(1-(pit10-piA)+A-t10).*exp(pit10-piA-(A-t10));
        min10 =min(min(d10));
        d11 = 2 - (1-A+t11).*exp(A-t11)-(1-t11+A).*exp(t11-A)+2-(1-(A-t11)+pit11-piA).*exp(A-t11-(pit11-piA))-(1-(pit11-piA)+A-t11).*exp(pit11-piA-(A-t11));
        min11 =min(min(d11));
        d12 = 2 - (1-A+t12).*exp(A-t12)-(1-t12+A).*exp(t12-A)+2-(1-(A-t12)+pit12-piA).*exp(A-t12-(pit12-piA))-(1-(pit12-piA)+A-t12).*exp(pit12-piA-(A-t12));
        min12 =min(min(d12));
        d13 = 2 - (1-A+t13).*exp(A-t13)-(1-t13+A).*exp(t13-A)+2-(1-(A-t13)+pit13-piA).*exp(A-t13-(pit13-piA))-(1-(pit13-piA)+A-t13).*exp(pit13-piA-(A-t13));
        min13 =min(min(d13));
        d14 = 2 - (1-A+t14).*exp(A-t14)-(1-t14+A).*exp(t14-A)+2-(1-(A-t14)+pit14-piA).*exp(A-t14-(pit14-piA))-(1-(pit14-piA)+A-t14).*exp(pit14-piA-(A-t14));
        min14 =min(min(d14));
        d15 = 2 - (1-A+t15).*exp(A-t15)-(1-t15+A).*exp(t15-A)+2-(1-(A-t15)+pit15-piA).*exp(A-t15-(pit15-piA))-(1-(pit15-piA)+A-t15).*exp(pit15-piA-(A-t15));
        min15 =min(min(d15));
        %d16 is the matix of 3x3 = divergence matix with orinigal matrix and
        %fuzzy tempelts 16.
        d16 = 2 - (1-A+t16).*exp(A-t16)-(1-t16+A).*exp(t16-A)+2-(1-(A-t16)+pit16-piA).*exp(A-t16-(pit16-piA))-(1-(pit16-piA)+A-t16).*exp(pit16-piA-(A-t16));
        min16 =min(min(d16));
        %Selecting the minimun divergence among the 16 divergence values
        %and is positioned at the center of the templets position for the
        %edge iamge i.e in edgeim.
        dd = [min1 min2 min3 min4 min5 min6 min7 min8 min9 min10 min11 min12 min13 min14 min15 min16];
        fedgeim(i-1,j-1) = max(dd);
%We wil get the edge image in the fuzzy doamin as edgeim matrix So we have
%to tranforming back in the image pixel domain i.e in the intercal [1
% 255] domain 
fedgeimmax = max(max(fedgeim));
edgeim = double((1/fedgeimmax)*(fedgeim));
% edgeimage = uint8(edgeim); %this is the matrix of edge in the 1-255
% figure, imshow(edgeimage);
% figure, imshow(uint8(I));
%% Out put
tt = 255*edgeim;
ttt = uint8(tt);
title('original image');
%figure, imshow(ttt);
title('Edge without threshold');
%Set a threshold 
for i = 1:r
    for j = 1:k
        if ttt(i,j)>45 
            ed(i,j) = 255;
            ed(i,j) = 0;
title('After applying threshold 45');
%applying the morphological oprators of matlab i.e bwmorph
med = bwmorph(ed,'thin');
subplot(2,2,4), imshow(med);
title('after applying morphological thin fun');
Support : Ebin EPhrem | Ebin Ephrem | #Gabbarism
Copyright © 2011. Services | Embedded Support | Reviews | Virtual Technologys - All Rights Reserved
Template Created by Published by Ebin Ephrem
Proudly powered by Blogger