BMEBW4020 HW5 Handout

HW5_Handout

PROBLEM #1:¶
The dendritic processing circuit in the figure below is consists of a linear filter with impulse response $h_1(t)$ in cascade with a Biophysical Spike Generator (BSG) which is taken to be an Ideal Integrate-and-fire Neuron; the BSG has a feedback loop that is modeled as a linear filter with impulse response $h_2(t)$. The input $u(t)$ is in the trignometirc polynomial space.

Write the t-transform for the filter-BSG-feedback circuit in inner product form
Find an algorithem for identifying the impulse response of the two filters, $h_1(t)$ and $h_2(t)$, using stimuli in the trignometric polynomial space. Describe the process and write out any relavent equation in sufficient detail; clearly define additional notations if needed and please stay consistent (and please try to use notations consistent with the chapters).

No code is required and please use markdown for your answer.

PROBLEM #2:¶
The dendritic processing filter in figure below is modeled with a causal linear kernel
h(t)= c \cdot e^{-\alpha t} \left[ \frac{(\alpha t)^3}{3!} –
\frac{(\alpha t)^5}{5!}\right]
$t\in[0,0.1]$ [s], $c = 3$ and $\alpha=200$.

The Biophysical Spike Generator (BSG) in the figure above is taken to be an Asynchronous Sigma Delta Modulator (ASDM). Identify the impulse response of the filter using random stimuli in the trignometric polynomial basis with bandwidth $\Omega = 2\pi \cdot 25$ rad/s, $\Omega = 2\pi \cdot 50$ rad/s and $\Omega = 2\pi \cdot 100$ rad/s.

the input signal $u=u(t)$ and its Fourier transform.
Find the best recovery of the filter projected onto the space of input signals. Show the Fourier transform of the recovered filter.
Compute the MSE between $h$ and the recovered filters for $t\in[0, 0.1]$s.

# import libraries
import numpy as np
import matplotlib.pyplot as plt
import typing as tp
from scipy import signal, fft
from scipy.integrate import cumtrapz

from compneuro.utils.trig_poly import (
get_coeffs_from_signal,
get_signal_from_coeffs,
random_trig_signal,

np.random.seed(0) # set random seed

dt = 1e-5 # time step[s]
L = 20 # set the order of the space (number of exponentials)
f = 25 # set the input signal bandwidth, [Hz]
W = 2 * np.pi * f # calculate the bandwidth in radians
T = 2 * np.pi * L / W # calculate the period of the input signal
t = np.arange(-T / 2, T / 2, dt) # set the time course of the signal

# generate input signals

# specify the filter h
T1, T2 = 0, 0.1 # specify T1 and T2
a, c = 200, 3.0 # set the filter parameter
t_filt = np.arange(-T / 4, T * 3 / 4, dt) # set the time course of the filter, [s]

# Specify ASDM parameters
delta = 0.001 # threshold
bias = 1.0 # bias
C = 1.0 # capacitance

# identify

# plot results