diff --git a/grc/crfa_vector_cutter.xml b/grc/crfa_vector_cutter.xml
index c28dda9..3442ade 100644
--- a/grc/crfa_vector_cutter.xml
+++ b/grc/crfa_vector_cutter.xml
@@ -4,13 +4,42 @@
crfa_vector_cutter
[crfa]
import crfa
- crfa.vector_cutter($insize, $outsize, $cutpoint)
+ crfa.vector_cutter($insize, $outsize, $cutpoint,$pad_out)
set_cutpoint($cutpoint);
+
+
+ padded output
+ pad_out
+ False
+ enum
+ part
+
+
+
insize
insize
@@ -41,4 +70,12 @@
complex
$outsize
+
+ out_padded
+ complex
+ $insize
+ #if $pad_out() == 'True' then 'False' else 'True'#
+
+ #if $pad_out() == 'True' then 'False' else 'True'#
+
diff --git a/python/vector_cutter.py b/python/vector_cutter.py
index 6c77c0f..7813748 100644
--- a/python/vector_cutter.py
+++ b/python/vector_cutter.py
@@ -27,18 +27,25 @@ class vector_cutter(gr.sync_block):
"""
docstring for block vector_cutter
"""
- def __init__(self, insize=2048,outsize=1024,cutpoint=512):
- gr.sync_block.__init__(self,
+ def __init__(self, insize=2048,outsize=1024,cutpoint=512,pad_out=False):
+ if pad_out:
+ gr.sync_block.__init__(self,
+ name="vector_cutter",
+ in_sig=[(np.complex64,insize)],
+ out_sig=[(np.complex64,outsize),(np.complex64,insize)])
+ else:
+ gr.sync_block.__init__(self,
name="vector_cutter",
in_sig=[(np.complex64,insize)],
out_sig=[(np.complex64,outsize)])
-
self.cutpoint=cutpoint
self.insize=insize
self.outsize=outsize
+ print(pad_out)
+ self.pad_out=pad_out
def set_cutpoint(self, cutpoint=None):
- print("cutpoint set to %i"%cutpoint)
+ #print("cutpoint set to %i"%cutpoint)
if cutpoint is not None:
if isinstance(cutpoint, float) or isinstance(cutpoint, int):
self.cutpoint=cutpoint
@@ -47,10 +54,22 @@ class vector_cutter(gr.sync_block):
def work(self, input_items, output_items):
in0 = input_items[0]
out = output_items[0]
+ if self.pad_out:
+ out_padded = output_items[1]
# <+signal processing here+>
#out[:] = in0[512:1536]
+ cutpoint=self.cutpoint
+ attenuation=1e-2#40db (power)
for i,in_vec in enumerate(in0):
- out[i]=in_vec[self.cutpoint:self.cutpoint+self.outsize]
+ if 0<=cutpoint