OFDM——PAPR减小(二)

简介: OFDM——PAPR减小(二)

OFDM——PAPR减小(一)https://developer.aliyun.com/article/1473988

②、仿真结果

总的来说,当 N NN 增大时,PAPR 变得更加明显

从图中可以看出,x [ n ] x[n]x[n] 的实部和虚部服从高斯分布,而 ∣ x [ n ] ∣ |x[n]|x[n]∣ x [ t ] ∣ |x[t]|x[t] 服从瑞利分布

对于具有 N 个子载波的OFDM符号,当每个子载波分量具有相同的相位,且恰好出现最大幅度时, OFDM 信号具有最大功率。最大功率随着 N 的增大而增大,而且出现最大功率的概率随着 N 的增大而降低。

4、Chu 序列和 IEEE802.16e 前导的 PAPR

①、MATLAB 源码

PAPR_of_Chu.m

% PAPR_of_Chu.m
% Plot Fig. 7.10(a)
%MIMO-OFDM Wireless Communications with MATLAB㈢   Yong Soo Cho, Jaekwon Kim, Won Young Yang and Chung G. Kang
%2010 John Wiley & Sons (Asia) Pte Ltd
clear, clf
N=16; L=4; i=[0:N-1]; 
k = 3; X = exp(j*k*pi/N*(i.*i));
[x,time] = IFFT_oversampling(X,N);
PAPRdB = PAPR(x);
[x_os,time_os] = IFFT_oversampling(X,N,L); %x_os=x_os*L;
PAPRdB_os = PAPR(x_os);
subplot(221), plot(x,'o');
hold on, plot(x_os,'k*');
legend('L=1','L=4');
axis([-0.4 0.4 -0.4 0.4]), axis('equal');
plot(0.25*exp(j*pi/180*[0:359])); % circle with radius 0.25
subplot(222), plot(time,abs(x),'o', time_os,abs(x_os),'k:*');
xlabel('时间(由符号间隔归一化)');
ylabel('|IFFT(u1(k))|');
title('IFFT(X1(k)),k=3,N=16,L=1,4');
legend('L=1','L=4');
PAPRdB_without_and_with_oversampling=[PAPRdB  PAPRdB_os];

PAPR_of_preamble.m

% PAPR_of_preamble.m
% Plot Fig. 7.10(b) (the PAPR of IEEE802.16e preamble)
%MIMO-OFDM Wireless Communications with MATLAB㈢   Yong Soo Cho, Jaekwon Kim, Won Young Yang and Chung G. Kang
%2010 John Wiley & Sons (Asia) Pte Ltd
clear, clf
N=1024; L=4; Npreamble=114; n=0:Npreamble-1; % Mod='BPSK'; 
%PAPR = zeros(N_preamble,1); PAPR_os = zeros(N_preamble,1);
for i = 1:Npreamble
   X=load(['D:\Work\MIMO-OFDM无线通信技术及MATLAB实现\MIMO_OFDM-master\第7章 PAPR\Chu序列和IEEE802.16e前导的PAPR\Wibro-Preamble\Preamble_sym' num2str(i-1) '.dat']);
   X = X(:,1); X = sign(X); X = fftshift(X);
   x = IFFT_oversampling(X,N); PAPRdB(i) = PAPR(x);
   x_os = IFFT_oversampling(X,N,L); PAPRdB_os(i) = PAPR(x_os);
end
plot(n,PAPRdB,'-o', n,PAPRdB_os,':*'), 
xlabel('前导编码[0~113]');
ylabel('|IFFT(X1(k))|');
title('IEEE 802.16e前导,L=1,4');
legend('L=1','L=4');

②、仿真结果

1) Chu 序列经 IFFT 之后的幅度

该图显示了在没有采样和 L=4 过采样的情况下,Chu 序列经过 16 点 IFFT 之后的幅度,有过采样和没有过采样的 PAPR 分别为 0dB 和 4.27dB,这说明不同的采样速度会导致 PAPR 具有明显的差异

