<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.bci2000.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Contributions%3ACoherence</id>
	<title>Contributions:Coherence - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.bci2000.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Contributions%3ACoherence"/>
	<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=Contributions:Coherence&amp;action=history"/>
	<updated>2026-06-09T04:54:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=Contributions:Coherence&amp;diff=6954&amp;oldid=prev</id>
		<title>Mellinger: /* CohFrequencies */</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=Contributions:Coherence&amp;diff=6954&amp;oldid=prev"/>
		<updated>2012-06-21T14:52:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;CohFrequencies&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:52, 21 June 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===CohFrequencies===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===CohFrequencies===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;List of frequencies where coherence is evaluated, corresponds to elements in the output signal.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;List of frequencies where coherence is evaluated, corresponds to elements in the output signal.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==See also==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[User Reference:Filters]], [[Contributions:SignalProcessing]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Contributions]][[Category:Signal Processing]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mellinger</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=Contributions:Coherence&amp;diff=6157&amp;oldid=prev</id>
		<title>Mellinger at 17:25, 21 June 2011</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=Contributions:Coherence&amp;diff=6157&amp;oldid=prev"/>
		<updated>2011-06-21T17:25:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Synopsis==&lt;br /&gt;
The CoherenceFilter computes magnitude squared coherence between its input signals at a set of frequencies.&lt;br /&gt;
The CoherenceSignalProcessing module computes a coherence-based feedback signal, including the SpatialFilter, LinearClassifier, and Normalizer processing stages.&lt;br /&gt;
&lt;br /&gt;
==Location==&lt;br /&gt;
http://{{SERVERNAME}}/svn/trunk/src/contrib/SignalProcessing/Coherence&lt;br /&gt;
&lt;br /&gt;
==Versioning==&lt;br /&gt;
===Author===&lt;br /&gt;
juergen.mellinger@uni-tuebingen.de&lt;br /&gt;
===Source Code Revisions===&lt;br /&gt;
*Initial development: 3340&lt;br /&gt;
*Tested under: 3340&lt;br /&gt;
*Known to compile under: 3340&lt;br /&gt;
&lt;br /&gt;
==Functional Description==&lt;br /&gt;
The CoherenceFilter computes magnitude squared coherence between pairs of input channels, applying the following computational steps:&lt;br /&gt;
*Maintaining a buffer of past data.&lt;br /&gt;
*Computing a time series of complex-valued Fourier coefficients &amp;lt;math&amp;gt;a(f,t)&amp;lt;/math&amp;gt; for a Fourier window moving over the data buffer with a specified window overlap. Windowing is done using a Hamming window.&lt;br /&gt;
*Computing the magnitude squared coherence between coefficient time series for different channels.&lt;br /&gt;
&lt;br /&gt;
With &amp;lt;math&amp;gt;P_{12}(f)&amp;lt;/math&amp;gt; denoting the inner product of coefficient time series &amp;lt;math&amp;gt;a_1(f,t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;a_2(f,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;P_{12}(f)= \sum_t{a_1(f,t) \cdot a^*_2(f,t)}&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
the magnitude squared coherence between channel 1 and channel 2 at frequency &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; is computed as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;C_{12}(f)=\frac{|P_{12}(f)|^2}{|P_{11}(f)||P_{22}(f)|}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the output signal, channels correspond to pairs of input channels, enumerated by scanning the lower half of the channels-by-channels matrix in a row-wise manner: 21, 31, 32, 41, 42, 43, 51, 52, 53, 54, ...&lt;br /&gt;
&lt;br /&gt;
For a more convenient configuration of the LinearClassifier filter, output channels are labeled, constructing labels from the labels of the input channels. Labels are formed like this: &amp;#039;&amp;#039;&amp;#039;Coh-foo-bar&amp;#039;&amp;#039;&amp;#039; when &amp;quot;foo&amp;quot; is the label of input channel 1, and &amp;quot;bar&amp;quot; is the label of input channel 2.&lt;br /&gt;
&lt;br /&gt;
Elements in the output signal correspond to the frequencies given in the &amp;#039;&amp;#039;CohFrequencies&amp;#039;&amp;#039; parameter, and are labeled by the values entered there.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
===CohBufferLength===&lt;br /&gt;
Length of the past data buffer over which coherence is computed, in seconds (when followed with &amp;quot;s&amp;quot;), or blocks.&lt;br /&gt;
===CohWindowLength===&lt;br /&gt;
Length of the Fourier window moving over the data buffer, in seconds (when followed with &amp;quot;s&amp;quot;), or blocks.&lt;br /&gt;
===CohWindowOverlap===&lt;br /&gt;
Overlap between subsequent windows, in seconds (when followed with &amp;quot;s&amp;quot;), or blocks.&lt;br /&gt;
===CohFrequencies===&lt;br /&gt;
List of frequencies where coherence is evaluated, corresponds to elements in the output signal.&lt;/div&gt;</summary>
		<author><name>Mellinger</name></author>
	</entry>
</feed>