Borrar filtros
Borrar filtros

How to do OQPSK Demodulation in MATLAB 2020b without using inbuilt block?

4 visualizaciones (últimos 30 días)
I want to do modulation classification among OQPSK and QPSK. For that I require downsampled constellation (samples per symbol=1) of OQPSK. I am unable to get that in the comm.OQPSKModulator and comm.OQPSKDemodulator block of MATLAB 2020b. So I modulated the signal on my own by following steps:
a. Split bits to odd (I) and even (Q)
b. Filter both I & Q streams, e.g., with raised-cosine or half-sine filtering
c. Delay the even-bit stream (Q) by half a simple and make a complex waveform I + j*Q
Now I want to demodulate it. Please tell me the correct steps so that I can get downsampled constellation before demodulation.

Respuestas (1)

Abhimenyu
Abhimenyu el 7 de Jun. de 2024
Hello,
I understand that you want to demodulate an OQPSK-modulated signal. To demodulate the OQPSK signal, please follow these steps:
  1. Matched Filtering: Apply a matched filter to your received signal. The matched filter should have the same pulse shape as the OQPSK modulator (raised-cosine or half-sine filtering). Then sample the matched filter outputs at 2 samples per symbol (since you want to downsample later).
  2. Downsampling: Downsample the matched filter outputs to achieve the desired samples per symbol (in your case, 1 sample per symbol). You can use every other sample from the matched filter outputs for both the in-phase (I) and quadrature (Q) components.
  3. Decision Logic: Implement decision logic to map the downsampled I and Q samples back to the transmitted symbols. Compare the I and Q samples to the OQPSK constellation points (±A/sqrt(2), ±A/sqrt(2)) to determine the transmitted bits.
Please adjust any delays introduced during the modulation process.
I hope this helps!

Productos


Versión

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by