summaryrefslogtreecommitdiff
path: root/gr-atsc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-atsc')
-rw-r--r--gr-atsc/CMakeLists.txt4
-rw-r--r--gr-atsc/src/lib/CMakeLists.txt10
-rw-r--r--gr-atsc/src/lib/atsc_fpll.h12
-rw-r--r--gr-atsc/src/lib/atsci_reed_solomon.cc2
-rw-r--r--gr-atsc/src/lib/atsci_sssr.h8
-rw-r--r--gr-atsc/src/python/CMakeLists.txt4
-rw-r--r--gr-atsc/src/python/atsc_utils.py3
-rwxr-xr-xgr-atsc/src/python/fpll.py16
-rwxr-xr-xgr-atsc/src/python/interp_short.py19
-rwxr-xr-xgr-atsc/src/python/qa_atsc.py10
10 files changed, 54 insertions, 34 deletions
diff --git a/gr-atsc/CMakeLists.txt b/gr-atsc/CMakeLists.txt
index 26f99a1573..10a7904b20 100644
--- a/gr-atsc/CMakeLists.txt
+++ b/gr-atsc/CMakeLists.txt
@@ -29,6 +29,10 @@ include(GrComponent)
GR_REGISTER_COMPONENT("gr-atsc" ENABLE_GR_ATSC
Boost_FOUND
ENABLE_GR_CORE
+ ENABLE_GR_FFT
+ ENABLE_GR_BLOCKS
+ ENABLE_GR_FILTER
+ ENABLE_GR_ANALOG
)
GR_SET_GLOBAL(GR_ATSC_INCLUDE_DIRS
diff --git a/gr-atsc/src/lib/CMakeLists.txt b/gr-atsc/src/lib/CMakeLists.txt
index 58e3af88b0..68bc60689d 100644
--- a/gr-atsc/src/lib/CMakeLists.txt
+++ b/gr-atsc/src/lib/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright 2011-212 Free Software Foundation, Inc.
+# Copyright 2011-2012 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -22,6 +22,9 @@
########################################################################
include_directories(
${GNURADIO_CORE_INCLUDE_DIRS}
+ ${GR_FILTER_INCLUDE_DIRS}
+ ${GR_ANALOG_INCLUDE_DIRS}
+ ${GR_FEC_INCLUDE_DIRS}
${GR_ATSC_INCLUDE_DIRS}
${CMAKE_CURRENT_BINARY_DIR}
)
@@ -95,8 +98,11 @@ list(APPEND gr_atsc_sources
)
list(APPEND atsc_libs
+ gnuradio-filter
+ gnuradio-analog
gnuradio-core
${Boost_LIBRARIES}
+ gnuradio-fec
)
add_library(gnuradio-atsc SHARED ${gr_atsc_sources})
@@ -129,7 +135,7 @@ list(APPEND test_atsci_sources
)
include(GrTest)
-list(APPEND GR_TEST_TARGET_DEPS gnuradio-atsc)
+list(APPEND GR_TEST_TARGET_DEPS gnuradio-atsc gnuradio-fec gnuradio-filter gnuradio-analog gnuradio-fft)
add_executable(test_atsci ${test_atsci_sources} test_atsci.cc)
target_link_libraries(test_atsci gnuradio-atsc gnuradio-core ${CPPUNIT_LIBRARIES})
GR_ADD_TEST(atsci-test test_atsci)
diff --git a/gr-atsc/src/lib/atsc_fpll.h b/gr-atsc/src/lib/atsc_fpll.h
index 0474b8f766..13099b045d 100644
--- a/gr-atsc/src/lib/atsc_fpll.h
+++ b/gr-atsc/src/lib/atsc_fpll.h
@@ -25,11 +25,13 @@
#include <atsc_api.h>
#include <gr_sync_block.h>
#include <gr_nco.h>
-#include <gr_single_pole_iir.h>
-#include <gri_agc_ff.h>
+#include <filter/single_pole_iir.h>
+#include <analog/agc.h>
#include <stdio.h>
#include <atsci_diag_output.h>
+using namespace gr;
+
class atsc_fpll;
typedef boost::shared_ptr<atsc_fpll> atsc_fpll_sptr;
@@ -68,9 +70,9 @@ public:
double initial_phase;
bool debug_no_update;
gr_nco<float,float> nco;
- gri_agc_ff agc; // automatic gain control
- gr_single_pole_iir<float,float,float> afci;
- gr_single_pole_iir<float,float,float> afcq;
+ analog::kernel::agc_ff agc; // automatic gain control
+ filter::single_pole_iir<float,float,float> afci;
+ filter::single_pole_iir<float,float,float> afcq;
};
diff --git a/gr-atsc/src/lib/atsci_reed_solomon.cc b/gr-atsc/src/lib/atsci_reed_solomon.cc
index a4a40e3f17..34bfb14b10 100644
--- a/gr-atsc/src/lib/atsci_reed_solomon.cc
+++ b/gr-atsc/src/lib/atsci_reed_solomon.cc
@@ -25,7 +25,7 @@
#include <string.h>
extern "C" {
-#include "rs.h"
+#include <rs.h>
}
static const int rs_init_symsize = 8;
diff --git a/gr-atsc/src/lib/atsci_sssr.h b/gr-atsc/src/lib/atsci_sssr.h
index f3b825b3c4..1eb626eb18 100644
--- a/gr-atsc/src/lib/atsci_sssr.h
+++ b/gr-atsc/src/lib/atsci_sssr.h
@@ -29,8 +29,8 @@
#include <atsc_api.h>
#include <atsc_consts.h>
-#include <gri_mmse_fir_interpolator.h>
-#include <gr_single_pole_iir.h>
+#include <filter/mmse_fir_interpolator_ff.h>
+#include <filter/single_pole_iir.h>
#include <cstdio>
/*
@@ -195,8 +195,8 @@ public:
*/
class ATSC_API atsci_interpolator {
- gri_mmse_fir_interpolator d_interp;
- gr_single_pole_iir<float,float,float> d_loop; // ``VCO'' loop filter
+ gr::filter::mmse_fir_interpolator_ff d_interp;
+ gr::filter::single_pole_iir<float,float,float> d_loop; // ``VCO'' loop filter
double d_nominal_ratio_of_rx_clock_to_symbol_freq; // FREQ
double d_w; // ratio of PERIOD of Tx to Rx clocks
double d_mu; // fractional delay [0,1]
diff --git a/gr-atsc/src/python/CMakeLists.txt b/gr-atsc/src/python/CMakeLists.txt
index fa9f91156b..aaa5bd93c4 100644
--- a/gr-atsc/src/python/CMakeLists.txt
+++ b/gr-atsc/src/python/CMakeLists.txt
@@ -46,8 +46,10 @@ if(ENABLE_TESTING)
list(APPEND GR_TEST_PYTHON_DIRS
${CMAKE_BINARY_DIR}/gr-atsc/src/lib
+ ${CMAKE_BINARY_DIR}/gr-blocks/python
+ ${CMAKE_BINARY_DIR}/gr-blocks/swig
)
-list(APPEND GR_TEST_TARGET_DEPS gnuradio-atsc)
+list(APPEND GR_TEST_TARGET_DEPS gnuradio-atsc gnuradio-fec gnuradio-filter gnuradio-analog gnuradio-fft)
include(GrTest)
file(GLOB py_qa_test_files "qa_*.py")
diff --git a/gr-atsc/src/python/atsc_utils.py b/gr-atsc/src/python/atsc_utils.py
index fced6d1902..fc2465bed2 100644
--- a/gr-atsc/src/python/atsc_utils.py
+++ b/gr-atsc/src/python/atsc_utils.py
@@ -28,7 +28,8 @@ def make_fake_transport_stream_packet(npkts):
"""
Return a sequence of 8-bit ints that represents an MPEG Transport Stream packet.
- @param npkts: how many 188-byte packets to return
+ Args:
+ npkts: how many 188-byte packets to return
FYI, each ATSC Data Frame contains two Data Fields, each of which contains
312 data segments. Each transport stream packet maps to a data segment.
diff --git a/gr-atsc/src/python/fpll.py b/gr-atsc/src/python/fpll.py
index aed975557a..69749420b4 100755
--- a/gr-atsc/src/python/fpll.py
+++ b/gr-atsc/src/python/fpll.py
@@ -21,6 +21,8 @@
#
from gnuradio import gr, atsc
+from gnuradio import blocks
+from gnuradio import filter
import math, os
def main():
@@ -38,7 +40,7 @@ def main():
# 1/2 as wide because we're designing lp filter
symbol_rate = atsc.ATSC_SYMBOL_RATE/2.
NTAPS = 279
- tt = gr.firdes.root_raised_cosine (1.0, input_rate, symbol_rate, .115, NTAPS)
+ tt = filter.firdes.root_raised_cosine (1.0, input_rate, symbol_rate, .115, NTAPS)
# heterodyne the low pass coefficients up to the specified bandpass
# center frequency. Note that when we do this, the filter bandwidth
# is effectively twice the low pass (2.69 * 2 = 5.38) and hence
@@ -47,7 +49,7 @@ def main():
t=[]
for i in range(len(tt)):
t += [tt[i] * 2. * math.cos(arg * i)]
- rrc = gr.fir_filter_fff(1, t)
+ rrc = filter.fir_filter_fff(1, t)
fpll = atsc.fpll()
@@ -55,17 +57,17 @@ def main():
lower_edge = 6e6 - 0.31e6
upper_edge = IF_freq - 3e6 + pilot_freq
transition_width = upper_edge - lower_edge
- lp_coeffs = gr.firdes.low_pass (1.0,
+ lp_coeffs = filter.firdes.low_pass (1.0,
input_rate,
(lower_edge + upper_edge) * 0.5,
transition_width,
- gr.firdes.WIN_HAMMING);
+ filter.firdes.WIN_HAMMING);
- lp_filter = gr.fir_filter_fff (1,lp_coeffs)
+ lp_filter = filter.fir_filter_fff (1,lp_coeffs)
alpha = 1e-5
- iir = gr.single_pole_iir_filter_ff(alpha)
- remove_dc = gr.sub_ff()
+ iir = filter.single_pole_iir_filter_ff(alpha)
+ remove_dc = blocks.sub_ff()
out = gr.file_sink(gr.sizeof_float,"/tmp/atsc_pipe_3")
# out = gr.file_sink(gr.sizeof_float,"/mnt/sata/atsc_data_float")
diff --git a/gr-atsc/src/python/interp_short.py b/gr-atsc/src/python/interp_short.py
index c5ea337f9a..749d15d0a7 100755
--- a/gr-atsc/src/python/interp_short.py
+++ b/gr-atsc/src/python/interp_short.py
@@ -33,6 +33,8 @@
# then at 0 with edges at -3.2MHz and 3.2MHz.
from gnuradio import gr
+from gnuradio import blocks
+from gnuradio import filter
import sys, os
def graph (args):
@@ -46,17 +48,18 @@ def graph (args):
sys.stderr.write('usage: interp.py input_file\n')
sys.exit (1)
- tb = gr.top_block ()
+ tb = gr.top_block()
- srcf = gr.file_source (gr.sizeof_short,infile)
- s2ss = gr.stream_to_streams(gr.sizeof_short,2)
- s2f1 = gr.short_to_float()
- s2f2 = gr.short_to_float()
- src0 = gr.float_to_complex()
+ srcf = gr.file_source(gr.sizeof_short,infile)
+ s2ss = blocks.stream_to_streams(gr.sizeof_short,2)
+ s2f1 = blocks.short_to_float()
+ s2f2 = blocks.short_to_float()
+ src0 = blocks.float_to_complex()
- lp_coeffs = gr.firdes.low_pass ( 3, 19.2e6, 3.2e6, .5e6, gr.firdes.WIN_HAMMING )
- lp = gr.interp_fir_filter_ccf ( 3, lp_coeffs )
+ lp_coeffs = filter.firdes.low_pass(3, 19.2e6, 3.2e6, .5e6,
+ filter.firdes.WIN_HAMMING)
+ lp = filter.interp_fir_filter_ccf(3, lp_coeffs)
file = gr.file_sink(gr.sizeof_gr_complex,"/tmp/atsc_pipe_1")
diff --git a/gr-atsc/src/python/qa_atsc.py b/gr-atsc/src/python/qa_atsc.py
index c6b8d2e957..507bc8aa47 100755
--- a/gr-atsc/src/python/qa_atsc.py
+++ b/gr-atsc/src/python/qa_atsc.py
@@ -25,7 +25,7 @@ import atsc # qa code needs to run without being installed
#from gnuradio import atsc
from atsc_utils import *
import sys
-
+import blocks_swig as blocks
class memoize(object):
def __init__(self, thunk):
@@ -76,12 +76,12 @@ class vector_source_ts(gr.hier_block2):
"""
Pad tranport stream packets to 256 bytes and reformat appropriately.
- @param ts: MPEG transport stream.
- @type ts: sequence of ints in [0,255]; len(ts) % 188 == 0
+ Args:
+ ts: MPEG transport stream. (sequence of ints in [0,255]; len(ts) % 188 == 0)
"""
src = gr.vector_source_b(pad_transport_stream(ts))
- s2v = gr.stream_to_vector(gr.sizeof_char, atsc.sizeof_atsc_mpeg_packet)
+ s2v = blocks.stream_to_vector(gr.sizeof_char, atsc.sizeof_atsc_mpeg_packet)
gr.hier_block2.__init__(self, "vector_source_ts",
gr.io_signature(0, 0, 0),
@@ -97,7 +97,7 @@ class vector_sink_ts(gr.hier_block2):
"""
"""
- v2s = gr.vector_to_stream(gr.sizeof_char, atsc.sizeof_atsc_mpeg_packet)
+ v2s = blocks.vector_to_stream(gr.sizeof_char, atsc.sizeof_atsc_mpeg_packet)
self.sink = gr.vector_sink_b()
gr.hier_block2.__init__(self, "vector_sink_ts",
v2s.input_signature(),