%plot_CCDF.m
%绘制图7.3中的CCDF曲线
clear;clc;clf
Ns=2.^[6:10];%这里是使用的每一个元素相乘,也就是向量或者矩阵中对应元素相乘64,128,256,512,1024
b=2;
M=2^b;
Nblk=1e3;
zdBs=[4:0.1:10];
N_zdBs=length(zdBs);% 61
CCDF_formula = inline('1-((1-exp(-z.^2/(2*s2))).^N)','N','s2','z');%内联函数
for n=1:length(Ns)
N=Ns(n);% 64,128,256,512,1024
x=zeros(Nblk,N);%产生一个NBLK行 N列的全零矩阵
sqN=sqrt(N);%开平方根
for k=1:Nblk
X=mapper(b,N);%size(X) 64 4
x(k,:)=ifft(X,N,1)*sqN;%%冒号是取出第k行的数据,
CFx(k)=PAPR(x(k,:));
end
s2=mean(mean(abs(x)))^2/(pi/2);%平均值
CCDF_theore
tical=CCDF_formula(N,s2,10.^(zdBs/20));%理论值
for i=1:N_zdBs
CCDF_simulated(i)=sum(CFx>zdBs(i))/Nblk;%
仿真值
end
semilogy(zdBs,CCDF_theoretical,'k-')%表示理论值Y坐标轴是对数坐标系
hold on,grid on
semilogy(zdBs(1:3:end),CCDF_simulated(1:3:end),'k:*')%表示仿真值Y坐标是对数坐标系
end
axis([zdBs([1 end]) 1e-2 1])%axis([xmin xmax ymin ymax]) 用来标注输出的图线的最大值最小值。
title ('OFDM system with N-point FFT')
xlabel('PAPAR0[dB]')
ylabel('CCDF=probability(PAPR>PAPR0)')
legend('Theoretical','simulated')%添加图例的标注,显示理论值和仿真值
在运行后一直报错 颜色标注错误行数
错误提示是:赋值具有的非单一 rhs 维度多于非单一下标数
出错 CCDF (line 17)
x(k,:)=ifft(X,N,1)*sqN
求各位大神帮忙看下好吧,谢谢各位了!
0