diff options
Diffstat (limited to 'gr-filter')
38 files changed, 378 insertions, 259 deletions
diff --git a/gr-filter/examples/benchmark_filters.py b/gr-filter/examples/benchmark_filters.py index 5fd012bcc4..ffc869db73 100755 --- a/gr-filter/examples/benchmark_filters.py +++ b/gr-filter/examples/benchmark_filters.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2005,2006,2007 Free Software Foundation, Inc. +# Copyright 2005-2007,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -24,6 +24,7 @@ import time import random from optparse import OptionParser from gnuradio import gr +from gnuradio import blocks from gnuradio.eng_option import eng_option def make_random_complex_tuple(L): @@ -38,10 +39,10 @@ def benchmark(name, creator, dec, ntaps, total_test_size, block_size): tb = gr.top_block() taps = make_random_complex_tuple(ntaps) - src = gr.vector_source_c(make_random_complex_tuple(block_size), True) - head = gr.head(gr.sizeof_gr_complex, int(total_test_size)) + src = blocks.vector_source_c(make_random_complex_tuple(block_size), True) + head = blocks.head(gr.sizeof_gr_complex, int(total_test_size)) op = creator(dec, taps) - dst = gr.null_sink(gr.sizeof_gr_complex) + dst = blocks.null_sink(gr.sizeof_gr_complex) tb.connect(src, head, op, dst) start = time.time() tb.run() @@ -66,9 +67,9 @@ def main(): block_size = options.block_size dec = options.decimation - benchmark("filter.fir_filter_ccc", gr.fir_filter_ccc, + benchmark("filter.fir_filter_ccc", filter.fir_filter_ccc, dec, ntaps, total_input_size, block_size) - benchmark("filter.fft_filter_ccc", gr.fft_filter_ccc, + benchmark("filter.fft_filter_ccc", filter.fft_filter_ccc, dec, ntaps, total_input_size, block_size) if __name__ == '__main__': diff --git a/gr-filter/examples/channelize.py b/gr-filter/examples/channelize.py index 77d3c21968..e70817e873 100755 --- a/gr-filter/examples/channelize.py +++ b/gr-filter/examples/channelize.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2009,2012 Free Software Foundation, Inc. +# Copyright 2009,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -76,13 +76,13 @@ class pfb_top_block(gr.top_block): self.signals.append(analog.sig_source_c(self._ifs, analog.GR_SIN_WAVE, f, 1)) self.connect(self.signals[i], (self.add,i)) - self.head = gr.head(gr.sizeof_gr_complex, self._N) + self.head = blocks.head(gr.sizeof_gr_complex, self._N) # Construct the channelizer filter self.pfb = filter.pfb.channelizer_ccf(self._M, self._taps, 1) # Construct a vector sink for the input signal to the channelizer - self.snk_i = gr.vector_sink_c() + self.snk_i = blocks.vector_sink_c() # Connect the blocks self.connect(self.add, self.head, self.pfb) @@ -94,7 +94,7 @@ class pfb_top_block(gr.top_block): # Create a vector sink for each of M output channels of the filter and connect it self.snks = list() for i in xrange(self._M): - self.snks.append(gr.vector_sink_c()) + self.snks.append(blocks.vector_sink_c()) self.connect((self.pfb, i), self.snks[i]) diff --git a/gr-filter/examples/chirp_channelize.py b/gr-filter/examples/chirp_channelize.py index d4d2f8e238..aedd5c4892 100755 --- a/gr-filter/examples/chirp_channelize.py +++ b/gr-filter/examples/chirp_channelize.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2009,2012 Free Software Foundation, Inc. +# Copyright 2009,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -70,20 +70,20 @@ class pfb_top_block(gr.top_block): else: amp = 100 data = scipy.arange(0, amp, amp/float(self._N)) - self.vco_input = gr.vector_source_f(data, False) + self.vco_input = blocks.vector_source_f(data, False) # Build a VCO controlled by either the sinusoid or single chirp tone # Then convert this to a complex signal self.vco = blocks.vco_f(self._fs, 225, 1) self.f2c = blocks.float_to_complex() - self.head = gr.head(gr.sizeof_gr_complex, self._N) + self.head = blocks.head(gr.sizeof_gr_complex, self._N) # Construct the channelizer filter self.pfb = filter.pfb.channelizer_ccf(self._M, self._taps) # Construct a vector sink for the input signal to the channelizer - self.snk_i = gr.vector_sink_c() + self.snk_i = blocks.vector_sink_c() # Connect the blocks self.connect(self.vco_input, self.vco, self.f2c) @@ -93,7 +93,7 @@ class pfb_top_block(gr.top_block): # Create a vector sink for each of M output channels of the filter and connect it self.snks = list() for i in xrange(self._M): - self.snks.append(gr.vector_sink_c()) + self.snks.append(blocks.vector_sink_c()) self.connect((self.pfb, i), self.snks[i]) diff --git a/gr-filter/examples/decimate.py b/gr-filter/examples/decimate.py index 56ed7edff1..675073a431 100755 --- a/gr-filter/examples/decimate.py +++ b/gr-filter/examples/decimate.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2009,2012 Free Software Foundation, Inc. +# Copyright 2009,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -75,7 +75,7 @@ class pfb_top_block(gr.top_block): self.signals.append(analog.sig_source_c(self._fs, analog.GR_SIN_WAVE, freqs[i], 1)) self.connect(self.signals[i], (self.add,i)) - self.head = gr.head(gr.sizeof_gr_complex, self._N) + self.head = blocks.head(gr.sizeof_gr_complex, self._N) # Construct a PFB decimator filter self.pfb = filter.pfb.decimator_ccf(self._decim, self._taps, 0) @@ -83,14 +83,14 @@ class pfb_top_block(gr.top_block): # Construct a standard FIR decimating filter self.dec = filter.fir_filter_ccf(self._decim, self._taps) - self.snk_i = gr.vector_sink_c() + self.snk_i = blocks.vector_sink_c() # Connect the blocks self.connect(self.add, self.head, self.pfb) self.connect(self.add, self.snk_i) # Create the sink for the decimated siganl - self.snk = gr.vector_sink_c() + self.snk = blocks.vector_sink_c() self.connect(self.pfb, self.snk) diff --git a/gr-filter/examples/fft_filter_ccc.py b/gr-filter/examples/fft_filter_ccc.py index 676e7d9f16..aaa3c6e6eb 100755 --- a/gr-filter/examples/fft_filter_ccc.py +++ b/gr-filter/examples/fft_filter_ccc.py @@ -2,6 +2,7 @@ from gnuradio import gr, filter from gnuradio import analog +from gnuradio import blocks from gnuradio import eng_notation from gnuradio.eng_option import eng_option from optparse import OptionParser @@ -35,12 +36,12 @@ class example_fft_filter_ccc(gr.top_block): print "Num. Taps: ", len(taps) self.src = analog.noise_source_c(analog.GR_GAUSSIAN, 1) - self.head = gr.head(gr.sizeof_gr_complex, self._nsamps) + self.head = blocks.head(gr.sizeof_gr_complex, self._nsamps) self.filt0 = filter.fft_filter_ccc(self._decim, taps) - self.vsnk_src = gr.vector_sink_c() - self.vsnk_out = gr.vector_sink_c() + self.vsnk_src = blocks.vector_sink_c() + self.vsnk_out = blocks.vector_sink_c() self.connect(self.src, self.head, self.vsnk_src) self.connect(self.head, self.filt0, self.vsnk_out) diff --git a/gr-filter/examples/fir_filter_ccc.py b/gr-filter/examples/fir_filter_ccc.py index 6e68fc0af7..0991124b8d 100755 --- a/gr-filter/examples/fir_filter_ccc.py +++ b/gr-filter/examples/fir_filter_ccc.py @@ -2,6 +2,7 @@ from gnuradio import gr, filter from gnuradio import analog +from gnuradio import blocks from gnuradio import eng_notation from gnuradio.eng_option import eng_option from optparse import OptionParser @@ -32,12 +33,12 @@ class example_fir_filter_ccc(gr.top_block): print "Num. Taps: ", len(taps) self.src = analog.noise_source_c(analog.GR_GAUSSIAN, 1) - self.head = gr.head(gr.sizeof_gr_complex, self._nsamps) + self.head = blocks.head(gr.sizeof_gr_complex, self._nsamps) self.filt0 = filter.fir_filter_ccc(self._decim, taps) - self.vsnk_src = gr.vector_sink_c() - self.vsnk_out = gr.vector_sink_c() + self.vsnk_src = blocks.vector_sink_c() + self.vsnk_out = blocks.vector_sink_c() self.connect(self.src, self.head, self.vsnk_src) self.connect(self.head, self.filt0, self.vsnk_out) diff --git a/gr-filter/examples/fir_filter_fff.py b/gr-filter/examples/fir_filter_fff.py index a1a8ab9573..549b543498 100755 --- a/gr-filter/examples/fir_filter_fff.py +++ b/gr-filter/examples/fir_filter_fff.py @@ -2,6 +2,7 @@ from gnuradio import gr, filter from gnuradio import analog +from gnuradio import blocks from gnuradio import eng_notation from gnuradio.eng_option import eng_option from optparse import OptionParser @@ -32,12 +33,12 @@ class example_fir_filter_fff(gr.top_block): print "Num. Taps: ", len(taps) self.src = analog.noise_source_f(analog.GR_GAUSSIAN, 1) - self.head = gr.head(gr.sizeof_float, self._nsamps) + self.head = blocks.head(gr.sizeof_float, self._nsamps) self.filt0 = filter.fir_filter_fff(self._decim, taps) - self.vsnk_src = gr.vector_sink_f() - self.vsnk_out = gr.vector_sink_f() + self.vsnk_src = blocks.vector_sink_f() + self.vsnk_out = blocks.vector_sink_f() self.connect(self.src, self.head, self.vsnk_src) self.connect(self.head, self.filt0, self.vsnk_out) diff --git a/gr-filter/examples/interpolate.py b/gr-filter/examples/interpolate.py index e0d4cc14b1..40bab7b1f1 100755 --- a/gr-filter/examples/interpolate.py +++ b/gr-filter/examples/interpolate.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2009,2012 Free Software Foundation, Inc. +# Copyright 2009,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -89,14 +89,14 @@ class pfb_top_block(gr.top_block): self.signal2 = analog.sig_source_c(self._fs, analog.GR_SIN_WAVE, freq2, 0.5) self.signal = blocks.add_cc() - self.head = gr.head(gr.sizeof_gr_complex, self._N) + self.head = blocks.head(gr.sizeof_gr_complex, self._N) # Construct the PFB interpolator filter self.pfb = filter.pfb.interpolator_ccf(self._interp, self._taps) # Construct the PFB arbitrary resampler filter self.pfb_ar = filter.pfb.arb_resampler_ccf(self._ainterp, self._taps2, flt_size) - self.snk_i = gr.vector_sink_c() + self.snk_i = blocks.vector_sink_c() #self.pfb_ar.pfb.print_taps() #self.pfb.pfb.print_taps() @@ -109,8 +109,8 @@ class pfb_top_block(gr.top_block): self.connect(self.signal, self.snk_i) # Create the sink for the interpolated signals - self.snk1 = gr.vector_sink_c() - self.snk2 = gr.vector_sink_c() + self.snk1 = blocks.vector_sink_c() + self.snk2 = blocks.vector_sink_c() self.connect(self.pfb, self.snk1) self.connect(self.pfb_ar, self.snk2) diff --git a/gr-filter/examples/reconstruction.py b/gr-filter/examples/reconstruction.py index 75c224e79c..85704bda2b 100755 --- a/gr-filter/examples/reconstruction.py +++ b/gr-filter/examples/reconstruction.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2010,2012 Free Software Foundation, Inc. +# Copyright 2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, digital from gnuradio import filter +from gnuradio import blocks try: from gnuradio import channels @@ -68,7 +69,7 @@ def main(): data = scipy.random.randint(0, 256, N) rrc_taps = filter.firdes.root_raised_cosine(1, 2, 1, 0.35, 41) - src = gr.vector_source_b(data.astype(scipy.uint8).tolist(), False) + src = blocks.vector_source_b(data.astype(scipy.uint8).tolist(), False) mod = digital.bpsk_mod(samples_per_symbol=2) chan = filter.channel_model(npwr) rrc = filter.fft_filter_ccc(1, rrc_taps) @@ -79,8 +80,8 @@ def main(): # Put the pieces back together again syn_taps = [nchans*t for t in proto_taps] synthesizer = filter.pfb_synthesizer_ccf(nchans, syn_taps, True) - src_snk = gr.vector_sink_c() - snk = gr.vector_sink_c() + src_snk = blocks.vector_sink_c() + snk = blocks.vector_sink_c() # Remap the location of the channels # Can be done in synth or channelizer (watch out for rotattions in @@ -96,7 +97,7 @@ def main(): for i in xrange(nchans): tb.connect((channelizer,i), (synthesizer, i)) - vsnk.append(gr.vector_sink_c()) + vsnk.append(blocks.vector_sink_c()) tb.connect((channelizer,i), vsnk[i]) tb.connect(synthesizer, snk) diff --git a/gr-filter/examples/resampler.py b/gr-filter/examples/resampler.py index c2a24116fc..e329f062d0 100755 --- a/gr-filter/examples/resampler.py +++ b/gr-filter/examples/resampler.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2009,2012 Free Software Foundation, Inc. +# Copyright 2009,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr from gnuradio import filter +from gnuradio import blocks import sys try: @@ -54,7 +55,7 @@ class mytb(gr.top_block): self.src = analog.sig_source_c(fs_in, analog.GR_SIN_WAVE, fc, 1) #self.src = analog.noise_source_c(analog.GR_GAUSSIAN, 1) - self.head = gr.head(gr.sizeof_gr_complex, N) + self.head = blocks.head(gr.sizeof_gr_complex, N) # A resampler with our taps self.resamp_0 = filter.pfb.arb_resampler_ccf(rerate, taps, @@ -67,9 +68,9 @@ class mytb(gr.top_block): # specify the out-of-band rejection (default=80). self.resamp_1 = filter.pfb.arb_resampler_ccf(rerate) - self.snk_in = gr.vector_sink_c() - self.snk_0 = gr.vector_sink_c() - self.snk_1 = gr.vector_sink_c() + self.snk_in = blocks.vector_sink_c() + self.snk_0 = blocks.vector_sink_c() + self.snk_1 = blocks.vector_sink_c() self.connect(self.src, self.head, self.snk_in) self.connect(self.head, self.resamp_0, self.snk_0) diff --git a/gr-filter/examples/synth_filter.py b/gr-filter/examples/synth_filter.py index 505141614a..5382127b35 100755 --- a/gr-filter/examples/synth_filter.py +++ b/gr-filter/examples/synth_filter.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2010,2012 Free Software Foundation, Inc. +# Copyright 2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr from gnuradio import filter +from gnuradio import blocks import sys try: @@ -60,8 +61,8 @@ def main(): len(taps)/nchans) filtbank = filter.pfb_synthesizer_ccf(nchans, taps) - head = gr.head(gr.sizeof_gr_complex, N) - snk = gr.vector_sink_c() + head = blocks.head(gr.sizeof_gr_complex, N) + snk = blocks.vector_sink_c() tb = gr.top_block() tb.connect(filtbank, head, snk) diff --git a/gr-filter/examples/synth_to_chan.py b/gr-filter/examples/synth_to_chan.py index 5ea4d8ee47..9e682021b7 100755 --- a/gr-filter/examples/synth_to_chan.py +++ b/gr-filter/examples/synth_to_chan.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2010,2012 Free Software Foundation, Inc. +# Copyright 2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -68,10 +68,10 @@ def main(): channelizer = filter.pfb.channelizer_ccf(nchans, chtaps) noise_level = 0.01 - head = gr.head(gr.sizeof_gr_complex, N) + head = blocks.head(gr.sizeof_gr_complex, N) noise = analog.noise_source_c(analog.GR_GAUSSIAN, noise_level) addnoise = blocks.add_cc() - snk_synth = gr.vector_sink_c() + snk_synth = blocks.vector_sink_c() tb = gr.top_block() @@ -85,7 +85,7 @@ def main(): tb.connect(si, fmtx[i], (filtbank, i)) for i in xrange(nchans): - snk.append(gr.vector_sink_c()) + snk.append(blocks.vector_sink_c()) tb.connect((channelizer, i), snk[i]) tb.run() diff --git a/gr-filter/grc/CMakeLists.txt b/gr-filter/grc/CMakeLists.txt index 1ca23d560e..3a2af83da9 100644 --- a/gr-filter/grc/CMakeLists.txt +++ b/gr-filter/grc/CMakeLists.txt @@ -33,6 +33,7 @@ install(FILES filter_pfb_decimator.xml filter_pfb_interpolator.xml filter_pfb_synthesizer.xml + filter_rational_resampler_xxx.xml filter_rational_resampler_base_xxx.xml filter_single_pole_iir_filter_xx.xml filter_low_pass_filter.xml diff --git a/gr-filter/grc/filter_block_tree.xml b/gr-filter/grc/filter_block_tree.xml index 9b72dcf605..a9dfd56549 100644 --- a/gr-filter/grc/filter_block_tree.xml +++ b/gr-filter/grc/filter_block_tree.xml @@ -51,6 +51,7 @@ <block>pfb_decimator_ccf</block> <block>pfb_interpolator_ccf</block> <block>pfb_synthesizer_ccf</block> + <block>rational_resampler_xxx</block> <block>rational_resampler_base_xxx</block> <block>single_pole_iir_filter_xx</block> </cat> diff --git a/gr-filter/grc/filter_rational_resampler_xxx.xml b/gr-filter/grc/filter_rational_resampler_xxx.xml new file mode 100644 index 0000000000..6287c5a437 --- /dev/null +++ b/gr-filter/grc/filter_rational_resampler_xxx.xml @@ -0,0 +1,92 @@ +<?xml version="1.0"?> +<!-- +################################################### +##Rational Resampler Base +################################################### + --> +<block> + <name>Rational Resampler</name> + <key>rational_resampler_xxx</key> + <import>from gnuradio import filter</import> + <import>from gnuradio.filter import firdes</import> + <make>filter.rational_resampler_$(type)( + interpolation=$interp, + decimation=$decim, +#if $taps() + taps=$taps, +#else + taps=None, +#end if +#if $fbw() != 0 + fractional_bw=$fbw, +#else + fractional_bw=None, +#end if +)</make> + <callback>set_taps($taps)</callback> + <param> + <name>Type</name> + <key>type</key> + <type>enum</type> + <option> + <name>Complex->Complex (Complex Taps)</name> + <key>ccc</key> + <opt>input:complex</opt> + <opt>output:complex</opt> + <opt>taps:complex_vector</opt> + </option> + <option> + <name>Complex->Complex (Real Taps)</name> + <key>ccf</key> + <opt>input:complex</opt> + <opt>output:complex</opt> + <opt>taps:real_vector</opt> + </option> + <option> + <name>Float->Complex (Complex Taps)</name> + <key>fcc</key> + <opt>input:float</opt> + <opt>output:complex</opt> + <opt>taps:complex_vector</opt> + </option> + <option> + <name>Float->Float (Real Taps)</name> + <key>fff</key> + <opt>input:float</opt> + <opt>output:float</opt> + <opt>taps:real_vector</opt> + </option> + </param> + <param> + <name>Interpolation</name> + <key>interp</key> + <value>1</value> + <type>int</type> + </param> + <param> + <name>Decimation</name> + <key>decim</key> + <value>1</value> + <type>int</type> + </param> + <param> + <name>Taps</name> + <key>taps</key> + <value>None</value> + <type>$type.taps</type> + </param> + <param> + <name>Fractional BW</name> + <key>fbw</key> + <value>0</value> + <type>real</type> + </param> + <sink> + <name>in</name> + <type>$type.input</type> + </sink> + <source> + <name>out</name> + <type>$type.output</type> + </source> +</block> diff --git a/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t b/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t index 88e15f823d..7aa4a55cc8 100644 --- a/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t +++ b/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t @@ -30,7 +30,6 @@ #include <filter/api.h> #include <gr_sync_decimator.h> -#include <gr_rotator.h> namespace gr { namespace filter { diff --git a/gr-filter/include/filter/pfb_channelizer_ccf.h b/gr-filter/include/filter/pfb_channelizer_ccf.h index 07e0c96387..825532a699 100644 --- a/gr-filter/include/filter/pfb_channelizer_ccf.h +++ b/gr-filter/include/filter/pfb_channelizer_ccf.h @@ -52,14 +52,15 @@ namespace gr { * filters in the filterbank are filled out with 0's to make sure each * filter has the same number of taps. * - * Each filter operates using the gr_fir filter classs of GNU Radio, - * which takes the input stream at <EM>i</EM> and performs the inner - * product calculation to <EM>i+(n-1)</EM> where <EM>n</EM> is the - * number of filter taps. To efficiently handle this in the GNU Radio - * structure, each filter input must come from its own input - * stream. So the channelizer must be provided with <EM>M</EM> streams - * where the input stream has been deinterleaved. This is most easily - * done using the gr::blocks::stream_to_streams block. + * Each filter operates using the gr::blocks::fir_filter_XXX + * classs of GNU Radio, which takes the input stream at <EM>i</EM> + * and performs the inner product calculation to <EM>i+(n-1)</EM> + * where <EM>n</EM> is the number of filter taps. To efficiently + * handle this in the GNU Radio structure, each filter input must + * come from its own input stream. So the channelizer must be + * provided with <EM>M</EM> streams where the input stream has + * been deinterleaved. This is most easily done using the + * gr::blocks::stream_to_streams block. * * The output is then produced as a vector, where index <EM>i</EM> * in the vector is the next sample from the <EM>i</EM>th diff --git a/gr-filter/include/filter/polyphase_filterbank.h b/gr-filter/include/filter/polyphase_filterbank.h index cd4ee4db99..500d1c9b8f 100644 --- a/gr-filter/include/filter/polyphase_filterbank.h +++ b/gr-filter/include/filter/polyphase_filterbank.h @@ -55,15 +55,15 @@ namespace gr { * are filled out with 0's to make sure each filter has the same * number of taps. * - * Each filter operates using the gr_fir filter classs of GNU - * Radio, which takes the input stream at <EM>i</EM> and - * performs the inner product calculation to <EM>i+(n-1)</EM> - * where <EM>n</EM> is the number of filter taps. To efficiently - * handle this in the GNU Radio structure, each filter input - * must come from its own input stream. So the channelizer must - * be provided with <EM>M</EM> streams where the input stream - * has been deinterleaved. This is most easily done using the - * gr::blocks::stream_to_streams block. + * Each filter operates using the gr::filter::fir_filter_XXX + * classs of GNU Radio, which takes the input stream at + * <EM>i</EM> and performs the inner product calculation to + * <EM>i+(n-1)</EM> where <EM>n</EM> is the number of filter + * taps. To efficiently handle this in the GNU Radio structure, + * each filter input must come from its own input stream. So the + * channelizer must be provided with <EM>M</EM> streams where + * the input stream has been deinterleaved. This is most easily + * done using the gr::blocks::stream_to_streams block. * * The output is then produced as a vector, where index * <EM>i</EM> in the vector is the next sample from the diff --git a/gr-filter/lib/CMakeLists.txt b/gr-filter/lib/CMakeLists.txt index 5fa06701d7..3164e7ad54 100644 --- a/gr-filter/lib/CMakeLists.txt +++ b/gr-filter/lib/CMakeLists.txt @@ -94,6 +94,7 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${GR_FILTER_INCLUDE_DIRS} ${GR_FFT_INCLUDE_DIRS} + ${GR_BLOCKS_INCLUDE_DIRS} ${GNURADIO_CORE_INCLUDE_DIRS} ${VOLK_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} @@ -163,6 +164,7 @@ endif(MSVC) list(APPEND filter_libs gnuradio-core gnuradio-fft + gnuradio-blocks volk ${Boost_LIBRARIES} ) diff --git a/gr-filter/lib/freq_xlating_fir_filter_XXX_impl.h.t b/gr-filter/lib/freq_xlating_fir_filter_XXX_impl.h.t index 0cf976d582..00222cac00 100644 --- a/gr-filter/lib/freq_xlating_fir_filter_XXX_impl.h.t +++ b/gr-filter/lib/freq_xlating_fir_filter_XXX_impl.h.t @@ -31,6 +31,7 @@ #include <filter/api.h> #include <filter/fir_filter.h> #include <filter/@BASE_NAME@.h> +#include <blocks/rotator.h> namespace gr { namespace filter { @@ -40,7 +41,7 @@ namespace gr { protected: std::vector<@TAP_TYPE@> d_proto_taps; kernel::@CFIR_TYPE@ *d_composite_fir; - gr_rotator d_r; + blocks::rotator d_r; double d_center_freq; double d_sampling_freq; bool d_updated; diff --git a/gr-filter/python/qa_adaptive_fir_filter.py b/gr-filter/python/qa_adaptive_fir_filter.py index cadce52044..e8233f76ae 100755 --- a/gr-filter/python/qa_adaptive_fir_filter.py +++ b/gr-filter/python/qa_adaptive_fir_filter.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2008,2010,2012 Free Software Foundation, Inc. +# Copyright 2008,2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -21,6 +21,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks class test_adaptive_filter(gr_unittest.TestCase): @@ -61,9 +62,9 @@ class test_adaptive_filter(gr_unittest.TestCase): (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.adaptive_fir_ccf("test", 1, 20*[0.5, 0.5]) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -80,9 +81,9 @@ class test_adaptive_filter(gr_unittest.TestCase): (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.adaptive_fir_ccf("test", 4, 20*[0.5, 0.5]) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -124,9 +125,9 @@ class test_adaptive_filter(gr_unittest.TestCase): (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.adaptive_fir_ccc("test", 1, 20*[0.5+1j, 0.5+1j]) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -146,9 +147,9 @@ class test_adaptive_filter(gr_unittest.TestCase): (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.adaptive_fir_ccc("test", 4, 20*[0.5+1j, 0.5+1j]) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() diff --git a/gr-filter/python/qa_dc_blocker.py b/gr-filter/python/qa_dc_blocker.py index b9df06b453..29a05fb550 100755 --- a/gr-filter/python/qa_dc_blocker.py +++ b/gr-filter/python/qa_dc_blocker.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2011,2012 Free Software Foundation, Inc. +# Copyright 2011-2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks class test_dc_blocker(gr_unittest.TestCase): @@ -38,9 +39,9 @@ class test_dc_blocker(gr_unittest.TestCase): (0.979156494140625+0j), (-0.02081298828125+0j), (-0.02072429656982422+0j)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.dc_blocker_cc(32, True) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect (src, op, dst) self.tb.run() @@ -56,9 +57,9 @@ class test_dc_blocker(gr_unittest.TestCase): (0.96875+0j), (-0.0302734375+0j), (-0.029296875+0j)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.dc_blocker_cc(32, False) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect (src, op, dst) self.tb.run() @@ -75,9 +76,9 @@ class test_dc_blocker(gr_unittest.TestCase): (0.979156494140625), (-0.02081298828125), (-0.02072429656982422)) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.dc_blocker_ff(32, True) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect (src, op, dst) self.tb.run() @@ -93,9 +94,9 @@ class test_dc_blocker(gr_unittest.TestCase): (0.96875), (-0.0302734375), (-0.029296875)) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.dc_blocker_ff(32, False) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect (src, op, dst) self.tb.run() diff --git a/gr-filter/python/qa_fft_filter.py b/gr-filter/python/qa_fft_filter.py index cb5416373f..9e0008d7c6 100755 --- a/gr-filter/python/qa_fft_filter.py +++ b/gr-filter/python/qa_fft_filter.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2004,2005,2007,2010,2012 Free Software Foundation, Inc. +# Copyright 2004,2005,2007,2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks import sys import random @@ -44,10 +45,10 @@ def reference_filter_ccc(dec, taps, input): compute result using conventional fir filter """ tb = gr.top_block() - #src = gr.vector_source_c(((0,) * (len(taps) - 1)) + input) - src = gr.vector_source_c(input) + #src = blocks.vector_source_c(((0,) * (len(taps) - 1)) + input) + src = blocks.vector_source_c(input) op = filter.fir_filter_ccc(dec, taps) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() tb.connect(src, op, dst) tb.run() return dst.data() @@ -57,10 +58,10 @@ def reference_filter_fff(dec, taps, input): compute result using conventional fir filter """ tb = gr.top_block() - #src = gr.vector_source_f(((0,) * (len(taps) - 1)) + input) - src = gr.vector_source_f(input) + #src = blocks.vector_source_f(((0,) * (len(taps) - 1)) + input) + src = blocks.vector_source_f(input) op = filter.fir_filter_fff(dec, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op, dst) tb.run() return dst.data() @@ -96,9 +97,9 @@ class test_fft_filter(gr_unittest.TestCase): src_data = (0,1,2,3,4,5,6,7) taps = (1,) expected_result = tuple([complex(x) for x in (0,1,2,3,4,5,6,7)]) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fft_filter_ccc(1, taps) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() tb.connect(src, op, dst) tb.run() result_data = dst.data() @@ -114,9 +115,9 @@ class test_fft_filter(gr_unittest.TestCase): taps = (2,) nthreads = 2 expected_result = tuple([2 * complex(x) for x in (0,1,2,3,4,5,6,7)]) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fft_filter_ccc(1, taps, nthreads) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() tb.connect(src, op, dst) tb.run() result_data = dst.data() @@ -129,9 +130,9 @@ class test_fft_filter(gr_unittest.TestCase): src_data = (0,1,2,3,4,5,6,7) taps = (2,) expected_result = tuple([2 * complex(x) for x in (0,1,2,3,4,5,6,7)]) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fft_filter_ccc(1, taps) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() tb.connect(src, op, dst) tb.run() result_data = dst.data() @@ -150,9 +151,9 @@ class test_fft_filter(gr_unittest.TestCase): taps = make_random_complex_tuple(ntaps) expected_result = reference_filter_ccc(1, taps, src_data) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fft_filter_ccc(1, taps) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() tb = gr.top_block() tb.connect(src, op, dst) tb.run() @@ -171,9 +172,9 @@ class test_fft_filter(gr_unittest.TestCase): taps = make_random_complex_tuple(ntaps) expected_result = reference_filter_ccc(dec, taps, src_data) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fft_filter_ccc(dec, taps) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() tb = gr.top_block() tb.connect(src, op, dst) tb.run() @@ -195,9 +196,9 @@ class test_fft_filter(gr_unittest.TestCase): taps = make_random_complex_tuple(ntaps) expected_result = reference_filter_ccc(dec, taps, src_data) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fft_filter_ccc(dec, taps, nthreads) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() tb = gr.top_block() tb.connect(src, op, dst) tb.run() @@ -215,9 +216,9 @@ class test_fft_filter(gr_unittest.TestCase): src_data = (0,1,2,3,4,5,6,7) taps = (1,) expected_result = tuple([float(x) for x in (0,1,2,3,4,5,6,7)]) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fft_filter_fff(1, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op, dst) tb.run() result_data = dst.data() @@ -231,9 +232,9 @@ class test_fft_filter(gr_unittest.TestCase): src_data = (0,1,2,3,4,5,6,7) taps = (2,) expected_result = tuple([2 * float(x) for x in (0,1,2,3,4,5,6,7)]) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fft_filter_fff(1, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op, dst) tb.run() result_data = dst.data() @@ -248,9 +249,9 @@ class test_fft_filter(gr_unittest.TestCase): taps = (2,) nthreads = 2 expected_result = tuple([2 * float(x) for x in (0,1,2,3,4,5,6,7)]) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fft_filter_fff(1, taps, nthreads) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op, dst) tb.run() result_data = dst.data() @@ -266,9 +267,9 @@ class test_fft_filter(gr_unittest.TestCase): taps = make_random_float_tuple(ntaps) expected_result = reference_filter_fff(1, taps, src_data) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fft_filter_fff(1, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb = gr.top_block() tb.connect(src, op, dst) tb.run() @@ -296,9 +297,9 @@ class test_fft_filter(gr_unittest.TestCase): taps = make_random_float_tuple(ntaps) expected_result = reference_filter_fff(1, taps, src_data) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fft_filter_fff(1, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb = gr.top_block() tb.connect(src, op, dst) tb.run() @@ -317,9 +318,9 @@ class test_fft_filter(gr_unittest.TestCase): taps = make_random_float_tuple(ntaps) expected_result = reference_filter_fff(dec, taps, src_data) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fft_filter_fff(dec, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb = gr.top_block() tb.connect(src, op, dst) tb.run() @@ -340,9 +341,9 @@ class test_fft_filter(gr_unittest.TestCase): taps = make_random_float_tuple(ntaps) expected_result = reference_filter_fff(dec, taps, src_data) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fft_filter_fff(dec, taps, nthreads) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb = gr.top_block() tb.connect(src, op, dst) tb.run() diff --git a/gr-filter/python/qa_filter_delay_fc.py b/gr-filter/python/qa_filter_delay_fc.py index 420d6fb05f..9ec1d9d582 100755 --- a/gr-filter/python/qa_filter_delay_fc.py +++ b/gr-filter/python/qa_filter_delay_fc.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2004,2007,2010,2012 Free Software Foundation, Inc. +# Copyright 2004,2007,2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks import math def sin_source_f(samp_rate, freq, amp, N): @@ -114,8 +115,8 @@ class test_filter_delay_fc(gr_unittest.TestCase): ntaps = 51 N = int(ntaps + sampling_freq * 0.10) data = sin_source_f(sampling_freq, sampling_freq * 0.10, 1.0, N) - src1 = gr.vector_source_f(data) - dst2 = gr.vector_sink_c() + src1 = blocks.vector_source_f(data) + dst2 = blocks.vector_sink_c() # calculate taps taps = filter.firdes_hilbert(ntaps) @@ -205,8 +206,8 @@ class test_filter_delay_fc(gr_unittest.TestCase): ntaps = 51 N = int(ntaps + sampling_freq * 0.10) data = sin_source_f(sampling_freq, sampling_freq * 0.10, 1.0, N) - src1 = gr.vector_source_f(data) - dst2 = gr.vector_sink_c() + src1 = blocks.vector_source_f(data) + dst2 = blocks.vector_sink_c() # calculate taps taps = filter.firdes_hilbert(ntaps) @@ -298,13 +299,13 @@ class test_filter_delay_fc(gr_unittest.TestCase): data1 = sin_source_f(sampling_freq, sampling_freq * 0.10, 1.0, N) data2 = cos_source_f(sampling_freq, sampling_freq * 0.10, 1.0, N) - src1 = gr.vector_source_f(data1) - src2 = gr.vector_source_f(data2) + src1 = blocks.vector_source_f(data1) + src2 = blocks.vector_source_f(data2) taps = filter.firdes_hilbert(ntaps) hd = filter.filter_delay_fc(taps) - dst2 = gr.vector_sink_c() + dst2 = blocks.vector_sink_c() tb.connect(src1, (hd,0)) tb.connect(src2, (hd,1)) diff --git a/gr-filter/python/qa_fir_filter.py b/gr-filter/python/qa_fir_filter.py index 2a61498a26..64e60ab295 100755 --- a/gr-filter/python/qa_fir_filter.py +++ b/gr-filter/python/qa_fir_filter.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2008,2010,2012 Free Software Foundation, Inc. +# Copyright 2008,2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -21,6 +21,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks class test_filter(gr_unittest.TestCase): @@ -55,9 +56,9 @@ class test_filter(gr_unittest.TestCase): 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fir_filter_fff(1, 20*[0.5, 0.5]) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -70,9 +71,9 @@ class test_filter(gr_unittest.TestCase): 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fir_filter_fff(4, 20*[0.5, 0.5]) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -109,9 +110,9 @@ class test_filter(gr_unittest.TestCase): (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fir_filter_ccf(1, 20*[0.5, 0.5]) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -128,9 +129,9 @@ class test_filter(gr_unittest.TestCase): (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j), (50+50j)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fir_filter_ccf(4, 20*[0.5, 0.5]) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -172,9 +173,9 @@ class test_filter(gr_unittest.TestCase): (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fir_filter_ccc(1, 20*[0.5+1j, 0.5+1j]) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -184,13 +185,13 @@ class test_filter(gr_unittest.TestCase): def test_fir_filter_ccc_002(self): src_data = 10*[1+1j, 2+2j, 3+3j, 4+4j] - # results derived from original gr.fir_filter_ccc + # results derived from original filter.fir_filter_ccc expected_data = ((7.537424837948042e-20+7.537424837948042e-20j), (9.131923434324563e-05+9.131923434324563e-05j), (0.0003317668742965907+0.0003317668742965907j), (0.0007230418268591166+0.0007230418268591166j), (0.0012087896466255188+0.0012087896466255188j), (0.0013292605290189385+0.0013292605290189385j), (0.001120875240303576+0.001120875240303576j), (0.000744672492146492+0.000744672492146492j), (0.000429437990533188+0.000429437990533188j), (2.283908543176949e-05+2.283908543176949e-05j), (-0.0002245186478830874-0.0002245186478830874j), (-0.0001157080550910905-0.0001157080550910905j), (0.00041409023106098175+0.00041409023106098175j), (0.0009017843985930085+0.0009017843985930085j), (0.0012520025484263897+0.0012520025484263897j), (0.0014116164529696107+0.0014116164529696107j), (0.001393353333696723+0.001393353333696723j), (0.000912194955162704+0.000912194955162704j), (0.00022649182938039303+0.00022649182938039303j), (-0.00031363096786662936-0.00031363096786662936j), (-0.0003966730728279799-0.0003966730728279799j), (-0.00023757052258588374-0.00023757052258588374j), (0.00021952332463115454+0.00021952332463115454j), (0.0009092430118471384+0.0009092430118471384j), (0.001662317430600524+0.001662317430600524j), (0.0019024648936465383+0.0019024648936465383j), (0.0015955769922584295+0.0015955769922584295j), (0.0009144138311967254+0.0009144138311967254j), (0.0001872836146503687+0.0001872836146503687j), (-0.000581968342885375-0.000581968342885375j), (-0.0009886166080832481-0.0009886166080832481j), (-0.0007480768254026771-0.0007480768254026771j), (0.00018211957649327815+0.00018211957649327815j), (0.0012042406015098095+0.0012042406015098095j), (0.0020200139842927456+0.0020200139842927456j), (0.0023816542234271765+0.0023816542234271765j), (0.002195809967815876+0.002195809967815876j), (0.0012113333214074373+0.0012113333214074373j), (-0.00014088614261709154-0.00014088614261709154j), (-0.0012574587017297745-0.0012574587017297745j)) taps = filter.firdes.low_pass(1, 1, 0.1, 0.01) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fir_filter_ccc(1, taps) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -209,9 +210,9 @@ class test_filter(gr_unittest.TestCase): (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j), (-50+150j)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.fir_filter_ccc(4, 20*[0.5+1j, 0.5+1j]) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -252,9 +253,9 @@ class test_filter(gr_unittest.TestCase): (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j)) - src = gr.vector_source_s(src_data) + src = blocks.vector_source_s(src_data) op = filter.fir_filter_scc(1, 20*[0.5+1j, 0.5+1j]) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -271,9 +272,9 @@ class test_filter(gr_unittest.TestCase): (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j), (50+100j)) - src = gr.vector_source_s(src_data) + src = blocks.vector_source_s(src_data) op = filter.fir_filter_scc(4, 20*[0.5+1j, 0.5+1j]) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -291,9 +292,9 @@ class test_filter(gr_unittest.TestCase): 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fir_filter_fsf(1, 20*[0.5, 0.5]) - dst = gr.vector_sink_s() + dst = blocks.vector_sink_s() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -305,9 +306,9 @@ class test_filter(gr_unittest.TestCase): expected_data = (0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fir_filter_fsf(4, 20*[0.5, 0.5]) - dst = gr.vector_sink_s() + dst = blocks.vector_sink_s() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() diff --git a/gr-filter/python/qa_fractional_interpolator.py b/gr-filter/python/qa_fractional_interpolator.py index ab4cc4cf9a..177458a47a 100755 --- a/gr-filter/python/qa_fractional_interpolator.py +++ b/gr-filter/python/qa_fractional_interpolator.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2007,2010,2012 Free Software Foundation, Inc. +# Copyright 2007,2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks import math def sig_source_f(samp_rate, freq, amp, N): @@ -50,9 +51,9 @@ class test_fractional_resampler(gr_unittest.TestCase): freq = 10 data = sig_source_f(fs, freq, 1, N) - signal = gr.vector_source_f(data) + signal = blocks.vector_source_f(data) op = filter.fractional_interpolator_ff(0, rrate) - snk = gr.vector_sink_f() + snk = blocks.vector_sink_f() self.tb.connect(signal, op, snk) self.tb.run() @@ -76,9 +77,9 @@ class test_fractional_resampler(gr_unittest.TestCase): freq = 10 data = sig_source_c(fs, freq, 1, N) - signal = gr.vector_source_c(data) + signal = blocks.vector_source_c(data) op = filter.fractional_interpolator_cc(0.0, rrate) - snk = gr.vector_sink_c() + snk = blocks.vector_sink_c() self.tb.connect(signal, op, snk) self.tb.run() diff --git a/gr-filter/python/qa_freq_xlating_fir_filter.py b/gr-filter/python/qa_freq_xlating_fir_filter.py index ee38eb7dff..6fdff372af 100755 --- a/gr-filter/python/qa_freq_xlating_fir_filter.py +++ b/gr-filter/python/qa_freq_xlating_fir_filter.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2008,2010,2012 Free Software Foundation, Inc. +# Copyright 2008,2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -21,6 +21,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks import cmath, math class test_freq_xlating_filter(gr_unittest.TestCase): @@ -102,9 +103,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (-0.0016229727771133184+0.0028335191309452057j), (-0.0010890064295381308+0.0037298379465937614j), (-0.00012392725329846144+0.0027196139562875032j)) - src = gr.vector_source_c(self.src_data) + src = blocks.vector_source_c(self.src_data) op = filter.freq_xlating_fir_filter_ccf(1, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -132,9 +133,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (-0.002173811662942171+0.007211671676486731j), (0.0022051059640944004-0.00402153329923749j), (-0.0011226903880015016+0.0009080505697056651j)) - src = gr.vector_source_c(self.src_data) + src = blocks.vector_source_c(self.src_data) op = filter.freq_xlating_fir_filter_ccf(4, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -162,9 +163,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (0.000998671515845-0.00135387131013j), (0.00104933069088-0.00243046949618j), (0.000765930046327-0.0026717747096j)) - src = gr.vector_source_c(self.src_data) + src = blocks.vector_source_c(self.src_data) op = filter.freq_xlating_fir_filter_ccc(1, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -192,9 +193,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (-0.00180401885882+0.00427213776857j), (-0.00122803344857+0.00427243299782j), (0.000414476031438-0.000383919978049j)) - src = gr.vector_source_c(self.src_data) + src = blocks.vector_source_c(self.src_data) op = filter.freq_xlating_fir_filter_ccc(4, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -222,9 +223,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (0.000185727752978-0.000154630601173j), (-0.000141745767905-0.000120098840853j), (-3.9850056055e-07+0.000168364742422j)) - src = gr.vector_source_f(self.src_data) + src = blocks.vector_source_f(self.src_data) op = filter.freq_xlating_fir_filter_fcf(1, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -252,9 +253,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (-0.00010601492977-0.00015005269961j), (-0.000204817260965+0.000160534662427j), (0.000114742244477+0.000205190313864j)) - src = gr.vector_source_f(self.src_data) + src = blocks.vector_source_f(self.src_data) op = filter.freq_xlating_fir_filter_fcf(4, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -282,9 +283,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (-0.000193948610104+0.000113364716526j), (0.000134820176754+0.000142527525895j), (4.74465123261e-05-0.000175131688593j)) - src = gr.vector_source_f(self.src_data) + src = blocks.vector_source_f(self.src_data) op = filter.freq_xlating_fir_filter_fcc(1, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -312,9 +313,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (0.000215422536712+0.000116706112749j), (0.000224391726078-0.000156330308528j), (-5.96956087975e-05-0.000211163976928j)) - src = gr.vector_source_f(self.src_data) + src = blocks.vector_source_f(self.src_data) op = filter.freq_xlating_fir_filter_fcc(4, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -342,9 +343,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (0.128281414509+0.0677760615945j), (0.0748447552323+0.0619902014732j), (0.0512856245041+0.0775099247694j)) - src = gr.vector_source_s(self.src_data) + src = blocks.vector_source_s(self.src_data) op = filter.freq_xlating_fir_filter_scf(1, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -372,9 +373,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (-0.0770940706134-0.230615705252j), (-0.103762261569-0.0382265634835j), (0.11808334291+0.104863762856j)) - src = gr.vector_source_s(self.src_data) + src = blocks.vector_source_s(self.src_data) op = filter.freq_xlating_fir_filter_scf(4, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -402,9 +403,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (-0.0151527002454+0.036265052855j), (0.0199296213686+0.0452499426901j), (0.0122985243797+0.0143278446048j)) - src = gr.vector_source_s(self.src_data) + src = blocks.vector_source_s(self.src_data) op = filter.freq_xlating_fir_filter_scc(1, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -432,9 +433,9 @@ class test_freq_xlating_filter(gr_unittest.TestCase): (-0.0108893103898-0.0875638127327j), (0.00204296782613-0.0721434056759j), (-0.00527479872108-0.00698097236454j)) - src = gr.vector_source_s(self.src_data) + src = blocks.vector_source_s(self.src_data) op = filter.freq_xlating_fir_filter_scc(4, self.taps, self.fc, self.fs) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() diff --git a/gr-filter/python/qa_hilbert.py b/gr-filter/python/qa_hilbert.py index c3522ed192..9af77e8314 100755 --- a/gr-filter/python/qa_hilbert.py +++ b/gr-filter/python/qa_hilbert.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2004,2007,2010,2012 Free Software Foundation, Inc. +# Copyright 2004,2007,2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks import math def sig_source_f(samp_rate, freq, amp, N): @@ -107,10 +108,10 @@ class test_hilbert(gr_unittest.TestCase): N = int(ntaps + sampling_freq * 0.10) data = sig_source_f(sampling_freq, sampling_freq * 0.10, 1.0, N) - src1 = gr.vector_source_f(data) + src1 = blocks.vector_source_f(data) hilb = filter.hilbert_fc(ntaps) - dst1 = gr.vector_sink_c() + dst1 = blocks.vector_sink_c() tb.connect(src1, hilb) tb.connect(hilb, dst1) tb.run() diff --git a/gr-filter/python/qa_iir_filter.py b/gr-filter/python/qa_iir_filter.py index 645c4b66e7..e341a74c03 100755 --- a/gr-filter/python/qa_iir_filter.py +++ b/gr-filter/python/qa_iir_filter.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2004,2007,2010 Free Software Foundation, Inc. +# Copyright 2004,2007,2010,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks class test_iir_filter(gr_unittest.TestCase): @@ -36,9 +37,9 @@ class test_iir_filter(gr_unittest.TestCase): fftaps = () fbtaps = () expected_result = (0, 0, 0, 0, 0, 0, 0, 0) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.iir_filter_ffd(fftaps, fbtaps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op) self.tb.connect(op, dst) self.tb.run() @@ -50,9 +51,9 @@ class test_iir_filter(gr_unittest.TestCase): fftaps = (2,) fbtaps = (0,) expected_result = (2, 4, 6, 8, 10, 12, 14, 16) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.iir_filter_ffd(fftaps, fbtaps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op) self.tb.connect(op, dst) self.tb.run() @@ -64,9 +65,9 @@ class test_iir_filter(gr_unittest.TestCase): fftaps = (2, 11) fbtaps = (0, 0) expected_result = (2, 15, 28, 41, 54, 67, 80, 93) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.iir_filter_ffd(fftaps, fbtaps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op) self.tb.connect(op, dst) self.tb.run() @@ -78,9 +79,9 @@ class test_iir_filter(gr_unittest.TestCase): fftaps = (2, 11) fbtaps = (0, -1) expected_result = (2, 13, 15, 26, 28, 39, 41, 52) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.iir_filter_ffd(fftaps, fbtaps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op) self.tb.connect(op, dst) self.tb.run() @@ -92,9 +93,9 @@ class test_iir_filter(gr_unittest.TestCase): fftaps = (2, 11, 0) fbtaps = (0, -1, 3) expected_result = (2, 13, 21, 59, 58, 186, 68, 583) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.iir_filter_ffd(fftaps, fbtaps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op) self.tb.connect(op, dst) self.tb.run() @@ -106,12 +107,12 @@ class test_iir_filter(gr_unittest.TestCase): expected_result = (2, 13, 21, 59, 58, 186, 68, 583) fftaps = (2, 1) fbtaps = (0, -1) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.iir_filter_ffd(fftaps, fbtaps) fftaps = (2, 11, 0) fbtaps = (0, -1, 3) op.set_taps(fftaps, fbtaps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op) self.tb.connect(op, dst) self.tb.run() @@ -123,12 +124,12 @@ class test_iir_filter(gr_unittest.TestCase): expected_result = (2,2,5,5,8,8,11,11) fftaps = (2, 1) fbtaps = (0, -1) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.iir_filter_ffd(fftaps, fbtaps) fftaps = (2,0,1) fbtaps = (0, -1) op.set_taps(fftaps, fbtaps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op) self.tb.connect(op, dst) self.tb.run() @@ -140,12 +141,12 @@ class test_iir_filter(gr_unittest.TestCase): expected_result = (2,4,4,10,18,14,26,56) fftaps = (2,) fbtaps = (0, 1) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.iir_filter_ffd(fftaps, fbtaps) fftaps_data = (1) fbtaps = (0,0, -1,3) op.set_taps(fftaps, fbtaps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op) self.tb.connect(op, dst) self.tb.run() diff --git a/gr-filter/python/qa_interp_fir_filter.py b/gr-filter/python/qa_interp_fir_filter.py index 839330539b..243ac7fac6 100755 --- a/gr-filter/python/qa_interp_fir_filter.py +++ b/gr-filter/python/qa_interp_fir_filter.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2004,2007,2010,2012 Free Software Foundation, Inc. +# Copyright 2004,2007,2010,2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks import math class test_interp_fir_filter(gr_unittest.TestCase): @@ -45,9 +46,9 @@ class test_interp_fir_filter(gr_unittest.TestCase): 1300,13017,130170) expected_result = tuple([float(x) for x in xr]) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.interp_fir_filter_fff(interpolation, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op) self.tb.connect(op, dst) self.tb.run() diff --git a/gr-filter/python/qa_pfb_arb_resampler.py b/gr-filter/python/qa_pfb_arb_resampler.py index 98272013ef..504fc815ce 100755 --- a/gr-filter/python/qa_pfb_arb_resampler.py +++ b/gr-filter/python/qa_pfb_arb_resampler.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2012 Free Software Foundation, Inc. +# Copyright 2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks import math def sig_source_c(samp_rate, freq, amp, N): @@ -55,9 +56,9 @@ class test_pfb_arb_resampler(gr_unittest.TestCase): freq = 100 data = sig_source_f(fs, freq, 1, N) - signal = gr.vector_source_f(data) + signal = blocks.vector_source_f(data) pfb = filter.pfb_arb_resampler_fff(rrate, taps) - snk = gr.vector_sink_f() + snk = blocks.vector_sink_f() self.tb.connect(signal, pfb, snk) self.tb.run() @@ -84,9 +85,9 @@ class test_pfb_arb_resampler(gr_unittest.TestCase): freq = 100 data = sig_source_c(fs, freq, 1, N) - signal = gr.vector_source_c(data) + signal = blocks.vector_source_c(data) pfb = filter.pfb_arb_resampler_ccf(rrate, taps) - snk = gr.vector_sink_c() + snk = blocks.vector_sink_c() self.tb.connect(signal, pfb, snk) self.tb.run() diff --git a/gr-filter/python/qa_pfb_channelizer.py b/gr-filter/python/qa_pfb_channelizer.py index 519afa0458..472aa5a73c 100755 --- a/gr-filter/python/qa_pfb_channelizer.py +++ b/gr-filter/python/qa_pfb_channelizer.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2012 Free Software Foundation, Inc. +# Copyright 2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -55,7 +55,7 @@ class test_pfb_channelizer(gr_unittest.TestCase): for i in xrange(len(freqs)): f = freqs[i] + (M/2-M+i+1)*fs data = sig_source_c(ifs, f, 1, N) - signals.append(gr.vector_source_c(data)) + signals.append(blocks.vector_source_c(data)) self.tb.connect(signals[i], (add,i)) s2ss = blocks.stream_to_streams(gr.sizeof_gr_complex, M) @@ -65,7 +65,7 @@ class test_pfb_channelizer(gr_unittest.TestCase): snks = list() for i in xrange(M): - snks.append(gr.vector_sink_c()) + snks.append(blocks.vector_sink_c()) self.tb.connect((s2ss,i), (pfb,i)) self.tb.connect((pfb, i), snks[i]) diff --git a/gr-filter/python/qa_pfb_decimator.py b/gr-filter/python/qa_pfb_decimator.py index d20b2fa856..783be05486 100755 --- a/gr-filter/python/qa_pfb_decimator.py +++ b/gr-filter/python/qa_pfb_decimator.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2012 Free Software Foundation, Inc. +# Copyright 2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -56,13 +56,13 @@ class test_pfb_decimator(gr_unittest.TestCase): for i in xrange(len(freqs)): f = freqs[i] + (M/2-M+i+1)*fs data = sig_source_c(ifs, f, 1, N) - signals.append(gr.vector_source_c(data)) + signals.append(blocks.vector_source_c(data)) self.tb.connect(signals[i], (add,i)) - head = gr.head(gr.sizeof_gr_complex, N) + head = blocks.head(gr.sizeof_gr_complex, N) s2ss = blocks.stream_to_streams(gr.sizeof_gr_complex, M) pfb = filter.pfb_decimator_ccf(M, taps, channel) - snk = gr.vector_sink_c() + snk = blocks.vector_sink_c() self.tb.connect(add, head, s2ss) for i in xrange(M): @@ -102,12 +102,12 @@ class test_pfb_decimator(gr_unittest.TestCase): for i in xrange(len(freqs)): f = freqs[i] + (M/2-M+i+1)*fs data = sig_source_c(ifs, f, 1, N) - signals.append(gr.vector_source_c(data)) + signals.append(blocks.vector_source_c(data)) self.tb.connect(signals[i], (add,i)) s2ss = blocks.stream_to_streams(gr.sizeof_gr_complex, M) pfb = filter.pfb_decimator_ccf(M, taps, channel) - snk = gr.vector_sink_c() + snk = blocks.vector_sink_c() self.tb.connect(add, s2ss) for i in xrange(M): diff --git a/gr-filter/python/qa_pfb_interpolator.py b/gr-filter/python/qa_pfb_interpolator.py index ffaeee3f68..6788dbf203 100755 --- a/gr-filter/python/qa_pfb_interpolator.py +++ b/gr-filter/python/qa_pfb_interpolator.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2012 Free Software Foundation, Inc. +# Copyright 2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks import math def sig_source_c(samp_rate, freq, amp, N): @@ -50,9 +51,9 @@ class test_pfb_interpolator(gr_unittest.TestCase): freq = 100 data = sig_source_c(fs, freq, 1, N) - signal = gr.vector_source_c(data) + signal = blocks.vector_source_c(data) pfb = filter.pfb_interpolator_ccf(M, taps) - snk = gr.vector_sink_c() + snk = blocks.vector_sink_c() self.tb.connect(signal, pfb) self.tb.connect(pfb, snk) diff --git a/gr-filter/python/qa_pfb_synthesizer.py b/gr-filter/python/qa_pfb_synthesizer.py index 2da02b58d3..aa3c697b93 100755 --- a/gr-filter/python/qa_pfb_synthesizer.py +++ b/gr-filter/python/qa_pfb_synthesizer.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2012 Free Software Foundation, Inc. +# Copyright 2012,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks import math def sig_source_c(samp_rate, freq, amp, N): @@ -52,10 +53,10 @@ class test_pfb_synthesizer(gr_unittest.TestCase): freqs = [0, 100, 200, -200, -100] for i in xrange(len(freqs)): data = sig_source_c(fs, freqs[i], 1, N) - signals.append(gr.vector_source_c(data)) + signals.append(blocks.vector_source_c(data)) pfb = filter.pfb_synthesizer_ccf(M, taps) - snk = gr.vector_sink_c() + snk = blocks.vector_sink_c() for i in xrange(M): self.tb.connect(signals[i], (pfb,i)) diff --git a/gr-filter/python/qa_rational_resampler.py b/gr-filter/python/qa_rational_resampler.py index eb86ef5425..76930ba052 100755 --- a/gr-filter/python/qa_rational_resampler.py +++ b/gr-filter/python/qa_rational_resampler.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2005,2006,2007,2010 Free Software Foundation, Inc. +# Copyright 2005-2007,2010,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,6 +22,7 @@ from gnuradio import gr, gr_unittest import filter_swig as filter +import blocks_swig as blocks import math import random import sys @@ -37,9 +38,9 @@ def random_floats(n): def reference_dec_filter(src_data, decim, taps): tb = gr.top_block() - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.fir_filter_fff(decim, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op, dst) tb.run() result_data = dst.data() @@ -48,9 +49,9 @@ def reference_dec_filter(src_data, decim, taps): def reference_interp_filter(src_data, interp, taps): tb = gr.top_block() - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.interp_fir_filter_fff(interp, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op, dst) tb.run() result_data = dst.data() @@ -59,10 +60,10 @@ def reference_interp_filter(src_data, interp, taps): def reference_interp_dec_filter(src_data, interp, decim, taps): tb = gr.top_block() - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) up = filter.interp_fir_filter_fff(interp, (1,)) dn = filter.fir_filter_fff(decim, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, up, dn, dst) tb.run() result_data = dst.data() @@ -86,9 +87,9 @@ class test_rational_resampler (gr_unittest.TestCase): expected_result = tuple([float(x) for x in xr]) tb = gr.top_block() - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.rational_resampler_base_fff(1, 1, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op) tb.connect(op, dst) tb.run() @@ -109,9 +110,9 @@ class test_rational_resampler (gr_unittest.TestCase): expected_result = tuple([float(x) for x in xr]) tb = gr.top_block() - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.rational_resampler_base_fff(interpolation, 1, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op) tb.connect(op, dst) tb.run() @@ -126,9 +127,9 @@ class test_rational_resampler (gr_unittest.TestCase): expected_result = reference_interp_filter(src_data, interpolation, taps) tb = gr.top_block() - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.rational_resampler_base_fff(interpolation, 1, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op) tb.connect(op, dst) tb.run() @@ -146,9 +147,9 @@ class test_rational_resampler (gr_unittest.TestCase): expected_result = reference_dec_filter(src_data, decimation, taps) tb = gr.top_block() - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.rational_resampler_base_fff(1, decimation, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op) tb.connect(op, dst) tb.run() @@ -176,9 +177,9 @@ class test_rational_resampler (gr_unittest.TestCase): expected_result = reference_dec_filter(src_data, decim, taps) tb = gr.top_block() - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.rational_resampler_base_fff(1, decim, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op, dst) tb.run() tb = None @@ -210,9 +211,9 @@ class test_rational_resampler (gr_unittest.TestCase): expected_result = reference_interp_filter(src_data, interp, taps) tb = gr.top_block() - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.rational_resampler_base_fff(interp, 1, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op, dst) tb.run() tb = None @@ -238,9 +239,9 @@ class test_rational_resampler (gr_unittest.TestCase): expected_result = reference_interp_dec_filter(src_data, interp, decimation, taps) tb = gr.top_block() - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.rational_resampler_base_fff(interp, decimation, taps) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() tb.connect(src, op) tb.connect(op, dst) tb.run() diff --git a/gr-filter/python/qa_single_pole_iir.py b/gr-filter/python/qa_single_pole_iir.py index d28ab643fd..bc2d54c959 100755 --- a/gr-filter/python/qa_single_pole_iir.py +++ b/gr-filter/python/qa_single_pole_iir.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2005,2007,2010 Free Software Foundation, Inc. +# Copyright 2005,2007,2010,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -35,9 +35,9 @@ class test_single_pole_iir_filter(gr_unittest.TestCase): def test_ff_001(self): src_data = (0, 1000, 2000, 3000, 4000, 5000) expected_result = src_data - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.single_pole_iir_filter_ff(1.0) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -46,9 +46,9 @@ class test_single_pole_iir_filter(gr_unittest.TestCase): def test_ff_002(self): src_data = (0, 1000, 2000, 3000, 4000, 5000) expected_result = (0, 125, 359.375, 689.453125, 1103.271484, 1590.36255) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) op = filter.single_pole_iir_filter_ff(0.125) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -58,11 +58,11 @@ class test_single_pole_iir_filter(gr_unittest.TestCase): block_size = 2 src_data = (0, 1000, 2000, 3000, 4000, 5000) expected_result = (0, 125, 250, 484.375, 718.75, 1048.828125) - src = gr.vector_source_f(src_data) + src = blocks.vector_source_f(src_data) s2p = blocks.stream_to_vector(gr.sizeof_float, block_size) op = filter.single_pole_iir_filter_ff (0.125, block_size) p2s = blocks.vector_to_stream(gr.sizeof_float, block_size) - dst = gr.vector_sink_f() + dst = blocks.vector_sink_f() self.tb.connect(src, s2p, op, p2s, dst) self.tb.run() result_data = dst.data() @@ -71,9 +71,9 @@ class test_single_pole_iir_filter(gr_unittest.TestCase): def test_cc_001(self): src_data = (0+0j, 1000+1000j, 2000+2000j, 3000+3000j, 4000+4000j, 5000+5000j) expected_result = src_data - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.single_pole_iir_filter_cc(1.0) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -85,9 +85,9 @@ class test_single_pole_iir_filter(gr_unittest.TestCase): expected_result = (complex(0,0), complex(125,-125), complex(359.375,-359.375), complex(689.453125,-689.453125), complex(1103.271484,-1103.271484), complex(1590.36255,-1590.36255)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) op = filter.single_pole_iir_filter_cc(0.125) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() @@ -100,11 +100,11 @@ class test_single_pole_iir_filter(gr_unittest.TestCase): expected_result = (complex(0,0), complex(125,-125), complex(250,-250), complex(484.375,-484.375), complex(718.75,-718.75), complex(1048.828125,-1048.828125)) - src = gr.vector_source_c(src_data) + src = blocks.vector_source_c(src_data) s2p = blocks.stream_to_vector(gr.sizeof_gr_complex, block_size) op = filter.single_pole_iir_filter_cc(0.125, block_size) p2s = blocks.vector_to_stream(gr.sizeof_gr_complex, block_size) - dst = gr.vector_sink_c() + dst = blocks.vector_sink_c() self.tb.connect(src, s2p, op, p2s, dst) self.tb.run() result_data = dst.data() diff --git a/gr-filter/python/rational_resampler.py b/gr-filter/python/rational_resampler.py index 97df283e67..8f1dc36e0d 100644 --- a/gr-filter/python/rational_resampler.py +++ b/gr-filter/python/rational_resampler.py @@ -20,6 +20,7 @@ # from gnuradio import gr, gru +import filter_swig as filter _plot = None |