diff options
Diffstat (limited to 'gr-atsc')
-rw-r--r-- | gr-atsc/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-atsc/src/lib/CMakeLists.txt | 10 | ||||
-rw-r--r-- | gr-atsc/src/lib/atsc_fpll.h | 12 | ||||
-rw-r--r-- | gr-atsc/src/lib/atsci_reed_solomon.cc | 2 | ||||
-rw-r--r-- | gr-atsc/src/lib/atsci_sssr.h | 8 | ||||
-rw-r--r-- | gr-atsc/src/python/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-atsc/src/python/atsc_utils.py | 3 | ||||
-rwxr-xr-x | gr-atsc/src/python/fpll.py | 16 | ||||
-rwxr-xr-x | gr-atsc/src/python/interp_short.py | 19 | ||||
-rwxr-xr-x | gr-atsc/src/python/qa_atsc.py | 10 |
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(), |