Monday, May 12, 2025

Re: Message Strobe and SDR problem

Hi Maciej,

I recently had to face similar issues while implementing a receiver for a TDMA
transmission, and I think Marcus is right here. Both the Polyphase Clock Sync
and the Symbol Sync work best with either a continuous transmission or a
bursty transmission that has a long-ish preamble / training sequence that
allows the symbol synchronization to settle on symbol peaks before actual
payload bits are received.

When working with bursty transmissions that do not have such a preamble, a
synchronization sequence needs to be present in the burst. Its position may be
anywhere (most frequently embedded in the middle) in the burst.

In such cases, I think the GNU Radio way is to use the Correlation Estimator
block which outputs a tag on the sample at the beginning of the found sync
sequence. One caveat is that the sample rate difference between the transmit
and receive must be small enough that all bits of the burst can be recovered
based on the position relative to this tag. When using this method, the symbol
sync blocks are no longer necessary.

Of course, you can also choose to add a preamble to your transmission and
experimentally determine the required length in symbols.

Adrian

On Monday, 12 May 2025 15:48:17 EEST Marcus Müller wrote:
> Hi Maciej,
>
> sadly, you attached a link to a picture on
> https://private-user-images.githubusercontent.com… , which is
> github-account-specific and can't be used by anyone but you. But the raw
> URL in your Readme works,
> https://github.com/user-attachments/assets/3f9eee70-811e-41be-9d43-877b2dcb
> b078 so I'm assuming that's the one.
>
> What I think is wrong here is that the Polyphase Clock Sync drifts off
> during the pauses between frames: it doesn't know whether it's looking at
> noise only or signal, and so tries to "wildly" guess what it should do
> during the "noise only" periods, just to then be off from the correct
> timing enough to not be able to catch up with it during the first few
> symbols of each frame.
>
> In a practical system, you'd need to first detect presence before you feed
> it through the clock synchronizer.
>
> Best regards,
> Marcus
>
> On 5/12/25 10:47 AM, Maciej Zemło wrote:
> > Hi everyone,
> >
> > I've developed a brief demonstration project in GRC that transmits a
> > single byte via Pluto using BPSK modulation. The project works well when
> > using a "Constant Source" block that continuously sends the byte, but it
> > completely fails to function with the "Message Strobe" block, which sends
> > a byte every 0.5 seconds.
> >
> > The project is available on GitHub for further reference:
> > https://github.com/yabool2001/ BPSK_test_02_3
> > <https://github.com/yabool2001/BPSK_test_02_3>
> >
> > I've attached a screenshot illustrating the structure of the project,
> > available here>
> > <https://private-user-> > images.githubusercontent.com/
38382353/442661233-3f9eee70-811e-41be-9d43-87

> > 7b2dcbb078.png?
> > jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVk
> >
IjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NDcwMz
> >
kyNTIsIm5iZiI6MTc0NzAzODk1MiwicGF0aCI6Ii8zODM4MjM1My80NDI2NjEyMzMtM2Y5ZWVl
> >
NzAtODExZS00MWJlLTlkNDMtODc3YjJkY2JiMDc4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC
> >
1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAy
> >
NTA1MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwNT
> >
EyVDA4MzU1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg2MmQ3MjAxM2U2
> >
NDg3MmI3MzZkZGQyNGFlMzdlODdkZjlmYjRlMjc1ZDgzYzgwYmE4OGQ1ZDE5OTM2MWFjNjkmWC
> >
1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.whxllXKHs55LV7wgcRfq7BPy3oQjAiGJWUoKc-
J8
> > en8>.
> >
> > Could someone point me in the right direction regarding what might be
> > going wrong here?
> >
> > Thanks in advance for your assistance!
> >
> > Best regards,
> > Yabool2001

No comments:

Post a Comment