OFDM communication model based on QPSK
The model in this demonstration is a communication system based on orthogonal frequency division multiplexing (OFDM) technology using QPSK modulation. OFDM is a modulation technique in which a signal is split into several subcarriers transmitted in parallel in the frequency domain. In this architecture, the block structure is organized in such a way as to reflect the processes of modulation, mapping to frequency components, adding noise, and reverse conversion to restore the signal.
The model itself is shown in the picture below.
The architecture of the model is as follows.
-
QPSK (Quadrature Phase Shift Keying).
At the first stage, digital data is modulated using the QPSK method. QPSK represents information by changing the phase of the carrier signal, and each symbol encodes two bits of data. A modulated signal is received at the output of the QPSK unit, ready for transmission. -
IFFT (Inverse Fast Fourier Transform)
After QPSK modulation, the data is transferred from the time domain to the frequency domain using the IFFT block. In this case, IFFT is used to create an OFDM symbol by distributing data across subcarrier frequencies. At this stage, the signal is split into orthogonal subcarriers. After that, it is ready for transmission in the communication channel. -
AWGN (Additive White Gaussian Noise)
Additive white Gaussian noise (AWGN) is added to the communication channel to simulate real-world transmission conditions. This unit simulates random interference that affects the signal in real systems, such as thermal noise and atmospheric interference. -
FFT (Fast Fourier Transform)
On the receiving side, the signal is translated back into the frequency domain using the FFT block. This process restores 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 undergoes QPSK demodulation, which restores the original digital data based on the phase changes of the modulated signal. At the output, we receive a reconstructed digital signal that has passed through the communication channel.
Auxiliary functions for launching the model.
# Enabling the auxiliary model launch function.
function run_model( name_model)
Path = (@__DIR__) * "/" * name_model * ".engee"
if name_model in [m.name for m in engee.get_all_models()] # Checking the condition for loading a model into the kernel
model = engee.open( name_model ) # Open the model
model_output = engee.run( model, verbose=true ); # Launch the model
else
model = engee.load( Path, force=true ) # Upload a model
model_output = engee.run( model, verbose=true ); # Launch the model
engee.close( name_model, force=true ); # Close the model
end
sleep(5)
return model_output
end
Launching and analyzing the model
run_model("QPSK_Based_OFDM_Communication_Model") # Launching the model.
BER = collect(BER)
println("BER: $(BER.value[end])")
As we can see, the error is zero, which means that the system is working correctly.
Conclusion
In conclusion, we will highlight the main features of this model.
- Efficient use of bandwidth: By using OFDM, the modulated signal effectively occupies bandwidth, making the model suitable for communication systems with limited resources such as Wi-Fi and LTE.
- Noise tolerance: The addition of AWGN allows you to evaluate system performance in real-world data transmission conditions over a noisy channel.
- Application of frequency multiplexing: using IFFT and FFT to transition to the frequency domain allows the system to transmit data over parallel subcarriers, increasing resistance to signal fading and intersymbol interference.
To summarize, this model clearly demonstrates how QPSK and OFDM can be combined to improve the performance of communication systems in conditions of interference and limited bandwidth.