# Copyright 2021-2026 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!