Engee 文档
Notebook

基于QPSK的OFDM通信模型

本演示中的模型是使用QPSK调制的基于正交频分复用(OFDM)技术的通信系统。 OFDM是一种调制技术,其中一个信号在频域中被分成几个并行传输的子载波。 在这种体系结构中,块结构的组织方式是反映调制、映射到频率分量、添加噪声和反向转换以恢复信号的过程。

模型本身如下图所示。

image.png

模型的架构如下。

  1. QPSK(正交相移键控)。
    在第一阶段,使用QPSK方法调制数字数据。 QPSK通过改变载波信号的相位来表示信息,并且每个符号编码两位数据。 在QPSK单元的输出端接收调制信号,准备传输。

  2. Ifft(快速傅立叶逆变换)
    在QPSK调制之后,使用IFFT块将数据从时域转移到频域。 在这种情况下,IFFT用于通过跨子载波频率分布数据来创建OFDM符号。 在这个阶段,信号被分割成正交子载波。 后,准备在通信信道中进行传输。

  3. AWGN(加性白高斯噪声)
    加性白高斯噪声(AWGN)被添加到通信信道以模拟真实世界的传输条件。 该装置模拟影响实际系统中信号的随机干扰,如热噪声和大气干扰。

  4. FFT(快速傅立叶变换)
    在接收端,使用FFT块将信号转换回频域。 这个过程恢复了信号的频率分量,允许从有噪声的信号中提取有用的数据,然后可以对其进行解调。

  5. QPSK解调
    最后,信号经历QPSK解调,其基于调制信号的相位变化恢复原始数字数据。 在输出端,我们接收已通过通信信道的重建数字信号。

启动模型的辅助功能。

In [ ]:
# Подключение вспомогательной функции запуска модели.
function run_model( name_model)
    
    Path = (@__DIR__) * "/" * name_model * ".engee"
    
    if name_model in [m.name for m in engee.get_all_models()] # Проверка условия загрузки модели в ядро
        model = engee.open( name_model ) # Открыть модель
        model_output = engee.run( model, verbose=true ); # Запустить модель
    else
        model = engee.load( Path, force=true ) # Загрузить модель
        model_output = engee.run( model, verbose=true ); # Запустить модель
        engee.close( name_model, force=true ); # Закрыть модель
    end
    sleep(5)
    return model_output
end
Out[0]:
run_model (generic function with 1 method)

启动和分析模型

In [ ]:
run_model("QPSK_Based_OFDM_Communication_Model") # Запуск модели.
BER = collect(BER)
println("BER: $(BER.value[end])")
Building...
Progress 34%
Progress 40%
Progress 68%
Progress 100%
Progress 100%
BER: 0.0

正如我们所看到的,错误为零,这意味着系统正常工作。

结论

总之,我们将突出这个模型的主要特点。

  1. 带宽的高效利用:通过使用OFDM,调制信号有效地占用带宽,使得该模型适用于Wi-Fi和LTE等资源有限的通信系统。
  2. 噪声容限:AWGN的加入使您能够在嘈杂信道上的真实数据传输条件下评估系统性能。
  3. 频率复用的应用:使用IFFT和FFT过渡到频域允许系统在并行子载波上传输数据,增加了对信号衰落和码间干扰的抵抗力。

总之,该模型清楚地演示了如何将QPSK和OFDM结合起来,以提高通信系统在干扰和有限带宽条件下的性能。