Hi Ralf, Since the Viterbi Decoder has to wait for a tag to start (and is thus a general block), I've used TPP_DONT as its tag propagation policy. Furthermore, we also send a tag whenever a new frame begins under "normal operation" (see https://github.com/git-artes/gr-isdbt/blob/56b2556c14ecc5d710070f969fda7a2deae65d8b/lib/viterbi_decoder_impl.cc#L815 ).
I've checked https://github.com/gnuradio/gnuradio/blob/main/gr-dtv/lib/dvbt/dvbt_viterbi_decoder_impl.cc and it seems that GNU Radio's current code does not proceed similarly. Maybe that's the problem? best El jue, 20 feb 2025 a las 5:30, Ralf Gorholt (<ralf.gorh...@gmx.de>) escribió: > Hi Federico, > > I can imagine that you are very busy, so don't worry :-) > > In most cases reception is fine. However, I have noticed difficulties > (already in the past) that are not related to the recognition of the OFDM > symbols. It might be that I have now found the reason why but I don't know > GNU Radio well enough yet. Perhaps you or somebody else knows someone who > could help me? Let me explain the problem in a few words. > > The Viterbi Decoder needs the "superframe_start" tag to start decoding. > When it detects a superframe start, it creates this tag again (although it > should to my knowledge be propagated to the downstream blocks by default). > The next block in the chain, the Convolutional Deinterleaver, also needs > this signal. That's where the problem arises. > > Sometimes it happens that the Convolutional Deinterleaver gets a > "superframe_start" somewhere in the middle when there is no start of a > superframe (I have been able to trace this using Tag Debug blocks). That > causes the reception to freeze immediately. When I provoke a complete reset > then (e.g. by changing the frequency back and forth), a re-synchronization > of all blocks is triggered and everything is fine again. Unfortunately, > when I change the tag propagation policy to TPP_DONT in the Viterbi > Decoder, only the first synchronization works (at offset 0). > > Of course I can open a bug report for GNU Radio, but in this case I would > prefer being able to present a solution (if possible). This is a very > special case that is difficult to reproduce and trace because it can happen > after some seconds or even hours. I also doubt that many users use GNU > Radio for DVB-T reception. It might be only some friends of mine and me who > would like to do this in Amateur Radio. > > Kind regards, > > Ralf > > Am 19.02.2025 um 21:30 schrieb Federico 'Larroca' La Rocca: > > Hi Ralf, > > It's great to see that our work is useful and you're willing to undertake > its migration to DVB-T. Sadly, I'm afraid I won't have time to check the > code. However, if you're still receiving a nice constellation after a > sampling error rate (using a channel model) the code should be just fine. > > BTW, what would make me very happy is to migrate the whole gr-isdbt into > the core of GNU Radio, if that's interesting for the project. I'm not sure > how to proceed if we were to undertake this migration. Maybe someone on the > list can provide me with pointers? > > best > Federico > > > El jue, 6 feb 2025 a las 18:09, Ralf Gorholt (<ralf.gorh...@gmx.de>) > escribió: > >> Dear all, >> >> I have just released a very first version of the source code of my OOT >> module gr-dl5eu. This is the first time that I publish my work, so >> please forgive me if it does not correspond to or if I have not >> respected all written or unwritten rules ;-) >> >> This module contains two blocks, dvbt_ofdm_synchronization and >> dvbt_tps_decoder. They are based on two blocks that Federico La Rocca >> has developed for ISDB-T. >> >> gr-dl5eu is work under development and I encourage particularly radio >> amateurs who are interested in DVB-T reception with GNU Radio to test >> them. There is no documentation yet, but there are comments in the code. >> >> Here is just a short description of what the blocks do. >> >> The first block, dvbt_ofdm_synchronization, recognizes the OFDM symbols >> of a DVB-T signal and delivers them to the second block. Sampling rate >> differences between the transmitter and receiver are interpolated so >> that reception should be stable (at least when the received signal is >> stable). >> >> The second block, dvbt_tps_decoder, decodes the TPS information that is >> transmitted within the DVB-T signal and outputs the payload carriers >> (that are fed into the block DVB-T Demap). dvbt_tps_decoder can send >> messages containing the detected signal parameters to other blocks. >> >> You will find two simple sample flowgraphs in the examples directory. >> >> Please note that I am no DSP guy and that I actually haven't fully >> understood how the blocks work exactly. I had to copy parts of the code >> from the GNU Radio tree because it was either inaccessible or needed >> some modifications. >> >> The reason why I have developed these blocks is that friends of mine are >> looking for a simple and cheap solution for DVB-T reception with low >> bandwidth in amateur radio, However, I would be happy if others also >> find my work useful. >> >> Federico, when you have the time, would you take a look at my code? >> Without your work I would not have been able to create my blocks! >> >> Kind regards, >> >> Ralf >> >> >