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 <john.d.medr...@gmail.com>: > 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 <adray0...@gmail.com> > wrote: > >> In the future, I would also like to use the RFNoC >> >> 2018-06-13 17:42 GMT+03:00 Ivan Zahartchuk <adray0...@gmail.com>: >> >>> 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_ce >>>> nter_freq(self.start_freq+self.samp_rate*i) >>>> > data=np.array(self.uhd_usrp_s >>>> ource_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 >> >> >
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio