Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 142 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
142
Dung lượng
5,92 MB
Nội dung
MINISTRY OF EDUCATION AND TRAINING HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY Nguyen Thi Thanh Nga EFFICIENT DATA COMMUNICATION FOR WIRELESS SENSOR NETWORK BASED ON DATA CORRELATION Major: Computer Engineering Code No.: 9480106 COMPUTER ENGINEERING DISSERTATION SUPERVISORS: Dr Nguyen Kim Khanh Assoc Prof Ngo Hong Son Hanoi - 2018 COMMITMENT I assure that this is my own research All the data and results in the thesis are completely true, were agreed to use in this thesis by co-authors This research hasn’t been published by other authors than me th Hanoi, 17 Decemberber 2018 SUPERVISORS AUTHOR Dr Nguyen Kim Khanh Nguyen Thi Thanh Nga Assoc Prof Ngo Hong Son ACKNOWLEDGMENTS This Ph.D thesis has been carried out at the Department of Computer Engineering, School of Information and Communication Technology, Hanoi University of Science and Technology The research has been completed under supervisions of Dr Nguyen Kim Khanh and Associate Prof Dr Ngo Hong Son Firstly, I would like to express my sincere gratitude to my advisors Dr Nguyen Kim Khanh and Associate Prof Dr Ngo Hong Son for their continuous support of my Ph.D study and related research, for their patience, motivation, and immense knowledge Their valuable guidance, unceasing encouragement and supports have helped me during all the time of research and writing out of this thesis Besides my advisors, I would like to thank all my colleagues in the Department of Computer Engineering for their insightful comments, encouragement and for the hard questions which incented me to widen my research from various perspectives I would like to express my appreciation to Prof Dr Trinh Van Loan for his time and patient helping me to correct the whole thesis as well as value comments during the process of pursuing my doctorate degree I want to thank all my colleagues in the School of Information and Communication Technology, for their supports and helps in my work I gratefully acknowledge the receipt of grants from 911 project of Ministry of Education and Training which enabled me to carry out this research Finally, I would like to thank my family, my sisters, my father and mother, my husband and two children for their endless love, encouraging and unconditional supporting me continuously and throughout writing this thesis Nguyen Thi Thanh Nga TABLE OF CONTENT COMMITMENT ACKNOWLEDGMENTS TABLE OF CONTENT LIST OF ABBREVIATIONS LIST OF FIGURES LIST OF TABLES 11 PREFACE 13 INTRODUCTION 16 Overviews 16 Energy conservation in WSNs 19 1.2.1 Radio optimization 19 1.2.2 Sleep/wake-up schemes 20 1.2.3 Energy efficient routing 20 1.2.4 Data reduction 21 1.2.5 Charging solution 22 Data correlation and energy conservation in WSNs 23 Problem statements and contributions 24 CORRELATION IN WIRELESS SENSOR NETWORK 25 Correlation model survey 25 Information entropy theory 31 2.2.1 Overview 31 2.2.2 Entropy concept 32 2.2.3 Joint entropy 32 Correlation and entropy 33 2.3.1 Correlation of two variables 33 2.3.1.1 Mutual information 33 2.3.1.2 Entropy correlation coefficient 34 2.3.2 Correlation of more than two variables 36 Conclusions 38 ENTROPY-BASED CORRELATION CLUSTERING 39 Joint entropy estimation 39 3.1.1 Determining the upper bound of joint entropy 39 3.1.2 Determining the lower bound of joint entropy 42 3.1.3 Validating entropy estimation 44 Correlation region and correlation clustering algorithm 47 3.2.1 Estimated joint entropy and correlation 47 3.2.2 Correlation region definition 50 3.2.3 Correlation clustering algorithm 52 3.2.4 Validation 54 Conclusions 56 ENTROPY CORRELATION BASED DATA AGGREGATIONS 57 Compression aggregation 57 4.1.1 Comparison of compression schemes 57 4.1.2 Compression based routing scheme in a correlated region 60 4.1.2.1 1-D analysis 61 4.1.2.2 2-D analysis 65 4.1.2.3 General topology model analysis 69 4.1.3 Optimal routing scheme in correlation networks 71 Representative aggregation 72 4.2.1 Distortion function 72 4.2.2 Number of representative nodes 73 4.2.3 Representative node selection 76 4.2.4 Practical validation 77 Conclusions 80 5 ENTROPY CORRELATION BASED DATA AGGREGATION PROTOCOL (ECODA) 82 Network model 82 Radio model 83 Outline of ECODA 84 5.3.1 Set-up phase 85 5.3.2 Steady-state phase 87 Performance evaluation 87 5.4.1 Simulation models 87 5.4.1.1 Simulation parameters 88 5.4.1.2 Simulation setups 89 5.4.1.3 Dissipated energy calculation 90 5.4.2 Simulation results and discussions 92 5.4.2.1 Compression aggregation-based routing protocol 92 5.4.2.2 Representative aggregation-based routing protocol 97 5.4.3 Evaluations and comparison 100 5.4.3.1 The case of ECODA with compression aggregation 101 5.4.3.2 The case of ECODA with representative aggregation 106 Conclusions 107 CONCLUSIONS AND FUTURE STUDY 109 Summary of Contributions 109 Limitations 110 Future work 111 PUBLICATION LIST 112 REFERENCES 113 APPENDIX 125 LIST OF ABBREVIATIONS Abbreviation Meaning BS Base Station CDR Compression Driven Routing CH Cluster Head CSMA Carrier Sense Multiple Access DSC Distributed Source Coding ECODA Entropy COrrelation clustering for Data Aggregation JE Joint Entropy LEACH-C Low Energy Adaptive Clustering Hierarchy- Centralized MAC Media Access Control MEMS Micro Electro Mechanical Systems QoS Quality of Service RDC Routing Driven Compression RSSI Received Signal Strength Indication SPT Shortest Path Tree TDMA Time Division Multiple Access VLSI Very Large-Scale Integration WSN(s) Wireless Sensor Network(s) 1-D One-Dimensional 2-D Two-Dimensional LIST OF FIGURES Figure 1.1 Wireless Sensor Network 16 Figure 1.2 Wireless Sensor Network Applications 17 Figure 2.1 The layout of sensor nodes in an environment with two different conditions area 30 Figure 2.2 The relations between entropies, joint entropy, and mutual information 33 Figure 2.3 Relation between correlation and joint entropy 37 Figure 3.1 Joint entropy calculation principle 42 Figure 3.2 Sensor layout in Intel Berkeley Research Lab 45 Figure 3.3 Practical, upper bound and lower bound joint entropy (JE) of subsets of the dataset 46 Figure 3.4 Estimated joint entropy with different values of entropy correlation coefficients using upper bound function (with Hmax = 2[bits]) 48 Figure 3.5 Estimated joint entropy (by upper bound) and practical joint entropy of dataset 49 Figure 3.6 Correlation-based clustering algorithm 52 Figure 3.7 Temperature data measured at 11 nodes in the dataset 53 Figure 3.8 Derivative of estimated joint entropy and calculated the joint entropy of the selected group 55 Figure 4.1 Routing paths for three schemes: (a) DSC, (b) RDC, and (c) CDR [122] 59 Figure 4.2 Energy consumptions for the DSC, RDC and CDR schemes respectively to entropy correlation coefficients 60 Figure 4.3 Routing pattern of 1-D network 61 Figure 4.4 Total bit-hop cost Es that corresponds to cluster size with different values of entropy correlation coefficient in the case of 1-D with compression along SPT to the cluster head 63 Figure 4.5 Total bit-hop cost Es that corresponds to cluster size with different values of entropy correlation coefficient in the case of 1-D with compression at the cluster head only 64 Figure 4.6 Routing pattern of the 2-D network [122] 65 Figure 4.7 Total bit-hop cost Es that corresponds to cluster size with different values of entropy correlation coefficient in the case of 2-D with compression along SPT to the cluster head 67 Figure 4.8 Total bit-hop cost Es that corresponds to cluster size with different values of entropy correlation coefficient in the case of 2-D with compression at the cluster head only 68 Figure 4.9 Illustration of clustering for a general topology model 69 Figure 4.10 Total transmission cost that corresponds to cluster size with different values of entropy correlation coefficient with compression along SPT to the cluster head 70 Figure 4.11 Total transmission cost respectively to cluster size with different values of entropy correlation coefficient with compression at the cluster head only 71 Figure 4.12 The relation between distortion and the number of representative nodes with N = 10 74 Figure 4.13 The relation between distortion and the number of representative nodes with N = 15 74 Figure 4.14 The relation between distortion and the number of representative nodes with N = 20 75 Figure 4.15 Maximizing obtained information based representative node selection algorithm 77 Figure 5.1 Radio energy dissipation model 83 Figure 5.2 Time scheduling for one round 85 Figure 5.3 Sensor node distribution in the 200mx200m sensing area 88 Figure 5.4 Routing path of compression-based routing protocol 89 Figure 5.5 Total energy in each round in case of compression along SPT to the CH 93 Figure 5.6 Number of alive nodes in each round in case of compression along SPT to the CH 94 Figure 5.7 Total energy in each round in case of compression at the CH only 96 Figure 5.8 Number of alive nodes in each round in case of compression at the CH only 97 Figure 5.9 Total energy in each round in case of representative aggregation with compression with 16 correlation clusters 98 Figure 5.10 Number of alive nodes in each round in case of representative aggregation with compression with 16 correlation clusters 98 Figure 5.11 Total energy in each round in the case of representative aggregation without compression with 16 correlation clusters 99 Figure 5.12 Number of alive nodes in each round in the case of representative aggregation without compression with 16 correlation clusters 100 Figure 5.13 Total energy comparison between distance-based protocol and ECODA with compression aggregation in the case of 16 correlation clusters 101 Figure 5.14 Total energy comparison between distance-based protocol and ECODA with compression aggregation in the case of 16 correlation clusters 102 Figure 5.15 Total energy comparison between distance-based protocol and ECODA with compression aggregation in the case of correlation clusters 102 Figure 5.16 Total energy comparison between distance-based protocol and ECODA with compression aggregation in the case of correlation clusters 103 Figure 5.17 Total energy comparison between distance-based protocol and ECODA with compression aggregation in the case of correlation clusters 104 Figure 5.18 Total energy comparison distance-based protocol and ECODA with compression aggregation in the case of correlation clusters 105 Figure 5.19 Total energy comparison between distance-based protocol and ECODA with representative aggregation in the case of 16 correlation clusters 106 Figure 5.20 Number of alive nodes comparison between distance-based protocol and ECODA with representative aggregation in the case of 16 correlation clusters 107 10 −1 − = ( ∑ −1 + ( − 2) + 1) =1 = ) + ⇒ = ( ( (−1− (−1− ) +1− =( )⁄(1 − −1 )+1− −1 ) 2 (−1− (A2.1) ) + 1) −1 2− In addition, Therefore, = = (A2.2) ( )= ( + ( )= ( ) (−1− )+1+ ) (A2.3) −1 0 2− Moreover, = ( −1 + 1) ⟹ −1 (A2.4) − = Substitute (A2.4) into (A2.3) we obtain ( ) = ( ( −1− ( − 1)) + + ) 2− ( )= ( +1+( − ) 2− ) (A2.5) 2− A3 Proof of equation (4.7) −1 ( − 1) =∑ = (A3.1) =1 In addition, Therefore, (A3.2) = = (A3.3) ( )= ( + ) 1 ( − 1) = ( + 0) = A4 Proof of equation (4.10) ( +) −1 2 −1 = ( ) ∑(2( − ) + =1 126 2) −1 =( ) (∑(2( − ) + )), where (A4.1) =1 −1 −1 (2) =( +( ) − 1) ; −1 2 ( ) −1 −1 2 =( +( ) − 1) , −1 with = − In addition, −1 = (∑ ( − )+ ) =1 (A4.2) −1 = (∑ ( , − )+ ) =1 where = ( 2 ) −1 ) +( −1 − 1, −1 with = − We have −1 ( ∑2 − )+ =1 −1 =2 ∑ −1 −∑ =1 =1 =( )( ( − 1) − − 1) ( ) (2 ( = − 1) (4 + 1) Then, + 1) = ( − 1) (4 127 − 1) = ( − 1) (4 + 1) Finally, ( 0) = −1 ( ) =( + 2 ) (∑(2( − ) + ))+ ( − 1) (4 + 1) 0 =1 (A4.3) −1 ( ) = [( ) ∑(2( − ) + )+ ( − 1) (4 + 1) ] , 0 where =1 −1 ( )−1 =( + ( ) − 1) ; −1 2 ( −1 ) −1 2 =( + ( ) − 1) ; −1 2 ( ) −1 −1 =( + ( ) − 1) , −1 with = − A5 Proof of equation (4.14) −1 =( ) (∑ 2( − ) + 2) =1 −1 −1 =( ) (2 ∑ − ∑ ) =1 =( =1 ( − 1)(2 − 1) 2( − 1) )( − ) 2 =( ( − 1)(4 + 1) ) (A5.1) = ( − 1)(4 + 1) In addition, −1 = (∑ ( − ) + 2) =1 128 = ( − 1) + 1) (4 = ( − 1) (4 + 1) (A5.2) Then, ( 0) = + 2 = ( − 1)(4 + 1) + ( − 1) (4 + 1) ( )= [ ( − 1)(4 + 1) where + ( − 1) (4 + 1) ] ( =( ) −1 ) + −1 ( − 1) , −1 with = − B1 Create the simulated network: network_create.m % NTTNGA@2017 clear; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%init%%%%%%%%%%%%%%%%%%%%%%%%%% xmax=200;%x dimension; ymax=200;%y dimension; numdead=0; pkToBS=0; %no of packet data received at base station energyDis=0; %energy dissipated p=0.05; % for LEACH-C %position of bs bs.x=100; bs.y=275; %no of nodes numNode=400; %energy parameters: unit is j eelec=50*0.000000001; efs=10*0.000000000001; emp=0.0013*0.000000000001; eda=5*0.000000001; edead=201000*0.000000001; %energy limit InitE = 0.25; %packet length: unit is bits pkl=4000; %set position of nodes figure (1); for i=1:1:numNode Or_node(i).x=rand(1,1)*xmax; Or_node(i).y=rand(1,1)*ymax; Or_node(i).rch=0; %check if node is ch in this round Or_node(i).isch=0; %check if node is ch Or_node(i).dead=0; %0 is alive 129 (A5.3) Or_node(i).energy=InitE; %initial energy for each node Or_node(i).cluster=0; % node(i) is not in any cluster %draw Bs figure (1); plot(Or_node(i).x,Or_node(i).y,'o'); hold on; end %draw Bs figure (1); title('Original Simulation Network'); hold on; plot(bs.x,bs.y,'ro'); B2 LEACH-C simulation: leach.m %%NTTNGA@2017 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%init%%%%%%%%%%%%%%%%%%%%%%%%%% clear; load('workspace12032018.mat'); %results of running %network_create.m file is saved to this mat file numdead = 0; pkToBS = 0; %no of packet data received at base station rho = 0.1; cc = 1-rho/2; %%%%%%%%%%%%%%%%%set position of nodes figure (1); for i=1:1:numNode node(i).x = Or_node(i).x; node(i).y = Or_node(i).y; node(i).rch = 0; %check if node is ch in this round node(i).isch = 0%check if node is ch node(i).dead = 0; node(i).energy = InitE; %initial energy for each node node(i).cluster = 0;% node(i) is not in any cluster hold on; end figure (1); %title('LEACH'); hold on; plot(bs.x,bs.y,'ro'); Lstatistics.energy(1)=InitE*numNode; Round = 1600; LenergyDis = zeros(1,Round); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for r=1:1:Round for i=1:1:numNode node(i).isch=0; end numdead=0; for i=1:1:numNode %count dead nodes if(node(i).energyk) NoCluster = k; else NoCluster = Lstatistics.alive(r); end %select cluster heads while (cluster< NoCluster) for i=1:1:numNode if(node(i).dead==0) Limit = p/(1-p*mod(r,round(1/p))); noderand=rand; %set random value for each node if(node(i).isch==0) if (noderand =(j1-1)*ymax/k1) && (node(i).y=(j2-1)*xmax/k2) && (node(i).x=(j3-1)*ymax/k3) && (node(i).y=(j4-1)*xmax/k4) && (node(i).x0) node(Gindex(j)).gch = j; c(j).x=node(Gindex(j)).x; %position of group head c(j).y=node(Gindex(j)).y; end end %choose the cluster head is the closest to base station among group heads for z = 1:1:cz minDisC(z)=1000; CHindex(z) = 0; for i=1:1:numNode if (node(i).dead == 0) if ((node(i).cluster == z)&&(node(i).gch>0)) dtocenterC = sqrt((node(i).xbs.x)^2+(node(i).y-bs.y)^2); if (dtocenterC < minDisC(z)) CHindex(z) = i; minDisC(z)= dtocenterC; end end end end if (CHindex(z)>0) node(CHindex(z)).rch = z; d(z).x=node(CHindex(z)).x; %position of cluster head d(z).y=node(CHindex(z)).y; end end %%%%%%%%%%%%%%% %calculate dissipation energy Gdata = zeros(1,cz); for i=1:1:numNode if (node(i).dead==0) %energy dissipated for non-ch and non-gh if ((node(i).rch==0)&&(node(i).gch==0)) dtogh=sqrt((node(i).x- c(node(i).group).x)^2 + (node(i).y- c(node(i).group).y)^2); node(i).energy = node(i).energy (pkl*eelec+pkl*efs*(dtogh*dtogh) +pkl*eda); end %energy dissipated for non-ch but gh 135 if ((node(i).rch==0)&&(node(i).gch>0)) dtoch=sqrt((node(i).x- d(node(i).cluster).x)^2 + (node(i).y- d(node(i).cluster).y)^2); Ng = c(node(i).gch).nodes; pkC = ((cc^Ng-1)/(cc-1)+cc^(Ng-1)-1)*pkl; Gdata(node(i).cluster) = Gdata(node(i).cluster) + pkC; node(i).energy=node(i).energy-(pkl*eelec*(Ng1)+pkl*eda*Ng+pkC*eelec+pkC*emp*(dtoch*dtoch)); end %energy dissipated for CH if ((node(i).gch > 0)&&(node(i).rch > 0)) dtobs=sqrt((node(i).x- bs.x)^2 + (node(i).ybs.y)^2); Ng = c(node(i).gch).nodes; pkC = Ng*pkl; Gd = Gdata(node(i).rch); Sd = Gd+pkC; N = d(node(i).rch).nodes; pkN = ((cc^N-1)/(cc-1)+cc^(N-1)-1)*pkl; node(i).energy=node(i).energy-(Gd*eelec+(Ng1)*pkl*eelec+Sd*eda+pkN*eelec+pkN*emp*(dtobs*dtobs*dtobs*dtobs)); end end if (node(i).energy>edead) CenergyDis(r)=CenergyDis(r)+node(i).energy; if (r==1) figure (1); plot(node(i).x,node(i).y,'b*'); end end end Cstatistics.energy(r)=CenergyDis(r); end r=1:Round; figure (2); hold on plot(r,Cstatistics.dead); xlabel('Rounds'); ylabel('Dead nodes'); title('Number dead nodes per round'); figure (3); hold on plot(r,Cstatistics.alive); xlabel('Rounds'); ylabel('Alive nodes'); title('Number alive nodes per round'); figure (4); hold on xlabel('Rounds'); ylabel('Energy'); title('Total Expenditute Energy'); plot(r,Cstatistics.energy); 136 B4 Compression based scheme simulation: representative.m %%NTTNGA@2017 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%init%%%%%%%%%%%%%%%%%%%%%%%%%% clear; load('workspace12032018.mat'); %results of running %network_create.m file is saved to this mat file numdead = 0; pkToBS = 0; %no of packet data received at base station rho = 0.6; cc = 1-rho/2; %%%%%%%%%%%%%%%%%set position of nodes figure (1); for i=1:1:numNode node(i).x = Or_node(i).x; node(i).y = Or_node(i).y; node(i).rch = 0; %check if node is ch in this round node(i).isch = 0; %check if node is ch node(i).dead = 0; %0 is alive node(i).energy = InitE; %initial energy for each node node(i).cluster = 0;% node(i) is not in any cluster node(i).sleep = 0; %check if node is sleep node figure (1); plot(node(i).x,node(i).y,'o'); hold on; end figure (1); hold on; plot(bs.x,bs.y,'ro'); Round = 5000; CenergyDis = zeros(1,Round); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for r=1:1:Round numdead=0; for i=1:1:numNode %count dead nodes if(node(i).energy=(j1-1)*ymax/k1) && (node(i).y=(j2-1)*xmax/k2) && (node(i).x=TotalE(j)/c(j).nodes)) dtocenter = sqrt((node(i).xTotalX(j))^2+(node(i).y-TotalY(j))^2); if (dtocenter < minDis(j)) CHindex(j) = i; minDis(j)= dtocenter; end end end end if (CHindex(j)>0) 138 node(CHindex(j)).isch = 1; node(CHindex(j)).rch = j; c(j).x=node(CHindex(j)).x; %position of ch c(j).y=node(CHindex(j)).y; end end %choose the sleep nodes for j = 1:1:k if (c(j).nodes > N_rep) for l=1:1:c(j).nodes-N_rep minE(j)=0.25; Sleepindex(j) = 0; for i=1:1:numNode if ((node(i).dead == 0)&&(node(i).sleep == 0)) if ((node(i).cluster == j)&&(node(i).energy0) node(Sleepindex(j)).sleep = 1; end end end end %%%%%%%%%%%%%%% %calculate dissipation energy for i=1:1:numNode %non-ch select CH if ((node(i).dead==0)&&(node(i).sleep == 0)) if (node(i).rch==0) dtoch=sqrt((node(i).x- c(node(i).cluster).x)^2 + (node(i).y- c(node(i).cluster).y)^2); %energy dissipated for non-ch node(i).energy = node(i).energy(pkl*eelec+pkl*efs*(dtoch*dtoch) +pkl*eda); end %energy dissipated for CH if(node(i).rch > 0) dtobs=sqrt((node(i).x- bs.x)^2 + (node(i).ybs.y)^2); if (c(node(i).cluster).nodes > N_rep) N = N_rep; else N = c(node(i).cluster).nodes; end pkC = N*pkl;%((cc^N-1)/(cc-1)+cc^(N-1)-1)*pkl; node(i).energy=node(i).energy-(pkl*eelec*(N1)+0*pkl*eda*N+pkC*eelec+pkC*emp*(dtobs*dtobs*dtobs*dtobs)); end end if (node(i).energy>=0) CenergyDis(r)=CenergyDis(r)+node(i).energy; end 139 end Cstatistics.energy(r)=CenergyDis(r); end r=1:Round; figure (2); hold on plot(r,Cstatistics.dead); figure (3); hold on plot(r,Cstatistics.alive); figure (4); hold on plot(r,Cstatistics.energy); 140 ... sensors will record information about a single event in the sensing field, i.e these sensed data strongly depends on each other For example, temperature sensors in the same room record the same... correlation environment can be divided into groups called correlation regions where measured data strongly depends on each other By clustering sensor nodes into correlation regions, data aggregation... be pointed out Correlation model survey Correlation is represented for the relationships between quantitative variables or categorical variables In other words, it’s a measure of how things are