Hi Marcus, Is this the only type of GPS antenna that I can use on the Octoclock-G? https://www.ettus.com/product/details/GPS-ANT-3V
Or can I use any other type of antenna at 1.57 GHz or 1.23 GHz? On Fri, Jul 8, 2016 at 1:33 PM, Pavan Yedavalli <psy2...@columbia.edu> wrote: > The 1 PPS is flashing - it just wasn't flashing in the picture that I sent > (captured the pic at the wrong time), so that appears to be working, but > the GPS lock has never been on, I believe. > > I know that when I turn off the Octoclock-G, the received signals are all > over the place, but with the Octoclock-G on, the received signals are much > more coherent (just at the problem of completely random offsets). I figured > that's confirmation that all of them are getting the proper 10 MHz > reference clock, but maybe not? Thanks! > > On Fri, Jul 8, 2016 at 1:24 PM, <mle...@ripnet.com> wrote: > >> Pavan: >> >> Do you have any way of verifying that you have 1PPS and 10MHz coming out >> of those ports on the Octoclock-G, as seen at the ends of the cables? >> [Looking for both the broken-Octoclock and broken-cables case]. >> >> >> >> >> >> >> >> >> On 2016-07-08 00:12, Pavan Yedavalli wrote: >> >> It's an Octoclock-G (https://www.ettus.com/product/details/OctoClock-G >> is what I ordered). And yes, that is true about the external clock inputs >> and GPS lock. Does that matter if it's an Octoclock-G? >> >> On Thu, Jul 7, 2016 at 7:46 PM, <mle...@ripnet.com> wrote: >> >>> Is this an Octoclock, or Octoclock-G? >>> >>> If it's just an Octoclock, then it has no internal clocks, and acts as a >>> high-quality clock/pps distributor. >>> >>> I notice you don't have the external clock inputs connected to anything, >>> and there's no GPS LOCK indicator. >>> >>> >>> >>> >>> >>> >>> >>> >>> On 2016-07-07 17:08, Pavan Yedavalli wrote: >>> >>> Hi Marcus, >>> >>> I did what you suggested by wrapping the timed commands as follows: >>> >>> For the TX side (what you sent me in for_pavan.py): >>> >>> self.uhd_usrp_source_0.set_time_unknown_pps(uhd.time_spec()) >>> now = self.uhd_usrp_source_0.get_time_now() >>> start_time = now + uhd.time_spec(.5) >>> self.uhd_usrp_source_0.set_command_time(start_time) >>> self.uhd_usrp_source_0.set_clock_source("external", 0) >>> self.uhd_usrp_source_0.set_time_source("external", 0) >>> self.uhd_usrp_source_0.set_clock_source("external", 1) >>> self.uhd_usrp_source_0.set_time_source("external", 1) >>> self.uhd_usrp_source_0.set_samp_rate(samp_rate) >>> self.uhd_usrp_source_0.set_time_unknown_pps(uhd.time_spec()) >>> self.uhd_usrp_source_0.set_center_freq(rx_center_freq, 0) >>> self.uhd_usrp_source_0.set_normalized_gain(rx_gain, 0) >>> self.uhd_usrp_source_0.set_antenna(Antenna_sel, 0) >>> self.uhd_usrp_source_0.set_center_freq(rx_center_freq, 1) >>> self.uhd_usrp_source_0.set_normalized_gain(rx_gain, 1) >>> self.uhd_usrp_source_0.set_antenna("TX/RX", 1) >>> self.uhd_usrp_source_0.clear_command_time() >>> >>> And for the RX side (B210_Phase_Viewer.py): >>> >>> self.uhd_usrp_sink_0.set_time_unknown_pps(uhd.time_spec()) >>> now = self.uhd_usrp_sink_0.get_time_now() >>> start_time = now + uhd.time_spec(.5) >>> self.uhd_usrp_sink_0.set_command_time(start_time) >>> self.uhd_usrp_sink_0.set_clock_source("external", 0) >>> self.uhd_usrp_sink_0.set_time_source("external", 0) >>> self.uhd_usrp_sink_0.set_subdev_spec("A:0", 0) >>> self.uhd_usrp_sink_0.set_clock_source("external", 1) >>> self.uhd_usrp_sink_0.set_time_source("external", 1) >>> self.uhd_usrp_sink_0.set_subdev_spec("A:0", 1) >>> self.uhd_usrp_sink_0.set_samp_rate(samp_rate) >>> self.uhd_usrp_sink_0.set_center_freq(915e6, 0) >>> self.uhd_usrp_sink_0.set_gain(1.5, 0) >>> self.uhd_usrp_sink_0.set_center_freq(915e6, 1) >>> self.uhd_usrp_sink_0.set_gain(1.5, 1) >>> self.uhd_usrp_sink_0.clear_command_time() >>> >>> >>> However, it still does not work when I have the phase viewer running and >>> stop and restart the for_pavan.py flowgraph. I had a run of three straight >>> where the phase offset was around 11 degrees, but then afterward it started >>> fluctuating again (-140, 45, 81 degrees, etc.). >>> >>> Attached is the front of the Octoclock. I believe the settings are >>> correct, but maybe something is wrong with that. Note that the PPS flashes >>> (but I couldn't capture when it flashed in the picture). Also note that I >>> get the thread priority warning when running each of them, but I don't >>> think that is a problem. >>> >>> I am really not sure what the issue is here, sadly. Thanks again for >>> your help and patience. >>> >>> >>> On Wed, Jul 6, 2016 at 6:22 PM, Marcus D. Leech <mle...@ripnet.com> >>> wrote: >>> >>>> On 07/06/2016 09:04 PM, Pavan Yedavalli wrote: >>>> >>>> Hi Marcus, >>>> >>>> Trying the attached code with two of the USRPs transmitting, and with >>>> the B210_Phase_Viewer for the other 2 USRPs receiving, still gives me >>>> different offsets for every different run call. And by different run call, >>>> I'm simply running the flowgraph once, seeing the offset, stopping the >>>> graph, and then running it again, seeing the new offset, and so on. I must >>>> be doing something wrong here. A you mentioned, since all of them are using >>>> the Octoclock, that means that they all are having the same reference and >>>> pps, but both receive boards may also not be timed in an aligned fashion >>>> for the same reason, right? So the receive side LO offsets could also be >>>> causing problems in narrowing down the issue, I'm assuming? Thanks again. >>>> >>>> Yes, the receive side needs to be as mutually-coherent as possible as >>>> well. >>>> >>>> Also, I forgot to mention that you'll need to modify the output of the >>>> flow-graph I provided to wrap timed-command stuff around the tuning. >>>> >>>> Same on any RX flow-graph. That's the only sane we to be able to >>>> measure any kind of phase-offset that you can trust. >>>> >>>> If the RX side is a B210, you don't need to do timed commands (and, >>>> indeed, they aren't supported for tuning on the B210). What I'd do is >>>> leave the RX side running, while you bring the TX side up and down. >>>> >>>> >>>> >>>> >>>> On Wed, Jul 6, 2016 at 5:47 PM, Marcus D. Leech <mle...@ripnet.com> >>>> wrote: >>>> >>>>> On 07/06/2016 02:48 PM, Pavan Yedavalli wrote: >>>>> >>>>> I disconnected the MIMO cable and now have all 4 directly connected to >>>>> the Octoclock, but I get the same results in which the offset changes at >>>>> every run (using the above code). >>>>> >>>>> What about the attached code? >>>>> >>>>> Keep in mind that you'll have to measure it with something that is >>>>> also mutually coherent. >>>>> >>>>> >>>>> >>>>> >>>>> On Tue, Jul 5, 2016 at 9:11 PM, Marcus D. Leech <mle...@ripnet.com> >>>>> wrote: >>>>> >>>>>> On 07/05/2016 11:45 PM, Pavan Yedavalli wrote: >>>>>> >>>>>> Yes, sorry - two of them are actually connected via MIMO cable, with >>>>>> the master connected to the Octoclock. Then the other two are directly >>>>>> connected to the Octoclock. I used the MIMO cable just because I had it, >>>>>> but hopefully that's not changing the functionality. >>>>>> >>>>>> Yes, I added even more attenuation because the Tx gain was already >>>>>> quite low. Thanks for the suggestion. >>>>>> >>>>>> So, a useful experiment would be to do your coherent TX from a pair >>>>>> that are both hooked up to the Octoclock. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Tue, Jul 5, 2016 at 7:29 PM, Marcus D. Leech <mle...@ripnet.com> >>>>>> wrote: >>>>>> >>>>>>> On 07/05/2016 09:45 PM, Pavan Yedavalli wrote: >>>>>>> >>>>>>> According to the spectrum analyzer, there's nothing being >>>>>>> transmitted in the 900 MHz band around me, so that is actually fine. The >>>>>>> biggest unknown could be what you are saying about how they combine in >>>>>>> the >>>>>>> RSSI circuit (which I'm not sure how it works). >>>>>>> >>>>>>> I am not gaining any more insight when using over-the-air antennas, >>>>>>> so I used 2 USRPs as transmitters and 2 as receivers, connected them >>>>>>> directly with SMA cables (and attenuation), and used Derek Kozel's >>>>>>> B210_Phase_Viewer on the receive side to see whether they were aligned >>>>>>> after each run. And I am noticing that they are not. The first run >>>>>>> produced >>>>>>> a 125 degree phase offset, while the second one produced a 3 degree >>>>>>> phase >>>>>>> offset, and this continues to fluctuate after each run (see attached). >>>>>>> Note >>>>>>> that I am using the code that I pasted above to transmit. >>>>>>> >>>>>>> I must be doing something wrong with the code, or not wrapping the >>>>>>> timed commands around the correct code. I am not sure though. Thanks >>>>>>> again. >>>>>>> >>>>>>> Looks like you have a bit of clipping as well. Back off the gain on >>>>>>> the TX side. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Jul 5, 2016 at 5:51 PM, Marcus D. Leech <mle...@ripnet.com> >>>>>>> wrote: >>>>>>> >>>>>>>> On 07/05/2016 08:20 PM, Pavan Yedavalli wrote: >>>>>>>> >>>>>>>> I see, but the offset in phase between the two radios will affect >>>>>>>> the amplitude, right? That was the assumption I was using, since it >>>>>>>> gives >>>>>>>> out an amplitude reading, but the phase clearly will affect that >>>>>>>> reading, I >>>>>>>> presumed. >>>>>>>> >>>>>>>> Unfortunately, I don't have any documentation on the RSSI circuit >>>>>>>> apart from the following description from the vendor: >>>>>>>> >>>>>>>> The RSSI functionality allows the sampling of the received signal >>>>>>>> to provide an indication of the amount of energy being harvested. When >>>>>>>> DSET >>>>>>>> is driven high the harvested DC power will be directed to an internal >>>>>>>> sense >>>>>>>> resistor, and the corresponding voltage will be provided to the DOUT >>>>>>>> pin. >>>>>>>> The voltage on the DOUT pin can be read after a 50μs settling time. >>>>>>>> RSSI >>>>>>>> shows the actual power level that is being received at the antenna. >>>>>>>> This >>>>>>>> number is accurate from 0.04mW to 50mW. >>>>>>>> >>>>>>>> This probably does not help at all to debug. Sorry about that. >>>>>>>> >>>>>>>> You're making assumptions about how your signals will combine in >>>>>>>> that RSSI circuit, and how they'll combine with other ambient signals >>>>>>>> within >>>>>>>> your frequency band. I cannot imagine that being stable. >>>>>>>> >>>>>>>> To measure the phase between two signals, you need a device that is >>>>>>>> phase sensitive (like, for example, another USRP with two inputs), and >>>>>>>> compute conjugate multiplication between them, or the >>>>>>>> phase-angle, via the complex-argument block. >>>>>>>> >>>>>>>> Or just plot the two signals on a Qt Time sync, and observe that >>>>>>>> the phase relationship is the same--that of course requires that your >>>>>>>> receiver system is internally coherent between the two channels. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Jul 5, 2016 at 4:42 PM, Marcus D. Leech <mle...@ripnet.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> On 07/05/2016 07:28 PM, Pavan Yedavalli wrote: >>>>>>>>> >>>>>>>>> The way I'm doing it is the following (please correct me if there >>>>>>>>> is a fundamental error in assumptions): I am actually using an RSSI >>>>>>>>> circuit >>>>>>>>> that is receiving the power from the USRPs/antennas, and I'm >>>>>>>>> determining >>>>>>>>> whether the phase offset is the same based on that RSSI value. For >>>>>>>>> example, >>>>>>>>> I run the flowgraph once, and I get an RSSI value on the other side >>>>>>>>> of 2.5 >>>>>>>>> mW, but when I run the flowgraph again, it produces an RSSI value of >>>>>>>>> 9.5 >>>>>>>>> mW. In my mind, if that offset was constant, then it would have >>>>>>>>> produced >>>>>>>>> something around 2.5 mW again. I know this adds another variable to >>>>>>>>> the >>>>>>>>> mix, but I have confirmed the accurate functioning of the RSSI >>>>>>>>> circuit/receiver as well as the static nature of the channel, so its >>>>>>>>> reading is very reliable. >>>>>>>>> >>>>>>>>> Could you describe this RSSI circuit? Normally, they're only >>>>>>>>> sensitive to amplitude, not phase. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Jul 5, 2016 at 4:19 PM, Marcus D. Leech <mle...@ripnet.com >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>>> On 07/05/2016 06:47 PM, Pavan Yedavalli wrote: >>>>>>>>>> >>>>>>>>>> Hi Marcus, >>>>>>>>>> >>>>>>>>>> Thanks for the background. That helps greatly. Having said that, >>>>>>>>>> I am unclear which commands specifically tune the radios, so I did >>>>>>>>>> the >>>>>>>>>> following around the frequency tuning (after all of the time source, >>>>>>>>>> gain, >>>>>>>>>> and antenna setting code): >>>>>>>>>> >>>>>>>>>> addr_string = "addr0=192.168.10.3,addr1=192.168.10.4" >>>>>>>>>> self.uhd_usrp_sink_0_0 = uhd.usrp_sink( >>>>>>>>>> ",".join((addr_string, "")), >>>>>>>>>> uhd.stream_args( >>>>>>>>>> cpu_format="fc32", >>>>>>>>>> channels=range(2), >>>>>>>>>> ), >>>>>>>>>> ) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> self.uhd_usrp_sink_0_0.set_clock_source("external", 0) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_time_source("external", 0) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_clock_source("mimo", 1) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_time_source("mimo", 1) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_samp_rate(samp_rate) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_gain(31.5, 0) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_gain(31.5, 1) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_antenna("TX/RX", 0) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_antenna("TX/RX", 1) >>>>>>>>>> self.analog_sig_source_x_0_1 = >>>>>>>>>> analog.sig_source_c(samp_rate, analog.GR_CONST_WAVE, 10000, 1, 0) >>>>>>>>>> self.analog_sig_source_x_0_0_0 = >>>>>>>>>> analog.sig_source_c(samp_rate, analog.GR_CONST_WAVE, 10000, 1, 0) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> * >>>>>>>>>> self.uhd_usrp_sink_0_0.set_time_unknown_pps(uhd.time_spec()) >>>>>>>>>> now = >>>>>>>>>> self.uhd_usrp_sink_0_0.get_time_now() start_time = now + >>>>>>>>>> uhd.time_spec(.5) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_command_time(start_time) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_center_freq(915000000, 0) >>>>>>>>>> self.uhd_usrp_sink_0_0.set_center_freq(915000000, 1) >>>>>>>>>> self.uhd_usrp_sink_0_0.clear_command_time()* >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> However, when running it, this does not appear to produce a >>>>>>>>>> constant offset either, but I'm not sure whether this is the correct >>>>>>>>>> code >>>>>>>>>> to wrap around. Please keep me posted. Thanks. >>>>>>>>>> >>>>>>>>>> On Tue, Jul 5, 2016 at 12:49 PM, <mle...@ripnet.com> wrote: >>>>>>>>>> >>>>>>>>>>> That is precisely what I'm saying, and precisely what >>>>>>>>>>> timed-commands for tuning were invented. On certain hardware, >>>>>>>>>>> after the >>>>>>>>>>> tune is complete, a phase-reset pulse is sent by the FPGA. The only >>>>>>>>>>> way for >>>>>>>>>>> THAT to have the desired effect is to make sure that the >>>>>>>>>>> phase-reset pulse >>>>>>>>>>> happens at the same instant. >>>>>>>>>>> >>>>>>>>>>> Modern synthesizers use a technique called fractional-N >>>>>>>>>>> synthesis. One of the side effects of this is that you can't >>>>>>>>>>> predict where >>>>>>>>>>> the LO will "lock" with respect to the reference clock. So, any two >>>>>>>>>>> PLL >>>>>>>>>>> synthesizers, even when feed an identical reference clock, will not >>>>>>>>>>> have >>>>>>>>>>> the same phase offset with respect to one another. It's the >>>>>>>>>>> "physics" of >>>>>>>>>>> fractional-N PLL synthesis. >>>>>>>>>>> >>>>>>>>>>> SO, if you're using GRC to generate you flows, you'll have to >>>>>>>>>>> modify the generated code, and wrap >>>>>>>>>>> set_command_time()/clear_command_time() >>>>>>>>>>> around the place in the code where it tunes the radios. >>>>>>>>>>> >>>>>>>>>>> Clearly, if this depends on TIME, then all radios involved need >>>>>>>>>>> to agree on the current time, to high precision, hence the related >>>>>>>>>>> requirement for set_time_unknown_pps(), which uses the 1PPS signal >>>>>>>>>>> to >>>>>>>>>>> trigger loading of the time-of-day clocks on each USRP in the >>>>>>>>>>> multi_usrp >>>>>>>>>>> object. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 2016-07-05 15:41, Pavan Srikrishna Yedavalli wrote: >>>>>>>>>>> >>>>>>>>>>> I am using USRP N210 with SBX daughterboards. All devices are >>>>>>>>>>> connected to the octoclock ref and octoclock PPS. It would be nice >>>>>>>>>>> to get >>>>>>>>>>> phase alignment, but mere coherence-with-an-offset is sufficient if >>>>>>>>>>> that >>>>>>>>>>> offset stays constant across different runs of the file/flowgraph. >>>>>>>>>>> Are you >>>>>>>>>>> saying that that offset cannot be constant due to the randomness of >>>>>>>>>>> the LO >>>>>>>>>>> phase offset at each run? Thanks again. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _____________________________ >>>>>>>>>>> From: mle...@ripnet.com >>>>>>>>>>> Sent: Tuesday, July 5, 2016 12:35 PM >>>>>>>>>>> Subject: Re: [Discuss-gnuradio] random phase offset constantly >>>>>>>>>>> changing with octoclock setup >>>>>>>>>>> To: Pavan Yedavalli <psy2...@columbia.edu> >>>>>>>>>>> Cc: Discuss-gnuradio < >>>>>>>>>>> discuss-gnuradio-bounces+mleech=ripnet....@gnu.org>, GNURadio >>>>>>>>>>> Discussion List <discuss-gnuradio@gnu.org> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> WHat specific hardware line-up do you have? >>>>>>>>>>> >>>>>>>>>>> You have to use set_time_unknown_pps(), but also, if you want >>>>>>>>>>> phase alignment (as opposed to mere coherence-with-an-offset), you >>>>>>>>>>> need to >>>>>>>>>>> use timed tuning commands across your systems. This will result in >>>>>>>>>>> zero >>>>>>>>>>> relative phase offset between boards, if you're using SBX or UBX >>>>>>>>>>> (on the >>>>>>>>>>> X310). Note that this is phase between the boards, there's no way >>>>>>>>>>> to make >>>>>>>>>>> certain the the LO phase has a predictable offset with respect to >>>>>>>>>>> external >>>>>>>>>>> received signals, only that the two LO phases agree. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 2016-07-05 15:26, Pavan Yedavalli wrote: >>>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> Despite all of my boards being connected via the Octoclock (ref >>>>>>>>>>> and pps), I am constantly getting different phase offsets every >>>>>>>>>>> time I run >>>>>>>>>>> a gnuradio flowgraph (or python file). >>>>>>>>>>> >>>>>>>>>>> I am not sure why this is happening, but I do know that I need >>>>>>>>>>> to call one of the functions, set_time_now() and/or >>>>>>>>>>> set_time_unknown_pps(), >>>>>>>>>>> to make sure all of them are synced. Which one am I supposed to >>>>>>>>>>> call? I >>>>>>>>>>> have been calling set_time_unknown_pps(), but I am getting the >>>>>>>>>>> above/below >>>>>>>>>>> problem with that, so maybe set_time_now() could be correct? >>>>>>>>>>> >>>>>>>>>>> In general, I don't understand why I continually get a different >>>>>>>>>>> random phase offset of all of the radios after every new flowgraph >>>>>>>>>>> run. >>>>>>>>>>> Shouldn't this offset be the same if I continue to transmit at the >>>>>>>>>>> same >>>>>>>>>>> frequency? Would one of the above functions fix that? >>>>>>>>>>> >>>>>>>>>>> Hopefully that is clear. Thank you so much for the help. >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Pavan >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Discuss-gnuradio mailing list >>>>>>>>>>> Discuss-gnuradio@gnu.org >>>>>>>>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Pavan >>>>>>>>>> >>>>>>>>>> How are you measuring the phase-offset between the two sinks? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Pavan >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Pavan >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Pavan >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Pavan >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Pavan >>>>> >>>>> >>>> >>>> >>>> -- >>>> Pavan >>>> >>>> >>> >>> >>> -- >>> Pavan >>> >>> >> >> >> -- >> Pavan >> >> > > > -- > Pavan > -- Pavan
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio