Gnuradioers,
I continue to struggle to get the Header/Payload Demux (HPD) block to
work
properly. The header output port is perfect while the payload output
port
is not. The payload output port is full of 0’s that should not be there.
I
cannot figure out the reason why. I have attached a screenshot of my HPD
config and the time sink outputs of the header port and payload port, as
well as screenshot of the complete flowgraph.
My issue might stem from a misunderstanding of the HPD parameters. This
block seems to have been written for OFDM, but I’m using it for single
carrier QPSK. If someone wouldn’t mind looking over my parameters with
singe carrier in mind to confirm I’ve set it up correct, I would be
grateful. My header is 32 bits long and the payload is 160 bytes or 1280
bits long. The documentation for this block is not very clear on how the
parameters relate to the system.
The output of the header port is perfect. It is the exactly what I
expect.
I’m showing 3 headers worth of samples in the sink plot, and we see
exactly
3 headers with tags on the first sample of each header. In the payload
length portion of the header, the value 160 exists for the payload
length.
My second question is, when generating the header using
packet_header_default, is the payload represented in bytes or bits?
Now if you look at the payload out sink plot, you will see payloads
separated by zeros. Each payload portion (the non-zero portion) is the
exact length as my payload should be, 160 bytes or 1280 bits. But you
can
see zeros are allowed through after the 1280th bit and a second payload
shows up without a tag. This leads me to believe the HPD block is
interpreting the payload length to be 4 times larger then I intend it to
be. What parameters am I mixing up to create this?
I’ve played with the ofdm_tx/rx.grc example and confirmed that it will
keep
the zeros from showing up at the payload out port. This confirms my
misuse
of the block. The hard part is porting the OFDM example parameters to a
single carrier use. Am I correct in setting symbol to 1 since there are
no
OFDM symbols?
v/r,
Rich