Dear all,
please apologize my long email but I cannot
explain my problem and what I have done so far
in three words.
I am currently working on a DVB-T receiver
project to receive transmissions on 434 MHz
with 2 MHz bandwidth or less using GNU Radio
and an RTL-SDR stick. The flow graph is based
on the examples in gr-dvbt. The transmitter is
a HiDes model HV320E. Reception works, but the
video stops after one minute or so while the
constellation diagram is still active (dots
are moving). I am no expert and have only few
knowledge of DSP and DVB yet, but to me the
problem seems to be in the OFDM symbol
acquisition block.
Conditions:
Linux Mint 19.3 in a virtual machine (VMware)
GNU Radio 3.7.11 if I am right (I would need
to check at home)
What I have done so far:
I have created a flow graph for a DVB-T
receiver based on the examples in gr-dvbt. The
signal source is an RTL-SDR stick and the
sample rate is 16/7 MHz (= 2.285714 MHz) to
get 2 MHz bandwidth. The signal sink is a TCP
server sink to which I connect with VLC media
player to display the received video transport
stream. This works, but after one minute or so
the video stops while the constellation
diagram is still active (dots are moving). I
am currently using QPSK, code rate 3/4 and
guard interval 1/8 but I have also tried
16QAM, code rate 1/2 and guard interval 1/8
and have the same problem.
To track down the source of the problem, I
have created a file outside of GNU Radio that
I can use in a file source instead of the
RTL-SDR source of my flow graph. This allows
me to make tests with an input signal that
does not change between different tests.
The data of this file are sent to the OFDM
symbol acquisition block and the output of
this block is stored in a second file. When
the input signal, the algorithm and the
parameters do not change between different
tests I expect the generated file to be always
the same. However, this is not the case. The
files that are generated with the output of
the OFDM symbol acquisition block differ from
each other. But when I send the content of one
of those generated files to the rest of the
receiver and do this several times, I always
get the same transport stream at the output. I
have verified this by using a file sink and
comparing the files. That’s why I suspect the
OFDM symbol acquisition block to be the
culprit.
When I was searching the internet for
information concerning my problem, I found an
email from 2015 in the archive of this mailing
list where someone wrote that the OFDM symbol
acquisition block of gr-isdbt should be used
because it worked better than the one in
gr-dvbt. I have done so and installed gr-isdbt
from git and replaced the block. However,
there are two such blocks in gr-isdbt and none
of them solves my problem. They perform even
worse than the original block in gr-dvbt and
after some time the program terminates without
a message.
I hope that my explanations are clear enough.
Is there anybody who can tell me what might
be wrong here or what I am doing wrong? Why is
the output of the OFDM symbol acquisition
block not always the same when the start
condition of every run is the same? Am I
missing something here?
Thank you very much for your help.
Kind regards,
Ralf