discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] [GSoC 17] DAB: updates of the week


From: John Ackermann N8UR
Subject: Re: [Discuss-gnuradio] [GSoC 17] DAB: updates of the week
Date: Wed, 7 Jun 2017 13:45:42 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0

Hi Biju --

I was mainly asking whether Benny had a proof of concept for his suggested approach. I understand about resamplers.

The thought in my mind, though I don't know if I have the skills to implement it, is a block placed immediately before the audio sink that provides a buffer and measures whether it is filling or emptying over time. That information drives a feedback loop that adjusts a rational resampler on the input side of the buffer to keep the buffer level constant, thus correcting for clock errors. As shown in terrible ASCII art:

                          Nominal 1:1
Audio-rate samples --> Rational Resampler --> Buffer --> Audio Sink
                               ^                v
                               |                |
                               ^----------------<
                           (Adjust Int/Dec values to
                          maintain buffer at 50% full)

I know that block doesn't currently exist, but might be an awfully useful thing to have.

John
----
On 06/07/2017 12:23 PM, Biju Ravindran wrote:
Hi John,

I'm not aware of any gnu radio blocks available for audio synchronization.

However, you're asking about resampling: Well, resamplers do exist :) !

We've got a totally different problem, though: To resample properly,

you'd need to know (or better: estimate) the clock error.



On Wed, Jun 7, 2017 at 2:47 AM, John Ackermann N8UR <address@hidden
<mailto:address@hidden>> wrote:

    Hi Benny --

    As I mentioned in another message, I'm struggling with the RF-audio
    interface now.  Do you have any example code for your suggestion
    that I might play with (in my mind, the idea would be an "audio
    synchronizer" block that would take input at the nominal audio rate
    and output at the actual rate, correcting for clock error to keep
    the stream flowing smoothly).

    If a prototype exists, I'd be happy to plug it into my current app
    to see what happens.

    John
    ----


    On 06/06/2017 12:02 PM, Benny Alexandar wrote:

        Hi Luca,


        Nice to see your progress so far. Once you have the
        DAB receiver audio listening in place, I would
        suggest to have an audio synchronization for continuous
        playback without any buffer overflow or under-runs.

        DAB+ audio super frame length is 120ms according to DAB+
        standard (ETSI TS 102 563). Each audio super frame is
        carried in five consecutive logical DAB frames.
        Which means 120ms of audio is mapped to 5 DAB frames.

        If I add a timestamp at the receiver when the first DAB frame
        sample arrives, I can check the max latency when it comes to
        audio renderer, I mean after buffering to adjust the variable
        decoding time of compressed audio.

        t_D = t_A -  t_B ,
        where,
         t_A = time at audio out
         t_B = time at input baseband sample.
         t_D = maximum system delay.

        The difficulty is to estimate the slow clock drift correctly
        and separate it from the short-time channel/decoding jitter.

        Add a delay to buffer audio at audio out, say  D, which is larger
        than max system delay. Whenever the audio reaches audio out,
        check the
        delay to separate the clock drift.

             drift = t_D - D

        Please let me know if you need any more details.

        -ben











        ------------------------------------------------------------------------
        *From:* Discuss-gnuradio
        <address@hidden
        <mailto:address@hidden>> on behalf of
        Moritz Luca Schmid <address@hidden
        <mailto:address@hidden>>
        *Sent:* Friday, May 26, 2017 6:19:31 PM
        *To:* GNURadio Discussion List
        *Subject:* [Discuss-gnuradio] [GSoC 17] DAB: updates of the week


        Hi everyone,

        I just published my latest updates of my DAB project in a new
        blog post
        <https://dabtransceiver.wordpress.com/
        <https://dabtransceiver.wordpress.com/>>.

        This week, I created a source block for the Fast Information
        Channel and
        started to build a reception chain for the Main Service Channel
        (where
        the audio data is transmitted).

        Read more about it in my post.


        Cheers

        Luca



        _______________________________________________
        Discuss-gnuradio mailing list
        address@hidden <mailto:address@hidden>
        https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
        <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>


    _______________________________________________
    Discuss-gnuradio mailing list
    address@hidden <mailto:address@hidden>
    https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
    <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>




--
Regards,
Biju Ravindran



reply via email to

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