How to form clusters correctly while implementing the work "Energy Centroid Clustering Algorithm"?
Ältere Kommentare anzeigen
I have been implementing the work titled "Energy centroid clustering algorithm to enhance the network lifetime of wireless sensor networks". However, even after following the psuedocodes I am not able to form clusters correctly initially. The Cluster Heads are one below the other rather than being distributed in the sensing region.


The above images are of my implementation. Below is the image as given in the paper.

I have problems in correctly interpreting the Psuedocode-2 given in the paper.
Also, what values of a sensor node's transmission radius are assumed?
What should be the default compression ratio after data aggregation by the Cluster Head, as it is not given in the paper?
Any help would be highly appreciated.
3 Kommentare
William Rose
am 20 Sep. 2025
@Anubhav, I recommend that you email the authors at the addresses givene in the paper.
William Rose
am 20 Sep. 2025
Bearbeitet: William Rose
am 20 Sep. 2025
I agree that the transmission radius is not specified in the paper. We need the tranmission radius to compute the number of clusters with eq.1. The authors specify that there are four clusters. Therefore I would simply assume there are four clusters, and don't worry about how they got that result.
You can estimate the approximate transmission radius from equation 1, given the specified gemoetry and given that there are 4 clusters. The mean value of the maximum sensor-to-sink distance is about 106 m (see simulation below). Therefore, from eq.1, with number of clusters=4, the transmission radius is about 53 m. The number of clusters must be an integer, and the maximum sensor-to-sink distance varies from trial to trial, so the actual transmission radius could be in the range of about 48 to 60 m.
M=50; % number of trials
dMax=zeros(1,M); % maximum sensor-to-sink distance on each trial
N=100; % number of sensors
for i=1:M
X=100*rand(1,N); Y=100*rand(1,N); % sensor locations (m)
Xs=50; Ys=100; % sink location (m)
dMax(i)=max(((X-Xs).^2+(Y-Ys).^2).^0.5); % max distance from sensor to sink
end
fprintf('Max.Sensor-Sink Distance (%d trials): min=%.1f, mean=%.1f, max=%.1f.\n',...
M,min(dMax),mean(dMax),max(dMax))
Anubhav
am 24 Sep. 2025
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Hierarchical Clustering finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
