diff options
Diffstat (limited to 'gr-trellis')
-rw-r--r-- | gr-trellis/CMakeLists.txt | 48 | ||||
-rw-r--r-- | gr-trellis/doc/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-trellis/examples/grc/CMakeLists.txt | 1 | ||||
-rw-r--r-- | gr-trellis/examples/python/CMakeLists.txt | 4 | ||||
-rwxr-xr-x | gr-trellis/examples/python/test_cpm.py | 161 | ||||
-rw-r--r-- | gr-trellis/grc/CMakeLists.txt | 1 | ||||
-rw-r--r-- | gr-trellis/include/gnuradio/trellis/CMakeLists.txt | 1 | ||||
-rw-r--r-- | gr-trellis/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-trellis/python/trellis/CMakeLists.txt | 1 | ||||
-rw-r--r-- | gr-trellis/swig/CMakeLists.txt | 3 |
10 files changed, 3 insertions, 223 deletions
diff --git a/gr-trellis/CMakeLists.txt b/gr-trellis/CMakeLists.txt index a3f0ad486c..20c1c6b54d 100644 --- a/gr-trellis/CMakeLists.txt +++ b/gr-trellis/CMakeLists.txt @@ -51,53 +51,6 @@ SET(GR_PKG_TRELLIS_EXAMPLES_DIR ${GR_PKG_DATA_DIR}/examples/trellis) if(ENABLE_GR_TRELLIS) ######################################################################## -# Setup CPack components -######################################################################## -include(GrPackage) -CPACK_SET(CPACK_COMPONENT_GROUP_TRELLIS_DESCRIPTION "GNU Radio Trellis Blocks") - -CPACK_COMPONENT("trellis_docs" - GROUP "Trellis" - DISPLAY_NAME "Documentation" - DESCRIPTION "Doxygen HTML and XML" -) - -CPACK_COMPONENT("trellis_runtime" - GROUP "Trellis" - DISPLAY_NAME "Runtime" - DESCRIPTION "Dynamic link libraries" - DEPENDS "runtime_runtime" -) - -CPACK_COMPONENT("trellis_devel" - GROUP "Trellis" - DISPLAY_NAME "Development" - DESCRIPTION "C++ headers, package config, import libraries" - DEPENDS "runtime_devel" -) - -CPACK_COMPONENT("trellis_python" - GROUP "Trellis" - DISPLAY_NAME "Python" - DESCRIPTION "Python modules for runtime" - DEPENDS "runtime_python;trellis_runtime" -) - -CPACK_COMPONENT("trellis_examples" - GROUP "Trellis" - DISPLAY_NAME "Examples" - DESCRIPTION "Python examples for trellis" - DEPENDS "trellis_python" -) - -CPACK_COMPONENT("trellis_swig" - GROUP "Trellis" - DISPLAY_NAME "SWIG" - DESCRIPTION "SWIG development .i files" - DEPENDS "runtime_swig;trellis_python;trellis_devel" -) - -######################################################################## # Add subdirectories ######################################################################## add_subdirectory(include/gnuradio/trellis) @@ -122,7 +75,6 @@ configure_file( install( FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-trellis.pc DESTINATION ${GR_LIBRARY_DIR}/pkgconfig - COMPONENT "trellis_devel" ) endif(ENABLE_GR_TRELLIS) diff --git a/gr-trellis/doc/CMakeLists.txt b/gr-trellis/doc/CMakeLists.txt index 568539582d..06813258f3 100644 --- a/gr-trellis/doc/CMakeLists.txt +++ b/gr-trellis/doc/CMakeLists.txt @@ -35,7 +35,6 @@ add_custom_target(gr_trellis_html ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/gr-tre install( FILES ${CMAKE_CURRENT_BINARY_DIR}/gr-trellis.html DESTINATION ${GR_PKG_DOC_DIR}/html - COMPONENT "trellis_docs" ) endif(XMLTO_EXECUTABLE) @@ -69,5 +68,4 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/test_tcm.py.xml ${CMAKE_CURRENT_BINARY_DIR}/test_viterbi_equalization1.py.xml DESTINATION ${GR_PKG_DOC_DIR}/xml - COMPONENT "trellis_docs" ) diff --git a/gr-trellis/examples/grc/CMakeLists.txt b/gr-trellis/examples/grc/CMakeLists.txt index c5d4fc8965..a4718dd59b 100644 --- a/gr-trellis/examples/grc/CMakeLists.txt +++ b/gr-trellis/examples/grc/CMakeLists.txt @@ -59,5 +59,4 @@ install( ${CMAKE_CURRENT_BINARY_DIR}/interference_cancellation.grc readme.txt DESTINATION ${GR_PKG_TRELLIS_EXAMPLES_DIR} - COMPONENT "trellis-examples" ) diff --git a/gr-trellis/examples/python/CMakeLists.txt b/gr-trellis/examples/python/CMakeLists.txt index 8a05525bc4..efb8d98144 100644 --- a/gr-trellis/examples/python/CMakeLists.txt +++ b/gr-trellis/examples/python/CMakeLists.txt @@ -22,15 +22,12 @@ include(GrPython) GR_PYTHON_INSTALL( PROGRAMS test_tcm.py - test_cpm.py DESTINATION ${GR_PKG_TRELLIS_EXAMPLES_DIR} - COMPONENT "trellis_examples" ) install( FILES README DESTINATION ${GR_PKG_DATA_DIR}/examples/trellis - COMPONENT "trellis_examples" ) install( @@ -68,5 +65,4 @@ install( fsm_files/simple.fsm fsm_files/uncoded4.fsm DESTINATION ${GR_PKG_TRELLIS_EXAMPLES_DIR}/fsm_files - COMPONENT "trellis_examples" ) diff --git a/gr-trellis/examples/python/test_cpm.py b/gr-trellis/examples/python/test_cpm.py deleted file mode 100755 index 8014c8702a..0000000000 --- a/gr-trellis/examples/python/test_cpm.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/env python -################################################## -# Gnuradio Python Flow Graph -# Title: CPM test -# Author: Achilleas Anastasopoulos -# Description: gnuradio flow graph -# Generated: Thu Feb 19 23:16:23 2009 -################################################## - -from gnuradio import gr -from gnuradio import trellis, digital, filter, blocks -from grc_gnuradio import blks2 as grc_blks2 -import math -import numpy -from gnuradio import trellis -from gnuradio.trellis import fsm_utils - -try: - from gnuradio import analog -except ImportError: - sys.stderr.write("Error: Program requires gr-analog.\n") - sys.exit(1) - -try: - import scipy.stats -except ImportError: - print "Error: Program requires scipy (see: www.scipy.org)." - sys.exit(1) - -def run_test(seed,blocksize): - tb = gr.top_block() - - ################################################## - # Variables - ################################################## - M = 2 - K = 1 - P = 2 - h = (1.0*K)/P - L = 3 - Q = 4 - frac = 0.99 - f = trellis.fsm(P,M,L) - - # CPFSK signals - #p = numpy.ones(L*Q) - #p = p/sum(p)*Q/2.0; - #q = numpy.cumsum(p) - #q = q/q[-1]/2.0; - - # GMSK signals - BT=0.3; - tt=numpy.arange(0,L*Q)/(1.0*Q)-L/2.0; - #print tt - p=(0.5*scipy.special.erfc(2*math.pi*BT*(tt-0.5)/math.sqrt(math.log(2.0))/math.sqrt(2.0))-0.5*scipy.special.erfc(2*math.pi*BT*(tt+0.5)/math.sqrt(math.log(2.0))/math.sqrt(2.0)))/2.0; - p=p/sum(p)*Q/2.0; - #print p - q=numpy.cumsum(p); - q=q/q[-1]/2.0; - #print q - - (f0T,SS,S,F,Sf,Ff,N) = fsm_utils.make_cpm_signals(K,P,M,L,q,frac) - #print N - #print Ff - Ffa = numpy.insert(Ff,Q,numpy.zeros(N),axis=0) - #print Ffa - MF = numpy.fliplr(numpy.transpose(Ffa)) - #print MF - E = numpy.sum(numpy.abs(Sf)**2,axis=0) - Es = numpy.sum(E)/f.O() - #print Es - - constellation = numpy.reshape(numpy.transpose(Sf),N*f.O()) - #print Ff - #print Sf - #print constellation - #print numpy.max(numpy.abs(SS - numpy.dot(Ff , Sf))) - - EsN0_db = 10.0 - N0 = Es * 10.0**(-(1.0*EsN0_db)/10.0) - #N0 = 0.0 - #print N0 - head = 4 - tail = 4 - numpy.random.seed(seed*666) - data = numpy.random.randint(0, M, head+blocksize+tail+1) - #data = numpy.zeros(blocksize+1+head+tail,'int') - for i in range(head): - data[i]=0 - for i in range(tail+1): - data[-i]=0 - - - - ################################################## - # Blocks - ################################################## - random_source_x_0 = blocks.vector_source_b(data.tolist(), False) - digital_chunks_to_symbols_xx_0 = digital.chunks_to_symbols_bf((-1, 1), 1) - filter_interp_fir_filter_xxx_0 = filter.interp_fir_filter_fff(Q, p) - analog_frequency_modulator_fc_0 = analog.frequency_modulator_fc(2*math.pi*h*(1.0/Q)) - - blocks_add_vxx_0 = blocks.add_vcc(1) - analog_noise_source_x_0 = analog.noise_source_c(analog.GR_GAUSSIAN, (N0/2.0)**0.5, -long(seed)) - - blocks_multiply_vxx_0 = blocks.multiply_vcc(1) - analog_sig_source_x_0 = analog.sig_source_c(Q, analog.GR_COS_WAVE, -f0T, 1, 0) - # only works for N=2, do it manually for N>2... - filter_fir_filter_xxx_0_0 = filter.fir_filter_ccc(Q, MF[0].conjugate()) - filter_fir_filter_xxx_0_0_0 = filter.fir_filter_ccc(Q, MF[1].conjugate()) - blocks_streams_to_stream_0 = blocks.streams_to_stream(gr.sizeof_gr_complex*1, int(N)) - blocks_skiphead_0 = blocks.skiphead(gr.sizeof_gr_complex*1, int(N*(1+0))) - viterbi = trellis.viterbi_combined_cb(f, head+blocksize+tail, 0, -1, int(N), - constellation, digital.TRELLIS_EUCLIDEAN) - - blocks_vector_sink_x_0 = blocks.vector_sink_b() - - ################################################## - # Connections - ################################################## - tb.connect((random_source_x_0, 0), (digital_chunks_to_symbols_xx_0, 0)) - tb.connect((digital_chunks_to_symbols_xx_0, 0), (filter_interp_fir_filter_xxx_0, 0)) - tb.connect((filter_interp_fir_filter_xxx_0, 0), (analog_frequency_modulator_fc_0, 0)) - tb.connect((analog_frequency_modulator_fc_0, 0), (blocks_add_vxx_0, 0)) - tb.connect((analog_noise_source_x_0, 0), (blocks_add_vxx_0, 1)) - tb.connect((blocks_add_vxx_0, 0), (blocks_multiply_vxx_0, 0)) - tb.connect((analog_sig_source_x_0, 0), (blocks_multiply_vxx_0, 1)) - tb.connect((blocks_multiply_vxx_0, 0), (filter_fir_filter_xxx_0_0, 0)) - tb.connect((blocks_multiply_vxx_0, 0), (filter_fir_filter_xxx_0_0_0, 0)) - tb.connect((filter_fir_filter_xxx_0_0, 0), (blocks_streams_to_stream_0, 0)) - tb.connect((filter_fir_filter_xxx_0_0_0, 0), (blocks_streams_to_stream_0, 1)) - tb.connect((blocks_streams_to_stream_0, 0), (blocks_skiphead_0, 0)) - tb.connect((blocks_skiphead_0, 0), (viterbi, 0)) - tb.connect((viterbi, 0), (blocks_vector_sink_x_0, 0)) - - - tb.run() - dataest = blocks_vector_sink_x_0.data() - #print data - #print numpy.array(dataest) - perr = 0 - err = 0 - for i in range(blocksize): - if data[head+i] != dataest[head+i]: - #print i - err += 1 - if err != 0 : - perr = 1 - return (err,perr) - -if __name__ == '__main__': - blocksize = 1000 - ss=0 - ee=0 - for i in range(10000): - (s,e) = run_test(i,blocksize) - ss += s - ee += e - if (i+1) % 100 == 0: - print i+1,ss,ee,(1.0*ss)/(i+1)/(1.0*blocksize),(1.0*ee)/(i+1) - print i+1,ss,ee,(1.0*ss)/(i+1)/(1.0*blocksize),(1.0*ee)/(i+1) diff --git a/gr-trellis/grc/CMakeLists.txt b/gr-trellis/grc/CMakeLists.txt index d60d64872c..9fbadd50d8 100644 --- a/gr-trellis/grc/CMakeLists.txt +++ b/gr-trellis/grc/CMakeLists.txt @@ -32,5 +32,4 @@ install(FILES trellis_pccc_decoder_x.xml trellis_pccc_decoder_combined_xx.xml DESTINATION ${GRC_BLOCKS_DIR} - COMPONENT "trellis_python" ) diff --git a/gr-trellis/include/gnuradio/trellis/CMakeLists.txt b/gr-trellis/include/gnuradio/trellis/CMakeLists.txt index ef60ce7370..831f2916dc 100644 --- a/gr-trellis/include/gnuradio/trellis/CMakeLists.txt +++ b/gr-trellis/include/gnuradio/trellis/CMakeLists.txt @@ -54,6 +54,5 @@ install(FILES siso_combined_f.h siso_f.h DESTINATION ${GR_INCLUDE_DIR}/gnuradio/trellis - COMPONENT "trellis_devel" ) diff --git a/gr-trellis/lib/CMakeLists.txt b/gr-trellis/lib/CMakeLists.txt index 9c51d06604..3d268c608f 100644 --- a/gr-trellis/lib/CMakeLists.txt +++ b/gr-trellis/lib/CMakeLists.txt @@ -90,7 +90,7 @@ ENDIF(MSVC) add_library(gnuradio-trellis SHARED ${trellis_sources}) target_link_libraries(gnuradio-trellis ${trellis_libs}) -GR_LIBRARY_FOO(gnuradio-trellis RUNTIME_COMPONENT "trellis_runtime" DEVEL_COMPONENT "trellis_devel") +GR_LIBRARY_FOO(gnuradio-trellis) add_dependencies(gnuradio-trellis trellis_generated_includes trellis_generated_swigs gnuradio-runtime gnuradio-digital) @@ -120,6 +120,6 @@ if(ENABLE_STATIC_LIBS) endif(NOT WIN32) install(TARGETS gnuradio-trellis_static - ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT "trellis_devel" # .lib file + ARCHIVE DESTINATION lib${LIB_SUFFIX} # .lib file ) endif(ENABLE_STATIC_LIBS) diff --git a/gr-trellis/python/trellis/CMakeLists.txt b/gr-trellis/python/trellis/CMakeLists.txt index 5cfe927412..10fd9d5c0e 100644 --- a/gr-trellis/python/trellis/CMakeLists.txt +++ b/gr-trellis/python/trellis/CMakeLists.txt @@ -27,7 +27,6 @@ GR_PYTHON_INSTALL( __init__.py fsm_utils.py DESTINATION ${GR_PYTHON_DIR}/gnuradio/trellis - COMPONENT "trellis_python" ) ######################################################################## diff --git a/gr-trellis/swig/CMakeLists.txt b/gr-trellis/swig/CMakeLists.txt index a493c67fcc..14012abad5 100644 --- a/gr-trellis/swig/CMakeLists.txt +++ b/gr-trellis/swig/CMakeLists.txt @@ -66,7 +66,7 @@ foreach(swigfile ${GR_SWIG_TRELLIS_IFILES}) GR_SWIG_INSTALL( TARGETS ${swigfile} DESTINATION ${GR_PYTHON_DIR}/gnuradio/trellis - COMPONENT "trellis_python") + ) list(APPEND SWIGFILES ${swigfile}.i) list(APPEND SWIGDOCFILES ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i) @@ -77,7 +77,6 @@ install( ${SWIGFILES} ${SWIGDOCFILES} DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig - COMPONENT "trellis_swig" ) # Install the Python file that pulls in the swig built files. |