Дослідження циклічності у шумі роботи механізмів за допомогою Phyphox

Автор Атамась Артем
Науковий співробітник НЦ "Мала академія наук України", кандидат технічних наук. Сфера наукових інтересів: розвиток технологій наукової освіти.

Завдання роботи:

Створити експеримент для дослідження циклічності у шумі від роботи механізмів у редакторі Phyphox webeditor. Дослідити циклічність у шумі роботи побутових приладів.

Обладнання:

ПК, смартфон, побутовий вентилятор.

Основні терміни та поняття

Phyphox – Physical Phone Experiments phyphox webeditor

Теоретична частина

Окрім осцилографування та аналізу спектру існує ще один цікавий метод аналізу звукового сигналу, який називається автокореляцією.

Автокореляція звуку – це математичний метод аналізу сигналу, який визначає ступінь схожості звукової хвилі з її власною копією, зміщеною в часі. У звуковій інженерії та акустиці цей інструмент є ключовим для розпізнавання патернів (повторюваних елементів) у складному аудіосигналі. Фактично автокореляція дозволяє виявити, чи повторюється певна форма хвилі через певний проміжок часу, а також оцінити регулярність таких повторень.

Алгоритм процесу автокореляції будь-якого сигналу полягає в наступному. Спочатку записується деякий фрагмент сигналу, та робиться його віртуальна копія. Потім віртуальна копія переміщується відносно оригіналу вздовж осі часу. Для кожного значення часового зсуву обчислюється значення автокореляційної функції (АКФ), яке може змінюватися від −1 до +1. Значення АКФ −1 означає повну протилежність сигналів, 0 – відсутність будь-якої подібності, а +1 – повний збіг форм хвиль.

У результаті такого аналізу будується графік автокореляційної функції, який показує, при яких часових зсувах сигнал найбільш схожий на самого себе. Якщо сигнал має чітку періодичну структуру, наприклад звук обертання механізму або повторюваний удар деталей, на графіку з’являються характерні піки. Відстань між такими піками відповідає періоду повторення сигналу. За цим періодом можна визначити частоту обертання або циклічність роботи певного механізму.

У технічній діагностиці автокореляція застосовується для аналізу звуків, що виникають під час роботи машин та механізмів. Наприклад, за допомогою цього методу можна досліджувати акустичні сигнали від електродвигунів, вентиляторів, редукторів або підшипників. Якщо в роботі механізму з’являється дефект, наприклад зношення деталей, нерівномірність обертання або сторонні удари – це призводить до появи нових періодичних або квазіперіодичних компонентів у звуковому сигналі. Аналіз автокореляційної функції дозволяє виявити такі зміни та зробити висновок про технічний стан обладнання.

Таким чином, автокореляція є важливим інструментом технічної акустики та цифрової обробки сигналів. Вона дає змогу знаходити регулярні закономірності у складних шумових сигналах, визначати параметри роботи механізмів і своєчасно виявляти ознаки несправностей у технічних системах.

У phyphox є стандартний експеримент Audio Autocorrelation, призначений для визначення частоти звукового сигналу за допомогою даного методу. Робота експерименту починається із запису звуку через мікрофон смартфона. Сигнал з мікрофона зберігається у контейнері recording як послідовність значень амплітуди звуку. Одночасно фіксується параметр rate, який визначає частоту дискретизації – тобто кількість вимірювань сигналу за одну секунду.

На основі частоти дискретизації обчислюється максимальний час записаного фрагмента сигналу (рис. 1). Для цього використовується операція ділення, результатом якої є змінна tmax. Далі за допомогою блоку ramp формується масив значень часу від нуля до tmax. Таким чином для кожної точки записаного сигналу створюється відповідне значення часу. У результаті отримується часовий масив time, який відповідає виміряним значенням амплітуди звуку.

Рис. 1. Блок аналізу експерименту Audio Autocorrelation

Основним етапом аналізу є обчислення автокореляції сигналу. У блоці autocorrelation звуковий сигнал порівнюється з його власною копією, яка поступово зміщується вздовж осі часу. Для кожного значення зсуву визначається ступінь схожості сигналу із самим собою. Результатом роботи цього блоку є два масиви даних: autocorrelation, який містить значення автокореляційної функції, та autoco_t, що задає відповідні часові зсуви. Якщо сигнал має періодичний характер, то на графіку автокореляції з’являються характерні піки, які відповідають моментам повторення сигналу.

Після обчислення автокореляції програма знаходить найбільше значення цієї функції за допомогою блоку max. Далі встановлюється порогове значення, яке дорівнює половині максимального значення автокореляції. Це робиться для того, щоб враховувати лише достатньо виражені піки і відфільтрувати випадкові коливання або шум.

На наступному етапі спеціальний блок пошуку максимумів визначає всі локальні піки автокореляційної функції, які перевищують встановлений поріг. Позиції цих піків зберігаються у масиві peaksX. Після цього застосовується фільтр діапазону, який відкидає крайні значення, що можуть виникати через обмеження довжини сигналу. Відфільтровані значення записуються у контейнер peaksXfiltered.

Далі програма підраховує кількість знайдених піків автокореляції. Перший пік завжди відповідає нульовому зсуву сигналу, тому для подальших розрахунків використовується кількість піків, зменшена на одиницю. Одночасно визначається положення останнього піку автокореляції – змінна lastX.

