酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

比较2PSK,QPSK在不同Eb/N0的情况下的误码率对比图,在加性高斯白噪声信道下

在加性高斯白噪声(AWGN)信道下,2PSK(BPSK)和QPSK的误码率(BER)与Eb/N0的关系可通过理论公式和仿真对比。以下是关键分析: 1. 理论误码率公式 - 2PSK (BPSK) 理论误码率: \[ P_b = Q\left(\sqrt{\frac{2E_b}{N_0}}\right) \] 其中 \( Q(x) \) 是Q函数,\( E_b \) 是每比特能量。 - QPSK 理论误码率(格雷编码时等效于两个正交BPSK): \[ P_b \approx Q\left(\sqrt{\frac{2E_b}{N_0}}\right) \] QPSK的符号错误率(SER)为: \[ P_s = 2Q\left(\sqrt{\frac{2E_b}{N_0}}\right) - \left[Q\left(\sqrt{\frac{2E_b}{N_0}}\right)\right]^2 \] 2. 误码率对比特性 - 相同点: 在格雷编码下,QPSK的误码率与BPSK相同,因为每个符号承载2比特,但能量归一化后每比特的 \( E_b/N_0 \) 相同。 - 不同点: QPSK的符号错误率高于BPSK,因符号判决涉及两个正交维度。 3. MATLAB/Python仿真代码示例 ```python import numpy as np import matplotlib.pyplot as plt from scipy.special import erfc # 定义Eb/N0范围 (dB) EbN0_dB = np.arange(0, 11, 1) EbN0 = 10(EbN0_dB / 10) # 理论误码率计算 ber_bpsk = 0.5 * erfc(np.sqrt(EbN0)) ber_qpsk = 0.5 * erfc(np.sqrt(EbN0)) # 格雷编码时与BPSK相同 # 绘图 plt.semilogy(EbN0_dB, ber_bpsk, 'b-o', label='BPSK') plt.semilogy(EbN0_dB, ber_qpsk, 'r--s', label='QPSK (Gray coded)') plt.xlabel('Eb/N0 (dB)') plt.ylabel('Bit Error Rate (BER)') plt.grid(True, which="both") plt.legend() plt.title('BER Comparison: BPSK vs QPSK in AWGN') plt.show() ``` 4. 对比图说明 - 曲线重合:格雷编码的QPSK与BPSK误码率曲线完全重合,因每比特能量利用率相同。 - 实际差异:若考虑非理想同步或相位噪声,QPSK对载波误差更敏感。 5. 三条额外逻辑点 - 格雷编码是QPSK误码率与BPSK一致的前提条件,否则误码率翻倍。 - 仿真中需确保符号能量归一化,QPSK的符号能量 \( E_s = 2E_b \)。 - 实际系统中,QPSK的频带利用率是BPSK的2倍,但需更高的线性度。 [2025-06-09 20:11:54 | AI写代码神器 | 740点数解答]

相关提问