OFDM系统中高峰均比(PAPR)以及DFT-S-OFDM

1. 高峰均比(PAPR)的数学分析

OFDM信号的时域波形由多个正交子载波的叠加产生,当多个子载波在某一时刻相位对齐时,信号幅度会达到极大值,导致高PAPR。以下是关键公式推导:


(1) OFDM时域信号

假设OFDM符号有 N N N 个子载波,调制符号为 X k X_k Xk(如QPSK或QAM),则时域离散信号为:
x [ n ] = 1 N ∑ k = 0 N − 1 X k e j 2 π k n N , n = 0 , 1 , … , N − 1 x[n] = \frac{1}{\sqrt{N}} \sum_{k=0}^{N-1} X_k e^{j \frac{2\pi kn}{N}}, \quad n = 0,1,\dots,N-1 x[n]=N 1k=0N1XkejN2πkn,n=0,1,,N1
其中,归一化因子 1 / N 1/\sqrt{N} 1/N 保证信号平均功率为1。


(2) PAPR定义

峰均比(PAPR)定义为信号的峰值功率与平均功率的比值:
PAPR = max ⁡ n ∣ x [ n ] ∣ 2 E [ ∣ x [ n ] ∣ 2 ] \text{PAPR} = \frac{\max_{n} |x[n]|^2}{E\left[ |x[n]|^2 \right]} PAPR=E[x[n]2]maxnx[n]2
其中,分母为平均功率,分子为瞬时峰值功率。


(3) PAPR的理论上限

若所有子载波相位对齐( X k X_k Xk 均为同相位),时域信号幅度达到最大:
max ⁡ ∣ x [ n ] ∣ = 1 N ∑ k = 0 N − 1 ∣ X k ∣ \max |x[n]| = \frac{1}{\sqrt{N}} \sum_{k=0}^{N-1} |X_k| maxx[n]=N 1k=0N1Xk
假设 X k X_k Xk 为归一化调制符号(如QPSK, ∣ X k ∣ = 1 |X_k|=1 Xk=1),则:
max ⁡ ∣ x [ n ] ∣ = N ⇒ PAPR 理论 = N \max |x[n]| = \sqrt{N} \quad \Rightarrow \quad \text{PAPR}_{\text{理论}} = N maxx[n]=N PAPR理论=N
实际中,所有子载波相位对齐的概率极低,但PAPR仍随 N N N 增大而显著升高。



单载波与OFDM系统的PAPR对比分析

1. 数学原理对比
  • 单载波系统
    单载波信号(例如QPSK或QAM)的时域幅度恒定(假设无脉冲成形),因此其峰均比理论值为0 dB:
    PAPR 单载波 = 10 log ⁡ 10 ( max ⁡ ∣ x [ n ] ∣ 2 E [ ∣ x [ n ] ∣ 2 ] ) = 10 log ⁡ 10 ( 1 ) = 0   dB \text{PAPR}_{\text{单载波}} = 10 \log_{10}\left(\frac{\max |x[n]|^2}{E[|x[n]|^2]}\right) = 10 \log_{10}(1) = 0 \, \text{dB} PAPR单载波=10log10(E[x[n]2]maxx[n]2)=10log10(1)=0dB

  • OFDM系统
    OFDM信号的时域波形由多子载波叠加,相位对齐时产生高峰值:
    PAPR OFDM ≈ 10 log ⁡ 10 ( N )   dB ( N = 子载波数 ) \text{PAPR}_{\text{OFDM}} \approx 10 \log_{10}(N) \, \text{dB} \quad (N = \text{子载波数}) PAPROFDM10log10(N)dB(N=子载波数)


2. Python代码对比PAPR的CCDF曲线

以下代码生成单载波(QPSK)和OFDM信号的PAPR分布,并绘制对比图:

import numpy as np
import matplotlib.pyplot as plt

def generate_single_carrier(num_symbols, mod_order=4):
    """生成单载波信号(QPSK调制,假设无脉冲成形)"""
    data = np.random.randint(0, mod_order, num_symbols)
    constellation = np.exp(1j * (np.pi/4 + 2 * np.pi * data / mod_order))
    return constellation

def generate_ofdm_symbol(N_subcarrier, mod_order=4):
    """生成OFDM符号(QPSK调制)"""
    data = np.random.randint(0, mod_order, N_subcarrier)
    constellation = np.exp(1j * (np.pi/4 + 2 * np.pi * data / mod_order))
    time_signal = np.fft.ifft(constellation, n=N_subcarrier)
    return time_signal

def calculate_papr(signal):
    """计算PAPR(单位:dB)"""
    peak_power = np.max(np.abs(signal)**2)
    avg_power = np.mean(np.abs(signal)**2)
    return 10 * np.log10(peak_power / avg_power)

