Страница 1 из 2 12 Последняя
Показано с 1 по 20 из 33

Тема: Измерения углов нестыковки фаз при пересечении полос

  1. #1
    Новичок
    Автор темы
    Аватар для Кичай Данил
    Регистрация
    12.12.2016
    Сообщений
    75

    По умолчанию Измерения углов нестыковки фаз при пересечении полос

    Добрый день.

    Сразу попрошу сильно не пинать меня за мою возможную неграмотность. Я самоучка в сфере акустики и многого могу не знать/не понимать. Сам я программист.

    Имеется у меня компьютер с 5.1 звуковой картой, которую я использую, как выход трёх полос стереосигнала, фильтрация сигналов происходит средствами LADSPA плагинов, подключенных к ALSA. Собственно возник интерес у меня написать свой простейший LADSPA плагин - кроссовер, работающий в роли КИХ фильтра по массиву коэффициентов. С расчётом самого фильтра из произвольных АЧХ я с горем пополам разобрался. Остался у меня вопрос собственно в стыковке фазы. Мой алгоритм рассчёта фильтров примерно такой:
    1. Снять АЧХ с высоким разрешением раздельно для каждой отдельной полосы (снимать в допустимых диапазонах, что бы не убить головки).
    2. Выбрать частоты раздела и построить "корректирующие" АЧХ, для выравнивания чувствительности головок и резкого обрезания до нуля в границах раздела частот.
    3. Рассчитать КИХ фильтр для линейной фазы к полученным резким "корректирующим" АЧХ, применить к полученным массивам КИХ коэффициентов оконную функцию, например, Гаусса с каким-то значением девиации, и преобразовать коэффициенты в "корректирующие" АЧХ обратно. Полученные обратно АЧХ будут уже с плавными завалами и пересекаться границами полос.
    4. Перебирая разные значения девиации для окна Гаусса подобрать допустимые для головок пересечения получившихся "корректирующих" АЧХ, но с максимальным пересечением. Простыми словами - подобрать такое окно, для которого эффект Гиббса будет наименее значительным, а завал АЧХ на стыках будет ещё допустим.

    После расчёта КИХ фильтров для всех полос раздельно нужно состыковать смещения фаз в местах пересечения. Вот тут собственно и вопрос, как правильно измерить нестыковки фазы. Для себя я вижу только такую возможность - измерять звуковое давление в каждой точке пересечения полос для трёх случаев:
    1. играет только одна полоса
    2. играет только вторая полоса
    3. играют обе полосы
    и в случае расхождения суммы двух раздельных амплитуд с суммарной крутить фазу. Данный процесс возможно стоит автоматизировать, что бы посчитать фазу с довольно малым шагом.

    Есть ли какие-то более простые способы стыковки фазы?

  2. #2
    Корректор мозгоимпедансов Аватар для sewerin
    Регистрация
    20.03.2010
    Адрес
    Воронеж
    Возраст
    47
    Сообщений
    2,404

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Всё правильно Вы пишите. Больше вопросов к тому, как это реализовать дома.
    Т.е. слушать полосы (отдельно и вместе) надо с точки прослушивания в реальной КдП (со всеми Шрёдерами, скайнлайнами и т.т.) С учётом прилёта всех отражёнок, с учётом некруговой диаграммы направленности, баффлов корпусов и т.т.

  3. #3
    Новичок
    Автор темы
    Аватар для Кичай Данил
    Регистрация
    12.12.2016
    Сообщений
    75

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Я планировал измерять именно в той же комнате, в которой потом планирую слушать эту систему. Возможно это не самая лучшая идея...

  4. #4
    Частый гость Аватар для Hylics
    Регистрация
    02.04.2018
    Адрес
    Киев
    Сообщений
    266

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос


    Offтопик:
    Зачем вам писать свой плагин, есть Brutefir конвольвер

  5. #5
    Новичок
    Автор темы
    Аватар для Кичай Данил
    Регистрация
    12.12.2016
    Сообщений
    75

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Я хочу написать FIR плагин не с "крутилками", а с массивом, который я сам посчитаю из АЧХ, выберу оптимальную длину, возможно передискретизирую НЧ, что бы не грузить процессор "бесполезными" вычислениями. Состыкую фазу, как мне нужно.
    Если ответить совсем просто, то я не смог найти нормального FIR плагина, "арифметика" которого меня бы устроила.

    ---------- Сообщение добавлено 01.12.2020 в 00:20 ---------- Предыдущее сообщение было 30.11.2020 в 23:32 ----------

    Если других способов нету, тогда попробую выработать алгоритм...
    Для каждой точки пересечения:
    1. Измерить амплитуду тестового сигнала 1 полосы (подать частоту, измерять значения peak-peak, и период перехода через ноль, строить гистограмму, пока в неком максимуме не наберётся значительное число попаданий)
    2. Измерить амплитуду тестового сигнала 2 полосы (аналогично)
    3. Измерить амплитуду тестового сигнала 1+2 полосы (аналогично)
    4. Посчитать из максимумов ожидаемое смещение фаз, подставить это смещение в рассчёт КИХ фильтра
    Повторить весь алгоритм несколько раз, пока разброс смещений не будет в приемлемых пределах.

  6. #6
    Старый знакомый Аватар для vshv
    Регистрация
    29.11.2008
    Сообщений
    588

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Я хочу написать FIR
    Так брутефир и есть конволвер. Никаких крутилок там нет. Скармливаете ему коэффициенты, он по ним работает. Производительности хватает, чтобы не делать даунсемплинг на нч. Задержки в каналах есть.
    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Возможно это не самая лучшая идея...
    Это точно. Далеко не все можно править. Если бездумно выровнять все дефекты в 0, получится редкая дрянь. Причем это не только комнаты касается. Ломка диффузора, резонансы конструкции, еще всякое - это неисправимые вещи. Можно вырезать, но компенсировать невозможно. Ну и, конечно, нужны измерения без отражений.
    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Есть ли какие-то более простые способы стыковки фазы?
    Делаете видимую задержку в каналах и щелкаете импульс. Ну и с микрофона результат все задержки покажет.

  7. #7
    Новичок
    Автор темы
    Аватар для Кичай Данил
    Регистрация
    12.12.2016
    Сообщений
    75

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    У меня нет проблемы в том, что бы засунуть FIR коэффициенты в тракт, мой интерес - хорошо рассчитать эти коэффициенты к конкретной АС. Также не хочу использовать длинный FIR массив для низких частот без передискретизации тракта.

  8. #8
    Старый знакомый Аватар для vshv
    Регистрация
    29.11.2008
    Сообщений
    588

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    хорошо рассчитать эти коэффициенты к конкретной АС.
    Тут вопрос не в хорошо, а в правильно. Нужно понимать что в измерениях от чего происходит. Нет никакого волшебства в ких фильтрах. Хорошо работающий результат не особо отличается от бих варианта. Проще по быстрому сделать веселые вещи типа спадов 2-3 порядка и 90 градусов фазы для акустического сложения.
    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Также не хочу использовать длинный FIR массив для низких частот без передискретизации тракта.
    Не вижу рациональной причины такого желания. Производительности достаточно, а время будет одинаковое.
    Последний раз редактировалось vshv; 30.11.2020 в 20:53.

  9. #9
    Завсегдатай Аватар для uriy
    Регистрация
    19.10.2008
    Адрес
    Город плохих снов
    Сообщений
    2,246

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Если ответить совсем просто, то я не смог найти нормального FIR плагина, "арифметика" которого меня бы устроила.
    Проблемы не в арифметике плагинов, а в том, как вы получаете АЧХ которую хотите корректировать.
    После того как я стартанул цифроактивную трёхполоску я танцевал с бубном (с микрофоном) более двух месяцев пытаюсь свести её. Изначально я думал - чем ровнее я сделаю итоговую АЧХ тем лучше будет звук, но всё оказалось куда боле прозаично, если снимать АЧХ в зоне прослушивания в жилом помещении, то в снятой АЧХ присутствуют всё и вся по мимо излучения самого динамика, в итоге ровняя полученную АЧХ в ноль, я получал весьма посредственный результат, звук был на восприятие весьма жёсткий. Порой даже неприятный. При всём том, что измерения показывали более ровную АЧХ в зоне прослушивания.
    Вот пример одного такого действия.
    Нажмите на изображение для увеличения. 

