Hi Artur, Thank you for your suggestions! And yes, that’s exactly what I am doing. At the receiver, I have a polyphase clock sync, CMA equalizer, and a costa loop to correct phase and frequency offset. I am using Adalm Pluto, which is looping back right now. I am able to align the bytes manually by adding delay blocks and compare the bit streams from the transmitter and receiver. However, I want to make the bytes align automatically. I also have been trying to do cross-correlation to find the peak values, but the first step for me right now is to find the byte boundary to transmit audio.
Best regards, Lannan > On Jul 22, 2020, at 12:13 PM, Artur Nogueira <artur.no...@gmail.com> wrote: > > Hello Lannan, > > As far as I could understand, you want to do the following operations: > > (i) Generate bytes -> (ii) Modulate -> (iii) Transmit -> (iv) Receive -> (v) > Demodulate -> (vi) Recover bytes > > and then you want to align the byte sequences from steps (i) and (vi). > Am I correct? > What hardware (model) are you using to transmit/receive? > > I've been trying to solve a similar issue lately and I am convinced that my > signals are not aligned because of 3 main reasons: wave propagation time, GNU > Radio processing time (latency) and carrier frequency offset (CFO). > What I've been doing is: the two first issues are minimized by applying a > cross-correlation operator (not necessarily in GNU Radio; you can > post-process using another software if you want) to the transmitted and > received base-band signals. The peak value allows you to find the lag > between them. > The third problem (CFO) comes from an unalignment between the transmitting > and receiving units (I use HackRF One) and can be solved with a mixer at the > receiver level tuned with the frequency offset value. > > Best regards, > Artur > > > > > > > > > Em qua., 22 de jul. de 2020 às 12:56, lannan jiang <jln...@live.com > <mailto:jln...@live.com>> escreveu: > Hi everyone, > (It's me again.) > I am working on an audio channel using QPSK modulation. I currently am > transmitting through a signal source that outputs bytes. I am looking for a > method to align the byte boundaries so I am able to hear a clean audio at the > receiver. > Here is an idea of what I want to do: send packets that have, for example, > 7 bytes of data and 1 byte of known pattern, and so I can sync with the > receive block. However, I do not know how to implement this in GRC (I see a > block named packet header generator, is this what I want to use?). Could > someone please advise me on how to approach this? > > Thanks in advance. > Lannan Jiang
smime.p7s
Description: S/MIME cryptographic signature