discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] GNURadio Help


From: John Medrano
Subject: Re: [Discuss-gnuradio] GNURadio Help
Date: Wed, 13 Jun 2018 09:11:10 -0600

This is much more doable.

May I ask why you want to buffer all the data in the radio?

On Wed, Jun 13, 2018 at 9:06 AM, Ivan Zahartchuk <address@hidden> wrote:
I want to process not 6GHz but 30 MHz at a time. Ie I read 30 MHz at a frequency of 400 MHz (for example) then I do 30 MHz FFT and write them to the buffer. And so up to 6GHz. Then when the buffer is full, I transfer the data to the host machine (I use the USRP E310 board) to display the data.
In fact, it should be such a broadband spectrum analyzer not in real time.

2018-06-13 17:57 GMT+03:00 John Medrano <address@hidden>:
Hello.

If I understand what you are saying correctly, you would like to process wide band data. And you mention 70 MHz to 6 GHz.

Even with RFNOC there is a limitation on the amount of data you can process simultaneously, and that is about 200 MHz. There is no way possible to simultaneously process a 6GHz band with one host and radio. You would need an array of radios.

Please provide more details on design requirements, it hard to understand what you are trying to accomplish.

On Wed, Jun 13, 2018 at 8:46 AM, Ivan Zahartchuk <address@hidden> wrote:
In the future, I would also like to use the RFNoC

2018-06-13 17:42 GMT+03:00 Ivan Zahartchuk <address@hidden>:
I need to rebuild the frequency, do fft and then transfer the whole array from 70 to 6GHz to the host machine. I do not quite imagine how you can do this with standard blocks in gnuradio.


2018-06-13 17:32 GMT+03:00 Müller, Marcus (CEL) <address@hidden>:
Dear Ivan,

you don't pass data to a block yourself.

You write a block that does a clearly-limited signal processing job,
and use GNU Radio to connect that to other blocks:

https://tutorials.gnuradio.org

In your case, instantiating a USRP source in your block makes
absolutely no sense, for example. You'd build a flow graph containing
the USRP source, and your custom-written block, and you'd connect these
two.

It's sadly not really clear what you want to achieve, so I'm afraid I'm
not able to help you here.

Generally, GNU Radio pretty much takes the idea of "draw a block
diagram of what you want to achieve with your signal processing", and
directly translates it to "using existing blocks and writing new ones,
and letting GNU Radio take care of how the data gets around".

Also, wideband signal processing and implementing a sync_block in
Python... do not work well together.

So, I think you might really be a bit confused about the architecture
of GNU Radio – I really hope the tutorials explain that better than I
could.

Best regards,
Marcus

On Wed, 2018-06-13 at 17:16 +0300, Ivan Zahartchuk wrote:
> Hello. I'm trying to write a block in gnuradio for broadband reception.
>  The main problem at the moment is to transfer data to the fft block.
> I'm new to python and so it's hard for me to figure this out.import numpy as np
>
> I need an array of data to pass to the gnuradio.fft.fft.vcc block
>
> from gnuradio import gr
> from gnuradio import uhd
> from gnuradio import fft
>
> class blk(gr.sync_block):  # other base classes are basic_block, decim_block, interp_block
>     """Embedded Python Block example - a simple multiply const"""
>
>     def __init__(self, gain=1.0,start_freq=70e6,stop_freq=6000e6,samp_rate=30e6):  # only default arguments here
>         """arguments to this function show up as parameters in GRC"""
>         gr.sync_block.__init__(
>             self,
>             name='Python Block',   # will show up in GRC
>             in_sig=None,
>             out_sig=[np.complex64,np.complex64]
>         )
>         # if an attribute with the same name as a parameter is found,
>         # a callback is registered (properties work, too).
>         self.gain = gain
>         self.start_freq=start_freq
>         self.stop_freq=stop_freq
>         self.samp_rate=samp_rate
>         self.uhd_usrp_source_0 = uhd.usrp_source(",".join(("", "")),
>                                                  uhd.stream_args(
>                                                      cpu_format="fc32",
>                                                      otw_format="sc16",
>                                                      chanels=range(1),
>                                                  ),
>                                                  )
>
>
>         self.uhd_usrp_source_0.set_clock_rate(30e6, uhd.ALL_MBOARDS)
>         self.uhd_usrp_source_0.set_samp_rate(self.samp_rate)
>         self.uhd_usrp_source_0.set_gain(self.gain, 0)
>         self.uhd_usrp_source_0.set_antenna("RX2", 0)
>         self.uhd_usrp_source_0.set_bandwidth(30e6, 0)
>         self.range_freq=(self.stop_freq-self.start_freq)/self.samp_rate
>
>     def work(self, input_items, output_items):
>         """example: multiply with constant"""
>         for i in np.range(self.range_freq):
>             self.uhd_usrp_source_0.set_center_freq(self.start_freq+self.samp_rate*i)
>             data="">ource_0.finite_acquisition(8192))
>         output_items[0][:] = input_items[0] * self.example_param
>         return len(output_items[0])
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio





reply via email to

[Prev in Thread] Current Thread [Next in Thread]