[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: unexplained received power fluctuations with usrp b210 and gnuradio
From: |
Christophe Marqué |
Subject: |
Re: unexplained received power fluctuations with usrp b210 and gnuradio |
Date: |
Tue, 26 Apr 2022 17:46:00 +0200 |
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.