Skip to content

IQ Pipeline

This example illustrates how to construct a quaternionic IQ pipeline using the QSP ecosystem.

Note

This is a conceptual example. Code snippets are illustrative. Verify against the current package API before use.


Overview

A standard IQ (in-phase / quadrature) pipeline represents signals in the complex plane. A quaternionic IQ pipeline extends this to encode signals with additional geometric structure — for example, a dual-polarized signal with two independent IQ channels, or a signal embedded in a 3D rotation space.


Scenario

You have two polarization channels of a received signal, each in IQ form. You want to:

  1. Combine them into a quaternionic representation
  2. Filter the result
  3. Pass the conditioned signal to a downstream stage

Example

# Conceptual example — not a tested API call
import numpy as np
import qsp_core
import qsp_filter

# Two IQ channels from a dual-polarized receiver
# Shape: (N,) complex arrays
channel_h = np.array(...)  # horizontal polarization IQ
channel_v = np.array(...)  # vertical polarization IQ

# Embed the two IQ channels into a quaternionic signal
# Real and imaginary parts of each complex channel map to quaternion components
signal = qsp_core.from_dual_iq(channel_h, channel_v)

# Apply a bandpass filter to condition the quaternionic signal
filtered = qsp_filter.bandpass(
    signal,
    low_hz=900e6,
    high_hz=901e6,
    sample_rate_hz=10e6,
)

# Pass filtered signal to a downstream stage
# e.g., qsp_modulation.demodulate(filtered)

Notes

  • from_dual_iq is a conceptual helper; the actual constructor API may differ.
  • The filter parameters in this example are illustrative.
  • In a production pipeline, validate signal shapes and sample rates at each stage.