Перейти к содержанию

Самодельное активное шумоподавление


Aleksid1

Рекомендуемые сообщения

Привет,

Я хочу поэкспериментировать с самодельным активным шумоподавлением (ANC) на основе:

- некоего блока, который инвертирует фазу звука в реальном времени;
- динамиков (не наушников);
- внешнего микрофона. 

Что можно купить для такого эксперимента? Чисто в познавательных целях. Тема давно интересна.

Желательно, чтобы можно было настраивать параметры выходящего звука на динамики - тембр, НЧ, ВЧ, СЧ фильтры.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

1 час назад, Aleksid1 сказал:

инвертирует фазу звука в реальном времени

Нельзя вот просто так инвертировать фазу на 180 градусов, расположив микрофон и динамики где захотелось, и надеяться на полное отсутствие звуков.

Можно попробовать так:

1) Расположить динамик так, что бы его излучение совпадало с направлением источника шума, и никак не совпадало с направлением микрофона.

2) Расположить голову неподвижно в одной точке, что бы оба уха были на одном расстоянии от динамика.

3) Направить микрофон к источнику шума (противоположная сторона от динамика).

4) подать сигнал с микрофона в противофазе с задержкой (-1 и delay), соответствующей расстоянию распространения звука от микрофона до колонок. Допустим, можно на компьютере это сделать при помощи системного "Equalizer APO".

Если понравится и результаты тебя устроят, можно так же задержки и усиления сделать при помощи "коробочки" с DSP на основе микросхемы ADAU1701... Даже можно "крутилки" вывести и в реальном времени корректировать параметры.

Изменено пользователем motoandrey14
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Спасибо за ответ! 

Я отлично понимаю, что достичь эффекта с ANC без наушникам крайне непросто.

Хотя интересно, а как в автомобиле с ANC шумоподавление работает, если голова пассажира может быть повернута влево-право.

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

Может есть какой-то недорогой микшер с возможностью инвертирования фазы?

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

3 часа назад, Aleksid1 сказал:

Хотя интересно, а как в автомобиле с ANC шумоподавление работает, если голова пассажира может быть повернута влево-право.

Всё зависит от длины волны.

На частотах ниже 200 Гц (звук работы мотора например), длина волны один метр и больше. Это значит, что в пределах десятков сантиметров на таких частотах можно спокойно крутить головой и фаза особо не поменяется. Собственно, в этом случае и микрофон можно расположить в любом месте рядом, и действительно, тупо подать сигнал в противофазе на динамики. (Поменять фазу на 180 градусов - просто поменяй полярность динамика)

Другое дело, если мы говорим про частоты 10000 Гц (пение птиц), где длина волны всего лишь 3 См. А это значит, что для шумоподавления на частотах выше 1000 Гц головой уже особо не покрутишь. А значит, для частот выше 1000 Гц:

3 часа назад, Aleksid1 сказал:

инвертирования фазы?

Без задержки ничего не получится. Основа - сделать задержку в звуке и подать её в противофазе, что бы фазы двух звуков были одинаковыми и противоположными.

3 часа назад, Aleksid1 сказал:

Мне кажется, что компьютер не подходит

А скачать, запустить, и поиграться 5 минут и посмотреть на задержку, что бы не казалось?

Попробуй поставить две колонки, одну на расстоянии 1 метр впереди, другую на расстоянии 2 метра позади, включи музыку в моно, и после инвертируй канал, затем добавь задержку в ближний канал, и пойми, покрути головой, послушай как работает шумоподавление "в живую" и на каких частотах (фильтрами порежь на диапазоны и послушай). Что бы меньше вопросов было. Там всё это делается легко и быстро всё регулируется. Вот тебе пресет на такой сценарий:

Скрытый текст

Copy: L=-0.5*L+-0.5*R R=0.5*L+0.5*R
Filter: ON LP Fc 200 Hz
Channel: L
Preamp: -10 dB
Delay: 3 ms
Channel: R
Preamp: -5 dB

3 часа назад, Aleksid1 сказал:

существенную задержку в обработке

Так нам и нужно добавить задержку в сигнал. Примерно в 1000 раз больше, чем "существенная задержка в обработке".

3 часа назад, Aleksid1 сказал:

недорогой

ADAU1701 позволит тебе сделать ЛЮБЫЕ настройки звука.

Изменено пользователем motoandrey14
Ссылка на комментарий
Поделиться на другие сайты

Вот оно наконец то!

С подобной идеей в году так 1986 подкатывал некий субъект, приглашал так сказать к сотрудничеству:D

Ну и прошло без малого 35 лет, и ... .

Кто нибудь сделал, хотя бы макет рабочий, я не слышал.

Ну хотя представь звук и "противозвук" должны совпадать не только по фазе но и по амплитуде.

И если вы не можете заглянуть в будущее и предугадывать какой будет сигнал , то как бы быстро не обрабатывали сигнал  у вас всегда будет задержка.

Кроме этого нужно и ещё создать этот самый "противозвук", неким устройством, который сам имеет свои  задержки.

Очередной ПРОЖЕКТЁР.

Ссылка на комментарий
Поделиться на другие сайты

21.09.2020 в 01:22, motoandrey14 сказал:

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

Я понял. Спасибо за объяснение

21.09.2020 в 01:22, motoandrey14 сказал:

Попробуй поставить две колонки

Хорошая идея эксперимента. Спасибо, я с этого и начну.

Изменено пользователем Falconist
Ссылка на комментарий
Поделиться на другие сайты

Извините, я больше не буду писать на форуме. У вас тут ненормальный модератор.

Вынес предупреждение за оверквотинг. Это за две небольшие цитаты. Я сам администратор большого форума больше 20 лет и никогда занимался такими придирками новых участников.

Изменено пользователем Aleksid1
Ссылка на комментарий
Поделиться на другие сайты

  • 7 месяцев спустя...
3 часа назад, Dr. West сказал:

Да никаких не добился

Ну, почему же? Есть некоторое достижение:

22.09.2020 в 11:26, Aleksid1 сказал:

предупреждение за оверквотинг

 

Хорошо зафиксированный пациент в анестезии не нуждается

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, zalman сказал:

Мне тоже эта тема интересна каких результатов добился автор? Что то молчок здесь..

Здравствуйте, извините не могу пока порадовать результатами. Еще не начал эксперимент. Нужно купить оборудование, т.к. сам я собрать ничего не смогу.

И еще, некоторые люди сами ставят себе барьеры и ограничения, они никогда и ничего не откроют нового, пока сидят в привычном загоне.

Ссылка на комментарий
Поделиться на другие сайты

Попахивает "ниспровержением законов" и "шатанием устоев", что, вкупе с 

6 часов назад, Aleksid1 сказал:

сам я собрать ничего не смогу

, выглядит особо пикантно.
Умоляю, не забрасывайте тему, давненько на форуме не было такой вкусной еды.

