drmpeg / gr-atsc3

An ATSC 3.0 Transmitter for GNU Radio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

# Copyright 2021-2023 Ron Economos
#
# This file is part of gr-atsc3
#
# gr-atsc3 is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# gr-atsc3 is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with gr-atsc3; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.

gr-atsc3
======

Author: Ron Economos
Email: <w6rz@comcast.net>

The goal of this project is to build a software-defined ATSC 3.0
transmitter, based on the A322 Physical Layer Protocol and A321
System Discovery and Signaling specifications.

https://prdatsc.wpenginepowered.com/wp-content/uploads/2022/11/A322-2022-11-Physical-Layer-Protocol.pdf

https://prdatsc.wpenginepowered.com/wp-content/uploads/2022/04/A321-2022-03-System-Discovery-and-Signaling.pdf

The baseline implementation has been verified against the ATSC 3.0
validation and verification suite. The current implementation only
supports Transport Stream input.

A test flow graph is available in examples/vv031.grc. The parameters
match the ~15 dB S/N of ATSC 1.0 at 21.343539 Mbps. The test stream is
available here:

https://www.w6rz.net/advatsc3.ts

A Transport Stream bit-rate calculator is available here:

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

I'd like to thank Clayton Smith VE3IRR https://github.com/argilo for
his invaluable help with debugging, interpreting the specification and
calibration of the bootstrap resampler.

Features not implemented:

1) Mixed Time and Frequency Division Multiplexing
2) Convolutional Delay Line (CDL)
3) Channel bonding
4) L1-Detail segmentation
5) L1-Detail additional parity
6) MIMO
7) ACE PAPR reduction
8) Baseband frame counter
9) Transmitter Identification (TxID)
10) IP packet input

Build instructions:

    mkdir build
    cd build
    cmake ../
    make
    sudo make install
    sudo ldconfig

Contributions are welcome!

About

An ATSC 3.0 Transmitter for GNU Radio

License:GNU General Public License v3.0


Languages

Language:C++ 96.7%Language:CMake 1.3%Language:Python 1.2%Language:C 0.7%