Matlab论坛
直播中

youwozuozhujun

11年用户 61经验值
擅长:可编程逻辑 模拟技术
私信 关注
[讨论]

关于OFDM 信号CCDF仿真不能通过求解??

%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_theoretical=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
求各位大神帮忙看下好吧,谢谢各位了!

回帖(3)

youwozuozhujun

2017-7-4 15:06:12
求各位大侠帮忙看看呀
举报

疯鲸呀

2018-12-4 14:48:44
请问一下,您这个问题解决了吗?
举报

Alair_Zhang

2018-12-13 09:03:35
顶一下,很厉害的样子
举报

更多回帖

发帖
×
20
完善资料,
赚取积分