Додати сигнали непарних / парних гармонік?


12

Як додати непарні або парні гармоніки до сигналу з плаваючою точкою?

Чи потрібно вживати танх чи гріх?

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


3
Чому ви хочете додати гармоніки? Що ви намагаєтеся досягти? З яким сигналом ви працюєте?
Джим Клей

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

1
@CarlosBarbosa Ви повинні відредагувати цю інформацію з коментарів до свого питання. Надайте деталі - чим цікавіше питання для громади, тим більше відповідей ви можете очікувати, а також відповідей кращої якості.
пенелопа

чому непарні гармоніки більше небезпечні, ніж навіть гармонійні в електромережі

Відповіді:


17

Що робить ваше поле спотворень, це застосувати нелінійну функцію передачі до сигналу: output = function(input)або y = f(x). Ви просто застосовуєте ту саму функцію до кожного окремого вхідного зразка, щоб отримати відповідний вихідний зразок.

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

  • Якщо ваша функція передачі має непарну симетрію (її можна повернути на 180 ° щодо початку), вона створюватиме лише непарні гармоніки (1f, 3f, 5f, ...). Прикладом системи з непарною симетрією є симетрично-відсічний підсилювач.
  • Якщо ваша передавальна функція має рівну симетрію (може бути відображена по осі Y), то отримані гармоніки будуть лише гармоніками парного порядку (0f, 2f, 4f, 6f, ...) Фундаментальна 1f - це непарна гармоніка, і видаляється. Прикладом системи з рівномірною симетрією є повнохвильовий випрямляч.

Так що так, якщо ви хочете додати непарні гармоніки, поставте свій сигнал через непарно-симетричну функцію передачі, як y = tanh(x)або y = x^3.

Якщо ви хочете додати лише гармоніки, подайте сигнал через функцію передачі, яка є навіть симетричною плюс функцію ідентичності, щоб зберегти початковий фундаментальний характер. Щось на кшталт y = x + x^4або y = x + abs(x). x +Зберігає фундаментально , що в іншому випадку буде знищено, в той час як x^4навіть симетрична і виробляє тільки парні гармоніки (включаючи DC, які ви , ймовірно , хочете , щоб потім видалити з фільтром верхніх частот).

Рівна симетрія:

Функція передачі з рівномірною симетрією:

y = x ^ 6 функція передачі

Оригінальний сигнал сірого кольору, із спотвореним синім кольором та спектром спотвореного сигналу, що показує лише гармоніки та не має принципового значення:

y = x ^ 6 спектра

Непарна симетрія:

Функція передачі з непарною симетрією:

y = x ^ 7 функція передачі

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

y = x ^ 7 спектра

Навіть симетрія + основні:

Функція передачі з рівномірною симетрією плюс функція ідентичності:

y = x + x ^ 4 функція передачі

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

y = x + x ^ 4 спектра

Це те, про що люди говорять, коли кажуть, що викривлення «додає дивні гармоніки», але це не дуже точно. Проблема полягає в тому, що гармонічне викривлення існує тільки для введення синусоїди . Більшість людей грають на інструментах, а не синусоїди, тому їх вхідний сигнал має кілька компонентів синусоїди. У цьому випадку ви отримуєте інтермодуляційне спотворення , а не гармонійне спотворення, і ці правила щодо непарних і парних гармонік більше не діють. Наприклад, застосовуючи повнохвильовий випрямляч (навіть симетрію) до наступних сигналів:

  • синусоїда (лише основні непарні гармоніки) → синусоїда, що випрямлена повною хвилею (навіть лише гармоніки)
  • квадратна хвиля (лише непарні гармоніки) → DC (навіть лише 0-а гармоніка)
  • пиляна хвиля (непарна і парна гармоніка) → трикутна хвиля (лише непарні гармоніки)
  • трикутна хвиля (лише непарні гармоніки) → 2 × трикутна хвиля (лише непарні гармоніки)

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

(Існує деяка правда у твердженні, що звуки з рівними гармоніками є "музичнішими", ніж звуки лише з непарними гармоніками , але ці спектри насправді тут не виробляються, як пояснено вище, і ця заява справедлива лише в контексті У будь-якому випадку західні масштаби. Незвичайні гармонічні звуки (квадратні хвилі, кларнети тощо) є більш приголосними на музичній шкалі Болена-Пірса, що базується на співвідношенні 3: 1 замість октави 2: 1.)

Ще слід пам’ятати, що цифрові нелінійні процеси можуть спричинити згладжування, що може бути погано чутним. Див. Чи існує таке поняття, як обмежене смугою нелінійне спотворення?


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

8

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

Розмахування хвиль

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

 y=f(x)=d0+d1x+d2x2+d3x3++dNxN;

У нашому випадку кожен елемент створює гармоніку, а потім всі вони складаються. Перегляд кожного члена визначається наступним відношенням повторення:

Tk+1(x)=2xTk(x)Tk1(x);

T0(x)=1;

T1(x)=x;

T2(x)=2xx1=2x21;

T3(x)=2x(2x21)x=4x33x;

Як ви здогадуєтесь, другий член - перший гармонік, а третій - другий тощо.

Ще одна особливість поліносів Чебишева, коли через них подається сигнал, амплітуда якого менший за одиницю, вихід - менш насичений звук з гармоніками. Це дозволяє створити ефект overdrive.

sin


Гарна відповідь, тут щось дізнався. Однак я не згоден з вашим використанням функції передачі терміна . Його загальне визначення - відношення виведення до входу лінійної системи, інваріантної за часом у частотній області. Ваша система нелінійна. Я б швидше назвав це характерним або просто функціонував тут.
Дев

@Deve Дякую Так, я використовував неправильний термін, просто функціонував досить добре. Я думав написати приклад лінійної системи, але це досить просто, тому термін залишився в моїх думках
sigrlami

Нічого, дякую за все це я буду читати, хоча багато, здається, будь-який шанс якогось прикладу c коду? ще раз дякую
Карлос Барбоса

T0(x)T1(x)y

@Mohammad вони не пов’язані між собою, це просто простий опис функції поліномів, якщо початковий розробник теми цього не знає.
sigrlami
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.