• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: Matlab
  • 标签: OFDM  PAPR  PTS  SLM  C变换  

资源简介

降低OFDM系统PAPR算法MATLAB仿真,有PTS、SLM、C变换三种算法的CCDF仿真。

资源截图

代码片段和文件信息

% Clipping and Filtering
% ========================================================================
% Repeated Clipping and Filtering--PAPR Simulation
%
% Reference: J. Armstrong New OFDM peak-to-average power reduction scheme.

% Author: Bin Jiang
% National Mobile Communication Research Laboratory
% Southeast University 210096 Nanjing China
% Email: bjiang@seu.edu.cn

clear all; clc; close all;
K  = 128;                                                                   % SIZE OF OFDM Symbol
IF = 2;                                                                     % Interpolation factor (Oversampling factor)
N  = K*IF;                                                                  % SIZE OF FFT
CR = 4;                                                                     % Clipping ratio (linear 4 <==>log 6dB)
QPSK_Set  = [1 -1 j -j];
  
ITERATE_NUM = 4;
MAX_SYMBOLS  = 1e4;
PAPR_Orignal = zeros(1MAX_SYMBOLS);
PAPR_RCF     = zeros(ITERATE_NUMMAX_SYMBOLS);
for nSymbol=1:MAX_SYMBOLS
    Index = randint(1Klength(QPSK_Set))+1;
    X = QPSK_Set(Index(1:));                                               % Orignal Frequency domain signal
    XX = [X(1:K/2) zeros(1N-K) X(K/2+1:K)];
    
    x = ifft(XX[]2);                                                      % Time domain signal
    Signal_Power = abs(x.^2);
    Peak_Power   = max(Signal_Power[]2);
    Mean_Power   = mean(Signal_Power2);
    PAPR_Orignal(nSymbol) = 10*log10(Peak_Power./Mean_Power);
    
    for nIter=1:ITERATE_NUM
        % Clipping
        x_tmp = x(Signal_Power>CR*Mean_Power);
        x_tmp = sqrt(CR*Mean_Power)*x_tmp./abs(x_tmp);
        x(Signal_Power>CR*Mean_Power) = x_tmp;
        
        % Filtering
        XX = fft(x[]2);
        XX(K/2+(1:N-K)) = zeros(1N-K);
        x = ifft(XX[]2); 
        
        % PAPR Compute
        Signal_Power = abs(x.^2);
        Peak_Power   = max(Signal_Power[]2);
        Mean_Power   = mean(Signal_Power2);
        PAPR_RCF(nIternSymbol) = 10*log10(Peak_Power./Mean_Power);
    end
end

[cdf0 PAPR0] = ecdf(PAPR_Orignal);
[cdf1 PAPR1] = ecdf(PAPR_RCF(1:));
[cdf2 PAPR2] = ecdf(PAPR_RCF(2:));
[cdf3 PAPR3] = ecdf(PAPR_RCF(3:));
[cdf4 PAPR4] = ecdf(PAPR_RCF(4:));

%--------------------------------------------------------------------------
semilogy(PAPR01-cdf0‘-b‘PAPR11-cdf1‘-r‘PAPR21-cdf2‘-g‘PAPR31-cdf3‘-c‘PAPR41-cdf4‘-m‘)
legend(‘Orignal‘‘One clip and filter‘‘Two clip and filter‘‘Three clip and filter‘‘Four clip and filter‘)
xlabel(‘PAPR0 [dB]‘);
ylabel(‘CCDF (Pr[PAPR>PAPR0])‘);
xlim([4 12])
grid on

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2657  2010-10-15 16:40  新建文件夹\Clipping_and_Filtering.m

     文件       2933  2010-10-15 16:40  新建文件夹\PTS_PAPR_Simulation.m

     文件       2220  2010-11-21 15:43  新建文件夹\slm.m

     文件       2155  2010-10-15 16:40  新建文件夹\SLM2.m

     目录          0  2010-11-30 12:48  新建文件夹

----------- ---------  ---------- -----  ----

                 9965                    5


评论

共有 条评论