Async  0.18.0
Public Member Functions | Protected Member Functions
Async::AudioInterpolator Class Reference

Interpolates a lower sampling rate to a higher one. More...

#include <AsyncAudioInterpolator.h>

Inheritance diagram for Async::AudioInterpolator:
Async::AudioProcessor Async::AudioSink Async::AudioSource

List of all members.

Public Member Functions

Protected Member Functions


Detailed Description

Interpolates a lower sampling rate to a higher one.

Author:
Tobias Blomberg / SM0SVX
Date:
2008-04-06

This audio pipe class will interpolate an audio stream up to a higher sampling rate. Interpolation is a process where the sampling rate is increased by an integer factor. After the increase in sampling rate, a lowpass filter must be applied to avoid aliasing effects. This filter is built into this component. However, the filter coefficients (FIR) must be calculated manually.

Use this web page to calculate the coefficients: http://www.dsptutor.freeuk.com/remez/RemezFIRFilterDesign.html

This implementation is based on the multirate FAQ at dspguru.com: http://dspguru.com/info/faqs/mrfaq.htm

Definition at line 117 of file AsyncAudioInterpolator.h.


Constructor & Destructor Documentation

Async::AudioInterpolator::AudioInterpolator ( int  interpolation_factor,
const float *  filter_coeff,
int  taps 
)

Constuctor.

Parameters:
interpolation_factorThe factor to increase the sample rate with
filter_coeffThe filter coefficients
tapsThe number of taps in the filter

Destructor.


Member Function Documentation

virtual void Async::AudioInterpolator::processSamples ( float *  dest,
const float *  src,
int  count 
) [protected, virtual]

Process incoming samples and put them into the output buffer.

Parameters:
destDestination buffer
srcSource buffer
countNumber of samples in the source buffer

This function should be reimplemented by the inheriting class to do the actual processing of the incoming samples. All samples must be processed, otherwise they are lost and the output buffer will contain garbage.

Implements Async::AudioProcessor.


The documentation for this class was generated from the following file: