Hello all
I have a complex signal coming in from the USRP that I am filtering
and sending to a scope_sink. Now I wish to add a channel on that same
scope and output a square wave It seems like I can do it, I am just
having issues of figuring out how to do it.
Any suggestions?
Thanks
Jeff
Jeffrey K. wrote:
Hello all
I have a complex signal coming in from the USRP that I am filtering
and sending to a scope_sink. Now I wish to add a channel on that same
scope and output a square wave It seems like I can do it, I am just
having issues of figuring out how to do it.
Just connect more signals to it:
self.connect(other_thing,(scopesink,1))
self.connect(yet_another_thing,(scopesink,2))
Matt
Jeffrey K. wrote:
The second connect gives me the following error:
raise ValueError, ‘port number out of range.’
ValueError: port number out of range.
Am I using the wrong scope? Do I have to add channels some how?
I think you may need to use the _f version, and pass your complex
signals through a complex to float conversion. The float scope takes up
to 4 signals.
Patches welcome 
Matt
Sorry I was being lazy, I should have further defined my issue.
…
from gnuradio.wxgui import scopesink
…
self.scope = scopesink.scope_sink_c(self, panel,
sample_rate=input_rate,…)
…
self.connect(xf, (self.scope,0))
self.connect(d, (self.scope,1))
The second connect gives me the following error:
raise ValueError, ‘port number out of range.’
ValueError: port number out of range.
Am I using the wrong scope? Do I have to add channels some how?
Thanks
Jeff
Indeed the float allows more than 2 channels. I will take a look at
the complex scope to see what needs to be fixed. You know I am
continually amazed by this software! I was just thinking how nice it
would be to have the magnitude displayed and BAM, complex_to_mag
presented itself.
This is great stuff!
Thanks I will take a look at it.
I dont see how the current scope sink can have more than one channel.
However, you could change the scopesink2’s scope_sink_f to connect all
possible 16 inputs. Of course, this would only work with the hier2
stuff, but you would be able to use any number of inputs (1-16) without
fuss. This little trick will not work for the complex inputs. For
complex, you would have to use the scope_sink_f, and place a bunch of
complex to floats on the outside of the block.
-Josh
Possible Patch:
— scopesink2.py 2007-07-17 04:04:18.000000000 -0400
+++ scopesink2_16.py 2007-07-17 04:06:09.000000000 -0400
@@ -38,12 +38,12 @@
v_scale=default_v_scale, t_scale=None):
gr.hier_block2.__init__(self, "scope_sink_f",
gr.sizeof_float),
gr.io_signature(0,0,0))
msgq = gr.msg_queue(2) # message queue that holds at
most 2 messages
self.guts = gr.oscope_sink_f(sample_rate, msgq)
-
for i in range(16): self.connect((self, i), (self.guts, i))
self.win = scope_window(win_info (msgq, sample_rate,
frame_decim,
v_scale, t_scale, self.guts,
title), parent)