(Сообщение последний раз редактировалось: 05-12-2017, 03:49 AM mr-marlen.)
После прослушивания трехполоски с FIR фильтрами я пришел к выводу, что звук хуже, чем с IIR фильтрами.
Так почему бы нам не сделать многозвенный IIR фильтр корректирующий фазу?
Ниже представлена АЧХ+ГВЗ такого фильтра при использовании трех полос. Увеличив кол-во полос фильтр можно сделать с более плавной АЧХ и ГВЗ, но увеличивается сложность подбора. На глюки 5ого када не следует обращать внимания, он криво отображает ГВЗ при больших числах здержек.
Также из плюсов можно отметить более низкую задержку, которая будет определяться максимально задержкой верхней полосы. В данном случае 11,4 мс.
Принцип генерации - берем 3 звена Net1, Net2, Net3. Для первого звена ВЧ указываем задержку 10000мс, для второго СЧ 9900 мс, для третьего 0 мс. Затем применяем фильтры для каждого из звеньев, инвертируем при необходимости полярность и добиваясь получения нужной АЧХ+ГВЗ.
И еще мне кажется аналогичный подход, но с противоположной стороны можно применить в цифровой фильтрации для ЦАП и использовать вместо FIR фильтров многозвенные IIR. Вызванный рост ГВЗ сверху корректировать суммированием нижних полос с дополнительной задержкой.
(Сообщение последний раз редактировалось: 05-10-2017, 06:30 AM mr-marlen.)
nazar Написал:в чем хуже и как это все реализовано физически?
Использовались FIR фильтры с 2048 тапов на канал 48 кГц (больше miniSHARC не позволяет). Звучание 10'' басовика превращается в 5''. Если смотреть искажения на синусе - все ок.
Если смотреть свип, то растут гармоники к НЧ. Без FIR <1% с FIR поднимается к НЧ до 4-6%.
Когда на компе применял 300 мс фильтры для коррекции АС криминала не слышал.
mr-marlen Написал:Если смотреть искажения на синусе - все ок.
Если смотреть свип, то растут гармоники к НЧ. Без FIR <1% с FIR поднимается к НЧ до 4-6%.
А там ничего нигде не переполнялось? Если есть фильтр и данные сигналы, можно проверить в матлабе. Сравнить с тем что выдает mini.
Вот этот https://www.minidsp.com/products/opendrc...isharc-kit
Измерение АС из точки прослушивания без FIR и с FIR прицепил. Причем сначала я не мог понять почему мне совсем не нравятся по канальные FIR.
Тогда сделал фильтр корректирующий фазу всей АС, сделал промер и все стало очевидным. На обоих каналах аналогичная ситуация. Эффект как будто гигантские АС с двумя 10'' басовиками в каждой, превратились в 5'' колонки.
(Сообщение последний раз редактировалось: 05-10-2017, 07:04 AM БендеровецЪ.)
Самое простое с чего можно начать это переполовинить все коэфициенты и проверить на месте ли проблема, и что поменялось.
Сомневаюсь что это имеет отношение именно к типу фильтра, а не к его реализации.
Обьясняю ход своих мыслей. Берем unit sample response от IIR, обрубаем его до приемлемой длинны (пусть очень большой, для мысленого эксперимента), накаладываем понравившееся окно - вуаля, готов FIR. разница будет в точности передачи частотных характеристик, но если длинна окна выбрана правильной, это будет незначительной проблемой. Будет ли такой FIR хуже данного IIR если реализация не содержит ошибок? Маловероятно.
(Сообщение последний раз редактировалось: 05-10-2017, 07:10 AM mr-marlen.)
БендеровецЪ Написал:А там ничего нигде не переполнялось? Если есть фильтр и данные сигналы, можно проверить в матлабе. Сравнить с тем что выдает mini.
Вспомнил, что фильтр был 1598 тапов на канал, т.к. 2048 на все 6 каналов не дает. 1598 файл лежит дома. Искать влом, подбирать долго, т.к. FIR фильтр я сдвигаю относительно центра, чтобы было больше отсчетов для НЧ и вручную подгоняю амплитуду/фазу.
Можно 2048 попробовать. Если нужно - могу попробовать записать данный сигнал на выходе с шарка с обработкой.
Сигнал - sweep sine в программе арта. Как его потом преобразовать в график АЧХ+THD без понятия.
(Сообщение последний раз редактировалось: 05-10-2017, 07:26 AM mr-marlen.)
БендеровецЪ Написал:Он? А то у меня функцмя выругалась на незнакомый кусок данных, но вспринципе считала - два канала, 2048 семплов, float32.
Он.
Генерится в rephase, вначале в wav, чтобы удобнее было брать спектр в простых программах, а затем меняется формат на bin.
Заодно проверь в формате bin, приложенный в данный пост, тот-же файл?
Если есть записаный свип из арты я могу сделать конволюцию и сравнить с записью, либо могу сделать собственный свип и дать его, что-бы потом сделать запись и сравнить с моей конволюцией.
Но что-то мне подсказывает что в матлабе fir фильтрация с достаточной точностью/разрядностью не даст даже близко тех искажений что на картинке :)
(Сообщение последний раз редактировалось: 05-10-2017, 07:39 AM mr-marlen.)
Я таким фильтром фирил синус. Разница - минимум и вызвана тем, что начало окна беру с 0мс, т.е. переходной процесс влезает в окно и при FIR фильтрации входной импульс ослабляется на 10дБ, чтобы избежать клипинга при сложных сигналах.
Но эти цифры никак не 4%. Картинку прицеипл.
БендеровецЪ Написал:Если есть записаный свип из арты я могу сделать конволюцию и сравнить с записью
Записать свип из арты я смогу. Как потом этот свип преобразовать по методу Арта в гармоники?
Могу записать любой сигнал на выходе шарка с обработкой данным фильтром.
Надо попробовать посмотреть низкочастотный синус, вдруг что вылезет.
(Сообщение последний раз редактировалось: 05-10-2017, 07:53 AM БендеровецЪ.)
Ну я сразу на все вопросы сразу ответить не могу. Пока предлагаю простейшую проверку - сравнение данных на выходе dsp и обработаными вручную данными.
У меня возник вопрос к АЧХ и ФЧХ. По сути это задержка, из того что я вижу, но с откуда-то взявшимся риплом (артефакты fft преобразований/конечной длинны что-ли в какой-то из програм?) Я ж правильно понимаю что такая ачх не была самой целью?
БендеровецЪ Написал:По сути это задержка, из того что я вижу, но с откуда-то взявшимся риплом (артефакты fft преобразований/конечной длинны что-ли в какой-то из програм?) Я ж правильно понимаю что такая ачх не была самой целью?
Конечно не была, но когда у тебя длина FIR 2048 сэмплов и окно от начала импульса около 34 мс - кол-во отсчетов по частоте сильно ограничено.
(Сообщение последний раз редактировалось: 05-10-2017, 08:29 AM mr-marlen.)
БендеровецЪ Написал:Так от этого фильтра что требовалось, просто задержка на нецелое число семплов?
Коррекция фазы (ГВЗ) акустической системы. Превращение неидеального импульса АС в почти идеальный. Просто сама АС имеет хорошую импульсную, которую почти не надо корректировать.
Такой фильтр можно было применить сверху IIR фильтров и послушать именно разницу при использовании FIR на той же АС. Разница на слух была на басах и масштабе, причем сильная. После включил Arta посмотреть в чем может быть проблема и увидел картинки в посте 6.
Для проверки функционирования miniSHARC могу загрузить любой FIR с длиной отсчетов до 2048 тапс.