for m=1:4
X = zeros(M(m),N);
bobi = zeros(M(m),N);
for nSymbol = 1: Max_Symbols
bobi(1,:) = randint(1,N,length(QPSK_Set))+1;
bobi(2:M(m),:) = randint(M(m)-1,N,length(Phase_Set))+1;% Membuat indeks faktor rotasi acak
X(1,:) = QPSK_Set(bobi(1,:)); % Simbol dalam domain frekuensi setelah modulasi
Phase_Rot = Phase_Set(bobi(2:M(m),:)); % Corresponding rotation factor Pm were created
X(2:M(m),:) = repmat(X(1,:),M(m)-1,1).*Phase_Rot; % Multiple OFDM matrix (D(m)*N) with rotation factors
X2 = [X(:,1:N/2) zeros(M(m),K-N) X(:,N/2+1:N)]; % Oversampling process
x = ifft(X2,[],2); % Sinyal dalam domain waktu setelah proses IFFT
Signal_Power = abs(x.^2);
Peak_Power = max(Signal_Power,[],2);
Mean_Power = mean(Signal_Power,2);
PAPR_temp = 10*log10(Peak_Power./Mean_Power);
PAPR_SLM(m,nSymbol)= min(PAPR_temp);% The PAPR values of OFDM signals using SLM method with different M
end
end
[cdf2, PAPR2] = ecdf(PAPR_SLM(1,:)); % Calculate signal's PAPR empirical cumulative distribution(SLM PAPR reduction method employed with M=2)
[cdf3, PAPR3] = ecdf(PAPR_SLM(2,:)); % Calculate signal's PAPR empirical cumulative distribution(SLM PAPR reduction method employed with M=4)
[cdf4, PAPR4] = ecdf(PAPR_SLM(3,:));% Calculate signal's PAPR empirical cumulative distribution(SLM PAPR reduction method employed with M=8)
[cdf5, PAPR5] = ecdf(PAPR_SLM(4,:)); % Calculate signal's PAPR empirical cumulative distribution(SLM PAPR reduction method employed with M=16)
semilogy(PAPR1,1-cdf1,'linewidth',2) % Plot CCDF curves of PAPR with different M value
hold on;
semilogy(PAPR2,1-cdf2,'linewidth',2)
hold on;
semilogy(PAPR3,1-cdf3,'linewidth',2)
hold on;
semilogy(PAPR4,1-cdf4,'linewidth',2)
hold on;
semilogy(PAPR5,1-cdf5,'linewidth',2);
axis([5 12 10e-4 1])
grid on;
legend(' Original',' M=2',' M=4',' M=8',' M=16');
xlabel('PAPR0 [dB]');
ylabel('CCDF (Pr[PAPR>PAPR0])');
评论0