?? slm-ofdm.txt
字號:
******************************************************************************
******************************SOURCE CODE************************************
******************************************************************************
% SLM--PAPR Simulation
%
% Reference: R. W. B?uml, R. F. H. Fisher, and J. B. Huber,
%“Reducing the Peak-to-Average Power Ratio of Multicarrier Modulation by
% Selected Mapping,” Elect. Lett., vol. 32, no. 22, Oct. 1996, pp. 2056–57.
%
clear all; clc; close all;
K = 128; % SIZE OF FFT
N = 4; % NUMBER OF SELECTIONS
QPSK_Set = [1 -1 j -j];
Phase_Set = [1 -1];
MAX_SYMBOLS = 1e5;
PAPR_Orignal = zeros(1,MAX_SYMBOLS);
PAPR_SLM = zeros(1,MAX_SYMBOLS);
X = zeros(N,K);
Index = zeros(N,K);
for nSymbol=1:MAX_SYMBOLS
Index(1,:) = randint(1,K,length(QPSK_Set))+1;
Index(2:N,:) = randint(N-1,K,length(Phase_Set))+1;
X(1,:) = QPSK_Set(Index(1,:)); % Orignal Frequency domain signal
Phase_Rot = Phase_Set(Index(2:N,:));
X(2:N,:) = repmat(X(1,:),N-1,1).*Phase_Rot; % Phase roated Frequency domain signal
x = ifft(X,[],2); % Time domain signal
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_Orignal(nSymbol) = PAPR_temp(1);
PAPR_SLM(nSymbol) = min(PAPR_temp);
end
[cdf1, PAPR1] = ecdf(PAPR_Orignal);
[cdf2, PAPR2] = ecdf(PAPR_SLM);
%--------------------------------------------------------------------------
semilogy(PAPR1,1-cdf1,'-b',PAPR2,1-cdf2,'-r')
legend('Orignal','SLM')
title('N=4')
xlabel('PAPR0 [dB]');
ylabel('CCDF (Pr[PAPR>PAPR0])');
grid on
******************************************************************************
***********************END OF SOURCE CODE************************************
******************************************************************************
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -