LINUX.ORG.RU

Хочу активную систему шумоподавления НЧ

 


0

2

Задача немного специфическая, не хочу вдаваться в детали, но общая идея такая: есть микрофон и динамик. Нужно как можно быстрее обработать звук (что-то типа многополосной фильтрации и линии задержки) и выдать его на динамик. И вопрос: какое оборудование использовать, чтобы уложиться в 1мс на круг, а ещё лучше в 500мкс? Частота оцифровки не слишком важна, разрядность - видимо нужно больше 8, но не знаю, сколько. Я знаю, что в АЦП/ЦАП есть свои конструктивно обусловленные задержки, и это не говоря про задержки самого обсчёта. В голову пришли: большой компьютер, но пока не получалось меньше 3мс на обычных ОС и драйверах, на встроенной аудоикарте. RPI и иже с ними - тут вопрос в задержках на ЦАПах. Также L-Card. E-154 в пластиковом корпусе, могут быть наводки, и стоит уже немало. Зато её можно программировать.

★★★★★
Ответ на: комментарий от den73

Во-вторых, люди слышат разницу в атаке низкочастотных инструментов.

В чём? Давайте без аудиофильских терминов. Эта ваша «атака» - это же не про фазу, а про физически разные сигналы, то есть у вас «резкая атака» - это более широкополосный всплеск просто, а не «какая-то другая фаза». Вы думали «другая атака» - это что? Это когда мы начали синус не с нуля крутить, а с единицы как косинус? Типа прыжок с нуля на единицу сразу? Так это не синус и не косинус, а более широкополосный сигнал - его ухо и регистрирует как удар сразу по куче нервов, а не по одному из нервов.

lesopilorama
()
Ответ на: комментарий от den73

Мне тут же на лоре недавно объясняли, что хороший цифровой фильтр перед ЦАП требует до сотен семплов вперёд

Они там бред несут, потому что вам фильтр не нужен. Вы же не собираетесь цифровым способом резать низкие частоты - режьте аналоговым. Поставьте тупо такой микрофон, который вообще выше 300 гц ничего не слышит и после него ещё фильтров аналоговых наверните. Задача же не в фильтрации частотной, а в работе с фазой. Повторять сигнал так, чтобы повтор вычитал оригинал.

lesopilorama
()
Последнее исправление: lesopilorama (всего исправлений: 1)
Ответ на: комментарий от den73

Они не виноваты, что стены из дерьма и место тихое, шум с улицы не заглушает. Я с ними говорил, они делали тише. Не телевизор шумный, а мне так не повезло. Кроме того, это уголовщина и одного уже на таком поймали.

Я в одном из сталинских домов в своей квартире наблюдал реализацию стены между соседними квартирами - кипичная толщиной в полкирпича со щелями. Сверху налеплен гипсокартон. Слышно было как радио каждый час делает пик-пик-пик из радио у бабушки. Ну да, стены бывают разные: кому-то повезло иметь монолитную жирненькую стену до соседей, а кто-то лох.

lesopilorama
()
Последнее исправление: lesopilorama (всего исправлений: 1)
Ответ на: комментарий от den73

Блин, ну как можно быть таким занудным. Берём голос. Вибрато. 220 герц плюс минус 3 герца. В каждый момент сигнал является суммой N синусоид, но частота этих синусоид меняется 7 раз в секунда на +- 3 герца. Их я и называю гармониками, и это правильно. Если 220 герц отстают по фазе на 90 градусов, а 880 - не отстают, то получается, что суммарный сигнал в каждый момент времени чуть расстроен относительно себя самого, допустим, 220.1 герц и 880 ровно. Я об этом и говорил, когда говорил про некратные гармоники. В комнате с реверберацией получается облако звуков разной частоты, когда в нём поют вибрато.

Да, всё верно. Голосо глушить тяжело. Но чувак в треде хотел НЧ какое-то глушить.

lesopilorama
()
Ответ на: комментарий от KivApple

Если тебе нужна задержка 500мкс, то проще всего выкинуть Linux и любую другую не RTOS и поставить микроконтроллер с АЦП и ЦАП подключенными по I2S/SPI. А там либо голый цикл «чтение, обработка, запись» (лучше всего первое и последнее делать с использованием DMA), либо RTOS. Вопрос насколько тяжёлый у тебя алгоритм. Если для МК тяжёлый (даже для всяких 32-битных STM32 с тактовой частотой 180 МГц и выше), я бы ещё рассмотрел вариант с FPGA.

Годнейшее мнение. FPGA на авито можно по 200 руб находить - старые пыльные «контрольные платы» от старых биткоиновых майнеров antminer s9. Там ещё внагрузку два ядра ARM и 512MB DDR3. Но FPGA вроде бы жрут как конь на сопоставимом объёме вычислений кажется. Ну всмысле «вычислений» условных, FPGA не вычислениями занимается, там прям схема из транзисторов своя, но всё равно в итоге будут какбэ вычисления.

lesopilorama
()
Последнее исправление: lesopilorama (всего исправлений: 1)
Ответ на: комментарий от lesopilorama

Главный посыл был что фаза таки имеет значение для восприятия звука человеком.

Нет, вообще не имет. Уши работают не как звуковуха. В ухе улитка …

Читать ваши фантазии на тему довольно занимательно.

поэтому человек никогда не различит 12000 гц и 12010 гц например.

С арифметикой у вас тоже нелады. На таких частотах в расстояние между ушами укладывается несколько периодов. Утверждалось что разность фаз является основным источником информации о направлении до 1.5kHz.

bugfixer ★★★★★
()
Ответ на: комментарий от bugfixer

С арифметикой у вас тоже нелады. На таких частотах в расстояние между ушами укладывается несколько периодов. Утверждалось что разность фаз является основным источником информации о направлении до 1.5kHz.

Информацией о направлении для человека всю жизнь было АЧХ сигнала и разная энергия на разных частотах. Информация про лево-право - тупо разность энергий в одном и другом ухе. Уши смотрят в разные стороны и голова достаточно массивный мясной объект, через который звук хреново идёт. Информация про верх-низ, зад-перёд - про разницу в ВЧ составляющей сигнала: форму ушных раковин тут ключевое: высокие частоты у звука прилетевшего сзади сильно ослабляются. Есть даже специальные прикольные стереомикрофоны в форме силиконовой головы с хорошими копиями ушных раковин.

На частотах ниже 1500 гц вроде да, фаза может как-то ловиться - десятки микросекунд моск как-то детектирует, выше уже точно нет. В мозгу есть какие-то нейроны, которые действуют как сдвиговые регистры, по ним типа волна пробегает, а над этими «регистрами» ещё один слой нейронов, который выдаёт возбуждение одного из нейронов, говорящего какая задержка между двумя сдвиговыми регистрами - чё-то там такое есть, да, но после 1500 гц это сильно ломается и не работает. В основном в природе для голосов, шумов подкрадывающихся тигров и шелестов это всё не работает - рулит форма головы, форма ушей, затенение ВЧ-колебаний головой.

lesopilorama
()
Последнее исправление: lesopilorama (всего исправлений: 5)