Thanks for your help ,Chad !
In fact , I did the work what your suggestion a few days ago, I set the gains to 1 and offsets to 0, AlignChannels = 0;TransmitChList = 10 (the channel number) , the classifier is :1 1 1 1 (that is, just use one element of the TransmitChList channel as feature). The result is ,there are still some error between the .applog file and my matlab Classification result .
I also re-check the workflow of BCI2000 , and I re-write my matlab code today , this time , I set the workflow in my matlab code as BCI2000's .
In detail ,
1.I wrote a DataIOFilter that use the SourceChGain and SourceChOffset to adjust the signal which was load from .dat file,and save the dealt signal as the input for next filters;
2.Because AlignChannels = 0 ,so I didn't need to write the AlignmentFilter ;
3.The next filter is TransmissionFilter ,as we know ,this filter transmit the data which is set in TransmitChList . So I realize this function in my matlab code too. Data that have passed through this filter will be reduce the dimension in channel;
4.The important part is SpatialFilter , my P300Speller experiment set the SpatialFilterType as CAR ,I have read some articles that said the CAR calculates the mean of all channels , I think what is the "all channels "refers to ? Is the all channels such as 64? Or the all channel that set in TransmitChList ? In my classification experiment in matlab , the answer is the "all channels "refers to the channel that set in TransmitChList.
5.The next two filter is P3TemporalFilter and LinearClassifier ,I realized them followed the BCI2000 wiki page .
Then ,my matlab Classification result is equal to the corresponding .applog file's result .This .dat file was acquired by means of NeuroScan.
I hope this detail describe would help someone who meet the same problem as me !
While there still is some problem :
1. When I apply my re-write matlab code to the .dat file which was acquired by P3Speller_SignalGenerator.bat ,I can not get the same result as the result in the corresponding .applog file.
2.
By default, signal data will be in raw A/D units, and will be represented by the smallest Matlab data type that accommodates them. To obtain signal data calibrated into physical units (microvolts), specify '-calibrated' as an option anywhere in the argument list.
How can I know what the value of '-calibrated' should be set ?
Thanks for your timely reply ,
Sandra.