Monday, September 30, 2024

Re: dvbt2 transmitter can not be real-time with LimeSDR

The file gnuradio/gr-dtv/examples/README.dvbt2 contains links to TS files crafted with the correct bitrate for each example flow graph. For the vv011-1kfft.grc flow graph, it's:

https://www.w6rz.net/vv011-1kfft.ts

The correct invocation for dvbt2rate is:

./dvbt2rate 8 1 2 1966 48 1 1 0 0 3 0
FFT size = 1024
guard interval = 1/8
number of data symbols = 1966
number of FEC blocks = 48
code rate = 1/2
constellation = QPSK
frame size = normal
carrier mode = normal
pilot pattern = PP3
L1 constellation = BPSK

clock rate = 9142857.142857, TF = 249.956000 ms
Normal mode bitrate = 6169661.860487
High Efficiency mode bitrate = 6202654.704661

max symbols = 1984, max blocks = 48
symbols = 1982, max blocks = 48
cells = 1577708, stream = 1555200, L1 = 3344, dummy = 18944, unmodulated = 220

PAPR max symbols = 1984, max blocks = 48
symbols = 1982, max blocks = 47
cells = 1558048, stream = 1555200, L1 = 3344, dummy = -716, unmodulated = 220

I'll admit it's a little painful to use. 😳

Ron

On 9/30/24 06:58, Ali G. Dezfuli wrote:
Thanks Ron!
How can I make the related TS file? (e.g. for vv011-1kfft.grc)
The list in https://github.com/drmpeg/dtv-utils does not include QPSK!

On Mon, Sep 30, 2024 at 4:29 PM Ron Economos <w6rz@comcast.net> wrote:

You could try DVB-T2 configurations that use less CPU. Both smaller FFT size and lower bitrate help. For example try the following test flow graphs:

vv009-4kfft.grc 27.588664 Mbps

vv010-2kfft.grc 14.364704 Mbps

vv011-1kfft.grc 6.169662 Mbps

If your receiver allows it, you can also use smaller channel bandwidths such as 5, 6, or 7 MHz. The bitrate will be scaled accordingly.

The DVB-T2 bitrate calculator is here.

https://github.com/drmpeg/dtv-utils/blob/master/dvbt2rate.c

Ron

On 9/29/24 22:30, Ali G. Dezfuli wrote:

When I run dvbt2 transmitter examples from gr-dtv without any hardware, "Probe Rate" block in GRC shows 15e6 samples per second at the output of the Tx (which needs about 9 Msps to work in real-time.)
Next, I connected USRP B200mini, but it showed underruns.
Talking to the community, they said UHD is heavy and suggested other SDR modules like LimeSDR.
But the problem still exists using LimeSDR-USB!
I wonder if there is a way to make "LimeSDR Sink (TX)" catch up with other blocks.
Details:
HW: Orange Pi 5 plus (32GB)
OS: Ubuntu 22.04
GR: v3.10.11.0

Thanks!

No comments:

Post a Comment