Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 5 of 5

Thread: Sampling 44.1kHz

  1. #1
    Junior Member
    Join Date
    Nov 2019
    Location
    London
    Posts
    11

    Sampling 44.1kHz

    Hi.

    Out of curiosity, I am just wondering how to sample data at 44.1kHz. I know the history behind CD with 44.1kHz sampling rate. But how they do it with a timer interrupt ?
    I have been sampling data with interval timer at 25microseconds which equivalent to 40ksps. But I am confused on how to sample data at 44.1kHz. Should I just pass 22.6757 microseconds interval timer (which is not round number) ?? If the interrupt is at 20microsecs, it would become 50ksps instead. Hope Paul or other experts see this :)

    Many thanks and have a great day !
    xx

  2. #2
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    6,223
    The exact samplerate T3.x uses is 44117.xyz Hz. T4 uses 44100 exactly.

  3. #3
    Senior Member
    Join Date
    Jul 2014
    Posts
    2,529
    Quote Originally Posted by scarlet_bear View Post
    But how they do it with a timer interrupt ?
    You could do it as Paul does it with usb_audio.
    There every ms is an usb-interrupt. So usb_audio sends 9 x 44 samples and 1 x 45 samples resulting in 44.1 samples/ms on average. There is a phase jitter you have to live with.

  4. #4
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,345
    Frank is right, on Teensy 3.x we use a frequency close but not exactly 44.1 kHz.

    When the PDB timer is the clock master, it's generated from 48 MHz / 1088, or 60 MHz / 1360, because the timers default to running at 48 MHz on Teensy 3.2 and 60 MHz on Teensy 3.5 and 3.6. The timers only allow dividing these base clock frequencies by an integer, so we use integers 1088 and 1360 to get the closest possible frequency and hope that's close enough.

    When the I2S MCLK generator is the clock master, similar integer ratios of 96 MHz or 120 MHz or 180 MHz are used.

    On Teensy 4.0, we have a dedicated PLL which allows creating a very accurate 44.1 kHz sample rate.

  5. #5
    Junior Member
    Join Date
    Nov 2019
    Location
    London
    Posts
    11
    Thank you Frank, Walter and Paul for clear explanation.

    Cheers :)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •