Audio Perfection Forum
Многозвенный IIR фильтр корректирующий АС и вопросы FIR фильтров - Версия для печати

+- Audio Perfection Forum (https://www.audio-perfection.com/forum)
+-- Форум Акустика, Электроакустика, Психоакустика (https://www.audio-perfection.com/forum/forumdisplay.php?fid=11)
+--- Форум Громкоговорители (https://www.audio-perfection.com/forum/forumdisplay.php?fid=12)
+--- Темы: Многозвенный IIR фильтр корректирующий АС и вопросы FIR фильтров (/showthread.php?tid=521)

Страницы: 1 2 3 4 5 6 7 8 9 10


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-10-2017

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


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-10-2017

Не думаю что это именно было причиной, но первое что заметил что конволюция фильтра с чирпом записаным под 0дБ выходит за эти 0дБ. Т.е. возможен клип при некоторых обстоятельствах. в зависимости от того как сделан вывод данных.

Атачу так же чирп на 32к семплов. Если есть возможность записать выход то мне будет что сравнивать.


RE: Многозвенный IIR фильтр корректирующий АС - mr-marlen - 05-10-2017

При использовании FIR фильтров всегда уменьшаю амплитуду на 10 дБ, чтобы избегать клипинга.
Вечером постараюсь записать выход шарка.


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-11-2017

Может попробовать из IIR сделать FIR?


RE: Многозвенный IIR фильтр корректирующий АС - mr-marlen - 05-11-2017

Такое пойдет?


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-11-2017

Так а как этот LR24db100hz звучит по сравнению с iir имплементацией? На первый взгляд надо удлиннить и наложить окно. Ну или как минимум удлиннить.


RE: Многозвенный IIR фильтр корректирующий АС - mr-marlen - 05-11-2017

БендеровецЪ Написал:Так а как этот LR24db100hz звучит по сравнению с iir имплементацией?
В отрыве от остальных полос сравнение будет неадекватным. Слшуать нотки на басах?
Можно попробовать прогнать свип артой и посмотреть на разницу. Сделал 200Гц удлиненный.
В общем пока 2 задачи:
1) Записать чирп.
2) Записать искажения артой FIR LR 24dB 200 Hz vs IIR LR 24dB 200Hz.

Еще что будем добавлять?


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-11-2017

Да пока это. А арте можно скормить wav и посмотреть искажения? Если да, то можно записать ее чирп, пропустить через филтр в матлабе и посмотреть видит ли так искажения.


RE: Многозвенный IIR фильтр корректирующий АС - mr-marlen - 05-11-2017

БендеровецЪ Написал:А арте можно скормить wav и посмотреть искажения?
Вав скормить можно, но будет только АЧХ.
БендеровецЪ Написал:Если да, то можно записать ее чирп, пропустить через филтр в матлабе и посмотреть видит ли так искажения.
По хорошему я видел где-то в интернете ссылку на метод измерения гармоник свипом, арта и все остальные c большой вероятностью его и используют. Нашел -
https://pdfs.semanticscholar.org/abc8/3f1297e5c033b8322f3d90d7c26423b6cc61.pdf
Если правильно понял, то вгоняется свип, затем применяется инверс FIR для данного свипа, чтобы полученный свип привести к IR. После на импульсной характеристике до основного пика получаем несколько дополнительных, которые и есть гармоники. Чем длиннее свип, тем больше будет времени между импульсом N-ой гармоники и основным пиком, что дает возможность взять большее окно для получения частотки. Как я понимаю затем берем АЧХ основного пика, затем двигаем начало окна на первый пик до основного и берем еще одну АЧХ, которая будет второй гармоникой, второй пик до основного - третья гармоника и т.д.
Дальше автор говорит о каком-то плагине для усреднения User’s interface of the Synchronous-Average plug-in. Может тебе будет проще разобраться.


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-11-2017

Ну синхронное усреднение то отдельная тема.
Так вроде бы ясно, но подробней уже завтра полистаю.


RE: Многозвенный IIR фильтр корректирующий АС - begemot - 05-11-2017

БендеровецЪ Написал:Ну синхронное усреднение то отдельная тема
Ну так если вы по шумам будете пролазить и гармоники будут видны-оно и не нужно.
Это такая особая полугнилая тема где можно легко наплодить ошибок на реальном сигнале.
В совте для АП2722 наверно штуки 4 разных варианта, и не могу сказать чтоб хоть один
вызывал полное доверие при реальных измерениях. Ну там это почти криминальный
случай, там длина ФФТ буфера всего 32К, в некоторых случаях просто выбора нет.


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-11-2017

Ну впринципе работает. Наложил вторую третью и четвертую гармоники. Вертикальный масштаб сделал логарифмическим для наглядности. Вобщем осталось только наложить окна и сделать fft


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-11-2017

Наложил тот самый первый фильтр на чирп. Вполне ожидаемо нет никаких искажений. Форма h(t) и есть сам фильтр, только с лог масштабе.
Надо таки сделать с наложением окон для выделения гармоник. Там все просто - формула типа взять логарифм поделить/помножить. Но щаз просто немного лень :)

Впринципе могу повыкладывать текст операций. numpy читаемый даже без коментариев, и можно воспроизвести эксперимент в любой точке пространства.


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-11-2017

Для референса сам фильтр (свеже вычитаный из файла) в лог масштабе. Вроде-бы все совпадает.


RE: Многозвенный IIR фильтр корректирующий АС - mr-marlen - 05-12-2017

Переизмерил все. Что-то еще больше становится непонятным :).
Гармоники 100Гц лезут из-за соединения гальванического соединения развязанных между собой компа-usb-DSP====ЦАП.
Похоже причина мелкого баса связана с его простым отсутствием в точке прослушивания. Т.к. по акустике есть шум помещения, а амплитуда методом свип падает, то наверное гармоники начинают определяться шумом, поэтому идет рост к НЧ по мере падения.
Получается лишних гармоник гармоник процессор не создает, но тогда возникает следующий закономерный вопрос почему при стандартных свиповских измерениях мы имеем завал, а если восстанавливать АЧХ комплексно - завала нет. По ощущениям при прослушке ушами завал все же был.
Где-то здесь зарыт какой-то простой технический нюанс. Помнится мне dee-jan тоже когда делал FIR фильтры в рефэйз пришел к выводу, что оно не звучит и остановился на простых FIR кроссах не трогающих ГВЗ в обратную сторону.
Что-то нутро мне подсказывает, что уши не ощущают мнимую часть, т.е. предвоздействие без амплитуды.
Цитата:В линейной фазовой системе отклик появляется намного позже начального воздействия. Причиной чего является задержка низкочастотных компонентов в дополнительной фазолинеаризующей системе, чтобы согласовать их со временем прохождения ВЧ-компонентов.
Цитата:Реакция минимальной фазовой системы следует немедленно после начального воздействия. Минимальная фазовая система имеет отклик, следующий сразу же за начальным воздействием. То есть данная система имеет минимальную задержку во времени реакции для формирования амплитудного отклика на входное воздействие. Поэтому минимальная фазовая система также является системой с минимальной задержкой.

Итого мой вывод - систему надо делать минимально-фазовой, а не фазолинейной.
Отсюда вытекает следующий постулат - а зачем тогда нужны FIR фильтры, если минимальную фазу можно сделать и в IIR?

До кучи в следующем посте прицеплю записанный твой чирп и чирпы с арта.


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-12-2017

Нарисовал скриптик чтобы фильтровать wav. Фильтр подгружается тоже как wav, но можно и в любой другой форму (txt например).
Пока-что сделал так что даже если входной wav целочисленный то выводит все равно как float32 и нормализует так что-бы запись была ~-1dBFs
Может содержать ошибки или неточности, но я не програмизд, если че :)


RE: Многозвенный IIR фильтр корректирующий АС - mr-marlen - 05-12-2017

Похоже Артовские чирпы оставил на рабочем столе домашнего компьютера. Если нужны - вечером выложу.
Здесь прицепил запись твоего чирпа с FIR фильтрацией, выложенным вначале 2048 таповым фильтром изменяющим ГВЗ.


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-12-2017

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

Файл просмотрю попожже, щаз дела всякие.


RE: Многозвенный IIR фильтр корректирующий АС - mr-marlen - 05-12-2017

БендеровецЪ Написал:Нарисовал скриптик чтобы фильтровать wav. Фильтр подгружается тоже как wav, но можно и в любой другой форму (txt например).
Пока-что сделал так что даже если входной wav целочисленный то выводит все равно как float32 и нормализует так что-бы запись была ~-1dBFs
Может содержать ошибки или неточности, но я не програмизд, если че :)
А это в какой программе смотреть, открывать и вообще какой софт используешь для преобразований?


RE: Многозвенный IIR фильтр корректирующий АС - БендеровецЪ - 05-12-2017

Использую numpy. МОжно пользоваться любым диструбутивом, но я использую этот - https://www.continuum.io/downloads (Python 2.7)

потом из желаемой дериктории выполнить jupyter.exe notebook

Откроется в браузере, кликать на файле, исполнять ячейки шифт+ентер

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