Изменено пользователем Dr. West

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • @nekrylov Кулер на малых оборотах по центру радиатора решит все проблемы, при толщине основания 10 мм такое расположение выходников ничем плохим не грозит, при условии обдува. Радиатор выше 50-60 градусов вряд-ли нагреется когда-нибудь, его температура, скорее всего, будет от силы градусов на 10-15 выше температуры окружающего воздуха... Но схемка термоконтроля все же не повредит, на всякий пожарный.
    • двухтактный полумостовой импульсный преобразователь.   Качество монтажа ужасное, половина элементов, как этот конденсатор. Про сами детали сказать ничего не могу.   Пиковый ток из розетки? У меня есть осциллограф, если нужно могу провести замеры.    
    • Попробуйте скачать ГОСТ 16745-83 про конденсаторную бумагу. Там понятные слова, русские... :-)
    • Так ладно в общем нужно до конца разобраться с UART. Сейчас я выкладываю весь код и всю информацию что у меня есть. Сначала поясню что по схеме. Микроконтроллер у меня ATMEGA16. На PD2 и PD3 установлены светодиоды, На PC0 и PC1 установлены кнопки. Также установлен внешний кварц на частоту 7.3728 MHz. Теперь собственно сам код по UART. Код был взят из одного примера в просторах инета. Первоначально он был под ATMEGA8, но он вполне подошёл и на ATMEGA16. #define F_CPU 7372800UL #define BAUND 9600L #define UBRRL_value (F_CPU/(BAUND*16))-1 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> void init_pin(void); #define C_PC0 (~PINC&(1<<PC0)) #define C_PC1 (~PINC&(1<<PC1)) #define LED_1_ON() PORTD|=(1<<PD2) #define LED_1_OFF() PORTD&=~(1<<PD2) #define LED_2_ON() PORTD|=(1<<PD3) #define LED_2_OFF() PORTD&=~(1<<PD3) volatile start=1; char b; ISR(USART_RXC_vect) { b=UDR; } void init_UART() { UBRRL = UBRRL_value; UBRRH = UBRRL_value>>8; UCSRB|=(1<<TXEN); UCSRB|=(1<<RXEN); UCSRC|=((1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)); UCSRB|=(1<<RXCIE); sei(); } void send_UART(char value) { while(!(UCSRA&(1<<UDRE))); UDR=value; } int main(void) { init_pin(); init_UART(); while(1) { if (start==1) { _delay_ms(500); send_UART('O'); send_UART('K'); send_UART('!'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); start=0; } if (b == '0') { LED_1_ON(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '1') { LED_1_OFF(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '2') { LED_1_ON(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '3') { LED_1_OFF(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('3'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (C_PC0) { send_UART('P'); send_UART('C'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } if (C_PC1) { send_UART('P'); send_UART('C'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } } } void init_pin(void) { DDRC = 0b00000000; PORTC = 0b11111111; DDRD |= ((1<<2)|(1<<3)); PORTD &=~ ((1<<2)|(1<<3)); } Здесь я пробовал этот код UART конечно в таком виде работает, но здесь есть некоторая непонятная ситуация. На микроконтроллер почему то принимаются значения только в цифровом виде. По другому он отказывается работать. Возможно нужно как то перенастроить что то не совсем это понимаю. А UART эта вещь такая очень нужна без него не сделать управление плеером.
    • Заходишь в даташит усилителя, ищешь вход, обычно конденсаторы, туда и подпаиваешь. Выводишь 5 проводов: входы 4 каналов, и земля входа. Потом: провод левого переднего входа (in1) соединяешь с левым задним (in3), по аналогии с правой стороной делай так же. Получается 2 контакта и земля. Ищешь распиновку своего разъёма и паяешь. Распиновку могу объяснить, если фото будет. Что бы включить, Подключи разъём в телефон и вставь, например, диск с записанной тишиной. Именно с записанной тишиной. То есть со звуком. Например, скачиваешь аудиосигнал 100 гц, и в аудиоредакторе делаешь громкость этого звука на минимум и сохраняешь на диск. Тогда вроде песня будет, но не будет её слышно. И когда этот звук с диска будет воспроизводиться, включи музыку с аукса. 
    • @Гость Михаил, что мешает поставить и послушать? Что мешает потестить операционник из магазина на предмет подлинности, хотя бы замерить скорость нарастания выходного сигнала и сравнить с даташит? Из магазина с большой вероятностью может быть перемаркированный LM358, его сразу видно то характерной ступеньке на синусоиде и по частоте он просто "тормоз" по сравнению с ne. Ваш LG медленнее в три раза от исходного. Ваш lg со своими 3 МГц должен быть однозначно лучше, чем перемаркированный ne из 358. Например, разницы между оригинальным LM833 и с хорошей  8 мегагерцовой  подделкой ne с Али не слышно.
×
×
  • Создать...