Tuesday, April 26, 2022

Re: unexplained received power fluctuations with usrp b210 and gnuradio

Hello,

thank you for your answer. In the past few days I've made further tests, including using a 50 ohm load. I can confirm that it is not visible with a load, but shows up when connected to an antenna. I was naively thinking that playing with the analog bandwidth would help, but I guess non linear effects occur before the bandwidth is set.

I am still a bit puzzled why this behaviour isn't the same wether or not one uses gr-uhd or the uhd python api, but I will continue to check this,

all the best,
Christophe


> On 20 Apr 2022, at 16:43, Marcus D. Leech wrote:
>
> On 2022-04-20 08:20, Christophe Marqué wrote:
>> Hi,
>>
>> I'm not sure this is the right place to ask this question, but I will try anyway.
>>
>> I am using a usrp b210 to simply record the received power at a certain frequency. The receiver is plugged to a bicone antenna and an amplifier for testing, but the behaviour I describe below has shown up in more elaborated setups. I attach the simple flowgraph. The receiver is tuned with a tune request and an offset equal to half the sample rate.
>>
>> In short, the power I am recording is not stable and I see large excursions (up or down) appearing abruptly, even in frequency bands where I expect no signal (e.g. radio astronomy bands). I know RFI are expected even in quiet bands, but I would not expect drops in the power levels. I see this at different gain settings for the receiver, although a higher gain makes things worse. Without any tune request, it improves a bit but not much.
>>
>> I have made a similar set of measurements using directly the UHD python API, and it seems to me that on comparable timescales, no suspicious fluctuations appear. (see plots, the one of the uhd python api has been integrated by a factor 1000 to get the same rate as the gnuradio generated ones)
>>
>> Has this behavior been seen in the past? I'm using fairly recents uhd and gnuradio libraries (UHD_4.2.0.0, gnuradio 3.10.1), and python 3.8 on a linux (ubuntu 20.4) pc, but I encountered this with older library versions.
>>
>> Thanks for any suggestions,
>>
>> Best regards,
>> Christophe
>>
>> #######Code for the python uhd-api (derived from online example):
>> import uhd
>> import numpy as np
>> import argparse
>>
>> def parse_args():
>> parser = argparse.ArgumentParser()
>> parser.add_argument("-a", "--args", default="", type=str)
>> parser.add_argument("-o", "--output-file", type=str, required=True)
>> parser.add_argument("-f", "--freq", type=float, required=True)
>> parser.add_argument("-r", "--rate", default=1e6, type=float)
>> parser.add_argument("-d", "--duration", default=5.0, type=float)
>> parser.add_argument("-c", "--channels", default=0, nargs="+", type=int)
>> parser.add_argument("-g", "--gain", type=int, default=10)
>> return parser.parse_args()
>>
>> def main():
>> args = parse_args()
>> usrp = uhd.usrp.MultiUSRP(args.args)
>> num_samps = int(np.ceil(args.duration*args.rate))
>> if not isinstance(args.channels, list):
>> args.channels = [args.channels]
>> samps = usrp.recv_num_samps(num_samps, args.freq, args.rate, args.channels, args.gain)
>> with open(args.output_file, 'wb') as f:
>> np.save(f, np.real(samps*np.conj(samps)),
>> allow_pickle=False, fix_imports=False)
>>
>> if __name__ == "__main__":
>> main()
>> #######
> Have you repeated your experiments with a terminator on the input of the receiver? I've been using Gnu Radio for radio astronomy applications since 2005 or so. The only
> anomaly I've found that was GR-related in this regard was that the single-pole IIR filter has some numerical instability for very small inputs.
>
> Also, for a total-power radiometer, I normally just use complex-to-mag**2 followed by integration and decimation.
>
> In the analog world, you can often get dips in received power due to what some call "receiver de-sense" which is caused by a strong out-of-band signal exceeding the
> linearity limits of an early gain stage, but since it's out of band, you don't see the signal, just the non-linearity effects its causes.

No comments:

Post a Comment