Чи існує таке поняття, як обмежене смугою нелінійне спотворення?


12

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

http://flic.kr/p/83JMjT

введіть тут опис зображення

Але я щойно зрозумів, що якщо застосувати велику ампліфікацію до цифрової синусоїди, а потім зафіксувати її в цифровому форматі, вона створить таку ж форму хвилі квадратної форми, без брижі явища Гіббса. Тож це також виробляє спотворені продукти спотворення, правда? Тож будь -яке нелінійне спотворення в цифровій області, що виробляє гармоніки поза межами Nyquist, призведе до отримання спотворених продуктів спотворень? (Редагувати: я зробив кілька тестів і підтвердив, що ця частина правда.)

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

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

 

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


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

@JasonR: Так, для генерації квадратних хвиль ви можете або зробити дійсно обмежений діапазон методом, наприклад, синтез адитів, або ви можете наблизитись спочатку до розгортання, породжуючи квадратну хвилю наївно, а потім знижуючи потужність (але все одно буде деякий псевдонім, просто на нижчому рівні). Точно так само ви можете наблизити спотворення, як ви сказали спочатку, підсумовуючи, але чи існує спосіб їх генерування безпосередньо, з нульовим псевдонімом, аналогічним методу аддитивного синтезу для генерації квадратних хвиль?
ендоліт

@JasonR: Я взагалі запитую про будь-яке нелінійне спотворення, але щось на кшталт емуляції аналогової схеми викривлення підсилювача гітари було б хорошим прикладом. Якщо я правильно розумію, робити це наївно в цифровому домені призведе до викривлення продуктів, які не існують при спотворенні в аналоговому домені, деякі з яких можуть бути чітко чути на частотах, нижчих за основні тощо.
endolith

2
@endolith Поліноми Чебишева можуть бути тим, що ви хочете.
datageist

@datageist: Чи можете ви написати відповідь про те, як використовувати поліноми Чебишева? Навіть короткий.
ендоліт

Відповіді:


5

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

Я можу придумати кілька способів продовжити:

  1. Ви можете використовувати коефіцієнт перебігу симпатії досить високий, щоб захопити додаткові гармоніки (до деякої довільної точності, наприклад, вашої шумової підлоги),
  2. Можна скористатися функцією "м'якшої" відсікання (див., Наприклад, тут ), яка містить гармоніки, які вимирають раніше, ніж жорсткі машинки для стрижки. Це легше моделювати, але вводить власне спотворення на низьких частотах.
  3. Спираючись на запропонований вище підхід, інтерполюйте зразок сигналу (наприклад, використовуючи інтерполятор Лагранжа або Чебишева) для побудови моделі безперервного часу. Потім застосуйте жорстку машинку для стрижки волосся та низький прохід у змодельованій області безперервного часу. Пробний результат.

Можна комбінувати (1) і (2). Третій підхід є складним, але дає вам найкращий контроль над тим, скільки спотворень слід визнати, і, ймовірно, краще підходити до дуже високих вимог до вірності.

Для нелінійних функцій, які допускають розширення рядів (наприклад, Тейлор / Маклаурін), ви можете отримати гідну інтуїцію про те, як швидко розпадаються гармоніки. Розширення Maclaurin функції :f(х)

f(х)=н=0[f(н)(0)н!хн]

У вашому випадку - функція відсікання. (Ви не можете зробити це за допомогою жорсткої машинки для стрижки, принаймні, не наївно!) Якщо ви вважаєте заміну x = g ( t ) , де g ( t ) - ваш вхідний сигнал, x n стає g ( t ) n , який ви можете вважати згорткою вхідного сигналу з собою n разів. Таким чином, для низькочастотних сигналів n- й член нескінченного підсумовування має смугу пропускання nf(х)х=г(т)г(т)хнг(т)ннннразів більше, ніж ваш сигнал. Щоб завершити малюнок, потрібно розібрати амплітуду, пов’язану з кожним терміном, і вирішити, скільки термінів у підсумовуванні доречні.

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


Для уточнення, №3 - це не просто пересимплінг з інтерполяцією, це пошук параметрів безперервного многочлена Чебишева, який відповідає вибірковим точкам, а потім робота з тими параметрами та моделлю полінома?
ендоліт