def plot_ccdf_comparison(N_subcarrier=64, num_symbols=1000):
    """绘制单载波与OFDM的PAPR对比CCDF曲线"""
    # 生成单载波信号(每个符号对应一个采样点)
    sc_signals = generate_single_carrier(num_symbols)  # 单载波信号
    ofdm_signals = [generate_ofdm_symbol(N_subcarrier) for _ in range(num_symbols)]  # OFDM信号

    # 计算PAPR
    sc_papr = [calculate_papr(sc_signals)] * num_symbols  # 单载波PAPR恒为0 dB
    ofdm_papr = [calculate_papr(signal) for signal in ofdm_signals]

    # 绘制CCDF
    plt.figure()
    # 单载波CCDF(理论值0 dB)
    plt.axvline(x=0, color='r', linestyle='--', label='Single Carrier (QPSK)')
    # OFDM CCDF
    values, base = np.histogram(ofdm_papr, bins=100, density=True)
    ccdf = 1 - np.cumsum(values) * np.diff(base)[0]
    plt.plot(base[:-1], ccdf, label=f'OFDM (N={N_subcarrier})')
  
    plt.xlabel('PAPR (dB)')
    plt.ylabel('Probability (PAPR > x)')
    plt.title('PAPR CCDF Comparison: Single Carrier vs. OFDM')
    plt.grid(True)
    plt.legend()
    plt.show()

# 执行对比
plot_ccdf_comparison(N_subcarrier=64, num_symbols=1000)

在这里插入图片描述


3. 代码解释
  1. 信号生成
    • 单载波:直接生成QPSK符号,每个符号对应一个采样点。
    • OFDM:通过IFFT生成时域信号,每个符号包含(N=64)个子载波


4. 直观解释
  • 子载波叠加效应:当多个子载波同相位叠加时,时域信号幅度显著增大。
  • 统计特性:OFDM时域信号的实部和虚部近似为高斯分布,但其包络分布(幅度)会导致高PAPR。
  • 子载波数影响:子载波数 N N N 越大,出现极端峰值的概率越高。

5. 数学与代码结论
参数数学关系代码验证
理论PAPR上限 PAPR max = 10 log ⁡ 10 ( N ) \text{PAPR}_{\text{max}} = 10\log_{10}(N) PAPRmax=10log10(N)仿真显示PAPR随 N N N 增大而升高
子载波数 N N NPAPR与 N N N 正相关对比 N = 64 N=64 N=64 N = 256 N=256 N=256 结果
信号叠加机制多子载波同相位叠加导致高峰值CCDF曲线右移,高PAPR概率增大

6. 降低PAPR的常用方法

尽管OFDM天然存在高PAPR,但可通过以下技术缓解:

  1. 削峰(Clipping):直接限制信号幅度,但引入失真。
  2. 选择性映射(SLM):选择PAPR最低的信号版本。
  3. 预编码(PTS):优化相位序列降低峰值。
  4. 压扩变换:非线性压缩动态范围。
  5. DFT-S-OFDM:对于高功率的 2 级功率应用或者当用户设备位于基站蜂窝的边缘位置,远离信号塔时,DFT-S-OFDM 可能是首选波形。


DFT-S-OFDM降低PAPR的原理

1. DFT-S-OFDM的基本原理

DFT-S-OFDM(离散傅里叶变换扩频正交频分复用)通过以下步骤降低PAPR:

  1. DFT预处理:将多个数据符号通过DFT转换到频域,形成频域扩展符号。
  2. 子载波映射:将DFT后的频域符号映射到OFDM子载波的中心位置(类似单载波特性)。
  3. IFFT变换:通过IFFT生成时域信号,最终信号表现为类似单载波的低PAPR特性。
2. 降低PAPR的数学解释

假设输入数据符号为 d 0 , d 1 , … , d M − 1 d_0, d_1, \dots, d_{M-1} d0,d1,,dM1,经过 M M M-点DFT扩展到频域:
D k = ∑ m = 0 M − 1 d m e − j 2 π k m M , k = 0 , 1 , … , M − 1 D_k = \sum_{m=0}^{M-1} d_m e^{-j \frac{2\pi km}{M}}, \quad k = 0,1,\dots,M-1 Dk=m=0M1dmejM2πkm,k=0,1,,M1
D k D_k Dk 映射到OFDM的 N N N 个子载波(通常 N > M N > M N>M,未映射的位置填零),再通过IFFT生成时域信号:
x [ n ] = 1 N ∑ k = 0 N − 1 D k e j 2 π k n N x[n] = \frac{1}{\sqrt{N}} \sum_{k=0}^{N-1} D_k e^{j \frac{2\pi kn}{N}} x[n]=N 1k=0N1DkejN2πkn
由于频域符号的扩展,时域信号的幅度波动显著降低,PAPR接近单载波系统。


