mem function

Forum for discussion on different signal processing algorithms
Post Reply
jackchen
Posts: 3
Joined: 06 Jan 2016, 18:15

mem function

Post by jackchen » 21 Nov 2016, 20:13

Hi,

I am currently working on the offline analysis feature (r^2) plot.

Before computing the r^2 values, there is a line calling mem() function

For example, I have a signal data with size (2501x32 double) and the
memparms is [23, 0,70,2,10,1,500,83,2.0120], after I called [trialspectrum, freq_bins] = mem( condition1data, memparms ); I observed that the trialspectrum has size of [36x32x29]. 29 is the block size, but how is it actually calculated? And how the spectrum values are calculated?

I know it is hard to access the .mexw64 file, is there a way to see what is inside the mem function? I really want to know what is going on inside it.

Thanks!

Jack

pbrunner
Posts: 344
Joined: 17 Sep 2010, 12:43

Re: mem function

Post by pbrunner » 23 Nov 2016, 15:32

Qingjie,

the mem mex file uses the burg method to estimate the spectrum of a given signal. You can find a description of the use on the BCI2000 wiki [1], you can also explore the MATLAB implementation [2], or alternatively look into the source code of the MEM implementation in BCI2000 [3]. If you like, I can email you a mathematical description, i.e., a series of equations, that I always use in my publications to describe the function of the MEM.

[1] http://www.bci2000.org/wiki/index.php/U ... _Algorithm
[2] https://www.mathworks.com/help/signal/ref/arburg.html
[3] https://www.bci2000.org/svn/trunk/src/e ... redictor.h

Regards, Peter

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests