Удлинение со стороны лёгких

Предыдущая  Содержание  Следующая  V*D*V

Алгоритм расчета для волн давления следующий:

1.Прочитать площади секций в массив A размерности N.

2.Установить номер индекса массива для которого будет считаться излучение Radiation = N - 1

3.Если число элементов массива нечётное, добавить еще один элемент и присвоить ему значение A(N - 1) = A(N - 2). Размерность массива теперь увеличилась на 1. N = N + 1

4.Сместить массив на 2 элемента, добавить 2 пустых сегмента, 0-ый и 1-ой, равные первому элементу массива.

5.Рассчитать коэффициенты отражения Ri для i = {0,1,2, . . . , N-2}
R(i) = ( A(i) - A(i + 1) ) / ( A(i) + A(i + 1) )

6.Установить коэффициенты отражения со стороны голосовой щели и губ: Rg = +0.99, Rl = -0.99.

7.Создать массивы F(N) и B(N) и инициализировать их нулями

8.Рассчитать коэффициенты для интерполяции, используя величину удлинения первого сегмента.

9.Установить текущее число сэмплов n = 0

10.Пока n <= числа сэмплов звука, повторять шаги 10 - 17.

11.рассчитать Binterp, i = 2

12.F(2) установить равным сумме интерполированного значения отражённой волны и текущего значения давления голосового источника, u(n) - объёмная скорость
F(0) = u(n) * ρ * Cx / A(0) + Rg * B(interp)

13.Для всех i = {1, 3, 5, ..., N-3}, выполнить расчет переходов:
d = Ri * [F(i) - B(i + 1)]
F(i + 1) = F(i) + d
B(i) = B(i + 1) + d

14.Для всех i = {0, 2, 4, ..., N-2}, выполнить расчет переходов:
d = Ri * [F(i) - B(i + 1)]
F(i + 1) = F(i) + d
B(i) = B(i + 1) + d

15.Отразить прямую компоненту волны от губ назад:
b(Radiation) = Rl * F(interp)

16.Рассчитать и запомнить давление на губах и запомнить значение в массив Pout.
Pout(n) = F(interp) + B(Radiation)

17.Увеличить номер сэмпла n на 1. Перейти к пункту 10

Предыдущая  Содержание  Следующая