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

Reply via email to