Hi Tom,

first of all: Nice flowgraph! I especially like this part:
flowgraph
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:
sampler
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,
Marcus




[1] My much more signal-theoretic approach would have been this:
interpolation
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 <[email protected]
> <mailto:[email protected]>> 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
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

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

_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to