m基于OFDM系统的PAPR性能matlab仿真,对比LFDMA,IFDMA,DFDMA

简介: 在MATLAB 2022a中,进行了OFDM、LFDMA、IFDMA和DFDMA的PAPR仿真,显示了两种图像结果。PAPR是OFDM系统中的关键指标,影响功率放大器效率。LFDMA通过数据分配减少峰值,IFDMA利用交织子载波,DFDMA则通过时域分布降低峰值。MATLAB程序执行包括数据频域映射、子载波分配、时域转换、脉冲整形和PAPR计算,并根据不同模式和子载波策略保存结果。程序还绘制了PAPR的累积分布函数(CCDF)图,用于比较不同方法的效果。

1.算法仿真效果
matlab2022a仿真结果如下:

d99d234302b6c17461399723272b5102_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg
5dbb4d5125a48d37f7d3f9f4fae74272_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

2.算法涉及理论知识概要
在正交频分复用(Orthogonal Frequency Division Multiplexing, OFDM)系统中,信号的峰值功率相对于其平均功率的比例称为峰均功率比(Peak-to-Average Power Ratio, PAPR)。由于多个子载波的叠加,OFDM符号可能出现较大的瞬时幅度,导致非线性失真,尤其是在功率放大器处。计算公式为:

55170e211b08021ba142d76527b38561_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

其中 X(n) 是OFDM符号的离散时间表示,maxn​∣X(n)∣2 表示符号的最大瞬时功率,而 E[∣X(n)∣2] 表示符号的平均功率。

LFDMA (Low Frequency Diversity Multiple Access)

    LFDMA是一种针对OFDM系统PAPR问题提出的改进方案,它通过对连续子载波分配数据以减少相位同步导致的峰值。尽管LFDMA的具体数学模型和PAPR降低原理可能因具体实施方案而异,但一般而言,它试图通过子载波分配策略来分散相位相干性,从而降低整体PAPR。

IFDMA (Interleaved Frequency Division Multiple Access)

    IFDMA通过交织子载波分配机制来降低PAPR。相较于OFDM,每个用户只在部分而非全部子载波上传输,且子载波间隔不连续。这样可以减少同时达到峰值的概率,进而降低PAPR。对于第 k 个用户,其信号在第 n 个子载波上的调制通常采用:

622fea9b8c2dc0180976183f1d6d1c0e_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

 其中dk​[] 是用户的基带数据符号,Ts​ 是采样间隔,Δf 是子载波间隔,t 是时间索引,G 是子载波交织步长,Tc​ 是总的子载波数目。

DFDMA (Distributed Frequency Division Multiple Access)

   DFDMA(有时也称为SC-FDMA,Single Carrier Frequency Division Multiple Access)是一种更接近单载波传输的技术,通过在频域进行预处理(如通过IFFT),然后在时域上进行分段传输,从而达到类似OFDM的频谱效率,但能显著降低PAPR。它的原理是将数据在一个较长的符号周期内均匀分布,减少了单个符号内的峰值。

   在实际的数学表述中,DFDMA的信号生成步骤与OFDM类似,但在数据映射至子载波前先进行分帧和时域上的分布,再通过IFFT转换到时域,因此PAPR较低。

  LFDMA和IFDMA通过不同的子载波分配策略来分散功率峰值,而DFDMA则通过改变数据在时频域的分布特征来降低PAPR。理论上,这些技术都能有效地降低传统OFDM的PAPR问题,但是它们各自的实施复杂度、频谱效率、以及对系统性能的影响(如BER、系统延迟等)各有不同。具体的数学分析通常涉及到大量的仿真和理论推导,包括但不限于概率密度函数、累积分布函数的分析,以及各种PAPR降低技术的效果评估。

3.MATLAB核心程序
```for n = 1:MTKL
% 数据转换为频域。
X = fft(Signal);

% 初始化子载波。
Y = zeros(Nsubcs,1);    

% 子载波映射。
if Nsubc == 1
    Y(1:Q:Nsubcs) = X; % IFDMA映射。
elseif Nsubc == 2
    Y(1:Nsymb) = X; % LFDMA映射。
elseif Nsubc == 3
    Y(1:Q_tilda:Q_tilda*Nsymb) = X; % DFDMA映射。
end

% 数据转换回时域。
y = ifft(Y);

% 执行脉冲整形。
if pulseShaping == 1
    y_oversampled = zeros(Nos*length(y), 1); % 初始化过采样数组。
    y_oversampled(1:Nos:end) = y; % 进行过采样。
    y_result = filter(psFilter, 1, y_oversampled); % 过滤。
else
    y_result = y;
end

% 计算PAPR。
papr(n) = 10*log10(max(abs(y_result).^2) / mean(abs(y_result).^2));

end

% Plot CCDF.
[N,X] = hist(papr, 100);

papr11=papr;
figure;
hist(papr, 100)
grid on

semilogy(X,1-cumsum(N)/max(cumsum(N)),'b')

if Modsel == 1 & Nsubc == 1
save R211.mat X N papr11
end
if Modsel == 2 & Nsubc == 1
save R221.mat X N papr11
end
if Modsel == 1 & Nsubc == 2
save R212.mat X N papr11
end
if Modsel == 2 & Nsubc == 2
save R222.mat X N papr11
end
if Modsel == 1 & Nsubc == 3
save R213.mat X N papr11
end
if Modsel == 2 & Nsubc == 3
save R223.mat X N papr11
end
```

相关文章
|
24天前
|
5G
基于IEEE 802.11a标准的物理层MATLAB仿真
基于IEEE 802.11a标准的物理层MATLAB仿真
117 0
|
30天前
|
算法
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
|
18天前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
|
1月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
1月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
18天前
|
传感器 机器学习/深度学习 算法
【无人机协同】动态环境下多无人机系统的协同路径规划与防撞研究(Matlab代码实现)
【无人机协同】动态环境下多无人机系统的协同路径规划与防撞研究(Matlab代码实现)
|
2月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
150 2
|
2月前
|
监控
基于MATLAB/Simulink的单机带负荷仿真系统搭建
使用MATLAB/Simulink平台搭建一个单机带负荷的电力系统仿真模型。该系统包括同步发电机、励磁系统、调速系统、变压器、输电线路以及不同类型的负荷模型。
399 5
|
29天前
|
算法 数据挖掘 调度
数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究(Matlab代码实现)
数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究(Matlab代码实现)
|
2月前
|
机器学习/深度学习 边缘计算 算法
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
162 0

热门文章

最新文章