On 01/15/2015 12:26 PM, Anderson, Douglas J. wrote:
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.
I posted about it on StackExchange here, and there are more details at
this link:
http://stackoverflow.com/questions/27968237/semi-consistent-voltage-pulse-from-usrp-when-using-simple-gnu-radio-flowgraph
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.
Here is the code I'm using to produce this output
http://i.imgur.com/c3YWA22.png:
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 numpy as np
import matplotlib.pyplot as plt
FREQ = 800e6
RATE = 1e6
NSAMPS = 100
usrp = uhd.usrp_source(device_addr="",
stream_args=uhd.stream_args('fc32'))
usrp.set_center_freq(FREQ)
usrp.set_samp_rate(RATE)
fig, (freqplot, timeplot) = plt.subplots(2, sharex=True)
freqplot.set_title("Frequency domain")
timeplot.set_title("Time domain")
def plot():
data = np.array(usrp.finite_acquisition(NSAMPS))
shifted_fft = np.fft.fftshift(np.fft.fft(data))
dBm = 20*np.log10(np.abs(shifted_fft)) - 30
freqplot.plot(dBm)
timeplot.plot(np.abs(data))
def run_tb(times=25):
for _ in range(times):
plot()
plt.show(block=False)
*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.
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio