http://gnuradio.org/doc/doxygen/modules.html is a good place to browse what
available.

2012/2/15 Wu Ting <[email protected]>

> Hi Tom,****
>
> ** **
>
> Thank you very much for your detailed explanation. That really works!****
>
> ** **
>
> I really want to learn more about GNURadio by myself. But I don’t know how
> should I go on. How can I find the right function/module/block for some
> specific purpose? Do you have any suggestion?****
>
> ** **
>
> Thanks again.****
>
> ** **
>
> Wu****
>
> ** **
>
> *From:* [email protected] [mailto:[email protected]] *On Behalf
> Of *Tom Rondeau
> *Sent:* 2012年2月15日 0:01
> *To:* Wu Ting
> *Cc:* [email protected]
> *Subject:* Re: [Discuss-gnuradio] About the use of gr.probe_signal_f()****
>
> ** **
>
> On Tue, Feb 14, 2012 at 4:00 AM, Wu Ting <
> [email protected]> wrote:****
>
> Hi all,****
>
>  ****
>
> I’m trying to read the real-time value of a stream from USRP. I’m
> considering using gr.probe_signal_f, but it seems to not work. I’m really
> new to GNURadio, so please forgive me if I ask some stupid question.****
>
>  ****
>
> My method is like this:****
>
>  ****
>
> #First generate a source from USRP:****
>
> self.source = uhd.usrp_source(device_addr=’’,
> stream_args=uhd.stream_args(‘fc32’, ‘sc16’), args=’scalar=1024’)****
>
>  ****
>
> #change from complex to interleaved short:****
>
> op1 = gr.complex_to_interleaved_short()****
>
>  ****
>
> #change from short to float****
>
> op2 = gr.short_to_float()****
>
>  ****
>
> #create probe****
>
> self.probe = gr.probe_signal_f()****
>
>  ****
>
> self.connect(self.source, op1, op2, self.probe)****
>
>  ****
>
> And in a true while loop, I print the value of the probe, but the value is
> always 0.0****
>
>  ****
>
> Could anyone tell me what is the problem? And is there any better way to
> realize this function?****
>
>  ****
>
> Thanks.****
>
>  ****
>
> Wu****
>
> ** **
>
> Hi Wu,****
>
> A couple of things. First, you're doing one too many operations. You are
> going from complex float to short to float. You could just go from complex
> to float.  There is gr.complex_to_float that will provide two output
> streams for I and Q; complex_to_real or complex_to_imag for each stream
> independently; of you could use complex_to_mag or complex_to_mag_squared
> for the magnitude of the complex number.****
>
> ** **
>
> Second, and the main reason for your question, is that you are never
> running the flow graph. You construct a flow graph using the connect
> functions, but that doesn't start any samples running through it. So, given
> the class you've defined here, call it wu_top_block, we need to return an
> object:****
>
> ** **
>
> tb = wu_top_block()****
>
> ** **
>
> Then you need to run the flowgraph:****
>
> ** **
>
> tb.start()****
>
> ** **
>
> This will start your system running and collecting data. After this, you
> should be able to set a while loop to look at the data:****
>
> ** **
>
> while(1):****
>
>     print tb.probe.value()****
>
>     time.sleep(1000)****
>
> ** **
>
> So the value get's printed every second.****
>
> ** **
>
> Something like that.****
>
> ** **
>
> Tom****
>
> ** **
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to