跳转到内容

感觉系统/计算机模型/前庭模拟

来自维基教科书,开放的书籍,面向开放的世界

听觉系统模拟 · 体感系统模拟

前庭系统的计算机模拟

[编辑 | 编辑源代码]

半规管

[编辑 | 编辑源代码]

没有耳石膜的模型

[编辑 | 编辑源代码]
Simplified semicircular canal, without cupula.
简化的半规管,没有耳石膜。

让我们考虑半规管 (SCC) 的机械描述。在下面的描述中,我们将做出非常强烈的简化假设。这里的目标仅仅是理解半规管背后的基本机械原理。

我们做出的第一个强烈简化是,半规管可以被建模为一个外半径为 R,内半径为 r 的圆形管子。(对于适当的流体力学推导,参见 (Damiano 和 Rabbitt 1996) 以及 Obrist (2005))。这个管子充满了内淋巴液。

半规管的方向可以在给定的坐标系中用一个向量 来描述,该向量垂直于管子的平面。我们还将使用以下符号

管子的旋转角 [弧度]
管子的角速度 [弧度/秒]
管子的角加速度 [弧度/秒^2]
管子内部内淋巴液的旋转角 [弧度],以及对时间导数的类似符号
管子和内淋巴液之间的运动 [弧度]。

请注意,所有这些变量都是标量。我们利用了管子的角速度可以看作是头部实际角速度向量 投影到由 描述的半规管平面上的事实,从而从头部的 3D 环境转向我们的标量描述。也就是说,

其中点表示标准标量积。

为了描述内淋巴液的运动,考虑一个自由漂浮的活塞,其密度与内淋巴液相同。两个力作用在这个系统上

  1. 惯性矩 ,其中 I 表示内淋巴的惯性。
  2. 粘性力矩 ,由内淋巴在管壁上的摩擦力引起。

这给出了运动方程

代入 并积分得到

现在,让我们考虑速度阶跃 的恒定幅度 的例子。在这种情况下,我们得到位移

并且对于 ,我们得到恒定位移

.

现在,让我们推导出时间常数 。对于细管,,惯性近似为

根据泊肃叶-哈根方程,细管中层流速度为 v 时的力 F 为

其中 是每秒的体积流量, 是粘度, 是管的长度。

在扭矩 和相对角速度 的情况下,代入后得到

最后,得到时间常数

对于人类平衡系统,用实验获得的参数替换变量,得到时间常数 约为 0.01 秒。时间足够短,在公式 (10.5) 中, 可以用“=”替换。这使得系统增益为

带杯形的模型

[edit | edit source]
杯形的影响。

到目前为止,我们的讨论还没有包括杯形在 SCC 中的作用:杯形充当一个弹性膜,通过角加速度发生位移。通过其弹性,杯形将系统恢复到其静止位置。杯形的弹性在运动方程中增加了额外的弹性项。如果将其考虑在内,此方程变为

求解此类微分方程的一种优雅方法是拉普拉斯变换。拉普拉斯变换将微分方程转化为代数方程:如果信号 x(t) 的拉普拉斯变换用 X(s) 表示,则时间导数的拉普拉斯变换为

项 x(0) 详细说明了起始条件,并且通常可以通过适当选择参考位置将其设置为零。因此,拉普拉斯变换为

其中“~”表示拉普拉斯变换后的变量。根据上面的,以及由下式定义的

我们得到

对于人类, 的典型值约为 5 秒。

为了找到这个传递函数的极点,我们必须确定对于哪些 s 值,分母等于 0

由于,以及

我们得到

通常我们感兴趣的是耳石器位移 作为头部速度 的函数

对于典型的头部运动 (0.2 Hz < f < 20 Hz),系统增益近似恒定。换句话说,对于典型的头部运动,耳石器位移与头部角速度成正比!

头部速度函数的耳石器位移的波特图,其中 T1 = 0.01 秒,T2 = 5 秒,放大系数为 (T1+ T2)/ (T1* T2),以获得中心频率的增益约为 0。

控制系统

[编辑 | 编辑源代码]

对于线性时不变系统(LTI系统),输入和输出在频域中具有简单的关系

其中传递函数G(s)可以用代数函数表示

换句话说,指定分子 (n) 和分母 (d) 的系数将唯一地表征传递函数。这种表示法被一些计算工具用于模拟这种系统对给定输入的响应。

不同的工具可以用来模拟这样的系统。例如,一个时间常数为7秒的低通滤波器对1秒的输入阶跃的响应具有以下传递函数

并且可以如下模拟

[编辑 | 编辑源代码]
Step-response simulation of a lowpass filter with Simulink.
使用 Simulink 进行低通滤波器的阶跃响应模拟。
命令行
[编辑 | 编辑源代码]

