/gr-qam

A QAM-64 transmitter for GNU Radio. This project was merged into GNU Radio in version 3.7.10.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

# Copyright 2014 Clayton Smith
#
# This file is part of gr-qam
#
# gr-qam 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-qam 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-qam; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.

gr-qam
======

Author: Clayton Smith
Email: <argilo@gmail.com>

The goal of thhis project is to build a software-defined 64-QAM and
256-QAM transmitter, based on the ANSI/SCTE 07 2013 Digital
Transmission Standard for Cable Television:

    http://www.scte.org/FileDownload.aspx?A=3445

Build instructions:

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

If your GNU Radio is installed in /usr (rather than /usr/local), then
replace the third line above with:

    cmake -DCMAKE_INSTALL_PREFIX=/usr ../
    
You may also need to export the PKG_CONFIG_PATH environment variable
for cmake to find your GNU Radio libraries.  For example, if you had
installed into /opt/gnuradio, you may need to have PKG_CONFIG_PATH
set to "/opt/gnuradio/lib/pkgconfig" or "/opt/gnuradio/lib64/pkgconfig".

At present only 64-QAM is supported.  An example transmitter can be
found in /apps.  It can transmit MPEG transport streams generated by
avconv.  For example, to transmit the video from your webcam and audio
from your microphone, try this:

    mkfifo in.fifo

    avconv -f alsa -i pulse -f video4linux2 -s 640x480 -i /dev/video0 \
      -vcodec mpeg2video -s 640x480 -r 60 -b 5000000 -acodec ac3 \
      -ar 48000 -ab 192000 -ac 2 -muxrate 26970352 -mpegts_service_id 1 \
      -f mpegts -y in.fifo

Contributions are welcome!