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

📄 simo.m

📁 本代码为天线的发射分集代码
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SIMO.m
% Single Input Multiple Outputs 16-QAM Simulation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
close all;
SignalEnergyMin = 4;
SignalEnergyMax = 52;
SignalEnergy_d = 4;
BlocksPerEnergy = 100;
BlockSize = 2^8;
SamplingRate = 1;
WGNPower = 1;
RayleighParam = .24;
Antennas = 8;
M=16;
for aa=1:Antennas
Gvec1 = randn(1,BlocksPerEnergy);
Gvec2 = randn(1,BlocksPerEnergy);
RayleighVec(aa,:) = sqrt((RayleighParam^2.*Gvec1.^2)+(RayleighParam^2.*Gvec2.^2));
end
EnergiesdB = SignalEnergyMin:SignalEnergy_d:SignalEnergyMax;
Energies = 10.^(EnergiesdB./10);
for ee = 1:size(Energies,2)
for bb = 1:BlocksPerEnergy
A = randint(1,BlockSize,16); % Generate Data Stream
B = mod16qam (A,1,SamplingRate,Energies(ee))'; % 16-QAM Modulation
for aa=1:Antennas
disp(['Eb = ',int2str(Energies(ee)),'; Block ',int2str(bb),'; Antenna ',int2str(aa)]);
C(aa,:) = RayleighVec(aa,bb).*B; % Rayleigh fading
D(aa,:) = AWGN(C(aa,:),WGNPower); % AWGN
[E(aa,:),Es(aa,bb)] = demod16qam (D(aa,:),1,SamplingRate); % Demodulate
[TT,SER(aa,bb)] = symerr(A,E(aa,:)); % Measure SER per antenna
end
for aa=2:2:Antennas
TempEs = Es(1:aa,bb);
% Selective Combining
stronger = (find (TempEs == max (TempEs)));
[SC,E_sc(1,bb)] = demod16qam (D(stronger,:),1,SamplingRate);
[TT,SER_sc(aa/2,bb)] = symerr(A,SC); % Measure SER per antenna
% Equal Gain Combining
TempD = D(1:aa,:);
[EGC,E_egc(1,bb)] = demod16qam (mean(TempD,1),1,SamplingRate);
[TT,SER_egc(aa/2,bb)] = symerr(A,EGC);
end
end
for aa=1:Antennas
ESER(aa,ee) = mean(SER(aa,:),2);
end
ESER_sc(:,ee) = mean(SER_sc,2);
ESER_egc(:,ee) = mean(SER_egc,2);
% ESER_mrc(ee) = mean(SER_mrc,2);
end
figure;
semilogy(EnergiesdB,mean (ESER,1),'+',EnergiesdB,ESER_sc,'d-');
title ('\fontsize{10}\bfAntenna Diversity - Selective Combining (16-QAM): \rmslow flat Rayleigh AWGNChannel');
xlabel ('Eb/N_0'); ylabel ('SER');
legend('Antenna 1+2','2 Antennas','4 Antennas','6 Antennas','8 Antennas');
figure;
semilogy(EnergiesdB,mean (ESER,1),'+',EnergiesdB,ESER_egc,'x-');
title ('\fontsize{10}\bfAntenna Diversity - Equal Gain Combining (16-QAM): \rmslow flat Rayleigh AWGNChannel');
xlabel ('Eb/N_0'); ylabel ('SER');
legend('Antenna 1+2','Equal Gain Combining 2','Equal Gain Combining 4','Equal Gain Combining 6','EqualGain Combining 8');

⌨️ 快捷键说明

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