2) IEEE 802.16e 前导的 PAPR

该图显示了 IEEE802.16e 标准中定义的 114 个前导的 PAPR,有过采样的PAPR比没有过采样的 PAPR 大 0.4dB 左右。事实上,由于前导码存在放大功率的问题,因此最初设计的这些前导码具有低的 PAPR。这就是为什么不同的采样速率并没有使这些序列的 PAPR 明显不同。然而,对于 Chu 序列,采样速率的不同通常导致 PAPR 的明显变化。因此,为了在基带对 PAPR 进行精确的测量,需要过采样过程。

5、基于限幅和滤波的 OFDM 信号

①、MATLAB 源码

mapper.m

function [modulated_symbols,Mod] = mapper(b,N)
% If N is given, it generates a block of N random 2^b-PSK/QAM modulated symbols.
% Otherwise, it generates a block of 2^b-PSK/QAM modulated symbols for [0:2^b-1].
%MIMO-OFDM Wireless Communications with MATLAB㈢   Yong Soo Cho, Jaekwon Kim, Won Young Yang and Chung G. Kang
%2010 John Wiley & Sons (Asia) Pte Ltd
M=2^b; % Modulation order or Alphabet (Symbol) size
if b==1, Mod='BPSK'; A=1; mod_object=comm.PSKModulator('ModulationOrder', M);
 elseif b==2, Mod='QPSK';  A=1;
      mod_object = comm.PSKModulator('ModulationOrder', M, 'PhaseOffset', pi/4);
 else Mod=[num2str(2^b) 'QAM']; Es=1; A=sqrt(3/2/(M-1)*Es); 
      mod_object = comm.RectangularQAMModulator('ModulationOrder', M, 'SymbolMapping', 'Gray');
