m8ta
use https for features. 

{1487} 
ref: 0
tags: adaptive optics sensorless retina fluorescence imaging optimization zernicke polynomials
date: 11152019 02:51 gmt
revision:0
[head]


PMID26819812 Wavefront sensorless adaptive optics fluorescence biomicroscope for in vivo retinal imaging in mice
 
{99}  
PMID15928412[0] Naive coadaptive Control May 2005. see notes ____References____  
{1198}  
PMID22049097[0] Mechanically adaptive intracortical implants improve the proximity of neuronal cell bodies.
____References____
 
{334}  
PMID12052948[0] Direct Cortical Control of 3D Neuroprosthetic Devices
____References____  
{585}  
LMSbased adaptive decorrelator, xn is the noise, xs is the signal, len is the length of the signal, delay is the delay beyond which the autocorrelation function of the signal is zero but the acf of the noise is nonzero. The filter is very simple, and should be easy to implement in a DSP. function [y,e,h] = lms_test(xn, xs, len, delay) h = zeros(len, 1); x = xn + xs; for k = 1:length(x)lendelay y(k) = x(k+delay:k+len1+delay) * h ; e(k) = x(k)  y(k); h = h + 0.0004 * e(k) * x(k+delay:k+len1+delay)'; endIt works well if the noise source is predictable & stable: (black = sinusoidal noise, red = output, green = error in output) Now, what if the amplitude of the corrupting sinusoid changes (e.g. due to varying electrode properties during movement), and the changes per cycle are larger than the amplitude of the signal? The signal will be swamped! The solution to this is to adapt the decorrelating filter slowly, by adding an extra (multiplicative, nonlinear) gain term to track the error in terms of the absolute values of the signals (another nonlinearity). So, if the input signal is on average larger than the output, the gain goes up and viceversa. See the code. function [y,e,h,g] = lms_test(xn, xs, len, delay) h = zeros(len, 1); x = xn + xs; gain = 1; e = zeros(size(x)); e2 = zeros(size(x)); for k = 1:length(x)lendelay y(k) = x(k+delay:k+len1+delay) * h; e(k) = (x(k)  y(k)); h = h + 0.0002 * e(k) * x(k+delay:k+len1+delay)'; % slow adaptation. y2(k) = y(k) * gain; e2(k) = abs(x(k))  abs(y2(k)); gain = gain + 1 * e2(k) ; gain = abs(gain); if (gain > 3) gain = 3; end g(k) = gain; end If, like me, you are interested in only the abstract features of the signal, and not an accurate reconstruction of the waveform, then the gain signal (g above) reflects the signal in question (once the predictive filter has adapted). In my experiments with a length 16 filter delayed 16 samples, extracting the gain signal and filtering out outofband information yielded about +45db improvement in SNR. This was with a signal 1/100th the size of the disturbing amplitudemodulated noise. This is about twice as good as the human ear/auditory system in my tests.
It doesn't look like much, but it is just perfect for EMG signals corrupted by timevarying 60hz noise.  
{900}  
PMID12929922 Training in cortical control of neuroprosthetic devices improves signal extraction from small neuronal ensembles.
 
{140}  
PMID15649663 Composite adaptive control with locally weighted statistical learning.
