Implementación de un transceptor de ISDB-T abierto y para metrología bajo el paradigma de Radio Definida por Software
Pablo Flores Guridi
Gabriel Gómez Sena
Víctor Gonzalez Barbone
Federico “Larroca” La Rocca (responsible)
The goal of the Software Defined Radio (SDR) technology is to implement as much as possible of a radio communication system by means of software. However, some hardware is still required: antennas and analog-to-digital converters are needed for tuning and sampling the signal that will we then digitally pocessed. We are particularly interested in three pieces of hardware, the USRP, the HackRF and the BladeRF. The three of them are open in some way, since the drivers and the codes used by the FPGAs in each device are openly avaliable and can be edited. Even the devices diagrams can be read. Moreover, they are somewhat accesible, as they cost some hundred of dollars. In their case, digital signal processing is performed by a PC. We used GNU Radio as framework to implement our blocks (which is both free and open source).
The project objective is to develop an open ISDB-T full_seg transceiver based on SDR, especially designed for taking measurements in different points of the decoding chain. The idea, in addition to actually be able to transmit and watch TV and illustrate the different blocks of a typical transceiver (we work in a University after all), is to offer a cheap alternative to DTV signal analyzers and playouts (which may cost from some to several many thousands of dollars). The transceiver is implemented as an Out-of-tree module for GNU Radio, thus seamlessly integrating into it.
A DVB-T transceiver based on SDR was developed by Bogdan Diaconescu’s (BogdanDIA on git), see https://github.com/BogdanDIA/gr-dvbt, but we found no ISDB-T implementation. That is why we decided to make our own, but we took Diaconescu’s work as the starting point.
Our source code is on git. Please visit https://github.com/git-artes/gr-isdbt. Feel free to contact us, we are very interested in any kind of feedback (if you have a problem, the easiest and fastest way is to add a new issue in the git repository).
We have some recordings made with an USRP so you can test our code offline. You can download them from the following links (please refer to the README file for more info):
- 569MHz_recording.tar.gz. An excellent recording, for which a BER of 10^(-9) is obtained.
- 575MHz_recording.tar.gz. A reasonable recording, with some noise.
- 569MHz_dongle_recording.tar.gz. A not-so-reasonable recording made with a dongle, to test 1_seg-only reception. Some noise, plus audio is distorted (a problem in the transmitter-side, nothing to do with gr-isdbt).
We got access to a playout, and we have tested all modes and several CP lengths. We are sharing some recordings here (please refer to the README file for more info):
- test_suite_0101.tar.gz. Mode 1 and CP 1/4.
- test_suite_0104.tar.gz. Mode 1 and CP 1/32.
- test_suite_0202.tar.gz. Mode 2 and CP 1/8.
- test_suite_0204.tar.gz. Mode 2 and CP 1/32.
- test_suite_0302.tar.gz. Mode 3 and CP 1/8.
The chosen parameters are part of the testing suite used in Uruguay for DTV compliance with ISDB-T.
To test the transmitter you may use the two following transport streams (just use it as input in the tx_demo.grc included in the repo). If you are not interested in “seeing” the video you may just feed it with random bytes.
As part of the project, the following documentation was prepared. However, most of it is in Spanish.
- Desarrollo de Transceptor ISDB-T en Radio Definida por Software e Implementación en Hardware Alternativo de Bajo Costo. David Artenstein, Lucas Inglés y Gastón Morales. July 2020. A degree project describing the transmitter using alternative low-cost hardware (in spanish). [Defense’s video].
- How to transmit your webcam or any other video realtime using gr-isdbt. A step-by-step guide to repeat our demo: https://twitter.com/fedelarrocca/status/1180614437943808001
- An Open and Free ISDB-T full_seg Receiver Implemented in GNU Radio, presented in WInnComm ’16. Explains how the full_seg receiver works.
- gr-isdbt: An ISDB-T 1-segment Receiver Implementation on GNU Radio, presented in CLEI 2015. Explains how an old version of our 1-seg part of our receiver works, but it may be extrapolated to the rest of the receiver. Superseeded by the paper above.
- Mediciones en receptor ISDB-T. An internal report on the measurements our framework is capable of performing.
- Efectos del canal sobre la señal de ISDB-T. Un caso de uso de gr-isdbt. An internal report on how to use gr-isdbt and a toy example.
- Implementación de un Receptor ISDB-Tb en SDR y Otras Contribuciones Desde la Academia. A presentation given to the broadcasting community here in Uruguay.
- Radio Definida por Software (SDR). The poster we presented at the event Ingeniería DeMuestra.
- Implementación en un FPGA de la etapa de sincronismo de un receptor OFDM para recepción de señales de DTV del estándar ISDB-T. Daniel Contrera, Florencia Ferrer. Oct. 2016. A degree project describing the implementation in the bladeRF’s FPGA of the OFDM acquisition blocks.
- La norma ISDB-T y un receptor implementado en SDR. Pablo Flores-Guridi. Dec. 2016. Pablo’s master thesis on gr-isdbt.
Project funded by the ‘Dirección Nacional de Telecomunicaciones y Servicios de Comunicación Audiovisual’ (DINATEL) through the ‘Agencia Nacional de Investigación e Innovación’ (ANII) (proyecto FST_1_2013_1_13179)