end
if nargin==2 % generates a block of N random 2^b-PSK/QAM modulated symbols 
  modulated_symbols = A * mod_object(randi([0 M-1], N, 1));
 else
  modulated_symbols = A * mod_object((0:M-1)');
end

IFFT_oversampling.m

function [xt, time] = IFFT_oversampling(X,N,L)
%MIMO-OFDM Wireless Communications with MATLAB㈢   Yong Soo Cho, Jaekwon Kim, Won Young Yang and Chung G. Kang
%2010 John Wiley & Sons (Asia) Pte Ltd
if nargin<3,  L=1;  end
NL=N*L; T=1/NL; time = [0:T:1-T];  X = X(:).';
xt = L*ifft([X(1:N/2)  zeros(1,NL-N)  X(N/2+1:end)], NL);

add_CP.m

function y=add_CP(x,Ncp)
% Add cyclic prefix
%MIMO-OFDM Wireless Communications with MATLAB㈢   Yong Soo Cho, Jaekwon Kim, Won Young Yang and Chung G. Kang
%2010 John Wiley & Sons (Asia) Pte Ltd
y = [x(:,end-Ncp+1:end) x];     % CP 循环前缀

clipping.m

function [x_clipped,sigma]=clipping(x,CL,sigma)
% CL   : Clipping Level
% sigma: sqrt(variance of x)
%MIMO-OFDM Wireless Communications with MATLAB㈢   Yong Soo Cho, Jaekwon Kim, Won Young Yang and Chung G. Kang
%2010 John Wiley & Sons (Asia) Pte Ltd
if nargin<3
  x_mean=mean(x); x_dev=x-x_mean; sigma=sqrt(x_dev*x_dev'/length(x));   % 计算标准差
end
CL = CL*sigma;  % 限幅比 = 输入限幅比 × 标准差
x_clipped = x;  
ind = find(abs(x)>CL); % Indices to clip    % 找到大于限幅比的索引
x_clipped(ind) = x(ind)./abs(x(ind))*CL;    % 进行限幅


OFDM——PAPR减小(三)https://developer.aliyun.com/article/1473990

目录
相关文章
|
7月前
减小PAPR——DFT扩频
减小PAPR——DFT扩频
100 1
|
7月前
OFDM——PAPR减小(一)
OFDM——PAPR减小(一)
183 0
|
7月前
OFDM——PAPR减小(三)
OFDM——PAPR减小(三)
125 0
|
13天前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的16QAM调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本项目基于FPGA实现了16QAM基带通信系统,包括调制、信道仿真、解调及误码率统计模块。通过Vivado2019.2仿真,设置不同SNR(如8dB、12dB),验证了软解调相较于传统16QAM系统的优越性,误码率显著降低。系统采用Verilog语言编写,详细介绍了16QAM软解调的原理及实现步骤,适用于高性能数据传输场景。
113 69
|
17天前
|
移动开发 算法 数据安全/隐私保护
基于FPGA的QPSK调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的QPSK调制解调系统,通过Vivado 2019.2进行仿真,展示了在不同信噪比(SNR=1dB, 5dB, 10dB)下的仿真效果。与普通QPSK系统相比,该系统的软解调技术显著降低了误码率。文章还详细阐述了QPSK调制的基本原理、信号采样、判决、解调及软解调的实现过程,并提供了Verilog核心程序代码。
53 26
|
23天前
|
算法 异构计算
基于FPGA的4ASK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的4-ASK调制解调系统的算法仿真效果、理论基础及Verilog核心程序。仿真在Vivado2019.2环境下进行,分别测试了SNR为20dB、15dB、10dB时的性能。理论部分概述了4-ASK的工作原理,包括调制、解调过程及其数学模型。Verilog代码实现了4-ASK调制器、加性高斯白噪声(AWGN)信道模拟、解调器及误码率计算模块。
44 8
|
1月前
|
算法 物联网 异构计算
基于FPGA的4FSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的4FSK调制解调系统的Verilog实现,包括高斯信道模块和误码率统计模块,支持不同SNR设置。系统在Vivado 2019.2上开发,展示了在不同SNR条件下的仿真结果。4FSK调制通过将输入数据转换为四个不同频率的信号来提高频带利用率和抗干扰能力,适用于无线通信和数据传输领域。文中还提供了核心Verilog代码,详细描述了调制、加噪声、解调及误码率计算的过程。
50 11
|
2月前
|
存储 算法 数据处理
基于FPGA的8PSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本系统在原有的8PSK调制解调基础上,新增了高斯信道与误码率统计模块,验证了不同SNR条件下的8PSK性能。VIVADO2019.2仿真结果显示,在SNR分别为30dB、15dB和10dB时,系统表现出不同的误码率和星座图分布。8PSK作为一种高效的相位调制技术,广泛应用于无线通信中。FPGA凭借其高度灵活性和并行处理能力,成为实现此类复杂算法的理想平台。系统RTL结构展示了各模块间的连接与协同工作。
62 16
|
2月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的16PSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
### 简介 本项目采用VIVADO 2019.2进行了十六进制相位移键控(16PSK)算法仿真,结果显示,在SNR=30dB时效果为Tttttttttttttt12,在SNR=20dB时效果为Tttttttttttttt34。系统RTL结构如Tttttttttttttt555555所示。16PSK是一种高效的相位调制技术,能在每个符号时间内传输4比特信息,适用于高速数据传输。其工作原理包括将比特流映射到16个相位状态之一(Tttttttttttttt777777),并通过匹配滤波和决策进行解调。具体Verilog核心程序见完整代码。
43 1
|
3月前
|
算法 测试技术 开发工具
基于FPGA的QPSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
该系统在原有的QPSK调制解调基础上,新增了高斯信道和误码率统计模块,验证了不同SNR条件下的QPSK误码性能。系统包括数据生成、QPSK调制与解调等模块,使用Vivado 2019.2进行仿真,展示了SNR分别为15dB、10dB、5dB和1dB时的误码情况。系统采用Verilog语言实现,具有高效、可靠的特点。
61 3