Page 1 of 1
what is the difference?
Posted: 01 Jan 2014, 01:44
by Aswnvenu
sir,
what is the difference between ARsignal processing and spectral signal processing modules in bci2000. In my basic inspection both of the
filtering tools are seems to be same. Can any one tell me the difference between these?
thank you
Aswin
Re: what is the difference?
Posted: 04 Jan 2014, 09:46
by boulay
From the filter pipe definition for
AR:
Code: Select all
#include "SpatialFilter.h"
#include "ARFilter.h"
#include "LinearClassifier.h"
#include "LPFilter.h"
#include "ExpressionFilter.h"
#include "Normalizer.h"
Filter( SpatialFilter, 2.B );
Filter( ARFilter, 2.C );
Filter( LinearClassifier, 2.D );
Filter( LPFilter, 2.D1 );
Filter( ExpressionFilter, 2.D2 );
Filter( Normalizer, 2.E );
From pipe definition for
Spectral:
Code: Select all
#include "SpatialFilter.h"
#include "SpectralEstimator.h"
#include "LinearClassifier.h"
#include "LPFilter.h"
#include "ExpressionFilter.h"
#include "Normalizer.h"
Filter( SpatialFilter, 2.B );
Filter( SpectralEstimator, 2.C );
Filter( LinearClassifier, 2.D );
Filter( LPFilter, 2.D1 );
Filter( ExpressionFilter, 2.D2 );
Filter( Normalizer, 2.E );
So as you can see, the only difference is one includes ARFilter.h and the other includes SpectralEstimator.h
If you look at
SpectralEstimator.h, then you'll see that all it does is let you choose from 3 filters, including IdentityFilter, ARSpectrum, and FFTSpectrum.
In other words, the SpectralSignalProcessing module includes ARSignalProcessing entirely with the addition of the option to use FFT instead of AR for spectral estimation. There is no reason for you to use ARSignalProcessing. It is included only for backwards compatibility. SpectralSignalProcessing supersedes it in every way.