Skip to content

Revise preamble generation to fit frame-based architecture #25

@MustBeArt

Description

@MustBeArt

pluto_msk has support for generating a preamble when PTT is asserted. I'm talking about the mechanism hooked up to the Tx_Sync_Ctrl and Tx_Sync_Cnt registers.

The problem is, this implementation doesn't fit in with the frame-based design we're working with now. Or so I believe. It needs to bypass all the frame processing: frame sync word insertion, randomization, FEC, interleaving.

For current testing, we are generating the preamble in Dialogus. Because of the strict frame-based design we've converged on, this limits the preamble to a whole frame (40ms) or a multiple thereof. That's not ideal. If we are able to tune the receiver for great acquisition performance, we hope to be able to get by with a much shorter preamble. If we are able to do that, we'll need hardware support for transmitting a short preamble. Zero preamble won't work (I believe) because we need to reliably receive the first frame sync word and the first frame.

We'll also need to take a look at the timing when PTT is asserted. Right now, as described in msk_top_regs.md, the preamble is asserted after PTT is asserted, for a certain number of frames. If we can guarantee that the first frame is ready to go out to the modulator at that time, then good. If not, we need to change the definition. Either we redefine Tx_Sync_Cnt to define a minimum duration of the preamble, or else we need to hold off the start of the preamble until we know the timing of that first frame, so that we can transmit the minimum/nominal length preamble.

This change will need to be coordinated with matching changes in Dialogus.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions