I've been slowly working to understand/isolate an issue
with a strange voltage pulse at all freqs and on USRP N210
with 50 Ohm load.
Since then, I've further
isolated it as a UHD issue by completely removing the GNU
Radio scheduler from the equation and simply using the
finite_acquisition function on UHD to pull samples directly
An interesting thing is that when using the UHD driver is
used outside a flowgraph (uhd.finite_acquisition), I get the
strange pulse consistently, whereas when used in a flowgraph
it was inconsistent (see the StackExchange question).
import matplotlib.pyplot as plt
usrp = uhd.usrp_source(device_addr="",
fig, (freqplot, timeplot) = plt.subplots(2,
data = "">
shifted_fft = np.fft.fftshift(np.fft.fft(data))
dBm = 20*np.log10(np.abs(shifted_fft)) - 30
| 325 Broadway St., Boulder, CO 80305 | P:
303 497 3582
You're grabbing the first 100 samples after you start-up, at 1e6
sps. That's 100usec. A good thing to understand is that only
*part* of the SDR world is entirely in the software domain.
What you're seeing is the very-much-expected startup transients that
*invariably* occur with analog hardware. For one thing, there's no
way that the tuner and mixer will be in a steady-state in the first
100usecs after startup.
What I would do is grab a few thousand samples, and discard the
first few hundred microseconds after startup.