引言
本书主要参考了文献1,但实际上该书中符号和表述的错误非常多(只能说棒子是这样的);同时因为发表时间的关系,很多MATLAB代码进行了更新,原书提供的代码已经无法正常运行。我将修补后的代码给出,并且给出了疑难问题的理解。
代码
% plot_CCDF.m
% Plot the CCDF curves of Fig. 7.3.
clear all; clc; clf
N_OFDM = 2.^[6:10]; %N_OFDM代表OFDM中做IFFT点的数量
b=2; M=2^b;
Nblk = 1e4; % Nblk Number of Blocks
PARP_dB = [4:0.1:10];
N_PARP_dB = length(PARP_dB);
CCDF_formula=inline('1-((1-exp(-z.^2/(2*s2))).^N)','N','s2','z'); % Eq.(7.9) 构造一个内联函数对象
for n = 1:length(N_OFDM)
N=N_OFDM(n);
x = zeros(Nblk,N);
sqN=sqrt(N);
for k = 1:Nblk
X = mapper(b,N); % 生成 N 个 2^b QAM modulated symbols
x(k,:) = ifft(X,N)*sqN; % 确保IFFT变换后能量一致
CFx(k) = PAPR(x(k,:)); % 计算信号的PAPR
end
% 通过锐利信道特性计算平均的σ^2的值
sigma2 = mean(mean(abs