На основі цих даних обчислюється період сигналу. Для цього значення останнього піку ділиться на кількість інтервалів між піками. Отриманий результат відповідає середньому періоду повторення звукової хвилі. Далі частота сигналу визначається шляхом ділення одиниці на період.

Після визначення частоти експеримент виконує додаткові розрахунки, які дозволяють перевести отриману частоту у музичну шкалу. Для цього обчислюється відношення виміряної частоти до стандартної частоти 440 Гц, що відповідає ноті Ля першої октави (A4). За допомогою логарифмічних перетворень визначається кількість півтонів і відхилення у центах від найближчої музичної ноти. Ця інформація використовується лише для відображення результату на екрані у зручній для користувача формі.

Таким чином, логіка роботи експерименту полягає у послідовному виконанні кількох етапів: запис звукового сигналу, побудова часової шкали, обчислення автокореляційної функції, пошук її піків, визначення періоду сигналу та обчислення відповідної частоти. Метод автокореляції дозволяє надійно визначати частоту сигналу у випадках, коли звук має достатньо чітку періодичну структуру.

В даній роботі пропонується адаптувати стандартний експеримент Audio Autocorrelation для визначення швидкості обертання пропелеру вентилятора. Під час обертання, лопаті пропелеру створюють періодичний акустичний сигнал. Кожна лопать, проходячи через повітря, викликає імпульс шуму, і ці імпульси повторюються з певною регулярністю. У результаті формується сигнал, у якому чітко проявляється періодичність, пов’язана з обертанням. Якщо записати цей звук і обчислити його автокореляцію, то на графіку з’являться піки, що відповідають моментам повторення однакових фаз сигналу. Відстань між сусідніми піками визначає період повторення акустичних імпульсів. Знаючи цей період, можна обчислити частоту повторення імпульсів, а відповідно й швидкість обертання вентилятора. Важливо враховувати, що за один повний оберт пропелера виникає стільки імпульсів, скільки у нього лопатей. Тому отримана з автокореляції частота відповідає не частоті обертання, а частоті проходження лопатей. Щоб знайти власне швидкість обертання, необхідно поділити цю частоту на кількість лопатей:

 

n = F·60/N, об/хв (rpm),                                             (1)

 

де F – частота автокореляції, Гц;

N – кількість лопатей.

Перш ніж виконувати дану роботу рекомендується опанувати роботу з редактором Phyphox webeditor, виконавши декілька попередніх робіт: №1, №2, №3, №4.

Хід роботи

  1. Відкрийте Phyphox webeditor, перейшовши за посиланням: https://phyphox.org/editor/neweditor/.
  2. Відкрийте стандартний експеримент «Audio Autocorrelation». Для цього треба у правому верхньому куті натиснути LOAD, у вікні що з’явилося, у категорії Acoustics обрати експеримент Audio Autocorrelation.
  3. Перейдіть одразу до вкладники аналізу, та видаліть із загального блоку елементи для визначення музичних нот (рис. 2).

Рис. 2. Елементи блоку аналізу, які підлягають видаленню

  1. З блоку контейнерів даних видаліть контейнери у відповідності до рис. 3.

Рис. 3. Контейнери даних, які підлягають видаленню.

  1. Створіть нові контейнери даних: k_max; RPM; N.
  2. Внесіть зміни до блоку контейнерів даних у відповідності до рис. 4.

Рис. 4. Оновлений вигляд блоку контейнерів даних

  1. Внесіть зміни до блоку аналізу у відповідності до рис. 5, та закрийте віконця налаштувань.

Рис. 5. Оновлений вигляд блоку аналізу

Внісши зміни до блоку аналізу, ми збільшили тривалість запису до 200 мс, та максимальний період автокореляції до 100 мс. Крім того ми зробили змінним коефіцієнт для встановлення порогового значення автокореляції (k_max) та додали розрахунок швидкості обертання пропелера (RPM) з урахуванням кількості його лопатей N.

  1. Перейдіть до вкладники View, внесіть зміни до блоку візуалізації у відповідності до рис. 6, та закрийте віконця налаштувань.

Рис. 6. Оновлений вигляд блоку візуалізації

Внісши зміни до блоку візуалізації, ми додали можливість регулювати коефіцієнт для встановлення порогового значення автокореляції за допомогою зручного слайдеру, вказувати кількість елементів (лопатей), та виводити результат визначення частоти обертання пропелеру у об/хв.

  1. Перейдіть до вкладники Main, та змініть назву експерименту, наприклад. Audio Autocorrelation RPM.
  2. У верхньому правому куті екрану натисніть GENERATE, а у вікні, що з’явилося – QR Code Online. Нижче має з’явитися QR-код.
  3. Підключіть смартфон до мережі Internet та відкрийте застосунок Phyphox.
  4.  У застосунку натисніть кнопку Додати (+), та оберіть Додати експеримент за QR кодом.
  5. Відскануйте QR-код з монітору. На запит збереження експерименту у колекції натисніть Save to collection. У застосунку має з’явитися створений вами експеримент.
  6. Увімкніть побутовий вентилятор, відкрийте експеримент та введіть кількість лопатей. Запустіть експеримент.
  7. Піднесіть смартфон позаду від лопатей. Відрегулюйте коефіцієнт для встановлення порогового значення автокореляції за допомогою слайдеру. Зчитайте швидкість обертання пропелеру.

Рис. 7. Приклад вимірювання швидкості обертання пропелеру побутового вентилятору

Аналіз даних

Поміркуйте, чим зумовлене чергування високих та низьких піків на графіку автокореляції. Зробіть висновки.