//genesis // Added diffamp to represent spontaneous activity. // The firing rate modulation is achieved by a separate randomspike element // whose spike output is low-pass filtered by an RC element. The average output of the // RC element is 1, so that the average output of the target diffamp elements remains // unchanged, only their temporal profile is modulated (see papers by Harsch and Robinson). // The rate of the randomspike element and the decay time constant of the RC element // can be set. A small time-constant leads to more synchronous activation of the // target synapses. // The output is fed as PLUS msg into a separate diffamp element that in turn will // set the gain of the diffamps (see Firing_rate_profile.g) driving the randomspike // elements (Excitatory_fibres.g). echo blabla1 // echo gives parse error when - is used instead of _ function Harsch_Robinson_modulation (mean_rate, time_constant) //function Harsch-Robinson_modulation (mean_rate, time_constant) echo blabla3 float mean_rate, time_constant // So to have unity average, the gain R of the RC element should be // set to the inverse of (mean_rate) * (time_constant). // However, the initial value caused by the pulse will be about // dt * (R/tau} (assume we are on linear part of exponential), so we // should also divide by this, giving a net division by dt and frequency. // This works, but takes a long time to reach 'steady-state'. echo {mean_rate} {time_constant} create randomspike /HR_modulation setfield ^ rate {mean_rate} create RC /HR_modulation/RC // change 26Feb09 want to manipulate amplitude independently, normalized at 30 // if ({{{mean_rate} != 0} && {{time_constant} != 0}}) // setfield ^ R {1 / {{mean_rate} * {dt}}} setfield ^ R {1 / {30 * {dt}}} // {1 / {{mean_rate} * {dt}}} // 25e-6}} setfield ^ C {{time_constant} / {getfield ^ R}} // else setfield ^ R 0 // setfield ^ C 0 // end addmsg /HR_modulation /HR_modulation/RC INJECT state create diffamp /HR_modulation/RC/diffamp setfield ^ plus 0.5 gain 1 saturation 10e10 // spontaneous activity addmsg /HR_modulation/RC /HR_modulation/RC/diffamp PLUS state addmsg /HR_modulation/RC/diffamp /output/{asc_name} SAVE output end