summaryrefslogtreecommitdiff
path: root/gr-filter
diff options
context:
space:
mode:
Diffstat (limited to 'gr-filter')
-rwxr-xr-xgr-filter/examples/benchmark_filters.py13
-rwxr-xr-xgr-filter/examples/channelize.py8
-rwxr-xr-xgr-filter/examples/chirp_channelize.py10
-rwxr-xr-xgr-filter/examples/decimate.py8
-rwxr-xr-xgr-filter/examples/fft_filter_ccc.py7
-rwxr-xr-xgr-filter/examples/fir_filter_ccc.py7
-rwxr-xr-xgr-filter/examples/fir_filter_fff.py7
-rwxr-xr-xgr-filter/examples/interpolate.py10
-rwxr-xr-xgr-filter/examples/reconstruction.py11
-rwxr-xr-xgr-filter/examples/resampler.py11
-rwxr-xr-xgr-filter/examples/synth_filter.py7
-rwxr-xr-xgr-filter/examples/synth_to_chan.py8
-rw-r--r--gr-filter/grc/CMakeLists.txt1
-rw-r--r--gr-filter/grc/filter_block_tree.xml1
-rw-r--r--gr-filter/grc/filter_rational_resampler_xxx.xml92
-rw-r--r--gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t1
-rw-r--r--gr-filter/include/filter/pfb_channelizer_ccf.h17
-rw-r--r--gr-filter/include/filter/polyphase_filterbank.h18
-rw-r--r--gr-filter/lib/CMakeLists.txt2
-rw-r--r--gr-filter/lib/freq_xlating_fir_filter_XXX_impl.h.t3
-rwxr-xr-xgr-filter/python/qa_adaptive_fir_filter.py19
-rwxr-xr-xgr-filter/python/qa_dc_blocker.py19
-rwxr-xr-xgr-filter/python/qa_fft_filter.py67
-rwxr-xr-xgr-filter/python/qa_filter_delay_fc.py17
-rwxr-xr-xgr-filter/python/qa_fir_filter.py49
-rwxr-xr-xgr-filter/python/qa_fractional_interpolator.py11
-rwxr-xr-xgr-filter/python/qa_freq_xlating_fir_filter.py51
-rwxr-xr-xgr-filter/python/qa_hilbert.py7
-rwxr-xr-xgr-filter/python/qa_iir_filter.py35
-rwxr-xr-xgr-filter/python/qa_interp_fir_filter.py7
-rwxr-xr-xgr-filter/python/qa_pfb_arb_resampler.py11
-rwxr-xr-xgr-filter/python/qa_pfb_channelizer.py6
-rwxr-xr-xgr-filter/python/qa_pfb_decimator.py12
-rwxr-xr-xgr-filter/python/qa_pfb_interpolator.py7
-rwxr-xr-xgr-filter/python/qa_pfb_synthesizer.py7
-rwxr-xr-xgr-filter/python/qa_rational_resampler.py43
-rwxr-xr-xgr-filter/python/qa_single_pole_iir.py26
-rw-r--r--gr-filter/python/rational_resampler.py1
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