1
Я уявляю послідовність поліноміальних інтерполяторів, які є активними на короткому діапазоні зразків. Отже, по мірі того, як надійде партія нових зразків, ви побудуєте інтерполятор, який активний лише у визначений інтервал. Ваше безперервне наближення до вибіркового сигналу складається з цих многочленів. (Я думаю, що Лагранж, але Чебишев - це, мабуть, те саме. Я не пригадую, щоб Чебишевські інтерполятори точно відповідали точкам вибірки. Якщо ні, ви отримаєте розриви при перемиканні між інтерполяторами.)
Graeme,

4

Кілька підходів до нелінійного спотворення без псевдоніму (у порядку зростання складності):

  1. fс2NffN+1

  2. N2N

  3. f:RRf:RNRМNМ>N

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


у[т]=х[т]к

Або ще одне (можливо, пов'язане) питання - якщо ви перейдете з локальним кінцевим підходом, про який ви згадали, ви отримаєте карту від усіченої енергетичної серії до усіченої енергетичної серії. Коли ви намагаєтесь опустити усічений ряд потужностей, який, як правило, поєднується з функцією sinc, ви отримуєте простий вираз для результату? Чи можна результат виразити знову як усічений ряд потужностей, і якщо так, як він виглядає?
Майк Батталья

1
@MikeBattaglia, можливо, ви можете створити нове запитання, щоб я міг дати там ґрунтовну відповідь. Щоб відповісти на друге запитання, ви не використовуєте ядро ​​SINC, але в найпростішому випадку ядро ​​коробки. Ядра вищого порядку працюють, але щоб отримати аналітичний результат, вам потрібно обмежитися певними ядрами.
Джазмман

Дякуємо - створив тут нове запитання щодо питання дизайну фільтра: dsp.stackexchange.com/q/51533/18276
Майк Батталья

2

Тн(х)=cос(наrccос(х)).

Тн(х)

(1)Тн(cос(кх))=cос(наrccос(cос(кх)))=cос(нкх).

Самі поліноми можна легко генерувати, використовуючи наступне відношення рецидиву :

Т0(х)=1Т1(х)=хТн(х)=2хТн-1(х)-Тн-2(х).

Ось перші кілька:

Т0(х)=1Т1(х)=хТ2(х)=2х(х-1)=2х2-1Т3(х)=2х(2х2-1)-х=4х3-3хТ4(х)=2х(4х3-3х)-(2х2-1)=8х4-8х2+1

(1)Т2cос(х)

2cос2(х)-1=2(еiх+е-iх2)2-1=24(еi2х+2еiхе-iх+е-i2х)-1=(еi2х+е-i2х2)+22-1=cос(2х).

Обчисливши серію Чебишева

f(х)=н=0анТн(х)

нf(х)


Дякую! Що відбувається із формами хвиль, окрім одного синусоїди, що відбувається? Інтермодуляція з обмеженою смугою чи ні?
ендоліт

1
хн

1

@ robert-bristow-johnson пояснює це дуже чітко на comp.dsp :

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

Іншими словами, якщо ваша нелінійність є многочленом, найвища частота, яка може бути вироблена спотворенням, буде найвищою частотою у вашому сигналі разів, ніж порядком N полінома. (Поліномальна нелінійність примножує сигнал на себе N разів, тому його спектр переплутається з самим собою і поширюється тим самим співвідношенням.)

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

Насправді, ви можете знизити швидкість перевибірки, допустивши деякий псевдонім до тих пір, поки він міститься в діапазоні, який буде видалено перед зниженням часу:

Ще одна маленька хитрість полягає в тому, що вам не потрібно піклуватися про згладжування, яке згортається до області, яку ви будете LPF. тому поліном 5-го порядку повинен мати лише коефіцієнт перебігу симплему 3. ці топ-2 гармоніки можуть мати псевдонім, але вони не повернуться до базової смуги. при понижуючому тиску ви викреслюєте ці псевдонімічні гармоніки. тому я думаю, що жорстке і швидке правило

коефіцієнт пересимплінгу = (поліноміальний порядок + 1) / 2


2
NN+12fс

@robert Я бачив і додав цю частину, коли ви коментували. Якщо ви перепишете це як власну відповідь, я видалю її та прийму вашу
endolith

1
о Боже. щоб одягнути приємну відповідь вимагає роботи.
Роберт Брістоу-Джонсон

@ robertbristow-johnson Ну, уявні точки Інтернету - це твоє, якщо ти хочеш
ендоліт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.