In window-based mode, multiple output samples (up to 1024) equal to the window size of that channel are calculat-
ed. After these calculations are complete, the accelerator begins processing the next channel. A configurable window
size parameter is provided to specify the length of the window.
Multi-Rate Processing
Multi-rate filters change the sampling rate of a signal—they convert the input samples of a signal to a different set of
data that represents the same signal sampled at a different rate.
Decimation
A decimation filter provides a single output result for every M input samples, where M is the decimation ratio. The
output rate is 1/M'th of the input rate. The filter implementation exploits the low output sample rate by not start-
ing a computation until a new set of M input samples is available.
In this mode, after low-pass filtering (for anti-aliasing), FIR logic discards the ratio – 1 samples of output data. For
performance optimization, FIR logic skips the computation of output samples, which are discarded.
The input buffer size for decimation filters is N − 1 + (W × M) where:
• N is the number of taps
• W is the window size
• M is the decimation ratio
The window size (FIR_CTL2.WINDOW bits) must be programmed with the number of output samples.
To start this mode, programs set the FIR_CTL2.RATIO and FIR_CTL2.UPSAMP bits (along with normal filter
setting). Also, the FIR_CTL2.TAPLEN bit field value should be greater than or equal to the FIR_CTL2.RATIO
bit field value for the decimation filter.
Interpolation
An interpolation filter provides L output results for each new input sample, where L is the interpolation ratio. The
output rate is L times the input rate.
In this mode, according to the ratio specified in configuration register, FIR logic inserts L − 1 zeros between any two
input samples (upsampling). It then performs the interpolation (through the FIR filter).
Both upsampling and downsampling do not support multi-iteration mode. Therefore, the filtering operation only
happens on up to 1024 TAPs and the ratio of up and downsampling can only be an integer value.
In an interpolation filter, FIR logic inserts L − 1 zeros between each sample. The program has to make sure that
these zeros fully shift out of the delay line before moving on to the next channel. This operation puts a restriction on
window size in terms of L − the sample ratio as showing in the expression:
WINDOWSIZE = n
×
The input buffer size is smallest integer greater than or equal to (N − 1 + W)/L for interpolation filters where:
ADSP-SC58x/ADSP-2158x SHARC+ Processor Hardware Reference
SAMPLERATIO, where n is the number of input samples.
Operating Modes
51–9
Need help?
Do you have a question about the ADSP-SC58 Series and is the answer not in the manual?