Excitability and Bifurcations of FitzHugh-Nagumo Neuron: An Analysis By Small Signal AC Impedance Spectroscopy
Author
Juan Bisquert
Title
Excitability and Bifurcations of FitzHugh-Nagumo Neuron: An Analysis By Small Signal AC Impedance Spectroscopy
Description
A Frequency Domain Analysis of Excitability and Bifurcations of Fitzhugh-Nagumo Neuron Model. https://doi.org/10.1021/acs.jpclett.1c03406.
Category
Academic Articles & Supplements
Keywords
impedance spectroscopy, neuron model
URL
http://www.notebookarchive.org/2022-02-6xrs4ab/
DOI
https://notebookarchive.org/2022-02-6xrs4ab
Date Added
2022-02-15
Date Last Modified
2022-02-15
File Size
364.34 kilobytes
Supplements
Rights
CC BY 4.0



This file contains supplementary data for Juan Bisquert, “A Frequency Domain Analysis of the Excitability and Bifurcations of the FitzHugh–Nagumo Neuron Model,” The Journal of Physical Chemistry Letters, 12(45), 2021 pp. 11005−11013. https://doi.org/10.1021/acs.jpclett.1c03406.
Excitability and Bifurcations of FitzHugh–Nagumo Neuron: An Analysis By Small Signal AC Impedance Spectroscopy
Excitability and Bifurcations of FitzHugh–Nagumo Neuron: An Analysis By Small Signal AC Impedance Spectroscopy
Juan Bisquert
Institute of Advanced Materials (INAM), Universitat Jaume I, 12006 Castelló, Spain
Email : bisquert@uji.es
Email : bisquert@uji.es
The dynamics of neurons consist of oscillating patterns of a membrane potential that underpin the operation of biological intelligence. The FitzHugh-Nagumo (FHN) model for neuron excitability generates rich dynamical regimes with simpler mathematical structure than Hodgkin-Huxley model. Since neurons can be understood in terms of electrical and electrochemical methods, here we apply the analysis of the impedance response to obtain the characteristic spectra and their evolution as a function of applied voltage. We convert the two nonlinear differential equations of FHN into an equivalent circuit model, we classify the different impedance spectra and calculate the corresponding trajectories in the phase plane of the variables. In analogy to the field of electrochemical oscillators, impedance spectroscopy detects the Hopf bifurcations and the spiking regimes. We show that a neuron element needs three essential internal components: capacitor, inductor, and negative differential resistance (NDR). The method supports the fabrication of memristor-based artificial neural networks.
In[]:=
uapp=0.85;RI=0.5;b=1.4;r=0.8;ϵ=0.02;Tm=10^(-2);τm=Tm;τk=τm/ϵ;AxV1=-2;AxV2=2;ΔV1=-2;ΔV2=2;vα=0;t1=1;V1=-2;w0=3;v0=-1;wrep0=-2;wrep1=4;Rw=RI/r;Ra=bRw;La=Rwτk;Cm=τm/RI;Itot[up_]:=(up^3/3-up)/RI+(up)/(bRw);Iapp=Itot[uapp];Rb[up_]:=RI/(up^2-1);Rdc[up_]:=1/(1/Ra+1/Rb[up]);ZI[up_,w_]:=1/(1/Rb[up]+CmIw+1/(Ra+LaIw))Δdet[up_]:=ϵ/τm^2(b(up^2-1)+r)Tλ[up_]:=1/τm(1-up^2-bϵ)Dλ[up_]:=Tλ[up]^2-4Δdet[up]uH=N[Solve[Tλ[uHo]==0,uHo][[2,1,2]]];uu2=uappxx2=uu2/Ra;
Out[]=
0.85
In[]:=
(*Iucurve*)tm1=ParametricPlot[{uv,Itot[uv]},{uv,-3,3},PlotRange{{-1,1},{-3,3}},FrameLabel{Style["u",FontSize20],Style["",FontSize20],"",""},FrameTrue,FrameTicks{{-3,-2,-1,0,1,2,3},{-2,-1,0,1,2,3},None,None},PlotStyle{{AbsoluteThickness[2],Blue}},LabelStyle(FontFamily"Arial"),AspectRatio1,ImageSize904`];tm2=ParametricPlot[{uv,Iapp},{uv,-3,3},PlotRange{{-1,1},{-3,3}},FrameLabel{Style["u",FontSize20],Style["",FontSize20],"",""},FrameTrue,FrameTicks{{0,0.2,0.4,0.6,0.8,1},{0,1,2,3},None,None},PlotStyle{{AbsoluteThickness[2],Green}},LabelStyle(FontFamily"Arial"),AspectRatio0.7,ImageSize904`];tm4=Graphics[{PointSize[0.03],Red,Point[{-uH,Itot[-uH]}]}];tm5=Graphics[{PointSize[0.03],Red,Point[{uH,Itot[uH]}]}];Show[tm1,tm2,tm4,tm5,PlotRange{{-2,2},{-1,1}},BaseStyle->{FontSize16}]
I
tot
I
tot
Out[]=
In[]:=
(*Stability*)tm1=ParametricPlot[{uvi,Tλ[uvi]/50},{uvi,AxV1,AxV2},PlotRange{{0,1},{-3,3}},FrameLabel{Style["u",FontSize20],Style[",Δ,,(au)",FontSize20],"",""},FrameTrue,FrameTicks{{-2,-1,0,1,2},{0},None,None},PlotStyle{{AbsoluteThickness[1],CMYKColor[0.2,0.8,1,0]}},LabelStyle(FontFamily"Arial"),AspectRatio0.7,ImageSize904`];tm2=ParametricPlot[{uvi,Δdet[uvi]/1200},{uvi,AxV1,AxV2},PlotRange{{0,1},{-3,3}},FrameLabel{Style["x",FontSize20],Style["Δ",FontSize20],"",""},FrameTrue,FrameTicks{{-1,0,1},{-10,-1,0,1,10},None,None},PlotStyle{{AbsoluteThickness[1],Blue}},LabelStyle(FontFamily"Arial"),AspectRatio0.7,ImageSize904`];tm3=ParametricPlot[{uvi,Dλ[uvi]/10000},{uvi,AxV1,AxV2},PlotRange{{0,1},{-3,3}},FrameLabel{Style["x",FontSize20],Style["Δ",FontSize20],"",""},FrameTrue,FrameTicks{{-1,0,1},{-10,-1,0,1,10},None,None},PlotStyle{{AbsoluteThickness[1],Green}},LabelStyle(FontFamily"Arial"),AspectRatio0.7,ImageSize904`];gh4=ParametricPlot[{uvi,Rdc[uvi]/10},{uvi,AxV1,AxV2},PlotRange{{0,1},{-3,3}},FrameLabel{Style["x",FontSize20],Style["Rb",FontSize20],"",""},FrameTrue,FrameTicks{{-1,0,0.5,1},{0,0.5,1},None,None},PlotStyle{{AbsoluteThickness[1],Red}},LabelStyle(FontFamily"Arial"),AspectRatio0.7,ImageSize904`];Show[tm1,tm2,tm3,gh4,PlotRange{{AxV1,AxV2},{-2,2}},BaseStyle->{FontSize16}]
T
λ
D
λ
R
dc
Out[]=
In[]:=
(*Resistances*)gh1=ParametricPlot[{uvi,Rdc[uvi]},{uvi,AxV1,AxV2},PlotRange{{0,1},{-3,3}},FrameLabel{Style["u",FontSize20],Style["R,L(au)",FontSize20],"",""},FrameTrue,FrameTicks{{-2,-1,0,1,2},{0},None,None},PlotStyle{{AbsoluteThickness[1],Red}},LabelStyle(FontFamily"Arial"),AspectRatio0.7,ImageSize904`];gh2=ParametricPlot[{uvi,Ra},{uvi,AxV1,AxV2},PlotRange{{0,1},{-3,3}},FrameLabel{Style["x",FontSize20],Style["Rb",FontSize20],"",""},FrameTrue,FrameTicks{{-1,0,0.5,1},{0,0.5,1},None,None},PlotStyle{{AbsoluteThickness[1],Green}},LabelStyle(FontFamily"Arial"),AspectRatio0.7,ImageSize904`];gh3=ParametricPlot[{uvi,Rb[uvi]},{uvi,AxV1,AxV2},PlotRange{{0,1},{-3,3}},FrameLabel{Style["x",FontSize20],Style["Rb",FontSize20],"",""},FrameTrue,FrameTicks{{-1,0,0.5,1},{0,0.5,1},None,None},PlotStyle{{AbsoluteThickness[1],Blue}},LabelStyle(FontFamily"Arial"),AspectRatio0.7,ImageSize904`];gh4=ParametricPlot[{uvi,10La},{uvi,AxV1,AxV2},PlotRange{{0,1},{-3,3}},FrameLabel{Style["x",FontSize20],Style["Rb",FontSize20],"",""},FrameTrue,FrameTicks{{-1,0,0.5,1},{0,0.5,1},None,None},PlotStyle{{AbsoluteThickness[1],Magenta}},LabelStyle(FontFamily"Arial"),AspectRatio0.7,ImageSize904`];Show[gh1,gh2,gh3,gh4,PlotRange{{AxV1,AxV2},{-10,10}},BaseStyle->{FontSize16}]
Out[]=
In[]:=
(*Plotofu(t)*)sol=NDSolve[{τmv'[t]==v[t]-v[t]^3/3+RI(-w[t]+Iapp),τkw'[t]v[t]/Rw-bw[t],v[0]v0,w[0]w0},{v,w},{t,0,10}];Show[Plot[{Evaluate[{v[t]}/.sol]},{t,0,10},PlotRange{{0,t1},{-1,2}},PlotStyle{{AbsoluteThickness[1.5],CMYKColor[1,1,0,0]}},BaseStyle->{FontSize16},FrameTrue,LabelStyle(FontFamily"Arial"),AxesLabel{Style["t/",FontSize18],Style["u",FontSize18]}]]
τ
m
Out[]=
In[]:=
(*Plotofthenullclinecurvesforvandw*)Show[ContourPlot[{v-v^3/3+RI(-w+Iapp)0,(v-vα)/Rw-bw0,v0},{v,-2,2},{w,wrep0,wrep1},AxesTrue,BaseStyle->{FontSize18},LabelStyle(FontFamily"Arial"),AxesLabel{Style["u",FontSize20,Black],Style["x",FontSize20,Black]},ImageSize904`,ContourStyle{{Thickness[0.008],CMYKColor[0.2,0.3,1,0]},{Thickness[0.008],CMYKColor[1,0.25,0.5]},Dashed}],sol=NDSolve[{τmv'[t]==v[t]-(v[t]^3)/3+RI(-w[t]+Iapp),τkw'[t](v[t]-vα)/Rw-bw[t],v[0]v0,w[0]w0},{v,w},{t,0,10}];Show[hk1=ParametricPlot[{Evaluate[{v[t],w[t]}/.sol]},{t,0,4},PlotStyle{{AbsoluteThickness[2],CMYKColor[1,1,0,0]}},BaseStyle->{FontSize18},PlotRange{{-0.5,2},{-3,3},{-3,3}}]],hk2=Graphics[{PointSize[0.02],Orange,Point[{v0,w0}]}],hk3=Graphics[{PointSize[0.02],Blue,Point[{uu2,xx2}]}]]
Out[]=
In[]:=
(*vectorfield*)hj1=ContourPlot[{v-v^3/3+RI(-w+Iapp)0,(v-vα)/Rw-bw0,v0},{v,-2,2},{w,wrep0,wrep1},AxesTrue,BaseStyle->{FontSize18},LabelStyle(FontFamily"Arial"),AxesLabel{Style["u",FontSize20,Black],Style["x",FontSize20,Black]},ImageSize904`,ContourStyle{{Thickness[0.008],CMYKColor[0.2,0.3,1,0]},{Thickness[0.008],CMYKColor[1,0.25,0.5]},Dashed}];hj2=StreamPlot[{v-v^3/3+RI(-w+Iapp),ϵ((v-vα)/Rw-bw)},{v,-2,2},{w,-3,4},StreamColorFunctionHue];Show[hj1,hk1,hj2,hk2,hk3,PlotRange{{-2,2},{-2,4}},BaseStyle->{FontSize16}]
Out[]=
(*Impedance*)Manipulate[ParametricPlot[{Re[ZI[up1,2π]],-Im[ZI[up1,2π]]},{pote,-4,4},PlotRange{{-10^po1,10^po1},{-10^po1,10^po1}},LabelStyle(FontFamily"Arial"),FrameLabel{Style["Z'",FontSize18],Style["-Z''",FontSize18],"",""},FrameTrue,FrameTicks{{-1,0,1},{-1,0,1},None,None},PlotStyle{{AbsoluteThickness[2]}},AspectRatio1,ImageSize1004`],{po1,-2,2},{up1,0,1.5}]
pote
10
pote
10
Out[]=
| |||||||||||
|
In[]:=
ty1=ParametricPlot[{Re[ZI[uapp,2π]],-Im[ZI[uapp,2π]]},{pote,-4,4},PlotRange{{-1,1},{-1,1}},BaseStyle->{FontSize18},LabelStyle(FontFamily"Arial"),FrameLabel{Style["Z'",FontSize18],Style["-Z''",FontSize18],"",""},FrameTrue,FrameTicks{{-4,-3,-2,-1,0,1,2,3,4,5},{-3,-2,-1,0,1,2,3,4,5},None,None},PlotStyle{{AbsoluteThickness[2]}},AspectRatioAutomatic,ImageSize1004`];ty2=Graphics[{PointSize[0.02],Cyan,Point[{Re[ZI[uapp,0]],-Im[ZI[uapp,0]]}]}];Show[ty1,ty2,PlotRange{{-2.5,2},{-2,1}}]
pote
10
pote
10
Out[]=


Cite this as: Juan Bisquert, "Excitability and Bifurcations of FitzHugh-Nagumo Neuron: An Analysis By Small Signal AC Impedance Spectroscopy" from the Notebook Archive (2022), https://notebookarchive.org/2022-02-6xrs4ab

Download

