⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chf.m

📁 设定无线接入点能够始终提供最大吞吐量
💻 M
字号:
%  Simulation of reduance wsn networks handoff foactor 
%  Needs the Communications toolbox and file "normrnd.m" 
clear all; 
ht=zeros(1,1000);                         
hk=zeros(1,1000);
lable='a';
Fd = 1; Fs = 1; 
N= 70000   ;                                    % Number of simulated points 
method='qask';                                  % Quadrature amplitude modulation 
set(1) = 4; set(2) = 16; set(3) = 64;           % Sizes of constellations 
for j=3:1:3 
    M = set(j);                                 % Size of M-QAM constellation 
    l=1:1:M; 
    aux = sum(abs(modmap(l-1,Fd,Fs,method,M)).^2)/M; 
    energy(j) = aux(1)+aux(2); 
    i=1; 
%    for esno=0:2:26; 
     for k=0:1:50
        esno=rand*30;
        sigma = sqrt(10^(-esno/10)/2)*sqrt(energy(j)); 
        x = randint(N,1,M);                     % Random information symbols (integers) 
        y = modmap(x,Fd,Fs,method,M);           % Mapped signal 
        ynoisy = y + normrnd(0,sigma,N*Fs,2);   % Gaussian noise added 
        z = demodmap(ynoisy,Fd,Fs,method,M);    % Demapped noisy signal 
        s = symerr(x,z);                        % Number of symbol errors after demapping 
        bera(j,i) = (s/N)/log2(M);               % Bit error rate (BER) with Gray mapping 
        snra(i) = esno; 
        i=i+1; 
    end 
    j 
end


for j=3:1:3 
    M = set(j);                                 % Size of M-QAM constellation 
    l=1:1:M; 
    aux = sum(abs(modmap(l-1,Fd,Fs,method,M)).^2)/M; 
    energy(j) = aux(1)+aux(2); 
    i=1; 
%    for esno=0:2:26; 
     for k=0:1:50
        esno=rand*30;
        sigma = sqrt(10^(-esno/10)/2)*sqrt(energy(j)); 
        x = randint(N,1,M);                     % Random information symbols (integers) 
        y = modmap(x,Fd,Fs,method,M);           % Mapped signal 
        ynoisy = y + normrnd(0,sigma,N*Fs,2);   % Gaussian noise added 
        z = demodmap(ynoisy,Fd,Fs,method,M);    % Demapped noisy signal 
        s = symerr(x,z);                        % Number of symbol errors after demapping 
        berg(j,i) = (s/N)/log2(M);               % Bit error rate (BER) with Gray mapping 
        snrg(i) = esno; 
        i=i+1; 
    end 
    j 
end

for i=1:1:51
    if ((bera(3,i)>berg(3,i))&&(lable=='a'))
        ht(1,i+1)=ht(1,i);
    elseif((bera(3,i)>berg(3,i))&&(lable=='b'))
        ht(1,i+1)=ht(1,i)+1;
        lable='a';
    else((bera(3,i)>berg(3,i))&&(lable=='a'))
        ht(1,i+1)=ht(1,i)+1;
        lable='b';
    end
end
%set the CHF throughout is 0.05
for i=1:1:51
    if (((bera(3,i)>0.05)&&(berg(3,i)>0.05))&&(bera(3,i)>berg(3,i))&&(lable=='a'))
        hk(1,i+1)=hk(1,i);
    elseif(((bera(3,i)>0.05)&&(berg(3,i)>0.05))&&(bera(3,i)>berg(3,i))&&(lable=='b'))
        hk(1,i+1)=hk(1,i)+1;
        lable='a';
    else(((bera(3,i)>0.05)&&(berg(3,i)>0.05))&&(bera(3,i)>berg(3,i))&&(lable=='a'))
        hk(1,i+1)=hk(1,i)+1;
        lable='b';
    end
end
% semilogy(snr,ber(1,:),'-b^',snr,ber(2,:),'-bo',snr,ber(3,:),'-bs'); 
%semilogy(snra,bera(3,:),'-o',snrg,berg(3,:),'-*'); 
i=[1:1:51];
plot(i,ht(1,i),'-*',i,hk(1,i),'-o');

grid on;
ylabel('切换次数');
xlabel('CHF采样次数');
legend( 'CHF切换','门限考虑CHF切换机制',1); 
title('CHF切换机制及考虑门限切换机制对比.');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -