<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Emelianova E.U., Dalie L.D., Petrov V.A., Popova E.V., Savin A.S., Hohlov A.A.</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Peoples' Friendship University of</institution>
          ,
          <addr-line>RMuosssciaow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>88</fpage>
      <lpage>94</lpage>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        После получения серий измерений амплитуд на различных частотах, при помощи м
эквивалентных электрических схем [
        <xref ref-type="bibr" rid="ref2 ref9">2</xref>
        ] определяют электрических импеданс цепи, который являе
комплексной величиной.
      </p>
      <p>Исходя из импнедса и антропометрических исходных данных: возраст, пол, расовая и этничес
принадлежность, линейные и весовые параметры тела (длина, масса, объем тела), на осн
имеющихся статистических данных делается вывод о составе тела человека (соотнчоншойение мыше
ткани, жировой ткани, костной ткани, воды и других составляющих) и другие выводы (в завис
условий и целей исследования). Конкретный набор характеристик зависит от поставленной зад
имеющегося оборудования.</p>
      <p>Биоимпедансные исследования, мнеостря на свою распространенность, популярность и практичность,
имею несколько проблем.</p>
      <p>Во-первых, для того чтобы получить точные измерения, требуется стационарное дорогостоя
оборудование, что сильно сужает применимость методики и делает ее нане дамнансысойвоймом(ент
стоимость одного исследования составля-5ет ты3сяч рублей, также надо учесть время, затраченное
дорогу). Приборы, предназначенные для домашнего использования («умные» весы и различные
вариации) не обеспечивают хоть ск-ноилбьукдоь дотсаточную точность для формирования выводов,
отличных от довольно приблизительной оценки состава тела человека.</p>
      <p>Во-вторых, как писалось выше, так или иначе результаты исследования сравниваются (пусть
многим параметрам) со статистическими данными,склчютчоаети из рассмотрения индивидуальные
характеристики конкретного человека.</p>
      <p>Уже две обозначенные выше проблемы делают невозможным массовое («домашнее») примене
методики с использованием всех ее возможностей (более или менее точное определеание соста
человека, отслеживание динамики, что актуально для людей, занимающихся спортом и использу
различные диеты, раннее предупреждение возможных заболеваний и патологий).</p>
      <p>Таким образом, существует задача адаптации методики к виду, когда дляго еепрпиомленноецнеиняно
не будет требоваться дорогостоящее стационарное оборудование, но при этом достигаемая точ
определения заданных критериев будет достаточной.
Оборудование</p>
      <p>
        На сегодняшний день большое распространение получают различные устройстваа,боктоаютотрые р
под управлением различных микроконтроллеров. Хорошо известны микроконтроллеры с архитектуро
ARM [
        <xref ref-type="bibr" rid="ref20 ref7">13</xref>
        ], существует большое количество DIY и промышленных приборов, которые созданы на э
Также надо отметить, что подавляющее большинствонымхобуислтьройств (смартфоны, планшеты)
также сегодня работают на аппаратной базе, построенной вокруг ARM процессоров. Это и всем
смартфоны Apple iPhone, Samsung и большинство других.
      </p>
      <p>ARM процессоры отличает низкое энергопотребление, простота жие ввремтоя хорошая
вычислительная мощность. Поэтому первое предположение, которое делают авторы данной раб
заключается в том, что на базе ARM процессора можно строить устройства, которые, облада
стоимостью, низким энергопотреблением (и, как висел,едвстысокой автономностью) позволят строить
портативные анализаторы результатов измерений, при этом имеющие вычислительную способность
обслуживанию необходимых алгоритмов.</p>
      <p>Та часть прибора, которая позволяет генерировать ток высокой частоты тнеуржиснтыихк, харак
представляет собой устройство из множества представленных на рынке радиоаппаратуры и
представляет сложностей по интеграции.
Алгоритмы</p>
      <p>
        В кругах финансовых и экономических аналитиков хорошо известен алгоритм анализа време
рядов SSA (SinguSlaprectrum Analysis), иначе называемый «метод Гусеница» [
        <xref ref-type="bibr" rid="ref12 ref13 ref13 ref3 ref3">5,6</xref>
        ]. Он используется
того, чтобы разложить временной ряд (например, курс определенной акции) на составляющие (т
и изучать вклад каждой составляющей в общий тренд, а также делаитчьестбвольшдроуегихкол
различных выводов об исходных данных.
      </p>
      <p>Алгоритм стандартного метода SSA хорошо известен и изучен, поэтому опишем его вкра
исходного одномерного временного ряда строится траекторная матрица, размерность котор
определяется важным пареатмром, зависящим от условий конкретной –здалдианчаи гусеницы (иногда
встречается название «лаг» гусеницы или «окно» гусеницы). Выбор окна гусеницы является в
этапом решения задач методом SSA. Небольшая длина гусеницы позволяет учесть миениьшое информ
ряде, большая длина гусеницы требует больших вычислительных ресурсов. Столбцами траектор
матрицы являются скользящие отрезки длиной, равной длине гусеницы. После некото
преобразований, опционально включающих в себя процедуры нормированиияровианицяе,нтсртроится
квадратная матрица, содержащая в себе информацию об исходном временном ряде. Далее произв
сингулярное разложение этой матрицы на сумму элементарных матриц, каждая из которых за
набором из собственного числа и двух сингвуелкятронрыовх — собственного и факторного. Таким
образом, исходный временной ряд разлагается на интерпретируемы аддитивные составляющие.
зависимости от условий задачи производится отбор главных компонент, по которым при п
процедуры ганкелизации восставнлаивается временной ряд.</p>
      <p>В последнее время данный алгоритм стали применять не только для анализа временных
экономическими данными, но также и в других сферах и областях, например:
- обработка получаемых с различного оборудования наборов измерений
- классификация объектов (например, адаптация алгоритма под названием EigenFace д
распознавания объектов на изображениях)</p>
      <p>- экспресс-анализ данных для помощи в принятии решений (в совершенно различных обл
экономики и науки).</p>
      <p>Авторами предлагается иолспьзовать алгоритм SSA следующим образом. Результаты измерений
амплитуды прошедшего через тело человека тока записываются в виде временных рядов, и
анализируются с помощью SSA (и его модификации для многомерных врем–енMнSыSхA). рядов
Вычисляются сбоственные значения и собственные векторы траекторной матрицы и производит
непосредственно анализ функции, представленной собственными значениями.</p>
      <p>Исходя из предположения, что при должно выборе параметров SSA (окно Гусеницы), траек
матрица содержитв себе вполне исчерпывающую информацию об исходном временном ряде, ана
спектра матрицы позволит делать различные выводы о причинах поведения исходного временного
– то есть об искомых для исследователя параметрах.
Оптимизация SSA для ARM процессоров
4 }
Описанная выше конструкция укажет компилятору, что необходимо применять векторизацию, и
существенно уменьшает время выполнения операциссйивасмимавнутри цикла.</p>
      <p>Если в алгоритме часто производится работа с небольшими циклами, то можно дать явную
компилятору для «разворачивания» данных циклов. Для этого можно воспользоваться следую
конструкцией:</p>
      <p>1 #pragma unroll(n)
Особенно это познлое для вложенных циклов (отметим, что в используемой реализации алгори
Якоби уровень вложенности достигает пяти). Развернув внутренний цикл в набор последовате
выполняемых команд, компилятор применяет векторизацию к «развернутым» из циктлоа данным,
также может дать ощутимый прирост в производительности.</p>
      <p>Сравнительные результаты времени работы для оптимизированного и неоптимизированного
алгоритмов представлены на рисунке 1.</p>
      <p>Рисунок 1. Сравнение оптимизированного и неоптимизированного алгоритмов диагонализации матрицы методом
вращений Якоби
Далее было проведено сравнение скорости работы оптимизированного и неоптимизированно
алгоритмов диагонализации методом вращений Якоби в зависимости от количества итераций мет
размерности матрицы, получаоейм из траекторной. Заметим, что количество итераций задается
изначально и является одним из условий остановк–иеслмиетондеаобходимая точность не достигается
за заданное количество итераций, вычисления прекращаются. На рисунке 2 представлена р
времени работы оптимизированного и неоптимизированного алгоритмов.</p>
      <p>Помимо алгоритма Якоби, в методе SSA неоднократно производится суммирование элемен
массивов различной длины (в частности, при преобразовании траекторной матрицы и при выпо
ганкелизации), что также нельзя оставлять без внимания. Благодаря применению оптимизации раб
регистрами процессора, производительность процедур, выполняющих данные операции, удалось
увеличить до двух раз, что также положительно сказалось на скороститмраабоSтSAы. алгор
В частности, для ускорения суммирования массивов большой длины можно использовать SIMD
instruction, Multiple data), а также векторные регистры. В ARM процессорах SIMD расширение реа
в виде дополнительного набора инструкций ваиетсняазыARM NEON. Рассмотрим пример, в котором
происходит суммирование элементов массива длины n. Стоит отметить, что значение перемен
должно быть кратно четырем.
Рисунок 2. Разница времени работы оптимизированного и неоптимизированного алгоритмов в зависимости от
количества итераций и размерности матрицы
1 double sum = 0;
2 for (i = 0; i &lt; n; i += 1)
3 {
4 sum += someArray[i];
5 }
Данный программный код можно переписать в ином виде:
1 double sum1 = 0;
2 double sum2 = 0;
3 double sum3 = 0;
4 double sum4 = 0;
5 for (i = 0; i &lt; n; i += 4)
6 {
7 sum1 += someArray [i];
8 sum2 += someArray [i+1];
9 sum3 += someArray [i+2];
10 sum4 += someArray [i+3];
11 }
12 sum1 += sum2;
13 sum3 += sum4;
14 sum1 += sum3;
В реализованном примере перемыен,н суммируемые внутри цикла, будут складываться в векторный
регистр, содержащий в себе-би4тны3х2 значения. Далее временные регистры выполняют операции
суммирования, используя SIMD инструкции, что дает ощутимый прирост в производительности.</p>
      <p>Также с помьоющ векторных регистров, оптимизируются операции умножения. Таким образом
нетрудно заметить, что с помощью технологии NEON в разы ускоряются операции сложения и у
что влечет за собой существенное уменьшение времени работы выполнения вычислитель
алгоритмов. Сравнительные результаты времени работы представлены на рисунке 3.
Рисунок 3. Сравнение времени работы оптимизированного и неоптимизированного алгоритмов при выполнении
операций суммирований больших массивов
Представленные результаты показыювта, что оптимизация вычислительных алгоритмов
достичь заметного прироста производительности при работе на устройствах с ARM
позволит использовать этот алгоритм в дальнейшей работе.
позволила
процессорам
Выводы</p>
      <p>В данной работы
комплекса, который</p>
      <p>сделаны
позволит
предпосылкситавлиенпао задача для разработки аппа-прраотгнроаммного
проводить исследования тела человека в домашних условиях.</p>
      <p>References
Об авторах:
Емельянова Елена Юрьевна, магистрант, кафедра прикладная информатика и теория вероятностей,
Российский университет дружбы нароeдeоuв0,57@gmail.com
Дилие Люк Дональд, аспирант кафедры прикладной инфиокримати теории вероятностей, Российский
университет дружбы народКово,т-д’Ивуар, lucdalie@mail.ru
Петров Владимир Александрович, ассистент кафедры информационных технологий, Российский
университет дружбы народvоpвe,trov@mahuru.ru
Попова Екатерина Владимировна, магистрант, кафедра прикладная информатика и теория
вероятностей, Российский университет дружбы наeрvоlдaоpв_,0852@mail.ru
Савин Андрей Сергеевич, программист, ООО «Махуру»a,ssavin90@gmail.com
Хохлов Алексей Анатольевич, кандидат физик-оматематических наукд,оцент кафедры прикладной
информатики и теории вероятностей, Российский унитверсидтреужбы народов,
khokhlov_aa@pfur.ru
Note on the authors:
Emelyanova Elena Yu., MA student, Department of Applied Informatics and Probability Theory, Peoples’</p>
      <p>Friendship University of Russia, eeu057@gmail.com
