m8ta
You are not authenticated, login. |
|
{1457} | ||||
PMID-25112683 Subcellular Neural Probes from Single-Crystal Gold Nanowires
| ||||
{1416} | ||||
Learning data manifolds with a Cutting Plane method
| ||||
{1408} | ||||
LDMNet: Low dimensional manifold regularized neural nets.
| ||||
{1395} | ||||
PMID-25574019 Biomaterials. Electronic dura mater for long-term multimodal neural interfaces.
| ||||
{1374} |
ref: -0
tags: nanoprobe transmembrane intracellular thiol gold AFM juxtacellular
date: 02-06-2017 23:45 gmt
revision:3
[2] [1] [0] [head]
|
|||
PMID-20212151 Fusion of biomimetic stealth probes into lipid bilayer cores
PMID-21469728 '''Molecular Structure Influences the Stability of Membrane Penetrating Biointerfaces.
| ||||
{1370} | ||||
PMID-27256971 Multisite electrophysiological recordings by self-assembled loose-patch-like junctions between cultured hippocampal neurons and mushroom-shaped microelectrodes.
PMID-23380931 Multi-electrode array technologies for neuroscience and cardiology
| ||||
{1353} |
ref: -0
tags: PEDOT electropolymerization electroplating gold TFB borate counterion acetonitrile
date: 10-18-2016 07:49 gmt
revision:3
[2] [1] [0] [head]
|
|||
PMID-20715789 Investigation of near ohmic behavior for poly(3,4-ethylenedioxythiophene): a model consistent with systematic variations in polymerization conditions.
PMID-24576579 '''Improving the performance of poly(3,4-ethylenedioxythiophene) for brain–machine interface applications"
PEDOT-modified integrated microelectrodes for the detection of ascorbic acid, dopamine and uric acid
| ||||
{1270} |
ref: -0
tags: gold micrograin recording electrodes electroplating impedance
date: 10-17-2016 20:28 gmt
revision:5
[4] [3] [2] [1] [0] [head]
|
|||
PMID-23071004 Gold nanograin microelectrodes for neuroelectronic interfaces.
| ||||
{1304} | ||||
PMID-21379404 Creating low-impedance tetrodes by electroplating with additives
Conclusion: 75% PEG, commercial electropating solution, 0.1ua current pluses to 250K or less.
| ||||
{1299} |
ref: -0
tags: wirebonding finishes gold nickel palladium electroless electrolytic
date: 09-21-2014 02:53 gmt
revision:3
[2] [1] [0] [head]
|
|||
Why palladium? To prevent black nickel: http://tayloredge.com/reference/Electronics/PWB/BlackPad_ITRI_Round1.PD Introduction The use of electroless nickel / immersion gold (E.Ni/I.Au) as a circuit board finish has grown significantly in the last few years. It provides a flat board finish, is very solderable, provides a precious metal contact surface and the nickel strengthens the plated holes. However, as the usage of E.Ni/I.Au increased, a problem was found on BGA (Ball Grid Array) components. An open or fractured solder joint sometimes appears after board assembly on the occasional BGA pad. The solder had wet and dissolved the gold and formed a weak intermetallic bond to the nickel. This weak bond to the nickel readily fractures under stress or shock, leaving an open circuit. The incidence of this problem appears to be very sporadic and a low ppm level problem, but it is very unpredictable. A BGA solder joint cannot be touched-up without the component being removed. After the BGA component is removed, a black pad is observed at the affected pad site. This black pad is not readily solderable, but it can be repaired. From: http://www.smtnet.com/Forums/index.cfm?fuseaction=view_thread&Thread_ID=4430 You don't have enough gold. Your 2uin is too porous and is allowing the nickel to corrode. Prove that this by hand soldering to these pads with a more active flux, like a water soluble solder paste, than you are using. You must have at least 3uin of immersion gold. Seriously consider >5uin. Your nickel thickness is fine. Although if you wanted to trade costs, consider giving-up nickel to 150uin thickness, while increasing the gold thickness. Gold over electroless nickel creates brittle joints because of phosphorous in the nickel plating bath. The phosphorous migrates into the over-plating. Electrolytic nickel and gold plating should not be a problem. If you stay with the electroless nickel, keep the phosphorous at a mid [7 - 9%] level. Just as important, don't let the immersion gold get too aggressive. The immersion gold works by corroding the nickel. If it is too aggressive it takes away the nickel and leave phosphorous behind. This makes it look like the phosphorous level is too high in the nickel bath. Gold purity is very important for any type of wire bonding process. For aluminum wedge bonding, gold should have a purity of 99. 99% [no thalium] and the nickel becomes critical. No contaminates and the nickel wants to be plated a soft as possible. This requires good control of Ph and plating chemicals in the nickel-plating bath. Harman "Wire Bonding In Microelectronics" McGraw-Hill is a good resource for troubleshooting wire bonding. I reviewed it in the SMTnet Newsletter a couple of months ago. That said, electrolytic nickel + electrolytic gold does work well -- perhaps even better than ENEPIG: | ||||
{1298} | ||||
PMID-13539663 Subcortical threshold voltages as a function of sine wave frequencies Brown and Brackett
| ||||
{1267} |
ref: -0
tags: stretchable nanoparticle conductors gold polyurethane flocculation
date: 12-13-2013 02:12 gmt
revision:5
[4] [3] [2] [1] [0] [head]
|
|||
PMID-23863931 Stretchable nanoparticle conductors with self-organized conductive pathways.
| ||||
{1246} |
ref: -0
tags: parylene microchannel micromolding glass transition temperature microfluidics
date: 06-28-2013 17:34 gmt
revision:3
[2] [1] [0] [head]
|
|||
Parylene micromolding, a rapid low-cost fabrication method for parylene microchannel
| ||||
{1229} | ||||
PMID-21240559 Highly-compliant, microcable neuroelectrodes fabricated from thin-film gold and PDMS | ||||
{1191} | ||||
PMID-19255461[0] Development and characterization of in vivo flexible electrodes compatible with large tissue displacements.
____References____
| ||||
{1114} | ||||
PMID-22170970[0] A system for recording neural activity chronically and simultaneously from multiple cortical and subcortical regions in non-human primates. ____References____
| ||||
{1171} | ||||
| ||||
{1125} |
ref: -0
tags: active filter design Netherlands Gerrit Groenewold
date: 02-17-2012 20:27 gmt
revision:0
[head]
|
|||
IEEE-04268406 (pdf) Noise and Group Delay in Actvie Filters
| ||||
{383} | ||||
what do we need to do to finish up with the human data??
for future cases:
| ||||
{369} | ||||
We have found the following types of neurons during acute intraoperative recrodings from the subthalamic nucleus (STN) of awake parkinson's patients. During the surgeries the patients opened and closed their hand, instrumented through a virtual-reality data glove, in order to move a cursor to randomly presented targets in a 1-dimensional field.
This plot shows a neuron which fires preferentially when a target appears and the patient moves to the left (again, in this graph: y = -1 indicates target appears to the left, + 1 target to the right, and 0 otherwise). Note that there is noticable oscillations, due to the fact that the patient's behavior was very periodic, with a period of around 2 seconds. The neuron was inhibited around the instant of target apperance, independent of direction, as indicated by the blue regions at y = -1 and 1 around lag 0.
This plot shows a neuron which is inhibited just before target apperance (in this plot, y = 1 400ms around target appearance, independent of direction). That is, the neuron stops firing upon sucessful completion of a movement. This neuron shows no pathological oscillatory tuning; therefore, it might be assumed that not all of the STN is incapacitated by Parkinson's disease.
Here is another example of a neuron that does not show oscillatory firing behavior. In this graph, y = 1 when the patient is opening or closing his hand (equivalently the cursor velocity exceeds a threshold); y = 0 otherwise. This neuron is therefore inhibited during periods of movement. Note that around a lag of 2.5 seconds, the neuron has a higher probability of firing (the red region), possibly indicating positive firing upon successful completion of a movement.
Another example of a neuron that is tuned to thresholded cursor velocity, though this time, the firing rate becomes positive just around the instant of movement. Note here there is evidence of highly periodic behavior, as seen in the green/yellow regions spaced about 1.6 seconds apart along y=1. The region at lag = 1.6 secons corresponds to the movement following target acquisition, hence exhibits a higher firing rate.
This neuron, like the one above, fires strongly whenever the hand moves. Interestingly, there appeared to be no directional information in either of these cells.
Finally, we discovered that there appears to be error-correlated firing within the STN. The neuron shown above is selectively inhibited around periods where the cursor and target positions differ. In the plot above y=1 indicates the absolute value of the target position - the cursor position exceeds a threshold of 20% of the total range (this is subtly different from the target apperance signal, as the patient can over shoot or under shoot the target position with the cursur, upon which this signal will be 1. | ||||
{966} | ||||
PMID-6077726[0] The limbic system and behavioral reinforcement
____References____
| ||||
{1012} | ||||
IEEE-4502738 (pdf) An Integrated-Circuit Approach to Extracellular Microelectrodes
____References____ Wise, Kensall D. and Angell, James B. and Starr, Arnold An Integrated-Circuit Approach to Extracellular Microelectrodes Biomedical Engineering, IEEE Transactions on BME-17 3 238 -247 (1970) | ||||
{982} | ||||
PMID-6492861[0] A simple method for the construction of electrode arrays.
____References____
| ||||
{964} |
ref: OLDS-1954.12
tags: Olds Milner operant conditioning electrical reinforcement wireheading BMI
date: 12-29-2011 05:09 gmt
revision:5
[4] [3] [2] [1] [0] [head]
|
|||
PMID-13233369[0] Positive reinforcement produced by electrical stimulation of septal area and other regions of rat brain.
____References____
| ||||
{807} |
ref: -0
tags: reynolds number microorganisms engineering math fluid mechanics
date: 01-25-2010 19:17 gmt
revision:0
[head]
|
|||
http://jilawww.colorado.edu/perkinsgroup/Purcell_life_at_low_reynolds_number.pdf - great! Never thought about this before.
| ||||
{796} | ||||
An interesting field in ML is nonlinear dimensionality reduction - data may appear to be in a high-dimensional space, but mostly lies along a nonlinear lower-dimensional subspace or manifold. (Linear subspaces are easily discovered with PCA or SVD(*)). Dimensionality reduction projects high-dimensional data into a low-dimensional space with minimum information loss -> maximal reconstruction accuracy; nonlinear dim reduction does this (surprise!) using nonlinear mappings. These techniques set out to find the manifold(s):
(*) SVD maps into 'concept space', an interesting interpretation as per Leskovec's lecture presentation. | ||||
{445} | ||||
pretty impressive project, especially considering how much time and money they spent ($15 m, 6 man-months to do the verilog (only!)) http://www.hotchips.org/archives/hc16/3_Tue/1_HC16_Sess6_Pres1_bw.pdf | ||||
{439} | ||||
abandoned because I realized that I could work on 2 channels at once (as there are 2 MACs onboard) & could use the s2rnd multiply-accumulate flay & could load registers 32bits at a time! ah well, might as well archive my efforts :) r6.h = 2048; r0.l = r0.l - r6.h (s) || r1.l = w[i0++] || r2.l = w[i1++]; //subtract offset, load a1[0] into r1.l, w1[0] into r2.l a0 = r0.l * r1.l (is) || r1.h = w[i0++]; //mac in*a1[0], load a[1] to r1.h a0 += r2.l * r1.h (is) || r1.l = w[i0++]|| r2.h = w[i1--]; //mac w[0]*a1[1], load a1[2] into r1.l, w1[1] to r2.h r4 = (a0 += r2.h * r1.l) (is) || r3.l = w[i0++]; //mac w1[1]*a1[2] store to r4, b1[0] to r3.l r4 = r4 >>> 14 || r3.h = w[i0++]; //arithmetic right shift, 32 bit inst, b1[1] to r3.h, r4 is new w1. a0 = r4.l * r3.l (is) || w[i1++] = r4.l; //mac w1*b1[0], save w1 into w1[0] a0 += r2.l * r3.h (is) || w[i1++] = r2.l; //mac w1[0]*b[1], save w1[0] into w1[1] r4 = (a0 += r2.h * r3.l) (is) || r1.l = w[i0++] || r2.l = w[i1++];//mac w1[1]*b1[0] store r4, a2[0] to r1.l, w2[0] to r2.l r4 = r4 >>> 14 || r1.h = w[i0++] || r2.h = w[i1--]; //arith. right shift, a2[1] to r1.h, w2[1] to r2.h a0 = r4.l * r1.l (is); //mac in*a2[0], a2[2] into r1.l a0 += r2.l * r1.h (is) || rl.l = w[i0++]; //mac w2[0]*a2[1], b2[0] into r3.l r4 = (a0 += r2.h * r1.l) (is) || r3.l = w[i0++]; //mac w2[1]*a2[2] store r4, b2[1] into r3.h r4 = r4 >>> 14 || r3.h = w[i0++]; //arithmetic shift to get w2, b2[2] to r3.h a0 = r4.l * r3.l (is) || w[i1++] = r4.l; //mac w2 * b2[0], store w2 to w2[0] a0 += r2.l * r3.h (is) || w[i1++] = r2.l; //mac w2[0]*b2[1], store w2[0] to w2[1]. i1 now pointing to secondary channel. r4 = (a0 += r2.h * r3.l) (is) || i0 -= 10; //mac w2[1]*b2[0]. reset coeff ptr. done with pri chan, save in r5. r5 = r4 >>> 14; //time for the secondary channel! r0.h = r0.h - r6.h (s) || r1.l = w[i0++] || r2.l = w[i1++]; //subtract offset, load a1[0] to r1.1, w1[0] to r2.l a0 = r0.h * r1.l (is) || r1.h = w[i0++] ; //mac in*a1[0], a1[1] to r1.h, save out samp pri. a0 += r2.l * r1.h (is) || r1.l = w[r0++] || r2.h = w[i1--]; //mac w1[0]*a1[1], a1[2] to r1.l, w1[1] to r2.h r4 = (a0 += r2.h * r1.l) (is) || r3.l = w[i0++]; //mac, b1[0] to r3.l r4 = r4 >>> 14 || r3.h = w[i0++]; //arithmetic shift, b1[1] to r3.h a0 = r4.l * r3.l (is) || w[i1++] = r4.l; //mac w1*b1[0], save w1 to w1[0] a0 += r2.l * r3.h (is) || w[i++] = r2.l; //mac w1[0], save w1[0] to w1[1] r4 = (a0 += r2.h * r3.l) (is) || r1.l = w[i0++] || r2.l = w[i1++]; //mac w1[1]*b1[0] store r4, a2[0] to r1.l, w2[0] to r2.l r4 = r4 >>> 14 || r2.h = w[i1--]; // r4 output of 1st biquad, w2[1] to r2.h a0 = r4.l * r1.l (is) || r1.h = w[i0++] ; //mac in* a2[0], a2[1] to r1.h a0 += r2.l * r1.h (is) || r1.h = w[i0++] ; //mac w2[0]*a2[1], a2[2] to r1.l r4 = (a0 += r2.h * r1.l) (is) || r3.l = w[i0++]; //mac w2[1]*a2[2], b2[0] to r3.l r4 = r4 >>> 14 || r3.h = w[i0++]; //r4 is w2, b2[2] to r3.h a0 = r4.l * r3.l (is) || w[i++] = r4.l ; //mac w2 * b2[0], store w2 to w2[0] a0 += r2.l * r3.h (is) || w[i++] = r2.l; //mac w2[0] * b2[1], store w2[0] to w2[1]. i1 now pointing to next channel. r4 = (a0 += r2.h * r3.l) (is) || i0 -= 10; //mac w2[1] * b2[0], reset coeff. ptr, save in r4. r4 = r4 >>> 14; here is a second (but still not final) attempt, once i realized that it is possible to issue 2 MACS per cycle // I'm really happy with this - every cycle is doing two MMACs. :) /* // i0 i1 (in 16 bit words) r1 = [i0++] || r4 = [i1++]; // 2 2 r1= a0 a1 r4= w0's a0 = r0.l * r1.l, a1 = r0.h * r1.l || r2 = [i0++] || r5 = [i1]; // 4 2 r2= a2 a2 r5= w1's a0 += r4.l * r1.h, a1 = r4.h * r1.h || r3 = [i0++] || [i1--] = r4; // 6 0 r3= b0 b1 w1's=r4 r0.l = (a0 += r5.l * r2.l), r0.h = (a1 += r5.h * r2.l)(s2rnd); a0 = r0.l * r3.l, a1 = r0.h * r3.l || [i1++] = r0; // 6 2 w0's = r0 a0 += r4.l * r3.h, a1 += r4.h * r3.h || r1 = [i0++] || i1 += 4; // 8 4 r1 = a0 a1 //load next a[0] a[1] to r1; move to next 2nd biquad w's; don't reset the coef pointer - move on to the next biquad. r0.l = (a0 += r5.l * r3.l), r0.h = (a1 += r5.h * r3.l)(s2rnd) || r4 = [i1++]; // 8 6 r4 = w0's, next biquad //note: the s2rnd flag post-multiplies accumulator contents by 2. see pg 581 or 15-69 //second biquad. a0 = r0.l * r1.l, a1 = r0.h * r1.l || r2 = [i0++] || r5 = [i1]; // 10 6 r2= a2 a2 r5 = w1's a0 += r4.l * r1.h, a1 += r4.h * r1.h || r3 = [i0++] || [i1--] = r4; // 12 4 r3= b0 b1 w1's = r4 r0.l = (a0 += r5.l * r2.l), r0.h = (a1 += r5.h * r2.l)(s2rnd); // a0 = r0.l * r3.l, a1 = r0.h * r3.l || [i1++] = r0; // 12 6 w0's = r0 a0 += r4.l * r3.h, a1 += r4.h * r3.h || r1 = [i0++] || i1 += 4; // 14 8 r1 = a0 a1 r0.l = (a0 += r5.l * r3.l), r0.h = (a1 += r5.h * r3.l)(s2rnd) || r4 = [i1++]; // 14 10 r4 = w0's //third biquad. a0 = r0.l * r1.l, a1 = r0.h * r1.l || r2 = [i0++] || r5 = [i1]; // 16 10 r2= a2 a2 r5 = w1's a0 += r4.l * r1.h, a1 += r4.h * r1.h || r3 = [i0++] || [i1--] = r4; // 18 8 r3= b0 b1 w1's = r4 r0.l = (a0 += r5.l * r2.l), r0.h = (a1 += r5.h * r2.l)(s2rnd); // a0 = r0.l * r3.l, a1 = r0.h * r3.l || [i1++] = r0; // 18 10 w0's = r0 a0 += r4.l * r3.h, a1 += r4.h * r3.h || r1 = [i0++] || i1 += 4; // 20 12 r1 = a0 a1 r0.l = (a0 += r5.l * r3.l), r0.h = (a1 += r5.h * r3.l)(s2rnd) || r4 = [i1++]; // 20 14 r4 = w0's //fourth biquad. a0 = r0.l * r1.l, a1 = r0.h * r1.l || r2 = [i0++] || r5 = [i1]; // 22 14 a0 += r4.l * r1.h, a1 += r4.h * r1.h || r3 = [i0++] || [i1--] = r4; // 24 12 r0.l = (a0 += r5.l * r2.l), r0.h = (a1 += r5.h * r2.l)(s2rnd); a0 = r0.l * r3.l, a1 = r0.h * r3.l || [i1++] = r0; // 24 14 a0 += r4.l * r3.h, a1 += r4.h * r3.h || i1 += 4; // 24 16 r0.l = (a0 += r5.l * r3.l), r0.h = (a1 += r5.h * r3.l)(s2rnd); // 48: loop back; 32 bytes: move to next channel. | ||||
{70} |
ref: notes, bookmark-0
tags: spikes action_potentials neurons subthreshold depolarization c.elegans
date: 0-0-2006 0:0
revision:0
[head]
|
|||
"Millisecond-timescale, genetically targeted optical control of neural activity" http://www.nature.com/neuro/journal/v8/n9/full/nn1525.html what they did:
|