Monday, May 19, 2025

Re: Making fundemental OOT source block mistakes?

Hi Robert,

It seems that your OOT block is already enforcing a sample rate on its own, so you don't need to use a throttle in your flowgraph.

Actually, as you noticed, you should not use one.
In your case the throttle, in its throttling operation, blocks the sample stream long enough for samples to fill in the output buffer of your block and have it stop running its work function.

Apart from that, it seems to work :)

Cyrille

Le 18/05/2025 à 23:30, Robert Heerekop a écrit :
My objective is to measure a phase shift between a demodulated FM-audio tone and an external 500Hz clock.

A simple C++ OOT source module 'gptest' reads the status of an input pin (connected to an external 500Hz clock) and copies the state to a gpio monitor-output pin (to monitor the behaviour with an oscillosope).

In the flowgraph the 500Hz input signal (green) goes via a throttle to a null sink.
If the throttle is bypassed the monitor-output signal (yellow) shows by that the OOT source module is fully able to process the 500Hz clock signal.
However, if the throttle is enabled, the monitor-output signal shows that the OOT source module skips most source clock cycles.
This also happens if the input clock signal is e.g. turned into a float and a filter is applied.

My objective is to measure a phase shift between this external 500Hz clock and a demodulated FM-audio tone.
Can you comment on my approach and/or explain how to fully process the 500Hz clock signal?
Thanks in advance, I learn from your feedback!


No comments:

Post a Comment