[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Losing sample count integrity / Source(s) slippin

From: Marcus Müller
Subject: Re: [Discuss-gnuradio] Losing sample count integrity / Source(s) slipping ?
Date: Sat, 5 Dec 2015 11:48:58 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

Hi Tom,

first of all: Nice flowgraph! I especially like this part:
to give you a single 1 every 1000 samples; I'd never come up with this!
Also, from looking at this, I'd say you're a digital designer; how far am I off? [1]

So, to your actual problem: I guess you're right, there's a problem with numerical accuracy.
I made a quick demo flow graph:
which, in theory, should be output constant 1, but instead shows the slow drifting.
I do think this is in the range of what I'd expect of numerical accuracy, but as I don't have the time to test this right now, I'm attaching my test flow graph. The right thing to do would be calculating the angular speed of the output and see how large it is compared to the angular precision of float32 put through cos(.).

Best regards,

[1] My much more signal-theoretic approach would have been this:
i.e. interpolating a stream of 1s with a filter that isn't actually doing anything, i.e. has "[1]" as taps.
Or, even shorter:
Vector source
because GRC / python allows us to just specify a vector that we sample.

On 05.12.2015 06:15, Tom McDermott wrote:
After some further investiagation, it appears that this may be a slow, long term
analog drift in the cosine wave source (perhaps due to single precision math?). The
voltage values aren't the same at each point in the waveform - they slowly drift
over many minutes of computer runtime.

-- Tom, N5EG

On Fri, Dec 4, 2015 at 3:48 PM, Tom McDermott <address@hidden> wrote:
In working on some waveform sampling tests, have encountered an apparent drift
between two gnuradio sources that are run at the same rate.  I've tried to structure
the flowgraph so that the QT GUI does not get involved in the exact sample count
integrity between two flow graph paths. 

The attached flowgraph constructs a sampling pulse near the zero-crossing time of
the cosine wave, then displays that sampled analog value.  Over time, the cosine
source appears to be slipping in time compared to the square wave source. The
analog sampling pulse samples the cosine source 'near' the zero crossing. But with
increasing run-time of the flow graph, it appears to be drifting off. I'm at a loss to
explain this.

Attached is the simplest GRC flowgraph that demonstrates the effect.  It needs to
run for a few tens of seconds before the analog sampled value starts to grow.
The time sample at 6 milliseconds is the sampled analog value.  Even if it's not exactly
zero, it should remain relative stable in analog value.

Any advice on what I might be doing wrong here?

-- Tom, N5EG

Discuss-gnuradio mailing list

Attachment: sample_cosine.grc
Description: application/gnuradio-grc

reply via email to

[Prev in Thread] Current Thread [Next in Thread]