如果您在命令行上工作,您可以使用 MATLAB 的控制系统工具箱或 Python 包SciPy信号模块

MATLAB 控制系统工具箱

% Define the transfer function
num = [1];
tau = 7;
den = [tau, 1];
mySystem = tf(num,den)
 
% Generate an input step
t = 0:0.1:30;
inSignal = zeros(size(t));
inSignal(t>=1) = 1;
 
% Simulate and show the output
[outSignal, tSim] = lsim(mySystem, inSignal, t);
plot(t, inSignal, tSim, outSignal);

Python - SciPy

# Import required packages
import numpy as np
import scipy.signal as ss
import matplotlib.pylab as mp

# Define transfer function
num = [1]
tau = 7
den = [tau, 1]
mySystem = ss.lti(num, den)

# Generate inSignal
t = np.arange(0,30,0.1)
inSignal = np.zeros(t.size)
inSignal[t>=1] = 1

# Simulate and plot outSignal
tout, outSignal, xout = ss.lsim(mySystem, inSignal, t)
mp.plot(t, inSignal, tout, outSignal)
mp.show()

现在考虑耳石器官的力学。由于它们由复杂的粘弹性材料组成,并具有弯曲的形状,因此它们的力学无法用分析工具来描述。但是,它们的运动可以用有限元法进行数值模拟。由此,所考虑的体积被分成许多小的体积元素,并且对于每个元素,物理方程被解析函数近似。

有限元模拟:使用小的有限元来构建一个机械模型;这里例如是椭圆囊。

这里我们将只展示粘弹性耳石材料的物理方程。每种弹性材料的运动必须服从柯西运动方程

其中 是材料的有效密度, 是沿 i 轴的位移, 是体积力的 i 分量, 是柯西应力张量的分量。 是坐标。

对于线性弹性、各向同性材料,柯西应力张量由下式给出

其中 拉梅常数 与剪切模量相同。 ,并且 是应力张量。

这导致了纳维运动方程。

此方程适用于纯弹性、各向同性材料,并且可以用有限元技术求解。找到此方程中出现的机械参数的典型程序如下:当将材料的圆柱形样本置于应变下时,杨氏模量 E 表征长度的变化,而泊松比 表征直径的同时减少。拉梅常数 与 E 和 的关系为

以及

中央前庭加工

[edit | edit source]

前庭信息的中央加工显着影响了对空间中感知的方向和运动。脑干中相应的处理过程通常可以用控制系统工具有效地建模。作为一个具体的例子,我们展示了如何模拟速度存储的影响。

速度存储

[编辑 | 编辑源代码]

速度存储的概念基于以下实验发现:当我们从围绕地球垂直轴的持续旋转中突然停止时,耳石器会被减速所偏转,但以约 5 秒的时间常数恢复到静止状态。然而,感知到的旋转持续的时间长得多,并且以更长的时间常数下降,通常在 15 到 20 秒之间。

前庭模型:蓝线描述了耳石器的偏转,作为对速度阶跃的响应,建模为时间常数为 5 秒的高通滤波器。绿线表示角速度的内部估计,通过一个负反馈回路中的耳石器响应内部模型和一个前馈增益因子 2 获得。

在附图中,运河对角速度刺激 ω 的响应由传递函数 C 建模,这里是一个时间常数为 5 秒的简单高通滤波器。(运河响应由耳石器的偏转决定,并且近似地与神经放电率成正比。)为了模拟时间常数的增加,我们假设中枢前庭系统有一个运河传递函数的内部模型。根据这个内部模型,角速度内部估计的预期放电率,,与实际放电率进行比较。将增益因子 k 设置为 2,模型的输出很好地再现了时间常数的增加。相应的 Python 代码可以在 [1] 中找到。

值得注意的是,这个反馈回路可以在生理上得到解释:我们知道左右前庭核之间有很强的联系。如果这些连接被切断,感知到的旋转的时间常数会降低到半规管的外周时间常数。

中枢前庭处理通常可以用控制系统模型来描述。这里 “omega” 是头部速度, “C” 是半规管的传递函数, “k” 是一个简单的增益因子。带有 “hat” 的变量表示内部估计。

在数学上,高增益负反馈具有一个有趣的特性,它可以实际上反转负反馈回路中的传递函数:如果 k>>1,并且如果运河传递函数的内部模型与实际传递函数相似,则估计的角速度对应于实际的角速度。

参考文献

[编辑 | 编辑源代码]
  1. Thomas Haslwanter (2013). "前庭处理:速度存储模拟 [Python]".
华夏公益教科书