Модель динамической головки громкоговорителя

INFERION
Сообщения: 34
Зарегистрирован: 20 окт 2015, 13:06
Откуда: Украина

Модель динамической головки громкоговорителя

Сообщение INFERION »

Задача:
Есть необходимость в компенсации искажений звуковоспроизводящего тракта. Необходимо построить модель динамической системы достаточной точности, и найти способы вычислять её параметры по комплексному сопротивлению нагрузки. Затем вывернуть её математическое описание наизнанку - построить обратную модель (антимодель), и использовать для внесения предискажений в сигнал, которые затем будут скомпенсированы реальной ГГ. На входе у нас имеется мгновенное значение напряжения и тока катушки ГГ - это все имеющиеся входные данные (усложнять усилитель по ТЗ нельзя, нужно просто оптимизировать классику). Теперь "матан":

В простейшем случае звено АС можно представить как колебательный контур (RLC-фильтр второго порядка) с мотором и паразитными индуктивностью и активным сопротивлением обмотки:
dyn_model.GIF
dyn_model.GIF (4.85 КБ) 6862 просмотра
Практически все элементы модели нелинейны, плюс ихние параметры гуляют от внешних условий (температура, влажность, атмосферное давление, время и характер работы, возраст и т.п.), но в первом приближении мы считаем всё линейным и стабильным. Мотор имеет определённую передаточную характеристику, выражающуюся в ньютонах на ампер (параметр 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). Существует методика измерения добротности, использующая форму импедансной кривой в области резонанса. Вот подходящее изображение:
image002.gif
image002.gif (4.45 КБ) 6864 просмотра
Теперь, когда нам известна добротность и характеристическое сопротивление колебательной системы - мы можем найти 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) Где гарантия что модель будет адекватно описывать поведение головки? Как то давно читал на эту тему книгу, так вот математика там помнится была примерно такая же что и электродинамика для антенн с кучей упрощений и допущений.

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

INFERION
Сообщения: 34
Зарегистрирован: 20 окт 2015, 13:06
Откуда: Украина

Re: Модель динамической головки громкоговорителя

Сообщение INFERION »

1) система имеет обратную связь в реальном времени. Если модель будет грубая - ОС просто не сможет работать, т.к. ту же резонансную частоту не получиться зафиксировать. Она будет гулять в зависимости от сигнала. То же самое касается и остальных моментов. Чтоб линейная часть модели работала - необходимо достаточно хорошо линеаризовать реальную систему. Ошибки сразу же будет видно в консоле, как нестабильные значения ключевых параметров, коррелирующие с тем же уровнем громкости и т.п. Эту нестабильность модель должна уметь интерпретировать, вычисляя из неё необходимые нелинейности. Тут не требуется сложнейшая система уравнений с пачкой неизвестных - реальная система отлично работает и с последовательным приближением.

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

Думаю что даже частичная компенсация подобных эффектов лучше, чем вообще никакая.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1116
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Модель динамической головки громкоговорителя

Сообщение Бахурин Сергей »

Что значит ос в реальном времени? Микрофон с усилителем?

INFERION
Сообщения: 34
Зарегистрирован: 20 окт 2015, 13:06
Откуда: Украина

Re: Модель динамической головки громкоговорителя

Сообщение INFERION »

ЭМОС - Электро Механическая Обратная Связь. В качестве микрофона сама головка. Усилитель класса UcD с датчиком тока катушки. Напряжение известно, усилитель за ним следит. Непосредственно эта ОС никак не влияет на усиление. Она нужна лишь для расчёта модели микроконтроллером, который работает в качестве встроенной в усилитель звуковой карты. Дальше не хитрая арифметика и можно выделить из отклика что угодно. Я не сторонник разделения звуковоспроизводящего тракта на пассивные АС и отдельные усилители. Слишком много компромиссов. Такие вещи должны работать в паре, компенсируя искажения друг друга.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1116
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Модель динамической головки громкоговорителя

Сообщение Бахурин Сергей »

Ну не знаю, не знаю. Не очевидно как вы сможете объективно оценить уровень искажений с такой хитрой обратной связью. Думаю что если речь идет о компенсации нелинейных эффектов в результате изменения температуры катушки динамика или атмосферного давления, то надо использовать нечто более точное чем сам динамик чтобы зафиксировать такие эффекты. Плюс это надо делать в некой бехзэховой акустической камере. Идея считать такие модели на контроллере тоже выглядит интересно :?

INFERION
Сообщения: 34
Зарегистрирован: 20 окт 2015, 13:06
Откуда: Украина

Re: Модель динамической головки громкоговорителя

Сообщение INFERION »

Сперва можно разобраться и с гораздо более заметными искажениями. Например, линейными. Одна только линейная фаза и отсутствие неравномерности АЧХ уже стоит возни.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1116
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Модель динамической головки громкоговорителя

Сообщение Бахурин Сергей »

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

INFERION
Сообщения: 34
Зарегистрирован: 20 окт 2015, 13:06
Откуда: Украина

Re: Модель динамической головки громкоговорителя

Сообщение INFERION »

Это я уже делал. Измерить параметры Т-С не проблема, меня интересует измерение нелинейностей. Напрямую не получится, зато есть механизмы для косвенного измерения. Тот же дрейф резонансной частоты от подводимой мощности, к примеру. Или непропорциональный отклик на разной мощности.
Я имел ввиду, что даже если какую-то часть нелинейных искажений устойчиво измерить не выйдет - одна только компенсация линейных уже стоит реализации такого усилительного тракта. А дальше по остаточному принципу, на сколько хватит моих мозгов, ресурсов микроконтроллера (STM32F303) и качества сигнала ОС.
Думаю, пока обсуждать смысла нет того, с чем лучше работать имея на руках исходные данные, полученные на практике. Т.е. сперва мне нужно произвести ряд замеров и опубликовать тут ряд красивых картинок. И потом уже думать что и как найти.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1116
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Модель динамической головки громкоговорителя

Сообщение Бахурин Сергей »

В сигнале на выходе ос нелинейные эффекты видны?

Ответить