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
```

相关文章
|
3天前
|
算法 数据安全/隐私保护 计算机视觉
基于DCT变换的彩色图像双重水印嵌入和提取算法matlab仿真
**算法摘要:** - 图形展示:展示灰度与彩色图像水印应用,主辅水印嵌入。 - 软件环境:MATLAB 2022a。 - 算法原理:双重水印,转换至YCbCr/YIQ,仅影响亮度;图像分割为M×N块,DCT变换后嵌入水印。 - 流程概览:两步水印嵌入,每步对应不同图示表示。 - 核心代码未提供。
|
4天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的智能零售柜商品识别系统matlab仿真,带GUI界面
MATLAB 2022a中展示了YOLOv2目标检测算法的仿真结果,包括多张检测图像。YOLOv2是实时检测算法,由卷积层和全连接层构成,输出张量包含边界框坐标和类别概率。损失函数由三部分组成。程序使用75%的数据进行训练,剩余25%作为测试集。通过ResNet-50预训练模型构建YOLOv2网络,并用SGDM优化器进行训练。训练完成后,保存模型为`model.mat`。
19 2
|
5天前
|
机器学习/深度学习 算法 数据挖掘
基于PSO优化的CNN-GRU-Attention的时间序列回归预测matlab仿真
摘要: 本文介绍了运用粒子群优化(PSO)调整深度学习模型超参数以提升时间序列预测性能的方法。在比较了优化前后的效果(Ttttttttttt12 vs Ttttttttttt34)后,阐述了使用matlab2022a软件的算法。文章详细讨论了CNN、GRU网络和注意力机制在时间序列预测中的作用,以及PSO如何优化这些模型的超参数。核心程序展示了PSO的迭代过程,通过限制和调整粒子的位置(x1)和速度(v1),寻找最佳解决方案(gbest1)。最终,结果保存在R2.mat文件中。
基于PSO优化的CNN-GRU-Attention的时间序列回归预测matlab仿真
|
6天前
|
存储 算法
m考虑时偏影响的根升余弦滤波器matlab仿真
MATLAB 2022a仿真实现了根升余弦滤波器(RRC)的效果,该滤波器常用于通信系统以消除码间干扰。RRC滤波器设计考虑了时偏影响,其脉冲响应由理想矩形脉冲卷积得到,滚降系数控制衰减速度。在有同步误差时,滤波器需保持良好ISI抑制能力。MATLAB代码展示了计算时偏量并应用RRC滤波于连续样本的过程,以降低误码率并优化系统性能。
14 2
|
4月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
4月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)
|
4月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
|
4月前
【数值分析】二分法求方程的根(附matlab代码)
【数值分析】二分法求方程的根(附matlab代码)
|
26天前
|
存储 人工智能 机器人
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
|
1月前
|
存储
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】

热门文章

最新文章