Diff of /doc/_includes/ssp.rst [000000] .. [7f9fb8]

Switch to unified view

a b/doc/_includes/ssp.rst
1
:orphan:
2
3
The Signal-Space Projection (SSP) method
4
========================================
5
6
.. NOTE: part of this file is included in doc/overview/implementation.rst.
7
   Changes here are reflected there. If you want to link to this content, link
8
   to :ref:`ssp-method` to link to that section of the implementation.rst
9
   page. The next line is a target for :start-after: so we can omit the title
10
   from the include:
11
   ssp-begin-content
12
13
The Signal-Space Projection (SSP) is one approach to rejection of external
14
disturbances in software. The section presents some relevant details of this
15
method. For practical examples of how to use SSP for artifact rejection, see
16
:ref:`tut-artifact-ssp`.
17
18
General concepts
19
~~~~~~~~~~~~~~~~
20
21
Unlike many other noise-cancellation approaches, SSP does not require
22
additional reference sensors to record the disturbance fields. Instead, SSP
23
relies on the fact that the magnetic field distributions generated by the
24
sources in the brain have spatial distributions sufficiently different from
25
those generated by external noise sources. Furthermore, it is implicitly
26
assumed that the linear space spanned by the significant external noise patterns
27
has a low dimension.
28
29
Without loss of generality we can always decompose any :math:`n`-channel
30
measurement :math:`b(t)` into its signal and noise components as
31
32
.. math::    b(t) = b_s(t) + b_n(t)
33
   :name: additive_model
34
35
Further, if we know that :math:`b_n(t)` is well characterized by a few field
36
patterns :math:`b_1 \dotso b_m`, we can express the disturbance as
37
38
.. math::    b_n(t) = Uc_n(t) + e(t)\ ,
39
   :name: pca
40
41
where the columns of :math:`U` constitute an orthonormal basis for :math:`b_1
42
\dotso b_m`, :math:`c_n(t)` is an :math:`m`-component column vector, and the
43
error term :math:`e(t)` is small and does not exhibit any consistent spatial
44
distributions over time, *i.e.*, :math:`C_e = E \{e e^\top\} = I`. Subsequently,
45
we will call the column space of :math:`U` the noise subspace. The basic idea
46
of SSP is that we can actually find a small basis set :math:`b_1 \dotso b_m`
47
such that the conditions described above are satisfied. We can now construct
48
the orthogonal complement operator
49
50
.. math::    P_{\perp} = I - UU^\top
51
   :name: projector
52
53
and apply it to :math:`b(t)` in Equation :eq:`additive_model` yielding
54
55
.. math::    b_{s}(t) \approx P_{\perp}b(t)\ ,
56
   :name: result
57
58
since :math:`P_{\perp}b_n(t) = P_{\perp}(Uc_n(t) + e(t)) \approx 0` and
59
:math:`P_{\perp}b_{s}(t) \approx b_{s}(t)`. The projection operator
60
:math:`P_{\perp}` is called the **signal-space projection operator** and
61
generally provides considerable rejection of noise, suppressing external
62
disturbances by a factor of 10 or more. The effectiveness of SSP depends on two
63
factors:
64
65
- The basis set :math:`b_1 \dotso b_m` should be able to characterize the
66
  disturbance field patterns completely and
67
68
- The angles between the noise subspace space spanned by :math:`b_1 \dotso b_m`
69
  and the signal vectors :math:`b_s(t)` should be as close to :math:`\pi / 2`
70
  as possible.
71
72
If the first requirement is not satisfied, some noise will leak through because
73
:math:`P_{\perp}b_n(t) \neq 0`. If the any of the brain signal vectors
74
:math:`b_s(t)` is close to the noise subspace not only the noise but also the
75
signal will be attenuated by the application of :math:`P_{\perp}` and,
76
consequently, there might by little gain in signal-to-noise ratio.
77
78
Since the signal-space projection modifies the signal vectors originating in
79
the brain, it is necessary to apply the projection to the forward solution in
80
the course of inverse computations.
81
82
For more information on SSP, please consult the references listed in
83
:footcite:t:`TescheEtAl1995,UusitaloIlmoniemi1997`.
84
85
Estimation of the noise subspace
86
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87
88
As described above, application of SSP requires the estimation of the signal
89
vectors :math:`b_1 \dotso b_m` constituting the noise subspace. The most common
90
approach, also implemented in :func:`mne.compute_proj_raw`
91
is to compute a covariance matrix
92
of empty room data, compute its eigenvalue decomposition, and employ the
93
eigenvectors corresponding to the highest eigenvalues as basis for the noise
94
subspace. It is also customary to use a separate set of vectors for
95
magnetometers and gradiometers in the Vectorview system.
96
97
EEG average electrode reference
98
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
99
100
The EEG average reference is the mean signal over all the sensors. It is
101
typical in EEG analysis to subtract the average reference from all the sensor
102
signals :math:`b^{1}(t), ..., b^{n}(t)`. That is:
103
104
.. math:: {b}^{j}_{s}(t) = b^{j}(t) - \frac{1}{n}\sum_{k}{b^k(t)}
105
   :name: eeg_proj
106
107
where the noise term :math:`b_{n}^{j}(t)` is given by
108
109
.. math:: b_{n}^{j}(t) = \frac{1}{n}\sum_{k}{b^k(t)}
110
   :name: noise_term
111
112
Thus, the projector vector :math:`P_{\perp}` will be given by
113
:math:`P_{\perp}=\frac{1}{n}[1, 1, ..., 1]`
114
115
.. warning::
116
   When applying SSP, the signal of interest can also be sometimes removed.
117
   Therefore, it's always a good idea to check how much the effect of interest
118
   is reduced by applying SSP. SSP might remove *both* the artifact and signal
119
   of interest.