Архитектурная акустика/Интеграл Релея: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 
(не показано 10 промежуточных версий 2 участников)
Строка 5: Строка 5:
Направленность такого источника рассчитывается с помощью интеграла Релея:
Направленность такого источника рассчитывается с помощью интеграла Релея:


<math>\varphi\left(\theta, \varphi, r\right) = \frac{V_0 e^{i\cdot\left(\omega t-\varphi\right)}}{2\pi}\iint\limits_{S}{\frac{e^{-ikr'\left(\theta, \varphi, r\right)}}{r'\left(\theta, \varphi, r\right)}dS}</math>,
<math>\varphi\left(\theta, \varphi, r\right) = \frac{V_0 e^{i\cdot\left(\omega t+\varphi\right)}}{2\pi}\iint\limits_{S}{\frac{e^{-ikr'\left(\theta, \varphi, r\right)}}{r'\left(\theta, \varphi, r\right)}dS}</math>,


где:
где:
Строка 30: Строка 30:
Течение алгоритма:
Течение алгоритма:
# <math>SC' \gets SC</math> - изменяемое множество <u>всех</u> [[Архитектурная акустика/Источник|источников]].
# <math>SC' \gets SC</math> - изменяемое множество <u>всех</u> [[Архитектурная акустика/Источник|источников]].
# Если <tt>SC'</tt> пусто.
## Завершение алгоритма.
# Для всех источников <math>s\in SC'</math>
# Для всех источников <math>s\in SC'</math>
## <math>SC' \gets SC' \setminus s</math>
## Пусть множество лучей: <tt>RS = s.Излучаемый звук()</tt>
## Пусть множество лучей: <tt>RS = s.Излучаемый звук()</tt>
## Для всех лучей <math>r\in RS</math>
## Для всех лучей <math>r\in RS</math>
### Если <math>\exists</math><tt>f = r.Ближайшая поверхность(PC)</tt>
### Если <tt>r.Интенсивность() > M.Пренебрежимый уровень звука()</tt>
#### Пусть <math>f'</math> - плоская круглая поверхность диаметром, равным длине волны звука, ассоциированного с лучом <math>r</math> (см. <tt>r.[[Архитектурная акустика/Луч|Частота()]]</tt>), вокруг точки пересечения <math>f\cap r</math>.
#### <math>PlC' = \left\{pl_i\right\}\subset PlC: \exists pt = pl_i\cap r\land</math><tt>расстояние(r.Позиция(), pt)</tt><math>\leq</math><tt>расстояние(r.Позиция(), r.Ближайшая поверхность(PC)</tt><math>\cap</math><tt>r)</tt> - множество плоскостей вывода результатов, с которыми существуют пересечения луча <math>r</math>, и которые не находятся в тени.
#### <tt>s' = [[Архитектурная акустика/Вторичный источник на основе интеграла Релея|Вторичный источник на основе интеграла Релея]]</tt><math>(f\cap f', r, f \cap r)</math>
#### <math>SC' \gets SC' \cup \left\{s'\right\}</math> - дополнение множества <tt>SC'</tt> новым вторичным источником <tt>s'</tt>
### <math>PlC' = \left\{pl_i\right\}\subset PlC: \exists pt = pl_i\cap r\land</math><tt>расстояние(r.Позиция(), pt)</tt><math>\leq</math><tt>расстояние(r.Позиция(), r.Ближайшая поверхность(PC)</tt><math>\cap</math><tt>r)</tt> - множество плоскостей вывода результатов, с которыми существуют пересечения луча <math>r</math>, и которые не находятся в тени.
#### Для всех плоскостей <math>pl\in PlC'</math>
#### Для всех плоскостей <math>pl\in PlC'</math>
##### Точка пересечения <math>pt \gets pl\cap r</math>
##### Точка пересечения <math>pt \gets pl\cap r</math>
##### <tt>pl.Зарегистрировать звук(pt, r.Интенсивность(расстояние(r.Позиция(), pt)), r.Частота())</tt>
##### <math>I\gets</math><tt>r.Интенсивность(расстояние(r.Позиция(), pt))</tt>
##### Если <math>I > </math><tt>M.Пренебрежимый уровень звука()</tt>
###### <tt>pl.Зарегистрировать звук(pt, I, r.Частота())</tt>
#### Если <math>\exists</math><tt>f = r.Ближайшая поверхность(PC)</tt>
##### Пусть <math>P\gets f\cap r</math>
##### Если <tt>r.Интенсивность(расстояние(r.Позиция(), P)) > M.Пренебрежимый уровень звука()</tt>
###### Пусть <math>f'</math> - плоская круглая поверхность диаметром, равным длине волны звука, ассоциированного с лучом <math>r</math> (см. <tt>r.[[Архитектурная акустика/Луч|Частота()]]</tt>), вокруг точки пересечения P.
###### <tt>s' = [[Архитектурная акустика/Вторичный источник на основе интеграла Релея|Вторичный источник на основе интеграла Релея]]</tt><math>(f\cap f', r, f \cap r)</math>
###### <math>SC' \gets SC' \cup \left\{s'\right\}</math> - дополнение множества <tt>SC'</tt> новым вторичным источником <tt>s'</tt>
#Переход на шаг 2.


[[Файл:ArchAc-RelayParFlow.jpg|thumb|800px|Граф параллельного выполнения алгоритма. Для краткости используются сокращенные записи методов сущностей [[Архитектурная акустика|архитектурной акустики]]:
<math>I\left(r\right)\sim r</math><tt>.[[Архитектурная акустика/Луч|Интенсивность]]()</tt>;
<math>I\left(r, pt\right)\sim r</math><tt>.[[Архитектурная акустика/Луч|Интенсивность]](расстояние(r.[[Архитектурная акустика/Луч|Позиция]](), pt))</tt>;
<math>I_0\sim M</math><tt>.[[Архитектурная акустика/Среда распространения звука|Пренебрежимый уровень звука]]()</tt>;
<math>\omega\left(r\right)\sim r</math><tt>.[[Архитектурная акустика/Луч|Частота]]()</tt>;
<math>pl.Reg\left(pt, I, \omega\right)\sim pl</math><tt>.[[Архитектурная акустика/Секущая плоскость вывода результатов|Зарегистрировать звук]]</tt><math>\left(pt, I, \omega\right)</math>;]]


<graphviz caption="ЯПФ алгоритма" format ="jpg">
=Свойства алгоритма=
digraph
{
rankdir=TB;
edge [labeldistance="1.5", labelfontsize="10"];
SC0 [label="SC"]
SC1 [label="SC'"]
SC2 [label="SC<-(SC' \\ s_j) U {s_i_j}"]


SC0->SC1 [label=s_1]
Пусть <math>S</math> - множество первичных источников (см. свойство <tt>множество источников()</tt> [[Архитектурная акустика/Среда распространения звука|среды распространения звука]]).
SC0->SC1 [label=s_2]
SC0->SC1 [label="s_|SC'|"]


SC1->s_1->RS_1
Пусть <math>R_s = \sum\limits_{i=1}^{|S|}|s_i.</math><tt>Излучаемый звук()</tt><math>|</math> - суммарное количество лучей от всех первичных источников.
SC1->s_2->RS_2
SC1->"s_|SC'|"->"RS_|SC'|"


RS_1->r_1_1->"pl_1_1, pt_1_1"
Тогда сложность: <math> N_{total} = 1 + \frac{N \cdot(1-(\tau N)^{n_{r}-1})}{1-\tau N} ,</math> где
"pl_1_1, pt_1_1"->SC2 [label="i=1, j=1"]
RS_1->r_1_2->"pl_1_2, pt_1_2"
"pl_1_2, pt_1_2"->SC2 [label="i=1, j=2"]
RS_1->"r_1_|RS_1|"->"pl_1_|RS_1|, pt_1_|RS_1|"
"pl_1_|RS_1|, pt_1_|RS_1|"->SC2 [label="i=1, j=|RS_1|"]


RS_2->r_2_1->"pl_2_1, pt_2_1"
<math> n_r =  \log_{\nu}\frac{I_0}{I}</math> - число переотражений,   <math>I_0</math> - пороговое значение энергии, <math>I</math> - начальное значение энергии,
"pl_2_1, pt_2_1"->SC2 [label="i=2, j=1"]
RS_2->r_2_2->"pl_2_2, pt_2_2"
"pl_2_2, pt_2_2"->SC2 [label="i=2, j=2"]
RS_2->"r_2_|RS_2|"->"pl_2_|RS_2|, pt_2_|RS_2|"
"pl_2_|RS_2|, pt_2_|RS_2|"->SC2 [label="i=2, j=|RS_2|"]


"RS_|SC'|"->"r_|SC'|_1"->"pl_|SC'|_1, pt_|SC'|_1"
"pl_|SC'|_1, pt_|SC'|_1"->SC2 [label="i=|SC'|, j=1"]
"RS_|SC'|"->"r_|SC'|_2"->"pl_|SC'|_2, pt_|SC'|_2"
"pl_|SC'|_2, pt_|SC'|_2"->SC2 [label="i=|SC'|, j=2"]
"RS_|SC'|"->"r_|SC'|_|RS_|SC'||"->"pl_|SC'|_|RS_|SC'||, pt_|SC'|_|RS_|SC'||"
"pl_|SC'|_|RS_|SC'||, pt_|SC'|_|RS_|SC'||"->SC2 [label="i=|SC'|, j=|RS_|SC'||"]


SC2->SC1
<math>\nu=\frac{\sum_{\forall f\in F} S(f) \cdot \nu(f)}{\sum_{\forall f\in F} S(f)}</math> - средний коэффициент поглощения,
}
</graphviz>


=Свойства алгоритма=


Пусть <math>S</math> - множество первичных источников (см. свойство <tt>множество источников()</tt> [[Архитектурная акустика/Среда распространения звука|среды распространения звука]]).
<math> N=|W(s_i)|\cdot \sum_{\forall f\in F} |f|, </math> (где <math>|W(s_i)|\sim s_i</math> - ширина полосы частот(), <math>f</math>- множество отражающих элементов() ),
 
Пусть <math>R_s = \sum\limits_{i=1}^{|S|}|s_i.</math><tt>Излучаемый звук()</tt><math>|</math> - суммарное количество лучей от всех первичных источников.
так как


Тогда сложность: <math>O\left(R_s^{\frac{\max\limits_{i=1,N_s}\left(I(s_i)\right)}{I_0}}\right)</math>, где <math>I\left(s\right) = \max\limits_{\forall\omega\in B\left(s\right)}</math><tt>(s.Интенсивность(0, 0, <math>\omega</math>))</tt> - максимальное значение характеристики звука, излучаемого источником <math>s</math> по частотам <math>B\left(s\right)</math>, на которых определена его АЧХ, <math>I_0</math> - пренебрежимый уровень звука (свойство [[Архитектурная акустика/Среда распространения звука|среды распространения]]).
<math>1 \to N \to N \cdot \tau N \to \cdots \to N \cdot (\tau N)^{n_r}</math>

Текущая версия на 22:56, 7 ноября 2016

Архитектурная акустика\Интеграл Релея

Модель распространения звука в помещении, в которой каждая поверхность представлена в виде системы плоских колеблющихся поршней. Каждый такой поршень при попадании на него звукового луча оказывается вторичным источником звука.

Направленность такого источника рассчитывается с помощью интеграла Релея:

,

где:

  • - потенциал колебательной скорости в точке, заданной в сферической системе координат, в которой - единичный вектор сонаправленный главной оси источника.
  • - поверхность или ее часть, которая которая колеблется как поршень.
  • - малый элемент поверхности в окрестности некоторой точки , принадлежащей поверхности и заданной в системе координат поверхности, в которой аппликата сонаправлена главной оси источника.
  • - амплитуда колебательной скорости.
  • - круговая частота колебаний поршня.
  • - время измерения направленности.
  • - начальная фаза колебаний.
  • .
  • .


Алгоритм

Предусловия:

  1. M - Среда распространения звука;
  2. SC = M.Множество источников();
  3. PC = M.Множество отражающих элементов()
  4. PlC = M.Множество контрольных точек() - множество плоскостей вывода результатов.
  5. расстояние(точка1, точка2) - функция расстояния между двумя точками.

Течение алгоритма:

  1. - изменяемое множество всех источников.
  2. Если SC' пусто.
    1. Завершение алгоритма.
  3. Для всех источников
    1. Пусть множество лучей: RS = s.Излучаемый звук()
    2. Для всех лучей
      1. Если r.Интенсивность() > M.Пренебрежимый уровень звука()
        1. расстояние(r.Позиция(), pt)расстояние(r.Позиция(), r.Ближайшая поверхность(PC)r) - множество плоскостей вывода результатов, с которыми существуют пересечения луча , и которые не находятся в тени.
        2. Для всех плоскостей
          1. Точка пересечения
          2. r.Интенсивность(расстояние(r.Позиция(), pt))
          3. Если M.Пренебрежимый уровень звука()
            1. pl.Зарегистрировать звук(pt, I, r.Частота())
        3. Если f = r.Ближайшая поверхность(PC)
          1. Пусть
          2. Если r.Интенсивность(расстояние(r.Позиция(), P)) > M.Пренебрежимый уровень звука()
            1. Пусть - плоская круглая поверхность диаметром, равным длине волны звука, ассоциированного с лучом (см. r.Частота()), вокруг точки пересечения P.
            2. s' = Вторичный источник на основе интеграла Релея
            3. - дополнение множества SC' новым вторичным источником s'
  4. Переход на шаг 2.
Граф параллельного выполнения алгоритма. Для краткости используются сокращенные записи методов сущностей архитектурной акустики: .Интенсивность(); .Интенсивность(расстояние(r.Позиция(), pt)); .Пренебрежимый уровень звука(); .Частота(); .Зарегистрировать звук;

Свойства алгоритма

Пусть - множество первичных источников (см. свойство множество источников() среды распространения звука).

Пусть Излучаемый звук() - суммарное количество лучей от всех первичных источников.

Тогда сложность: где

- число переотражений, - пороговое значение энергии, - начальное значение энергии,


- средний коэффициент поглощения,


(где - ширина полосы частот(), - множество отражающих элементов() ),

так как