ARMA Modules
Now that we have talked about ARMA in detail, let us
provide a few caveats.
It is not always beneficial to use ARMA parameter estimation as
a feature extraction.
In ARMA, poles and zeros can cancel each other, causing
numerical issues, or compete to represent the spectral shape,
causing different feature representations of a given spectral shape.
There may be some situations, such as when the data is known to be ARMA, or in
human speech (especially nasal vowels), where ARMA model can
be more compact. But, even if the number of parameters for a non-ARMA
model is much higher, such as MA, AR, or MFCC features, it can still be a
more robust and reproduceable representation than ARMA.
Still, we provide modules for circular and non-circular
ARMA feature extraction.
For non-circular ARMA features,
see software/module_arma.m, software/module_arma_synth.m.
The function software/module_arma_test.m provides a comprehensive
set of tests including acid test.
Note that often the ARMA parameter estimation
algorithm can remove a cancelling pole/zero pair,
especially for
small , which causes the acid test to abort.
Try:
module_arma_test('acid',512,2,2);
For circular ARMA features, see software/module_armacirc.m, software/module_armacirc_synth.m, and
software/module_armacirc_test.m. Like the non-circular
ARMA feature extraction, especially for
small , the ARMA parameter estimation
algorithm can remove a cancelling pole/zero pair,
which causes the acid test to abort.
module_armacirc_test('acid',512,2,2);