Monday, June 16, 2025

Re: Inconsistent I/Q Channel Output with single Pluto for BPSK tx and rx

On Sat, Jun 14, 2025 at 3:26 PM Maciej ZemÅ‚o <mzemlo.pl@gmail.com> wrote:
Hi,

I'm testing a basic BPSK tx-rx chain using GNU Radio v3.10.12.0 with a single Pluto device. The system performs BPSK modulation on a constant bit stream (0x0A) and transmits it via the PlutoSDR's TX (cycle on), while the RX path is connected in a loopback configuration.

Each time I run the script, the received I and Q components appear in a different arrangement. Sometimes the signal appears predominantly on the I channel, other times on Q, or even rotated. The transmitted waveform remains constant and is visualized properly in the TX time sink, while the RX signal varies significantly in phase alignment between subsequent executions. A set of plots showing these differences is available at:

This phase ambiguity is inherent in the system and the modulation. Each local oscillator being used are separately tuned which introduces the phase shift.
 
I'd appreciate even a brief signal on whether this behavior is expected and how it is typically addressed. Would using two separate Pluto units (one for TX and one for RX) eliminate this ambiguity?

If you want to keep regular BPSK, then typically you'll send some synchronization pattern to figure out "which way is up". The undoing of this is a simple phase rotation (complex multiplication) with the complex conjugate of the result of the correlation between what was sent and what was received.

If you want to get rid of all ambiguities in general, and you're willing to take a 3 dB performance hit, switch to differential BPSK. This looks at just the difference between the previous symbol and the current symbol to get the actual message data. Phase ambiguities are eliminated using this method.

Good luck.

Brian

No comments:

Post a Comment