?? mypapr_u_1.asv
字號:
clear all
clc
hold on
%Parameter setting
fftn = 128; %FFT點(diǎn)數(shù)
symbol_num = 1e3; %OFDM符號數(shù)
M = 1; %調(diào)制階數(shù)(1——BPSK)?????????
data_length = fftn*symbol_num*M; %數(shù)據(jù)長度
%Data generating
data_source = bingen(data_length);
%OFDM modulate
data4ifft = reshape(data_source,fftn,symbol_num); %S/P
%ifft_out = sqrt(fftn)*ifft(data4ifft); %ifft 為什么求iff的sqrt???
% ifft_out_temp1 = ifft_out;
%=================================================
%壓縮擴(kuò)展變換
%=================================================
u = 3; %變換因子
A = max(max(abs(ifft_out)));
for ii = 1:symbol_num
w(:,i)=ifft(data4ifft(:,i));
w(:,i)=w(:,i)*c1;
xn = ifft_out(:,ii);
av_p = xn'*xn/fftn;
for kk = 1:fftn
temp = ifft_out(kk,ii);
ifft_out(kk,ii) = A*temp*log(1+u*abs(temp)/A)/(log(1+u)*abs(temp));
end
av_p1 = ifft_out(:,ii)'*ifft_out(:,ii)/fftn;
ifft_out(:,ii) = av_p*ifft_out(:,ii)/av_p1;
end
%CCDF計(jì)算
plotPAPR = zeros(1,symbol_num);
for ii = 1:symbol_num
xn1 = ifft_out(:,ii);
arverage_pwr = xn1'*xn1/fftn;%(平均功率是這樣計(jì)算的:求每一個樣值的功率在求和然后求平均)
max_value = max(abs(xn1));
PAPR = max_value^2/arverage_pwr;%計(jì)算發(fā)送信號的PAPR及平均功率
plotPAPR(ii) = 10*log10(PAPR);
end
CCDF = zeros(1,11);
j=0;
for jj = 1:.1:11
j = j+1;
PAR_temp = zeros(1,symbol_num);
PAR_temp(find(plotPAPR > jj-1)) = 1;%??????????
CCDF(j) = sum(PAR_temp)/symbol_num;
end
PAR_max = 0:.1:10;%(門限值)
semilogy(PAR_max,CCDF,'g+-')
grid on
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -