Які хороші способи виявити відсікання сигналу в записі?


32

З огляду на запис, мені потрібно виявити, чи відбулося якесь відсікання.

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

Запис може бути зроблений з 16 або 24-розрядних перетворювачів A / D і перетворюватися на значення з плаваючою комою від . Якщо це перетворення має форму поділу на 2 15 - 1 або 2 23 - 1 , то, імовірно, негативні піки можуть бути дещо нижчими за -1, а зразки зі значенням -1 не відсікаються?1...121512231

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


8
Майте на увазі, що рівень відсікання не завжди є цифровим максимумом. Якщо аналогова схема (або навіть аналогова сторона АЦП) має дещо нижчий рівень відсікання, ніж цифровий макс., Вона буде вирізана рано. Якщо він затисне в аналоговому режимі і потім проходить через деяку фільтрацію, це навіть не буде прямою лінією. Які сценарії потрібно виявити?
ендоліт

1
Записи зроблені за допомогою звукового пристрою ПК (зазвичай підключений через USB). Переважно це відповіді на розгортку або стимул МЛС і використовуються для обчислення кімнатної імпульсної відповіді. Я не контролюю обладнання, тому відсікання може виникнути навіть при виході стимулу. Не думав про це раніше, але я радий, що ти про це подумав.
Хан

Відповіді:


30

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


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

Гістограма

Ось гістограма сигналу, яку Йода дає у своїй відповіді:

Гістограма без відсікання

А тепер справа про їх відсікання:

Гістограма з відсіканням

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


2
Це божевільний дивовижний ефект. Дуже цікаво.
Кортук

Я радий, що ти запропонував цей метод. Я мав би сам це включити ...
PearsonArtPhoto

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

1
Можна також спочатку прийняти абсолютне значення сигналу і отримати більш гладку односторонню гістограму
ендоліт

У мене пальці сверблять, щоб спробувати це на моїх сигналах. Спасибі.
Хан

20

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

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

Ось короткий приклад в MATLAB, що демонструє це. Тут я створюю обмежений діапазон сигналу тривалістю 1s, відібраний на 1000 ГГц, а потім відсікаю його між собою ±0.8(див. Верхній сюжет на малюнку нижче)

time = 0:0.001:1;
cleanSignal = sin(2*pi*75*time).*chirp(time,50,1,200);
clippedSignal = min(abs(cleanSignal),0.8).*sign(cleanSignal);

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

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

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


1
Деякі мої сигнали (особливо MLS) йдуть аж до частоти Nyquist. Тож цей метод, мабуть, не завжди застосовується для мене.
Хан

@yoda Маючи спектри в руці, як тоді можна сказати, що спектр "брудний", як ви вказали? Який тест можна виконати?
Спейсі

9

Трохи цього залежить від способу запису. Здається, ви використовуєте лише 1 перетворювач, який дещо спрощує речі.

Вам слід шукати що-небудь, що перевищує деякий поріг, а конкретно більше одного пункту поруч. Зазвичай A / D перетворювачі насправді не читають їх максимальне значення, якщо ви не перевірите його точно, тому зрозумійте, що максимальне значення може бути нижчим, ніж здається можливим.

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

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


Тут дуже практичні поради. Разом з підходом @ Kellenjb це повинно дати мені достатньо працювати над впровадженням.
Хан

3

MLS (послідовності максимальної довжини) особливо складні для аналізу на відсікання. Їх коефіцієнт гребеня (= пік / rms) дуже близький до 1, що навіть на три дБ менше, ніж синусоїда. Багато перетворювачів D / A розроблені для того, щоб сприймати синусоїду як найгірший випадок, і MLS, що відтворюється на повній амплітуді, може легко зафіксувати вихідну інтерполяційну ланцюг D / A.

Наступна проблема полягає в тому, що відрізаний MLS виглядає майже однаково, ніж той, що не відсікається, оскільки амплітуди майже всі + -пик в першу чергу. Також аналіз PDF не працює, оскільки PDF MLS - це просто дві великі вершини на краях.

У типовому вимірюванні відгуку імпульсу кімнати найбільш вірогідною точкою відсікання є насправді D / A, підсилювач або динамік. Після того, як він пройшов через приміщення, він виглядає набагато менше, ніж MLS, і для цього легше оцінити відсікання методами, описаними вище.

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

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

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