Skip to content

In MA1 mode, delay the P3 logical channel to match P1#477

Open
argilo wants to merge 1 commit intomasterfrom
delay-ma1-p3
Open

In MA1 mode, delay the P3 logical channel to match P1#477
argilo wants to merge 1 commit intomasterfrom
delay-ma1-p3

Conversation

@argilo
Copy link
Collaborator

@argilo argilo commented Jan 5, 2026

In service mode MA1, a diversity delay of 3 frames is applied to the P1 logical channel (specifically targeting the BL and BU subframes on the transmit side). As a result, the P1 logical channel has an additional 3 frames of latency and the receiver must delay the ML and MU subframes before deinterleaving so that all subframes have a combined (TX + RX) delay of exactly 3 frames.

The P3 logical channel does not have a diversity delay. To keep the received data aligned with the P1 logical channel (so that the core & enhanced streams can be coherently combined), it is necessary to apply an additional 3-frame delay in the receiver. I've accomplished that here by applying a 3-frame delay to the EL and EU subframes that carry the P3 logical channel.

No change is required for service mode MA3, because its P3 logical channel already has a 3-frame delay applied to the EML and EMU subframes, complementing the transmitter's 3-frame delays to the EBL and EBU subframes.

@argilo argilo added the bug label Jan 5, 2026
@argilo
Copy link
Collaborator Author

argilo commented Jan 5, 2026

I also replaced the magic number 18000 in a bunch of places, because not all subframes have the same length.

@argilo
Copy link
Collaborator Author

argilo commented Jan 5, 2026

One downside to delaying the entire P3 logical channel is that a secondary program (i.e. HD2) or AAS data contained in this logical would be unnecessarily delayed. We could avoid that by moving the delay up to layer 2 and selectively applying it to the enhanced stream, but I'm not sure it's worth it. It would be interesting to see which approach hardware receivers take.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant