Simulates loading of biquad filters
This module is used for CPU load testing purposes and implements a large number of cascade Biquad filters. At instantiation time, you specify MAXSTAGES - the maximum number of filter stages that you would like to simulate. Then at run-time you can vary the number of filters running from 1 to MAXSTAGES. This makes the CPU work harder since more filter stages are running. Internally, the module uses a BiquadCascade module to implement the filtering.
Note that if the filter is connected to a multichannel input, then the module implements numChannels * numStages filters. That is, the number of filters is scaled by the number of channels processed. On some processors like the SHARC, you get more efficient processing when operating on multichannel signals.
typedef struct _ModuleBiquadLoading
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
INT32 maxStages; // Maximum Biquad stages that can be run
INT32 numStages; // Number of Biquad stages currently running
awe_modBiquadCascadeInstance *filt; // Cascade of second order Biquad filters
Description: Audio Input
Data type: float
Channel range: Unrestricted
Block size range: Unrestricted
Sample rate range: Unrestricted
Complex support: Real
Description: Audio output
Data type: float
File Name: biquad_loading_module.m
M = biquad_loading_module(NAME, MAXSTAGES)
Module which simulates the loading of N series biquad stages. The
module is used for profiling and demonstrations of the computational
capabilities of processors. Arguments:
NAME - name of the module.
MAXSTAGES - maximum stages that will be tried (this is used for
memory allocation and is set to 100 by default).