Hi all,
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
into Python.
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="",
stream_args=uhd.stream_args('fc32'))
usrp.set_center_freq(FREQ)
fig, (freqplot, timeplot) = plt.subplots(2,
sharex=True)
freqplot.set_title("Frequency domain")
timeplot.set_title("Time domain")
data = "">
shifted_fft = np.fft.fftshift(np.fft.fft(data))
dBm = 20*np.log10(np.abs(shifted_fft)) - 30
timeplot.plot(np.abs(data))
Douglas
Anderson |
Intern
DOC/NTIA/ITS-T
| 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.