Модель динамической головки громкоговорителя
Модель динамической головки громкоговорителя
Задача:
Есть необходимость в компенсации искажений звуковоспроизводящего тракта. Необходимо построить модель динамической системы достаточной точности, и найти способы вычислять её параметры по комплексному сопротивлению нагрузки. Затем вывернуть её математическое описание наизнанку - построить обратную модель (антимодель), и использовать для внесения предискажений в сигнал, которые затем будут скомпенсированы реальной ГГ. На входе у нас имеется мгновенное значение напряжения и тока катушки ГГ - это все имеющиеся входные данные (усложнять усилитель по ТЗ нельзя, нужно просто оптимизировать классику). Теперь "матан":
В простейшем случае звено АС можно представить как колебательный контур (RLC-фильтр второго порядка) с мотором и паразитными индуктивностью и активным сопротивлением обмотки: Практически все элементы модели нелинейны, плюс ихние параметры гуляют от внешних условий (температура, влажность, атмосферное давление, время и характер работы, возраст и т.п.), но в первом приближении мы считаем всё линейным и стабильным. Мотор имеет определённую передаточную характеристику, выражающуюся в ньютонах на ампер (параметр BL), масса подвижной системы выражается в граммах (параметр Mms) и является эквивалентом ёмкости, гибкость подвеса (а в нашем случае всего звена в целом, включая запертый в ящике воздух) выражается в миллиметрах на ньютон (параметр Cms) и является эквивалентом индуктивности. Механическая добротность нашей колебательной системы выражается в отношении её сопротивления потерь (Rms) к её же характеристическому сопротивлению (импедансу одного из компонентов колебательного контура на резонансной частоте - пусть будет Rfs) и определяется параметром Qms. Активное сопротивление обмотки - Rdc. Есть ещё ряд т.н. параметров Тиля-Смолла, которые нам в дальнейшем пригодятся, но которых нет на изображении выше. Для примера можем рассмотреть вот эту динамическую головку: http://www.visaton.de/en/chassis_zubeho ... 00s_8.html
Рекомендую к ознакомлению: http://donex-ua.narod.ru/el/izmts.htm (измерение параметров Тиля-Смолла)
Как я предлагаю находить параметры модели:
Сперва необходимо определить Mms, как опорную величину. Для этого необходимо измерить резонансную частоту Fs ГГ, а затем прилепить к диффузору кусок пластилина известной массы M и снова измерить резонансную частоту Fs'. Обнаружить резонанс можно разными способами, тут уж как удобнее. Я предлагаю использовать скользящий тон и искать пик импеданса. И так, у нас есть Fs, Fs' и M. Вычисляем Mms:
Mms=M/((Fs/Fs')^2-1)
Теперь мы можем найти гибкость подвеса:
Cms=1/((2pi)^2*Fs^2*Mms)
Если всё правильно, то Fs=1/(2pi*sqrt(Cms*Mms)). Теперь нас интересует сопротивление потерь (Rms). Чтоб его вычислить - необходимо измерить добротность (Qms). Существует методика измерения добротности, использующая форму импедансной кривой в области резонанса. Вот подходящее изображение: Теперь, когда нам известна добротность и характеристическое сопротивление колебательной системы - мы можем найти Rms:
Rms=Qms*Rfs=Qms*(1/(2pi*Fs*Mms))=Qms/(2pi*Fs*Mms)
В качестве характеристического сопротивления мы взяли реактивное сопротивление, на резонансной частоте, опорной части колебательной системы - Mms.
Нам известно сопротивление механических потерь, и нам известно это же сопротивление в качестве импеданса: Refs=Rmax-Rdc
Т.е. у нас имеется известное соотношение, по которому мы можем вычислить BL:
BL=Refs/Rms
Чем больше противо ЭДС ГГ - тем длиннее провод в обмотке и сильнее магнитное поле в зазоре, но при одинаковой скорости движения этого провода в зазоре. Чем выше механическая добротность, тем выше скорость и выше противо ЭДС, поэтому чем ниже добротность и чем выше противо ЭДС - тем мощнее мотор. Правда, тут я уже запутался в размерностях.
Зная всё выше перечисленное - уже можно рассчитывать перемещение диффузора в пространстве в зависимости от заданного тока катушки и времени. Но мы то подаём напряжение, не ток. Чтоб вычислить ток - необходимо знать индуктивность и активное сопротивление обмотки. Активное сопротивление удобно мерить с помощью небольшого смещения напряжения на ГГ, отсеивая ФНЧ переменную составляющую. Это позволит отслеживать изменения сопротивления от температуры катушки, а так же следить за, собственно, температурой (у меди известный ТКС, и довольно существенный). Индуктивность придётся найти заранее по импедансной кривой. Чтоб рассчитать звуковое давление - достаточно добавить в модель такой параметр как эффективную площадь диффузора: Sd=2pi*r^2. Он указывается производителями и является таким же стабильным как и Mms.
Вроде бы всё нашли, что нас может заинтересовать, верно? Из линейных процессов - да. Всё остальное можно вычислить. Только вот на практике имеются ещё и существенные нелинейные искажения, и я бы хотел обсудить методы их нахождения в данной схеме. Собственно, для этого тема и создавалась. Имеется целый букет механизмов, вносящих нелинейности. Хорошей литературы я на этот счёт так и не нашел. Есть лишь описания в общих чертах:
1. В самую первую очередь полезно оценить нелинейность подвеса. Она влияет на резонансную частоту, в зависимости от амплитуды колебаний (из-за нелинейных гибкости подвеса и упругости воздуха в ящике). Это можно использовать, вот только каким матаном мне вычислить по известной кривой резонансной частоты от подводимой мощности нелинейность? Да и как её вообще описать в модели? Чем выше энергия в индуктивности, тем меньше, собственно, индуктивность. По-идее нужно Cms представлять как некую нелинейную функцию определённого порядка. Знатоки, помогите, пожалуйста ...
2. Во вторую очередь мешает внутреннее сопротивление магнитной системы. Можно найти его измеряя BL на разных токах. С ростом тока индукция в магнитном зазоре падает.
3. Очень много разговоров о неравномерном распределении магнитных линий в зазоре. Теоретически, если знать нелинейность подвеса, и использовать резонанс чтоб ослабить ток через катушку и тем самым минимизировать влияние нелинейности мотора на форму колебаний - можно вычислить нелинейность по форме противо ЭДС. Добротность известна, поэтому точно известен и вклад нелинейности мотора в общий характер колебаний (на практике около 20...30%). Тут пахнет сложной системой уравнений, с которой я тоже не справлюсь...
4. Линеаризовав достаточно хорошо основные источники искажений - можно перейти к компенсации менее заметных, например к компенсации зависимости индуктивности от положения диффузора и т.н. соленоидного эффекта. Но об этом лучше говорить тогда, когда будет практический результат с графиками по выше описанным моментам.
Дочитали? Спасибо за внимание .
Есть необходимость в компенсации искажений звуковоспроизводящего тракта. Необходимо построить модель динамической системы достаточной точности, и найти способы вычислять её параметры по комплексному сопротивлению нагрузки. Затем вывернуть её математическое описание наизнанку - построить обратную модель (антимодель), и использовать для внесения предискажений в сигнал, которые затем будут скомпенсированы реальной ГГ. На входе у нас имеется мгновенное значение напряжения и тока катушки ГГ - это все имеющиеся входные данные (усложнять усилитель по ТЗ нельзя, нужно просто оптимизировать классику). Теперь "матан":
В простейшем случае звено АС можно представить как колебательный контур (RLC-фильтр второго порядка) с мотором и паразитными индуктивностью и активным сопротивлением обмотки: Практически все элементы модели нелинейны, плюс ихние параметры гуляют от внешних условий (температура, влажность, атмосферное давление, время и характер работы, возраст и т.п.), но в первом приближении мы считаем всё линейным и стабильным. Мотор имеет определённую передаточную характеристику, выражающуюся в ньютонах на ампер (параметр BL), масса подвижной системы выражается в граммах (параметр Mms) и является эквивалентом ёмкости, гибкость подвеса (а в нашем случае всего звена в целом, включая запертый в ящике воздух) выражается в миллиметрах на ньютон (параметр Cms) и является эквивалентом индуктивности. Механическая добротность нашей колебательной системы выражается в отношении её сопротивления потерь (Rms) к её же характеристическому сопротивлению (импедансу одного из компонентов колебательного контура на резонансной частоте - пусть будет Rfs) и определяется параметром Qms. Активное сопротивление обмотки - Rdc. Есть ещё ряд т.н. параметров Тиля-Смолла, которые нам в дальнейшем пригодятся, но которых нет на изображении выше. Для примера можем рассмотреть вот эту динамическую головку: http://www.visaton.de/en/chassis_zubeho ... 00s_8.html
Рекомендую к ознакомлению: http://donex-ua.narod.ru/el/izmts.htm (измерение параметров Тиля-Смолла)
Как я предлагаю находить параметры модели:
Сперва необходимо определить Mms, как опорную величину. Для этого необходимо измерить резонансную частоту Fs ГГ, а затем прилепить к диффузору кусок пластилина известной массы M и снова измерить резонансную частоту Fs'. Обнаружить резонанс можно разными способами, тут уж как удобнее. Я предлагаю использовать скользящий тон и искать пик импеданса. И так, у нас есть Fs, Fs' и M. Вычисляем Mms:
Mms=M/((Fs/Fs')^2-1)
Теперь мы можем найти гибкость подвеса:
Cms=1/((2pi)^2*Fs^2*Mms)
Если всё правильно, то Fs=1/(2pi*sqrt(Cms*Mms)). Теперь нас интересует сопротивление потерь (Rms). Чтоб его вычислить - необходимо измерить добротность (Qms). Существует методика измерения добротности, использующая форму импедансной кривой в области резонанса. Вот подходящее изображение: Теперь, когда нам известна добротность и характеристическое сопротивление колебательной системы - мы можем найти Rms:
Rms=Qms*Rfs=Qms*(1/(2pi*Fs*Mms))=Qms/(2pi*Fs*Mms)
В качестве характеристического сопротивления мы взяли реактивное сопротивление, на резонансной частоте, опорной части колебательной системы - Mms.
Нам известно сопротивление механических потерь, и нам известно это же сопротивление в качестве импеданса: Refs=Rmax-Rdc
Т.е. у нас имеется известное соотношение, по которому мы можем вычислить BL:
BL=Refs/Rms
Чем больше противо ЭДС ГГ - тем длиннее провод в обмотке и сильнее магнитное поле в зазоре, но при одинаковой скорости движения этого провода в зазоре. Чем выше механическая добротность, тем выше скорость и выше противо ЭДС, поэтому чем ниже добротность и чем выше противо ЭДС - тем мощнее мотор. Правда, тут я уже запутался в размерностях.
Зная всё выше перечисленное - уже можно рассчитывать перемещение диффузора в пространстве в зависимости от заданного тока катушки и времени. Но мы то подаём напряжение, не ток. Чтоб вычислить ток - необходимо знать индуктивность и активное сопротивление обмотки. Активное сопротивление удобно мерить с помощью небольшого смещения напряжения на ГГ, отсеивая ФНЧ переменную составляющую. Это позволит отслеживать изменения сопротивления от температуры катушки, а так же следить за, собственно, температурой (у меди известный ТКС, и довольно существенный). Индуктивность придётся найти заранее по импедансной кривой. Чтоб рассчитать звуковое давление - достаточно добавить в модель такой параметр как эффективную площадь диффузора: Sd=2pi*r^2. Он указывается производителями и является таким же стабильным как и Mms.
Вроде бы всё нашли, что нас может заинтересовать, верно? Из линейных процессов - да. Всё остальное можно вычислить. Только вот на практике имеются ещё и существенные нелинейные искажения, и я бы хотел обсудить методы их нахождения в данной схеме. Собственно, для этого тема и создавалась. Имеется целый букет механизмов, вносящих нелинейности. Хорошей литературы я на этот счёт так и не нашел. Есть лишь описания в общих чертах:
1. В самую первую очередь полезно оценить нелинейность подвеса. Она влияет на резонансную частоту, в зависимости от амплитуды колебаний (из-за нелинейных гибкости подвеса и упругости воздуха в ящике). Это можно использовать, вот только каким матаном мне вычислить по известной кривой резонансной частоты от подводимой мощности нелинейность? Да и как её вообще описать в модели? Чем выше энергия в индуктивности, тем меньше, собственно, индуктивность. По-идее нужно Cms представлять как некую нелинейную функцию определённого порядка. Знатоки, помогите, пожалуйста ...
2. Во вторую очередь мешает внутреннее сопротивление магнитной системы. Можно найти его измеряя BL на разных токах. С ростом тока индукция в магнитном зазоре падает.
3. Очень много разговоров о неравномерном распределении магнитных линий в зазоре. Теоретически, если знать нелинейность подвеса, и использовать резонанс чтоб ослабить ток через катушку и тем самым минимизировать влияние нелинейности мотора на форму колебаний - можно вычислить нелинейность по форме противо ЭДС. Добротность известна, поэтому точно известен и вклад нелинейности мотора в общий характер колебаний (на практике около 20...30%). Тут пахнет сложной системой уравнений, с которой я тоже не справлюсь...
4. Линеаризовав достаточно хорошо основные источники искажений - можно перейти к компенсации менее заметных, например к компенсации зависимости индуктивности от положения диффузора и т.н. соленоидного эффекта. Но об этом лучше говорить тогда, когда будет практический результат с графиками по выше описанным моментам.
Дочитали? Спасибо за внимание .
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Модель динамической головки громкоговорителя
1) как вы поймете что вы что-то скомпенсировали, а что-то нет?
2) Где гарантия что модель будет адекватно описывать поведение головки? Как то давно читал на эту тему книгу, так вот математика там помнится была примерно такая же что и электродинамика для антенн с кучей упрощений и допущений.
Думаю что путь с предварительным анализом системы и последующим учетом тепературы и т.д. не даст эффекта.
2) Где гарантия что модель будет адекватно описывать поведение головки? Как то давно читал на эту тему книгу, так вот математика там помнится была примерно такая же что и электродинамика для антенн с кучей упрощений и допущений.
Думаю что путь с предварительным анализом системы и последующим учетом тепературы и т.д. не даст эффекта.
Re: Модель динамической головки громкоговорителя
1) система имеет обратную связь в реальном времени. Если модель будет грубая - ОС просто не сможет работать, т.к. ту же резонансную частоту не получиться зафиксировать. Она будет гулять в зависимости от сигнала. То же самое касается и остальных моментов. Чтоб линейная часть модели работала - необходимо достаточно хорошо линеаризовать реальную систему. Ошибки сразу же будет видно в консоле, как нестабильные значения ключевых параметров, коррелирующие с тем же уровнем громкости и т.п. Эту нестабильность модель должна уметь интерпретировать, вычисляя из неё необходимые нелинейности. Тут не требуется сложнейшая система уравнений с пачкой неизвестных - реальная система отлично работает и с последовательным приближением.
2) гарантия закладывается на этапе проектирования и отлаживания реальной системы, использующей эту модель. На этом этапе допускается целый измерительный стенд с без эховой камерой и измерительными микрофонами.
Думаю что даже частичная компенсация подобных эффектов лучше, чем вообще никакая.
2) гарантия закладывается на этапе проектирования и отлаживания реальной системы, использующей эту модель. На этом этапе допускается целый измерительный стенд с без эховой камерой и измерительными микрофонами.
Думаю что даже частичная компенсация подобных эффектов лучше, чем вообще никакая.
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Модель динамической головки громкоговорителя
Что значит ос в реальном времени? Микрофон с усилителем?
Re: Модель динамической головки громкоговорителя
ЭМОС - Электро Механическая Обратная Связь. В качестве микрофона сама головка. Усилитель класса UcD с датчиком тока катушки. Напряжение известно, усилитель за ним следит. Непосредственно эта ОС никак не влияет на усиление. Она нужна лишь для расчёта модели микроконтроллером, который работает в качестве встроенной в усилитель звуковой карты. Дальше не хитрая арифметика и можно выделить из отклика что угодно. Я не сторонник разделения звуковоспроизводящего тракта на пассивные АС и отдельные усилители. Слишком много компромиссов. Такие вещи должны работать в паре, компенсируя искажения друг друга.
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Модель динамической головки громкоговорителя
Ну не знаю, не знаю. Не очевидно как вы сможете объективно оценить уровень искажений с такой хитрой обратной связью. Думаю что если речь идет о компенсации нелинейных эффектов в результате изменения температуры катушки динамика или атмосферного давления, то надо использовать нечто более точное чем сам динамик чтобы зафиксировать такие эффекты. Плюс это надо делать в некой бехзэховой акустической камере. Идея считать такие модели на контроллере тоже выглядит интересно
Re: Модель динамической головки громкоговорителя
Сперва можно разобраться и с гораздо более заметными искажениями. Например, линейными. Одна только линейная фаза и отсутствие неравномерности АЧХ уже стоит возни.
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Модель динамической головки громкоговорителя
Ну тогда первое что надо сделать это измерить линейные искажения при помощи вашей обратной связи. Просто прогнать широкополосный сигнал через всю систему и оцифровать на выходе ос. После этого будет видно насколько ваша система позволит скорректировать линейные искажения.
Re: Модель динамической головки громкоговорителя
Это я уже делал. Измерить параметры Т-С не проблема, меня интересует измерение нелинейностей. Напрямую не получится, зато есть механизмы для косвенного измерения. Тот же дрейф резонансной частоты от подводимой мощности, к примеру. Или непропорциональный отклик на разной мощности.
Я имел ввиду, что даже если какую-то часть нелинейных искажений устойчиво измерить не выйдет - одна только компенсация линейных уже стоит реализации такого усилительного тракта. А дальше по остаточному принципу, на сколько хватит моих мозгов, ресурсов микроконтроллера (STM32F303) и качества сигнала ОС.
Думаю, пока обсуждать смысла нет того, с чем лучше работать имея на руках исходные данные, полученные на практике. Т.е. сперва мне нужно произвести ряд замеров и опубликовать тут ряд красивых картинок. И потом уже думать что и как найти.
Я имел ввиду, что даже если какую-то часть нелинейных искажений устойчиво измерить не выйдет - одна только компенсация линейных уже стоит реализации такого усилительного тракта. А дальше по остаточному принципу, на сколько хватит моих мозгов, ресурсов микроконтроллера (STM32F303) и качества сигнала ОС.
Думаю, пока обсуждать смысла нет того, с чем лучше работать имея на руках исходные данные, полученные на практике. Т.е. сперва мне нужно произвести ряд замеров и опубликовать тут ряд красивых картинок. И потом уже думать что и как найти.
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Модель динамической головки громкоговорителя
В сигнале на выходе ос нелинейные эффекты видны?