Sample Rate Converter (SRC) is used for converting a digitized speech/audio stream sampled at a specific frequency to a desired sampling frequency. The algorithm interpolates the new samples using a truncated sinc function (low pass) filter. The performance of the algorithm is dependent on the length of the filter and there is a trade-off between quality (SNR, bandwidth) and complexity (memory and MCPS). SRC is used in digital audio mixing consoles, multimedia players, and for converting the sampling frequencies for interoperability issues.

  • ANSI-C fixed-point implementation.
  • Re-entrant implementation
  • Support for low complexity (memory footprint and MCPS) with different filter lengths at compile time.
  • Supported filter lengths are 32, 48, 84 and 276.
  • Supports input sampling frequencies from 8KHz to 48KHz (8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48).
  • Supports output sampling frequencies from 8KHz to 48KHz (8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48).
  • With filter length of 276, SNR > 100 dB when the re-sampling factor is a multiple of 2; ~90 dB for other cases.
  • Supports mono and stereo input and output.
  • Supports interleaved stereo at input and output.
  • Accepts 16-bit PCM at input.
  • Generates 16-bit PCM output.
  • Code validated on TI C64x+ platform.
  • Tested using a large database of speech and audio samples.
  • Exhaustively tested for overflow conditions with high energy test cases.
  • Objectively benchmarked with SNR, Bandwidth and Stopband rejection tests.
  • Subjective listening tests to ensure that there are no audible errors.
  • Verified linearity of the phase response of the filters.

ARM9E, ARM11, Cortex-A8, and Cortex-A9

For datasheet with resource usage details