Hi Julian, Thanks for the checking!
I have also checked my graph and samp_rate is setting first, so I'll try to test it with a sine waveform as you suggested and see if that works. If not, maybe is an RFNoC/gr-ettus problem. I'll put an issue in the gr-ettus repository in that case. Thanks again for your help. Kind Regards, Maria. El mar, 23 mar 2021 a las 0:36, Julian Arnold (<[email protected]>) escribió: > Maria, > > I couldn't resist trying this myself, as your modifications seemed > reasonable. > > So I did set up a simple test with a b210 connected to my siggen feeding > it with a tone of varying power at 2.4102GHz. > > For the default UHD AGC settings I could confirm that the signal was > kept between -10 dBFS and -12 dBFS (20 * log10(|x|) over a pretty wide > input power range. > This was using GR 3.8 and UHD 4.0. > > However, I had to modify the generate flow-graph slightly, as the AGC > was enables before the sample-rate was set (maybe double check that, too). > > Afterwards, I used your settings (I did change reg 0x129 to 0x11 (1dB > +-), though). > Also those settings worked as expected and the signal was nicely kept > between -2 dBFS and -4 dBFS. > > Attached is a picture of the flow-graph I used for testing. Maybe you > could also start by testing with a sine wave to verifying that your > values get applied properly. > > Cheers, > Julian > > On 3/22/21 6:21 PM, Maria Muñoz wrote: > > Hi Julian, > > > > Sure. > > > > I am receiving a QPSK through the radio and plotting it in a QT graph > > (see grc.png) > > If I have AGC disable, I get what is shown in "test_without_agc.png", > > then if I enable it, I see what is on "test_with_agc.png" where > > "Quadrature" is always center more or less in 0.25 which might fit with > > the values given by default (inner high threshold = -12dBFS, inner low > > threshold = -10 dBFS). > > > > If I change the ad9361_device.cpp (attached) from line 1085, by changing > > registers 0x101, 0x120 and 0x129 with values 0x02, 0x04 and 0x16 > > respectively to move between -2dbFS and -4 dBFS, I see the same > > waveform that I have in "test_with_agc.png" (I expect it to be around > 0.7) > > > > Kind regards, > > > > Maria > > > > El lun, 22 mar 2021 a las 17:45, Julian Arnold (<[email protected] > > <mailto:[email protected]>>) escribió: > > > > Maria, > > > > would you mind sharing your patch? Otherwise, it’s hard to tell what > > exactly is going on. > > > > Cheers, > > Julian > > > >> Am 22.03.2021 um 16:24 schrieb Maria Muñoz <[email protected] > >> <mailto:[email protected]>>: > >> > >> > >> Hi Julian, > >> > >> I re-open this topic to ask a question about the configuration of > >> the ad9361 registers in GNUradio/RFNoC > >> > >> As I understand, when AGC is enabled in slow mode, there are 4 > >> configurable thresholds (inner low, inner high, outer low, and > >> outer high) and also 4 configurable steps to reach the zone > >> between the inner thresholds. > >> > >> I have found the configuration of these registers > >> in /uhd/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp > >> and changed their values there. Then, I have recompiled uhd (make > >> & make install) but, when I re-run my graph I see no change in my > >> waveform (it seem to stay in the same limits as the default > >> configuration). > >> > >> Am I missing any other step that I have to done to configure these > >> parameters? > >> > >> Kind Regards, > >> > >> Maria > >> > >> El vie, 12 mar 2021 a las 10:04, Maria Muñoz (<[email protected] > >> <mailto:[email protected]>>) escribió: > >> > >> Ok Julian, I will check the tree node and try to modify the > >> properties. Thanks again for the help! > >> > >> Kind Regards, > >> Maria > >> > >> El jue, 11 mar 2021 a las 18:26, Julian Arnold > >> (<[email protected] <mailto:[email protected]>>) > >> escribió: > >> > >> Maria, > >> > >> >> /self.ettus_rfnoc_rx_radio_0.set_rx_agc(False, 0)/ > >> >> > >> >> but I have received the following errorThat's why I > >> gave the reference ([1]) showing the correct syntax ;) > >> Anyways, glad it worked out for you! > >> You might consider filing a bug issue against gr-ettus on > >> github. > >> > >> >> By the way, I have read that there are several modes > >> for AGC > >> >> (fast,slow,hybrid..) I was wondering which type is > >> implemented by > >> >> default and if it is possible to change AGC mode in the > >> flowgraph. > >> Those modes were mainly dictated by the AD9361. Default > >> should be > >> "slow". The "hybrid" mode is not implemented as far as I > know. > >> Which mode you want ("slow" / "fast") depends on the > >> signal you want to > >> receive. For burst-mode digital signals you might want to > >> switch to the > >> "fast" mode. > >> However, I think this is only possible by directly writing > >> to the corresponding property-tree node. Again, I'm not > >> sure about > >> UHD-4.0/gr-ettus though. > >> > >> Cheers, > >> Julian > >> > >> > >> On 3/11/21 5:26 PM, Maria Muñoz wrote: > >> > Hi Julian, > >> > > >> > I have initially changed the python generated for my > >> flowgraph with this > >> > line: > >> > > >> > /self.ettus_rfnoc_rx_radio_0.set_rx_agc(False, 0)/ > >> > > >> > but I have received the following error: > >> > > >> > T/raceback (most recent call last): > >> > File "constellation_soft_decoder.py", line 301, in > >> <module> > >> > main() > >> > File "constellation_soft_decoder.py", line 277, in main > >> > tb = top_block_cls() > >> > File "constellation_soft_decoder.py", line 166, in > >> __init__ > >> > self.ettus_rfnoc_rx_radio_0.set_rx_agc(True, 0) > >> > AttributeError: 'rfnoc_rx_radio_sptr' object has no > >> attribute 'set_rx_agc'/ > >> > > >> > But rfnoc_radio_impl.cc defines it: > >> > > >> > /void rfnoc_rx_radio_impl::set_agc(const bool enable, > >> const size_t chan) > >> > { > >> > return d_radio_ref->set_rx_agc(enable, chan); > >> > }/ > >> > > >> > Searching the rfnoc_rx_radio_sptr with grep takes me to > >> "swig" files. I > >> > have looked at ettus_swig.py and seen that the command > >> name is set_agc > >> > instead of set_rx_agc: > >> > > >> > /def set_agc(self, enable: "bool const", chan: "size_t > >> const") -> "void": > >> > r""" > >> > set_agc(rfnoc_rx_radio self, bool const enable, > >> size_t const chan) > >> > Enable/disable the AGC for this RX radio (if > >> available) > >> > """ > >> > return _ettus_swig.rfnoc_rx_radio_set_agc(self, > >> enable, chan)/ > >> > / > >> > / > >> > Changing this in the flowgraph.py seems to work!! Thanks > >> for the help on > >> > this! I put this information here just in case someone > >> is stuck in the > >> > same point. > >> > > >> > By the way, I have read that there are several modes for > >> AGC > >> > (fast,slow,hybrid..) I was wondering which type is > >> implemented by > >> > default and if it is possible to change AGC mode in the > >> flowgraph. > >> > > >> > Kind Regards, > >> > > >> > Maria > >> > > >> > > >> > El mié, 10 mar 2021 a las 12:03, Maria Muñoz > >> (<[email protected] <mailto:[email protected]> > >> > <mailto:[email protected] > >> <mailto:[email protected]>>>) escribió: > >> > > >> > Hi Jules, > >> > > >> > Thank you, I will try it and let you know as soon as > >> possible. > >> > > >> > By the way, I have checked the python > >> generated using the UHD USRP > >> > SOURCE block (instead of the RFNoC radio block) with > >> AGC active and > >> > it generates the set of AGC fine. So, as you said, > >> it is fixed in > >> > gr-uhd but it might still be a bug in gr-ettus. > >> > > >> > Thanks again for the help! > >> > > >> > Kind Regards, > >> > > >> > Maria > >> > > >> > El mié, 10 mar 2021 a las 11:25, Julian Arnold > >> > (<[email protected] > >> <mailto:[email protected]> > >> <mailto:[email protected] > >> <mailto:[email protected]>>>) escribió: > >> > > >> > Maria, > >> > > >> > >> So, if I understand correctly, I have to put > >> there also > >> > something like > >> > >> > >> "self.ettus_rfnoc_rx_radio_0.set_rx_agc(enable,0)" isn't it? > >> > > >> > Exactly! Take a look at [1] for the correct > syntax. > >> > > >> > [1] > >> > > >> > https://github.com/EttusResearch/gr-ettus/blob/1038c4ce5135a2803b53554fc4971fe3de747d9a/include/ettus/rfnoc_rx_radio.h#L97 > >> > > >> > Let me know if that worked out for you. > >> > > >> > Cheers, > >> > Julian > >> > > >> > > >> > On 3/10/21 9:59 AM, Maria Muñoz wrote: > >> > > Hi Julian, > >> > > > >> > > Thanks for the quick answer. > >> > > > >> > > I think you might be right about the possible > >> bug turning on > >> > the AGC > >> > > from GRC. I have checked the flow graph > >> generated and there's no > >> > > set_rx_agc enable option (I checked the c++ > >> definition block > >> > where this > >> > > option did appear but I hadn't look at the > >> python generated). > >> > > > >> > > The lines related to the radio in my > >> flowgraph are these: > >> > > > >> > > /self.ettus_rfnoc_rx_radio_0 = > >> ettus.rfnoc_rx_radio( > >> > > self.rfnoc_graph, > >> > > uhd.device_addr(''), > >> > > -1, > >> > > -1) > >> > > > >> self.ettus_rfnoc_rx_radio_0.set_rate(samp_rate) > >> > > > >> self.ettus_rfnoc_rx_radio_0.set_antenna('RX2', 0) > >> > > > >> self.ettus_rfnoc_rx_radio_0.set_frequency(cf, 0) > >> > > > >> self.ettus_rfnoc_rx_radio_0.set_gain(gain, 0) > >> > > > >> self.ettus_rfnoc_rx_radio_0.set_bandwidth(samp_rate, 0) > >> > > > >> self.ettus_rfnoc_rx_radio_0.set_dc_offset(True, 0) > >> > > > >> self.ettus_rfnoc_rx_radio_0.set_iq_balance(True, 0)/ > >> > > > >> > > So, if I understand correctly, I have to put > >> there also > >> > something like > >> > > > >> "self.ettus_rfnoc_rx_radio_0.set_rx_agc(enable,0)" isn't it? > >> > > > >> > > Kind Regards, > >> > > > >> > > Maria > >> > > > >> > > El mié, 10 mar 2021 a las 9:16, Julian Arnold > >> > (<[email protected] > >> <mailto:[email protected]> > >> <mailto:[email protected] > >> <mailto:[email protected]>> > >> > > <mailto:[email protected] > >> <mailto:[email protected]> > >> > <mailto:[email protected] > >> <mailto:[email protected]>>>>) escribió: > >> > > > >> > > Maria, > >> > > > >> > > I might not be the right person to answer > >> this, as my > >> > experience with > >> > > UHD 4.0 is relatively limited at the > moment. > >> > > > >> > > However, I cant tell you that the AGC on > >> B2x0 devices is > >> > controlled via > >> > > software (using set_rx_agc()). There is > >> no need to > >> > directly modify the > >> > > state of any pins of the FPGA. > >> > > > >> > > I vaguely remember that there was a bug > >> in an earlier > >> > version of gr-uhd > >> > > (somewhere in 3.7) that made it difficult > >> to turn on the > >> > AGC using GRC. > >> > > That particular one is fixed in gr-uhd. > >> Not sure about > >> > gr-ettus, though. > >> > > > >> > > Maybe try using set_rx_agc() manually in > >> you flow-graph > >> > (*.py) and see > >> > > if that helps. > >> > > > >> > > Cheers, > >> > > Julian > >> > > > >> > > On 3/9/21 5:11 PM, Maria Muñoz via > >> USRP-users wrote: > >> > > > Hi all, > >> > > > > >> > > > I was wondering if it is possible to > >> enable AGC from > >> > the RFNoC radio > >> > > > block in GNURadio. I use UHD 4.0 > >> version and GNURadio > >> > 3.8 with > >> > > gr-ettus. > >> > > > > >> > > > I see that the RFNoC Rx radio block has > an > >> > enable/disable/default > >> > > AGC > >> > > > option in the GNURadio block which I > >> assume calls the > >> > UHD function > >> > > > "set_rx_agc" > >> > > > > >> > > > >> > > >> ( > https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#abdab1f6c3775a9071b15c9805f866486 > ) > >> > > > > >> > > > I have also checked on the FPGA side > >> that there is a > >> > pin from > >> > > FPGA to > >> > > > AD9361 called XCVR_ENA_AGC which is > >> set always to 1 on > >> > the top > >> > > level of > >> > > > the FPGA image (see attached file > >> "e320.v", line 872). > >> > This pin, > >> > > > according to > >> > > > > >> > > > >> > > >> > https://www.analog.com/media/en/technical-documentation/data-sheets/AD9361.pdf > >> > > > >> > > > is the "Manual Control Input for > >> Automatic Gain > >> > Control (AGC)". > >> > > > Must be this pin set to 0 to have AGC > >> working? > >> > > > If not, how can I get AGC working? > >> I've made some tests > >> > > > enabling/disabling this option but I > >> do not see any > >> > changes > >> > > between the > >> > > > waveforms received. > >> > > > > >> > > > Any help would be appreciated. > >> > > > > >> > > > Kind Regards, > >> > > > > >> > > > Maria > >> > > > > >> > > > > >> _______________________________________________ > >> > > > USRP-users mailing list > >> > > > [email protected] > >> <mailto:[email protected]> > >> > <mailto:[email protected] > >> <mailto:[email protected]>> > >> > <mailto:[email protected] > >> <mailto:[email protected]> > >> > <mailto:[email protected] > >> <mailto:[email protected]>>> > >> > > > > >> > > >> > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > >> > > > > >> > > > >> > > >> >
_______________________________________________ USRP-users mailing list -- [email protected] To unsubscribe send an email to [email protected]
