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) <muel...@kit.edu>:

> 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=np.array(self.uhd_usrp_source_0.finite_acquisition(
> 8192))
> >         output_items[0][:] = input_items[0] * self.example_param
> >         return len(output_items[0])
> > _______________________________________________
> > Discuss-gnuradio mailing list
> > Discuss-gnuradio@gnu.org
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to