Ambiguous Encoding and Distorted Perception (Carlson and Kawasaki 2006)

 Download zip file 
Help downloading and running models
Accession:83520
"... In the weakly electric fish Eigenmannia, P- and T-type primary afferent fibers are specialized for encoding the amplitude and phase, respectively, of electrosensory stimuli. We used a stimulus estimation technique to quantify the ability of P- and T-units to encode random modulations in amplitude and phase. As expected, P-units exhibited a clear preference for encoding amplitude modulations, whereas T-units exhibited a clear preference for encoding phase modulations. Surprisingly, both types of afferents also encoded their nonpreferred stimulus attribute when it was presented in isolation or when the preferred stimulus attribute was sufficiently weak. Because afferent activity can be affected by modulations in either amplitude or phase, it is not possible to unambiguously distinguish between these two stimulus attributes by observing the activity of a single afferent fiber. Simple model neurons with a preference for encoding either amplitude or phase also encoded their nonpreferred stimulus attribute when it was presented in isolation, suggesting that such ambiguity is unavoidable. ... " See paper for more and details.
Reference:
1 . Carlson BA, Kawasaki M (2006) Ambiguous encoding of stimuli by primary sensory afferents causes a lack of independence in the perception of multiple stimulus attributes. J Neurosci 26:9173-83 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Electric fish P- and T-type primary afferent fibers;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s): Oscillations; Sensory coding;
Implementer(s):
function  [sys, x0, str, ts]  = liandfrn_sim(t,x,u,flag,dt,thres,sigma,C,R,ref)
%liandfrn_sim: S-function that implements an integrate-and-fire neuron
%model with  leak and refractory period and normally distributed noise.
%The model uses discrete integration time steps. During a
%simulation the time course of the various variables is computed as follows:
%
%	The membrane voltage is updated using:
%
%	Vm_i+1 = Vm_i(1 - dt/RC) + (dt/C) * I_i if Vm_i < thres
%	Vm_i+1 = 0 if Vm_i >= thres or if reftime_i > 0
%
%	The occurence of a spike is determined from:
%
%	spk_i = 1  if Vm_i >=  thres
%	spk_i = 0  if Vm_i < thres
%
%	The state variable reftime is updated as follows:
%
%	reftime_i+1 = n if Vm_i >= thres
%	reftime_i+1 = reftime_i - 1 if reftime_i > 0
%	reftime_i+1 = 0 otherwise
%	where n = ceil(ref/dt) is the refractory time in units of the
%	          time step (rounded up)
%   The noise term is updated according to:
%   noise = sigma*randn
%
%	The input variable is:
%	I_i = input current at time step i
%
%
%	The output is a two dimensional vector [spk_i, Vm_i].
%	The first component spk_i is  equal to 0 if no spike occured
%	or 1 if a spike occured. The second component is the membrane
%	voltage Vm (in mV) at time i. 
%
%	The parameters are:
%	
%	dt  = sampling step (in msec)
%	thres = mean threshold value (in mV)
%	sigma = standard deviation of the noise term
%	C   = capacitance (in nF)
%	R   = resistance of the model cell (in MOhms)
%	ref = refractory period (in msec)
%
%

if (abs(flag) == 2)    	% Discrete state update
  if ( x(1) >= thres )	% threshold reached, next voltage value is reset
    sys(1) = 0;
    sys(2) = max(ceil(ref/dt)-1,0); %sets the refractory period
  elseif ( x(2) > 0 )	% in refractory period, wait
    sys(1) = 0;
    sys(2) = x(2) - 1;
  else	%integrates the voltage
    sys(1) = x(1)*(1-dt/(R*C)) + (dt/C) * u + sigma*randn;
    sys(2) = 0;
  end

elseif ( flag == 3 )	%output vector required
  if ( x(1) >= thres )	%fire a spike
    sys = [1, x(1)];
  else
    sys = [0, x(1)];
  end

elseif ( flag  == 0 )	% Initialization

  if ( (R*C) < dt )     % Check for stability
    disp(' ');
    disp(' ');
    disp('Error: the time constant RC computed from the resistance');
    disp('and the capacitance of the model is smaller than the time');
    disp('step. Execution aborted.');
    error('???');
  end    
    
  % Return system sizes
  sys(1) = 0;	% 0 continuous states
  sys(2) = 2;	% 2 discrete states: membrane voltage and refractory
		%   period indicator
  sys(3) = 2;	% 2 outputs: spike occurence and membrane voltage
  sys(4) = 1;	% 1 input: current
  sys(5) = 0;	% 0 roots
  sys(6) = 0;	% no direct feedthrough
  sys(7) = 1;	% 1 sample time: dt
  
  x0 = [0, 0];	% Initialization of the membrane voltage and
		% refractory time

  ts = [dt, 0];

else 

  sys = [];

end


str = [];

Loading data, please wait...