Аудіокодек своїми руками — це просто

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

Пора зняти завісу, відчинити дверцята та власні очі поглянути на таємничий алгоритм розбурхує уми і серця, ласкаво просимо на сеанс з викриттям!



Читати далі →

Фур'є-обчислення для порівняння зображень

Традиційна техніка «початкового рівня», порівняння поточного зображення з еталоном ґрунтується на розгляді зображень як двовимірних функцій яскравості (дискретних двовимірних матриць інтенсивності). При цьому вимірюється або відстань між зображеннями, або міра їх близькості.
Як правило, для обчислення відстаней між зображеннями використовується формула, яка є сумою модулів або квадратів різниць інтенсивності
d(X,Y) = SUM ( X[i,j] — Y[i,j] )^2
Якщо крім простого порівняння двох зображень потрібно вирішити задачу виявлення позиції фрагмента одного зображення в інше, то класичний метод «початкового рівня», що полягає в переборі всіх координат та обчислення відстані за вказаною формулою, як правило, зазнає невдачі практичного використання через необхідного великої кількості обчислень.
Одним з методів, що дозволяють значно скоротити кількість обчислень, є застосування Фур'є перетворень і дискретних перетворень Фур'є для розрахунку міри збігу двох зображень при різних зсувах їх між собою. Обчислення при цьому відбуваються одночасно для різних комбінацій зрушень зображень відносно один одного.
Наявність великої кількості бібліотек, які реалізують Фур'є перетворень (у всіляких варіантах швидких версій), робить реалізацію алгоритмів порівняння зображень не дуже складним завданням для програмування.

Читати далі →

Машинне навчання - 4: Ковзне середнє

Прийнято вважати, що дві базові операції «машинного навчання» — це регресія і класифікація. Регресія — це не тільки інструмент для виявлення параметрів залежності y(x) між рядами даних x та y (чого я вже присвятивкілька статей), але і окремий випадок техніки їх згладжування. У цьому прикладі ми підемо трохи далі і розглянемо, як можна проводити згладжування, коли вид залежності y(x) наперед невідомий, а також, як можна відфільтрувати дані, які контролюються різними ефектами з істотно різними часовими характеристиками.

Один з найбільш популярних алгоритмів згладжування, що застосовується, зокрема, у біржовій торгівлі — це ковзне середнє (включаю його в цикл статей з машинного навчання з деякою натяжкою). Розглянемо ковзне усереднення на прикладі коливань курсу долара протягом кількох останніх тижнів (знову-таки в якості інструменту дослідження використовуючи Mathcad). Самі розрахунки лежать тут.




Читати далі →

Виявлення сигналу в шумах


За родом своєї діяльності мені доводиться здійснювати контроль різних параметрів наземних імпульсно-фазових радіонавігаційних систем (ИФРНС) «Чайка» і Loran-C. У цій статті я хочу поділитися одним з методів виявлення часу приходу імпульсу ИФРНС при наявності шумів. Метод застосовується у багатьох задачах пошуку сигналу відомої форми.

Читати далі →

Перетворення Фур'є в дії: точне визначення частоти сигналу і виділення нот

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

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

image


Читати далі →