Dalie Luc-Donald, PhD student, Department of Applied Informatics and Probability Theory, Peoples’ Friendship</p>
      <p>University of Russia, Côte d'Ivoir,elucdalie@mail.ru
Petrov Vladimir A., Assistant of Department of Information Technologies, Peoples’ Friendship University of</p>
      <p>Russia, vpetrov@mahuru.ru
Popova Ekaterina V., MA student, Department of Applied Informatics and Probability Theory, Peoples’ Friendship</p>
      <p>University of Russia, evlap_0852@mail.ru
Savin Andrej S., programmer, "Mahuru" LLC, assavin90@gmail.com
Hohlov Aleksej A., Associate Professor of the Department of Applied Informatics and Probability Theory,
Candidate of Physical and Mathematical Sciences, Peoples’ Friendship University of ,Russia
khokhlov_aa@pfur.ru</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Савин</surname>
            <given-names>А.С.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Хохлов</surname>
            <given-names>А</given-names>
          </string-name>
          .А. «
          <article-title>Оптимизация алгоритма SSA для ARM процессоров мобильных устро-йжсутрвн»ал//Интернет «Науковедение» в.2, ма-ратпрель 2014</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Мартиросов</surname>
            <given-names>Э. Г.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Николаев</surname>
            <given-names>Д</given-names>
          </string-name>
          . В.,
          <string-name>
            <surname>Руднев</surname>
            <given-names>С</given-names>
          </string-name>
          . Г. «
          <article-title>Тeхнологии и методы определения со-стМа.в: а Нтаеулка, ч2е0л0о6в</article-title>
          .ека» -
          <volume>248</volume>
          с.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          6.
          <string-name>
            <surname>Golyandina</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nekrutkin</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhigljavsky</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>Analysis of Time Series Structure: SSA and Related Techniques</article-title>
          ,
          <string-name>
            <surname>CHAPMAN</surname>
          </string-name>
          &amp; HALL/CRC,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          7.
          <string-name>
            <surname>Knaster</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dalrymple</surname>
            <given-names>M. Learn</given-names>
          </string-name>
          <article-title>Objective-C on the Mac For OS X and iOS 2nd Edition</article-title>
          . Apress,
          <year>2012</year>
          . ISBN:
          <fpage>978</fpage>
          -1-
          <fpage>4302</fpage>
          - 4188-1.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          8.
          <string-name>
            <surname>Golyandina</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhigljavsky</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <source>Singular Spectrum Analysis for Time Series</source>
          , Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          11.
          <string-name>
            <surname>ARM</surname>
          </string-name>
          <article-title>NEON support in the ARM compiler</article-title>
          .
          <year>September 2008</year>
          . http://www.arm.com/files/pdf/neon_support_in_the_arm_compiler.pdf
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          13.
          <string-name>
            <given-names>Trevor</given-names>
            <surname>Martin</surname>
          </string-name>
          .
          <article-title>The insider's guide to thAeRMSBTaMsed3M2icrocontroller //Hitex (UK) Ltd</article-title>
          .,
          <volume>21</volume>
          /04/2008
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          1.
          <string-name>
            <surname>Savin</surname>
            <given-names>A.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hohlov</surname>
            <given-names>A.A.</given-names>
          </string-name>
          «
          <article-title>Optimizacija algoritma SSA dlja ARM processorov mobil'nyh u-sztrhoujrsntva</article-title>
          »l «/N/Ianutkeornvetdenie» v.2, mart - aprel'
          <year>2014</year>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Martirosov</given-names>
            <surname>Je</surname>
          </string-name>
          . G.,
          <string-name>
            <surname>Nikolaev</surname>
            <given-names>D. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rudnev</surname>
            <given-names>S. G.</given-names>
          </string-name>
          «
          <article-title>Tehnologii i metody opredelenija sostava te-laM</article-title>
          .:cNhaeluokvae,
          <year>k2a0</year>
          »
          <fpage>06</fpage>
          . - 248 s.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          3.
          <string-name>
            <surname>Nikolaev</surname>
            <given-names>D. V.</given-names>
          </string-name>
          <article-title>i dr. «Bioimpedansnyj analiz sostava te-laM</article-title>
          .:cNhaeluokvae,
          <year>k2a0</year>
          »
          <fpage>09</fpage>
          . - 392 s.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          4.
          <string-name>
            <surname>Zuev</surname>
            <given-names>A. L. i dr.</given-names>
          </string-name>
          «
          <article-title>Jekvivalentnye jelektricheskie gicmhoedskeilhi boibol#oektov» //Rossijskij zhurnal biomeh2a0n1i2k</article-title>
          .
          <source>i№.1 S.11-0 1201.</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          5.
          <string-name>
            <surname>Danilov</surname>
            <given-names>D. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhigljavskij</surname>
            <given-names>A. A.</given-names>
          </string-name>
          <article-title>Glavnye komponenty vremennyh rjadov: metod "Gusenica"</article-title>
          .
          <source>Pod redakciej Sankt-Peterburgskij universitet</source>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          6.
          <string-name>
            <surname>Golyandina</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nekrutkin</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhigljavsky</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>Analysis of Time Series Structure: SSA and Related Techniques</article-title>
          ,
          <string-name>
            <surname>CHAPMAN</surname>
          </string-name>
          &amp; HALL/CRC,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          7.
          <string-name>
            <surname>Knaster</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dalrymple</surname>
            <given-names>M. Learn</given-names>
          </string-name>
          <article-title>Objective-C on the Mac For OS X and iOS 2nd Edition</article-title>
          . Apress,
          <year>2012</year>
          . ISBN:
          <fpage>978</fpage>
          -1-
          <fpage>4302</fpage>
          - 4188-1.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          8.
          <string-name>
            <surname>Golyandina</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhigljavsky</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <source>Singular Spectrum Analysis for Time Series</source>
          , Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Uilkinson</given-names>
            <surname>Dzh</surname>
          </string-name>
          . H.,
          <string-name>
            <surname>Rajnsh</surname>
            <given-names>S.</given-names>
          </string-name>
          <article-title>Spravochnik algoritmov na jazyke Algol</article-title>
          .
          <source>Linejnaja algebra. M.: Mashinostroenie</source>
          ,
          <year>1976</year>
          . 390 s.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          10.
          <string-name>
            <surname>Hohlov</surname>
          </string-name>
          <article-title>A. A. Ustojchivyj metod vosstanovlenija tenzora dijelektricheskoj pronicaemosti po spektrofotometricheskim dannym</article-title>
          .
          <source>Pis'ma v JeChAJa</source>
          .
          <year>2011</year>
          , T.
          <volume>8</volume>
          №
          <issue>5</issue>
          (
          <issue>1-6883</issue>
          )
          <fpage>2</fpage>
          .. S.
          <volume>828</volume>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          11.
          <string-name>
            <surname>ARM</surname>
          </string-name>
          <article-title>NEON support in the ARM compiler</article-title>
          .
          <year>September 2008</year>
          . http://www.arm.com/files/pdf/neon_support_in_the_arm_compiler.pdf
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          12.
          <string-name>
            <surname>Il</surname>
          </string-name>
          <article-title>'in V.A</article-title>
          .,
          <string-name>
            <given-names>Poznjak</given-names>
            <surname>Je</surname>
          </string-name>
          .G. Linejnaja algebra: Ucheb. Dlja vuzov - 4-e izd. - M. Nauka. Fizmatlit,
          <year>1999</year>
          -
          <fpage>296</fpage>
          s.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          13.
          <string-name>
            <given-names>Trevor</given-names>
            <surname>Martin</surname>
          </string-name>
          .
          <article-title>The insider's guide to the STM 32 ARM Based Microcontroller //H/i2te0x08 (UK) Ltd</article-title>
          .,
          <volume>21</volume>
          /04
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>