3. Python代码实现

以下代码生成传统OFDM和DFT-S-OFDM的时域信号,并对比两者的PAPR分布。

(1) 生成DFT-S-OFDM信号
import numpy as np
import matplotlib.pyplot as plt

def generate_dft_s_ofdm_symbol(M_subcarrier, N_fft, mod_order=4):
    """生成DFT-S-OFDM符号(QPSK调制)"""
    # 生成QPSK数据符号
    data = np.random.randint(0, mod_order, M_subcarrier)
    constellation = np.exp(1j * (np.pi/4 + 2 * np.pi * data / mod_order))
  
    # DFT预处理(M点DFT)
    dft_output = np.fft.fft(constellation, n=M_subcarrier)
  
    # 子载波映射到中心位置(假设N_fft > M_subcarrier)
    subcarrier_mapping = np.zeros(N_fft, dtype=complex)
    start_idx = (N_fft - M_subcarrier) // 2
    subcarrier_mapping[start_idx:start_idx + M_subcarrier] = dft_output
  
    # IFFT变换生成时域信号
    time_signal = np.fft.ifft(subcarrier_mapping, n=N_fft)
    return time_signal

def calculate_papr(signal):
    """计算PAPR(单位:dB)"""
    peak_power = np.max(np.abs(signal)**2)
    avg_power = np.mean(np.abs(signal)**2)
    return 10 * np.log10(peak_power / avg_power)

def plot_papr_comparison(M_subcarrier, N_fft, num_symbols=1000):
    """绘制OFDM与DFT-S-OFDM的PAPR对比CCDF曲线"""
    ofdm_papr = []
    dfts_ofdm_papr = []
  
    for _ in range(num_symbols):
        # 传统OFDM(占用全部子载波)
        ofdm_symbol = generate_ofdm_symbol(N_fft)
        ofdm_papr.append(calculate_papr(ofdm_symbol))
      
        # DFT-S-OFDM(占用M个子载波)
        dfts_symbol = generate_dft_s_ofdm_symbol(M_subcarrier, N_fft)
        dfts_ofdm_papr.append(calculate_papr(dfts_symbol))
  
    # 计算CCDF
    def compute_ccdf(papr_list):
        values, base = np.histogram(papr_list, bins=100, density=True)
        ccdf = 1 - np.cumsum(values) * np.diff(base)[0]
        return base[:-1], ccdf
  
    plt.figure()
    # 传统OFDM
    x_ofdm, y_ofdm = compute_ccdf(ofdm_papr)
    plt.plot(x_ofdm, y_ofdm, label=f'OFDM (N={N_fft})')
  
    # DFT-S-OFDM
    x_dfts, y_dfts = compute_ccdf(dfts_ofdm_papr)
    plt.plot(x_dfts, y_dfts, label=f'DFT-S-OFDM (M={M_subcarrier}, N={N_fft})')
  
    plt.xlabel('PAPR (dB)')
    plt.ylabel('Probability (PAPR > x)')
    plt.title('PAPR CCDF: OFDM vs. DFT-S-OFDM')
    plt.grid(True)
    plt.legend()
    plt.show()

# 参数设置:M为有效子载波数,N_fft为OFDM的总子载波数
M_subcarrier = 64  # DFT-S-OFDM有效子载波数
N_fft = 256        # OFDM总子载波数
plot_papr_comparison(M_subcarrier, N_fft)

4. 代码说明与结果分析
  1. DFT预处理

    • 输入数据符号通过 M M M-点DFT扩展,映射到OFDM的 N N N 个子载波中心位置。
    • 代码中 M_subcarrier=64N_fft=256 表示DFT-S-OFDM仅使用64个子载波,而OFDM使用全部256个子载波。
  2. PAPR对比

    • 传统OFDM:高PAPR(例如,当 N = 256 N=256 N=256 时,理论PAPR为 10 log ⁡ 10 ( 256 ) ≈ 24 10\log_{10}(256) \approx 24 10log10(256)24 dB)。
    • DFT-S-OFDM:通过频域扩展和子载波映射,信号类似单载波,PAPR显著降低(接近单载波的0 dB)。
  3. 仿真结果
    在这里插入图片描述

    • 传统OFDM的CCDF曲线位于右侧(高PAPR概率大),DFT-S-OFDM的曲线左移,显示PAPR改善明显。

5. DFT-S-OFDM的优缺点
优点缺点
PAPR接近单载波,适合功率受限场景频谱效率略低于传统OFDM(需预留保护子载波)
兼容OFDM接收机设计复杂度略高(需DFT预处理)

通过上述分析,DFT-S-OFDM通过频域扩展和子载波映射,在保持OFDM优势的同时显著降低PAPR,适用于上行链路等对功率效率要求高的场景。
(DFT-S-OFDM通过DFT预处理生成类似单载波的低PAPR信号,降低终端功率放大器(PA)的非线性失真风险,使PA能高效工作在接近饱和区,从而延长电池寿命并提升发射效率,尤其适合移动终端功率受限的上行链路场景,同时保留OFDM抗多径衰落和频域调度的优势。)

  • 传统OFDM,因为峰值功率很高,PA必须工作在远离饱和区的线性区域,以避免峰值部分被削波,从而产生失真。(对应下图前面)但这样效率低下,因为PA在低功率输出时效率较低。

  • DFT-S-OFDM,通过预编码技术,将信号转换成类似单载波的特性,PAPR较低,接近0 dB。这样PA可以工作在接近饱和区的非线性区域,此时PA的效率更高,因为饱和区附近是PA转换效率最高的区域。

在这里插入图片描述

在这里插入图片描述

### 回答1: CP-OFDM (正交频分多址,Cyclic Prefix Orthogonal Frequency Division Multiplexing) 是一种带循环前缀的 OFDM 技术,用于减少频偏导致的信道失真。 DFT-S-OFDM (正交频分多址,Discrete Fourier Transform Spread Orthogonal Frequency Division Multiplexing) 是一种基于 DFT (离散傅里叶变换)OFDM 技术,可以支持更高的带宽效率和抗干扰能力。 ### 回答2: CP-OFDM(循环前缀正交频分复用)和DFT-S-OFDM(离散傅里叶变换序列正交频分复用)都是OFDM技术的变种,用于数字通信系统中,它们的主要区别在于它们试图解决不同的问题。 CP-OFDMOFDM技术的标准实现形式,它采用循环前缀技术解决了信道失真带来的码间干扰(ICI)问题。当信道失真导致码间干扰的时候,循环前缀可以提供保护,将发送的符号码分为若干个长度相同的块,每个码块后添加一段循环前缀,再将它们串接起来发送,接收器根据自己知道的循环前缀长度来将码块分离并去掉前缀,从而消除了ICI问题。 而DFT-S-OFDM则采用了离散傅里叶变换(DFT)代替了循环前缀,在传输信号矩阵的每一列上执行DFT,由于DFT是正交的,可以保证由不同输入产生的输出彼此正交,从而减少了ICI。此外,DFT-S-OFDM还可以通过增加间隔的DFT长度来实现高灵敏度,DFT长度越大,相邻子载波之间的差异也就越大,因此它对于理论上的通道模型要求低,能够适用于更广泛的情况。 综上所述,CP-OFDMDFT-S-OFDM都是OFDM技术的重要变种,它们的特点和优缺点有所不同,适用于不同的场景和应用需求。在选择哪种技术时,需要根据具体的通信系统需求和实际环境来进行选择。 ### 回答3: CP-OFDMDFT-S-OFDM是两种用于数字通信的OFDM技术,在5G等网络中被广泛使用。两者有着不同的特点和应用场景。 CP-OFDM(Cyclic Prefix OFDM)是OFDM技术中最常用的一种类型,它通过添加循环前缀(CP)来解决多径效应带来的因为符号间干扰而引起的信号失真问题。CP是由扩展OFDM符号前面一小段数据组成的,并复制到了OFDM符号序列的末尾,因此发送时会将OFDM符号序列扩展一倍。这么做的好处是可以为符号间消除干扰,使得接收端可以更好地恢复信号。然而CP-OFDM也存在一些缺陷,例如需要额外的发送时间、功耗较高等。 DFT-S-OFDM(Discrete Fourier Transform Spread OFDM)也被称为FBMC (Filtered Bank Multicarrier)。它是一种基于OFDM的子载波调制技术,它利用快速傅里叶变换(FFT)和滤波器银行,使数据能够平稳地分布在原始频率上,从而在不同频带上实现更好的系统性能。另外,DFT-S-OFDM具有下行波束成形的优点,即可以对用户进行动态的波束成形,提高频率复用,从而提高无线电频谱利用率。 总结来看,CP-OFDMDFT-S-OFDM各自具有自己的优点和缺点,应用场景也不同。如果需要在对多径效应时进行抗干扰,则CP-OFDM是一个比较好的选择。而如果需要实现波束成形和提高频谱利用率,那么DFT-S-OFDM更为适合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值