Название:	FIR.png 
Просмотров:	186 
Размер:	222.3 Кб 
ID:	385055
    Ровнял я эту ачх с помощью КИХ фильтров, коэффициенты которых я рассчитывал в маткаде, ну вот, танцевал я танцевал, покуда не нашёл инфу что программа REW может рассчитывать коэффициенты настройки фильтров коррекции АЧХ которые потом можно импортировать в программу ReFaze и в ней рассчитать коэффициенты для КИХ фильтров, сама программа REW может применять октавное сглаживание неровности АЧХ и в ней есть специальное сглаживание которое называется психоактустическое сглаживание, именно на этом сглаживании я и остановился, оно позволило получить приемлемый звук очень быстро.
    В общем, при коррекции АЧХ в зоне прослушивания важно найти приемлемое сглаживание АЧХ, т.к. если АЧХ не сглаживать, а ровнять на прямую то будет весьма и весьма плохой результат. С фазой сшивки полос я не парился вообще т.к. при большой крутизне срезов разделительных фильтров это для меня не актуально. В целом не в фазе сшивки полос основные проблемы сведения трёхполоски.
    Так же на конечный результат влияет место и метод снятия опорной АЧХ. Меняя место снятия АЧХ и количество замеров можно менять тембральный окрас АС в целом, и это без учёта фазы, если ещё и фазой заморачиватся то можно танцевать с микрофоном долго и нудно.
    В общем на мой скромный взгляд, если вам нужен звук из АС который можно слушать вы не в ту степь капаете.

  10. #10
    Завсегдатай Аватар для ИГВИН
    Регистрация
    06.05.2005
    Адрес
    Ростов-на-Дону
    Возраст
    66
    Сообщений
    13,173

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос


    Offтопик:
    Цитата Сообщение от uriy Посмотреть сообщение
    В общем на мой скромный взгляд, если вам нужен звук из АС который можно слушать вы не в ту степь капаете.
    Единственное возражение, что Данил не кАпает, а копает.
    В остальном всё верно.

    Головки такая кривая-косая штука (особенно в краях рабочих диапазонов, и ЗА этими краями, иногда намного выше и ниже), что все полосы сводится только по микрофону, насколько бы электронная часть ни была хорошо вылизана.
    Ты на неё там уже ничего не даёшь, а она звучит там, где её не просят.

    Игорь. Meridian 507.24 => DAC6 v2+свой выхлоп => Noosfera Master => Celestion A2 + Hand-made cable

  11. #11
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Цитата Сообщение от vshv Посмотреть сообщение
    ... Причем это не только комнаты касается. Ломка диффузора, резонансы конструкции, еще всякое - это неисправимые вещи. Можно вырезать, но компенсировать невозможно. ...

    Offтопик:
    С чего вы взяли? Пространственные волны в неоднородном поле ("помещения") и те самые "ломка диффузора" и "резонансы конструкции" на две-четыре девятки состоят из линейных искажений. Так как наши бараны- "тракты" - инвариантные во времени системы работающие уже с априори известным сигналом-записью, то точность коррекции ограничена лишь нелинейными явлениями (например, нужно для компенсации провала с заданным уровнем в 110дБ вдувать киловат в дин, а он у нас "попаспорту" всего лишь сотка) и приемлемой латенси (касается КИХ реализаций).

    Электричество дисциплинирует

  12. #12
    Старый знакомый Аватар для vshv
    Регистрация
    29.11.2008
    Сообщений
    588

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Цитата Сообщение от Игорь Гапонов Посмотреть сообщение
    С чего вы взяли?
    Много пробовал
    Цитата Сообщение от Игорь Гапонов Посмотреть сообщение
    ("помещения") и те самые "ломка диффузора"
    Это вообще разные вещи. Надеюсь, Вы не будете предлагать создавать требуемое поле для определенной точки пространства с прибитой гвоздем головой. Кроме того, если голова все таки без гвоздя, функционирует и слегка перемещается в пространстве, то она отлично отделит поздние отражения при малейшем выходе за зону оптимизации. И все станет гораздо кривее исходника до коррекции. Даже тональный баланс не так просто скорректировать инструментально по той же причине. В линейности выхода динамика из поршневого режима я почему-то тоже сомневаюсь. То ли потому, что никому это компенсировать не удалось, то ли исходя из графиков внеосевых.

  13. #13
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос


    Offтопик:
    Цитата Сообщение от vshv Посмотреть сообщение

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




    Offтопик:
    Нет, это одинаковые вещи- обратимые линейные преобразования - линейные искажения в тайм инвариантной системе и их коррекция. Но напомню сказанное мной выше: с точностью до нелинейности системы и не мгновенно (латенси, т.е. коррекция на заданном интервале времени, вне этого интервала коррекции нет, однако, нет и никаких принципиальных ограничений на длительность этого интервала- хоть на всё время исходной фонограммы). Грубо говоря - не бывает в реалиях абсолютного нуля в узле, там всегда присутствует комбинация стоячей и бегущей волны. Т.е. в природе не бывает бесконечных добротностей. Собственно, в реальных тайм инвариантных системах "страдает" только максимально возможный уровень какой-то спектральной составляющей. А для неискажённой передачи все остальные составляющие вынуждены равняться на этот заниженный уровень: при глубоких исходных провалах и ограниченности энергетики в системе фонограмма будет звучат тихо или очень тихо. Вообще, это вам не мешало бы понять, что линейность системы (действует принцип суперпозиции и независимость уровня искажений от уровня возбуждения) и поршневой характер движения диафрагмы (диффузор как абсолютно твёрдое тело) - как раз разные вещи
    Последний раз редактировалось Игорь Гапонов; 30.11.2020 в 23:54.
    Электричество дисциплинирует

  14. #14
    Новичок
    Автор темы
    Аватар для Кичай Данил
    Регистрация
    12.12.2016
    Сообщений
    75

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Прочитал ответы, поразмыслил и скорректировал алгоритм для стыковки фазы в условиях сильно неидеальной комнаты:
    Для каждой точки из частоты пересечения:
    1. Для каждой точки сдвига фазы от [0-2*pi):
    -> 1. Подать сигнал
    -> 2. Строить двухмерную гистограмму (1 ость - частота переходов через ноль делённая пополам, 2 ость - пик-пик)
    -> 3. Дожидаться набора уверенного максимума попаданий в некоторой окрестности
    -> 4. Найти максимум гистограммы
    2. Найти значение фазы для максимума из полученных максимумов гистограмм

    В таком алгоритме, максимум амплитуды будет соответствовать совпадению фаз для случая, если динамические головки находятся на расстоянии значительно меньшем, чем длина волны и (расстояния до предметов отражения)*cos(угла плоскости отражения к перпендикуляру оси измерительного микрофона). Если в своём выводе что-то упускаю, поясните пожалуйста, что именно...

    Ну и собственно вопрос ещё возник о том, есть ли смысл вообще хоть как-то ровнять стыки фаз для СЧ/ВЧ, если длина волны 4КГц - 8.5см и она уже соизмерима расстоянию между головками? (Тут я учитываю возможность перемещения головы в пространстве)
    Последний раз редактировалось Кичай Данил; 01.12.2020 в 07:14.

  15. #15
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Цитата Сообщение от Кичай Данил Посмотреть сообщение

    Ну и собственно вопрос ещё возник о том, есть ли смысл вообще хоть как-то ровнять стыки фаз для СЧ/ВЧ, если длина волны 4КГц - 8.5см и она уже соизмерима расстоянию между головками? (Тут я учитываю возможность перемещения головы в пространстве)
    Можно строго доказать, что в типичных условиях воспроизведения через типичные много полосные АС точная коррекция возможна только для одной точки поля. Под точкой поля понимается область малых волновых размеров для всего диапазона частот. Если мин. длина волны = 17мм (20кГц в воздухе н.у.), то эта область имеет размеры меньше, чем 10мм. Поэтому коррекция возможна только приблизительная. Если притянуть сюда , глубокое имхо, невнятные "общепринятые" критерии заметности линейных искажений: рулит "усреднённая неравномерность" ачэха где-то 1-3дБ, ФЧХ - по барабану, "узкие экстремумы" глубиной до 12дБ по АЧХ - по барабану, то все пляски с бубном сводятся к борьбе со стояками в НЧ-нижней СЧ области, верхняя СЧ-ВЧ область определяется ачеха голов в заглушенном, а не в реальном помещении с усреднением порядка трети октавы в купе с фильтрами и ак.оформлением (сама "колонка"). Чтобы приблизить последнее к реалиям применяется акустическая обработка помещения, фильдеперсовые формы АС и всякие линквиц-рейли кроссоверы.
    Электричество дисциплинирует

  16. #16
    Завсегдатай Аватар для Shidim
    Регистрация
    16.06.2011
    Адрес
    Челябинск
    Возраст
    54
    Сообщений
    1,470

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Кичай Данил На форуме есть пользователь с ником Mr.Marlen (надеюсь не ошибся), он прошёл скажем так эволюционный путь воззрений от радикальной "многополоски" с активным сведением используя FIR высоких порядков на каждую полосу, до возврата к IIR в пассиве (с определённой конфигурацией ДГ в АС) с методикой сведения при низких порядках. По его резюме и свидетельствам посторонних вышло на 5. То есть весь путь от идеи до реализации он прошёл. На форуме он зарегистрирован, значит есть "личка", ещё на "сундуке" появляется.
    От себя: адский труд, пытаться свести множество коррелированных переменных в единый результат добавляя инвариантности (модное ныне слово) буквально при каждом шаге. Имхо лучше попытаться по разделениям,1)свести АС вне среды (без среды ) планируемого помещения, но на предполагаемое последующее расстояние при прослушивании. 2) Сводить АС и слушателя корректируя комнату как передаточную функцию и попутно слушателя (торс с головой) как передаточную функцию к восприятию звуков. Ну всё это в том случае если цель само стерео/аудио, если интерес академический, то это другое

  17. #17
    Новичок
    Автор темы
    Аватар для Кичай Данил
    Регистрация
    12.12.2016
    Сообщений
    75

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    У меня нет грандиозных планов ровнять в АЧХ каждой головы все её неровности я вполне понимаю последствия всего этого. Я не считаю, что я своим КИХ кроссовером сделаю что-то сверх естественное, я вижу в своём решении вполне конкретные возможности:
    1. стыковка динамических головок с сильно разными чувствительностями
    2. стыковка НЧ/СЧ головок с пересечением по частотам в участках с нелинейными ФЧХ
    3. управление групповой задержкой без изменения оформления (удалённой установки одной головки относительно другой)

    Из "грандиозного" у меня только - реализовать нормальное решение для Linux/Android, которое позволит с адекватными задержками использовать программный кроссовер на среднестатичстическом компьютере, который при этом не потеряет своего универсального назначения (не станет компьютером для аудио) и не будет греть планету, только потому, что программистам лень писать код хорошо.

  18. #18
    Завсегдатай Аватар для Shidim
    Регистрация
    16.06.2011
    Адрес
    Челябинск
    Возраст
    54
    Сообщений
    1,470

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Все лучшие вещи в аудио сделаны людьми увлечёнными, область такая на стыке наук и почти эзотерики (личного восприятия). Искренне вам желаю успехов.

  19. #19
    Завсегдатай Аватар для frezer
    Регистрация
    11.10.2007
    Адрес
    Тверь
    Возраст
    62
    Сообщений
    1,392

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    и не будет греть планету, только потому, что программистам лень писать код хорошо.
    Одно это уже вызывает уважение, я серьёзно!

  20. #20
    самый главный Аватар для Игорь Гапонов
    Регистрация
    03.03.2010
    Адрес
    Одесса
    Возраст
    12
    Сообщений
    3,156

    По умолчанию Re: Измерения углов нестыковки фаз при пересечении полос

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    1. стыковка динамических головок с сильно разными чувствительностями
    2. стыковка НЧ/СЧ головок с пересечением по частотам в участках с нелинейными ФЧХ
    3. управление групповой задержкой без изменения оформления (удалённой установки одной головки относительно другой)

    .
    1. Это элементарно через масштабирование, но принципиально в ущерб общей чувствительности - вынуждено равняемся на самую низкочувствительную голову. Так что планету будет греть в основном (на порядок и более выше) не комп, а дин с усилителем.
    2. Это тоже почти элементарная задача. Необходимо ЧХ (!!! т.е. АЧХ+ФЧХ, как комплексная частотная передаточная функция) какой-то полосы (область основной спектральной энергии, излучаемой дином) задать. Например, полосовой фильтр (ПФ) с прототипом ФНЧ третьего порядка с гладкой ЧХ на краях диапазона по Бесселю или Батервоту (как по мне- не имеет значения, итоговая/суммарная ЧХ выйдет всё равно другой ))) . Корректируется (деконволюцией) эта полоса под этот ПФ. В соседних полосах - верхней и нижней целевая функция передачи определяется на автомате, как две разности между ЧХ идеальной линии задержки и заданным "опорным" ПФ. И тоже корректируются.
    3. Как раз с задержками в виде идеальной ЛЗ КИХ справляется элементарно. Но при соответствующей реализации п.2 делать это нет необходимости, т.к. правильная полная ЧХ коррекции учитывает любые виды "задержек" через реализацию ФЧХ.
    Электричество дисциплинирует

Страница 1 из 2 12 Последняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •