QPSK based OFDM communication model¶
The model in this demonstration is a communication system based on OFDM (Orthogonal frequency division multiplexing) using QPSK modulation. OFDM is a modulation technique in which the signal is divided into several subcarriers transmitted in parallel in the frequency domain. In this architecture, the block structure is organised to reflect the processes of modulation, mapping to frequency components, adding noise and inverse conversion to recover the signal.
The model itself is shown in the figure below.
The architecture of the model is as follows.
QPSK (Quadrature Phase Shift Keying). In the first stage, the digital data is modulated using QPSK technique. QPSK represents information by changing the phase of the carrier signal and each symbol encodes two bits of data. The output of the QPSK block is a modulated signal ready for transmission.
IFFT (Inverse Fast Fourier Transform). After QPSK modulation, the data is converted from time domain to frequency domain using IFFT block. IFFT in this case is used to create an OFDM symbol by spreading the data over the subcarrier frequencies. At this stage, the signal is split into orthogonal subcarriers. It is then ready for transmission in the communication channel.
AWGN (Additive White Gaussian Noise). Additive White Gaussian Noise (AWGN) is added to the link to simulate real transmission conditions. This block simulates random noise that affects the signal in real systems, such as thermal noise and atmospheric noise.
FFT (Fast Fourier Transform). At the receiving end, the signal is translated back to the frequency domain using an FFT block. This process reconstructs the frequency components of the signal, allowing useful data to be extracted from the noisy signal, which can then be demodulated.
QPSK Demodulation Finally, the signal is subjected to QPSK demodulation, which recovers the original digital data by relying on the phase changes of the modulated signal. The output is the reconstructed digital signal that has travelled through the communication channel.
Auxiliary functions to run the model.¶
# Подключение вспомогательной функции запуска модели.
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
Running and analysing the model¶
run_model("QPSK_Based_OFDM_Communication_Model") # Запуск модели.
BER = collect(BER)
println("BER: $(BER.value[end])")
As we can see, the error is zero, so the system works correctly.
Conclusion¶
To conclude, let us highlight the main features of this model. 1- Efficient bandwidth utilisation: by using OFDM, the modulated signal occupies the bandwidth efficiently, which makes the model suitable for resource-constrained communication systems such as Wi-Fi and LTE. 2. Noise immunity: the addition of AWGN allows the system performance to be evaluated under realistic conditions of data transmission over a noisy channel. 3. Frequency multiplexing application: the use of IFFT and FFT for frequency domain transition allows the system to transmit data over parallel subcarriers, improving robustness to signal fading and intersymbol interference.
To summarise, this model clearly demonstrates how QPSK and OFDM can be combined to improve the performance of communication systems under interference and bandwidth constraints.