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

10 次查看(过去 30 天)
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.

回答(1 个)

Abhimenyu
Abhimenyu 2024-6-7
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!

类别

Help CenterFile Exchange 中查找有关 Modulation 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by