資源簡介
降低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
評論
共有 條評論