RMS детектор. За и против. Вопрос к изготовителям (Long, Digilab...)

Если представить мгновенное напряжение в виде выражения:
u=Um * f(t) где Um - максимальное напряжение, f(t) - функция от времени,
то согласно формуле, RMS прямо пропорционально напряжению.
[DOUBLEPOST=1483566074][/DOUBLEPOST]Это легко проверяется, достаточно измерить пик и RMS какого-нибудь файла, уменьшить его амплитуду и снова замерить. Пиковое значение и RMS изменятся на одинаковую величину.
 
-да и 256х тоже живости не добавляет
Мужики, так в чём же дело ? Как жить дальше ?
Есть ли выход из цифровой пещеры ?
Или придётся зомбировать мозги тёплым 2-х гигарецовым смрадфоном ?
 
  • Like
Реакции: M Clis и itzh
Кажется или точно есть расхайпаный девайс?

Я думал вы серьёзно ((

Я промолчу пожалуй
Хотите в реальном времени? Можно и так. Скачайте демку MDynamics. Подберите параметры эквивалентные ITU-R BS.1770 стандарту. Можете нарисовать К-фильтр в сайд-чейн или свой секретный и вперёд. Просто почему бы не воспользоваться уже имеющимися разработками прежде чем создавать что-то подобное самому? Ну если вам хочется писать код, то ни кто вам этого запретить не может конечно. Вопрос скорее не в том как это сделать, а зачем?
 
@Cepera, нужно различать работу компрессора и работу его детектора. Компрессор включается, если так можно выразиться, только при превышении входным сигналом порога. А вот детектор работает всегда. Он постоянно просчитывает управляющий сигнал даже если на его входе ничего нет (тогда упр. сигнал равен нулю). Поэтому не правильно говорить о том что rms (или пик) считается лишь от пика до пика. Оно просчитывается постоянно. За отсчёты берётся значение семплов входного сигнала. Это их значения возводятся в квадрат, суммируются, сумма делится на их кол-во (окно) и берется корень из всего этого. Не важно чему равны эти значения, хоть нулю, хоть максимуму. Просчёт идёт постоянно. Потом уже эти полученные значения применяются компрессором в зависимости от того произошло ли превышение порога вх. сигналом или нет.

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

Есть так же разработчики считающие rms очень грубым методом оценки громкости и применяющие свой оригинальный метод. Цифровой мир развивается очень быстро и ссылаться на то что сказал Лонг несколько лет назад... Да, может тогда это было верно.
 
  • Like
Реакции: Andruha, akaabd и itzh
сделал по быстрому в LTSpice простейший RMS детектор....
-- У Вас там где-то ошибка. За время "тау" сигнал спадает в "е" раз, т.е. примерно на 8 дб.
Соответственно, за 5 "тау" - на 8 х 5 = 40 дб, а на приведённом графике - всего около 20 дб...
 
  • Like
Реакции: itzh
@Long, ошибки нет - Ваши расчёты верны для спадающей экспоненты которая имеет место быть после интегрирующей цепочки - но не забывайте что после этого ещё производится извлечение квадратного корня.
 
Последнее редактирование:
@NickCrow, чем обусловлено такое большое время спада (после окончания вх. сигнала) по сравнению со временем нарастания на вашем графике? Разве они (нарастание и спад) не должны быть примерно одинаковыми?
 
Вопрос скорее не в том как это сделать, а зачем?
Виталий, вы чтоли переживаете за меня? А ли решили взять надо мной шефство? Извольте, не надо. У меня всё хорошо. Давайте рассмотри аналогию. По миру очень много людей которые сами строят автомобили. Вы конечно можете им также сказать "зачем, когда уже есть готовое и лучше?". В ответ скорее всего вы не услышите ничего, ибо подобными вопросами, всякие разные умники, достали уже давным давно. В глубинке, возможно, вас пошлют куда подальше. Может даже и по мордам дадут. После мордобоя глядишь и нальют. Этот как попросите.
Теперь вторая сторона вопроса. Зачем спрашивается мне покупать инструмент, когда я сам могу это сделать?
Просто почему бы не воспользоваться уже имеющимися разработками прежде чем создавать что-то подобное самому?
Вы не следите за тредом. Я уже сделал. Это уже работает. И заметьте, это оказалось быстрее, чем оплатить покупку мелдам. Я конечно еще не проверял на студии в нормальном контроле, но мне уже нравится результат.
Считайте это моим хоби. Надеюсь у вас нет нападок по отношению ко мне?
 
Последнее редактирование:
Виталий, вы чтоли переживаете за меня? А ли решили взять надо мной шефство? Извольте, не надо. У меня всё хорошо. Давайте рассмотри аналогию. По миру очень много людей которые сами строят автомобили. Вы конечно можете им также сказать "зачем, когда уже есть готовое и лучше?". В ответ скорее всего вы не услышите ничего, ибо подобными вопросами, всякие разные умники, достали уже давным давно. В глубинке, возможно, вас пошлют куда подальше. Может даже и по мордам дадут. После мордобоя глядишь и нальют. Этот как попросите.
Теперь вторая сторона вопроса. Зачем спрашивается мне покупать инструмент, когда я сам могу это сделать?
Вы не следите за тредом. Я уже сделал. Это уже работает. И заметьте, это оказалось быстрее, чем оплатить покупку мелдам. Я конечно еще не проверял на студии в нормальном контроле, но мне уже нравится результат.
Считайте это моим хоби. Надеюсь у вас нет нападок по отношению ко мне?
Ха-ха-ха. Я почти прослезился. Ладно я не буду это комментировать, всё ещё смеюсь. :)Шефство, нападки... что к чему? Человек спрашивает зачем делать LUFS компрессор и вот ответ. Нет, ну серьёзно, у вас точно всё хорошо? :D
 
@NickCrow, чем обусловлено такое большое время спада (после окончания вх. сигнала) по сравнению со временем нарастания на вашем графике? Разве они (нарастание и спад) не должны быть примерно одинаковыми?
Эта разница обусловлена тем что интегрирующее звено в данном примере реализовано на RC фильтре амплитуда сигнала на выходе которого при нарастании сигнала имеет форму нарастающей экспоненты, а при спаде сигнала имеет форму спадающей экспоненты (сейчас пишу с телефона, картинку разместить не могу - погугли) в результате нарастающий и спадающий сигналы несимметрричны и вследствие этой несимметричности после извлечения корня появляется эта разница. При последующем логарифмировании эта разница увеличивается ещё больше.
Если в качестве интегрирующего звена использовать moving average фильтр (то самое окно из семплов), то разницы по временам нарастания и спада не будет и форма их будет симметрична.
 
Последнее редактирование модератором:
1000 периодов синуса это 1кгц. Чтобы было 10кгц надо десять тыщ

Он подал не за секунду, а за более короткий период (на графике видно за сколько) :)

Хороший тред, настроение поднимает :)
 
@Cepera, если тебе эти темы интересны - начни с изучения основ, иначе ты тратишь время зря и в голове у тебя будет каша а не знания.
 
  • Like
Реакции: presly
u=Um * f(t) где Um - максимальное напряжение,
-т.е это макс амплитудное значение , у синуса и меандра с одинаковой Um, urms разное, не вижу связи
Если в качестве интегрирующего звена использовать moving average фильтр
-или просто банальный интегратор на источнике тока и емкости как собственно сделано у that и ad
 
@digilab2, спасибо за информацию, не знал что есть такая реализация - посмотрю. Вообще конечно я глубоко в тему компрессоров не вникал - пока не было необходимости.
 
-т.е это макс амплитудное значение , у синуса и меандра с одинаковой Um, urms разное, не вижу связи
@digilab2, верно, у синуса и меандра с одинаковой Um uRMS разное. Разное потому что функция и её значение разные. Если изменить Um в определённое количество раз что у синуса, что у меандра - RMS изменится во столько же.
[DOUBLEPOST=1483613507][/DOUBLEPOST]
Ха-ха-ха. Я почти прослезился.
Вот и хорошо. Смех продлевает жизнь ))
[DOUBLEPOST=1483613765][/DOUBLEPOST]
Человек спрашивает зачем делать LUFS компрессор
Не могу найти вопрос этого человека. Цитату плиз.
у вас точно всё хорошо?
В целом неплохо, но как всегда, хотелось бы лучше. ))
 
Последнее редактирование:
Если изменить Um в определённое количество раз что у синуса, что у меандра - RMS изменится во столько же.
-для синуса и меандра да конечно , но я думаю можно выдумать кучу импульсно-шумовых функций , где эта зависимость будет
не очевидна, да вообщем это не относится к делу , в любом случае пиковый компрессор и rms будут работать по разному, да согласен
в обоих вариантах сжимаем д.д с увеличением амплитуды, но представьте себе гипотетический сигнал в котором синус изменяется
до меандра и до пилы и наоборот амплитуда при этом постоянная , пиковый это отрабатывать не будет , rms отработает
[DOUBLEPOST=1483648164][/DOUBLEPOST]
спасибо за информацию, не знал что есть такая реализация - посмотрю.
-посмотрите (я уже указывал) pdf на детектор that2252 там достаточно подробно описано все и математика и критерии выбора
параметров интегрирования, еще там у них пару an-ов есть на эту тему, у ad тоже достаточно подробно описано ( у них
несколько вариантов rms детекторов тоже есть)
 
Последнее редактирование:
  • Like
Реакции: belovw
в любом случае пиковый компрессор и rms будут работать по разному
-- Именно! Квинтэссенция всего топика, кстати!
Это РАЗНЫЕ компрессоры, и вести себя будут различно, даже на идентичных сигналах.
Не надо их ни сравнивать, ни противопоставлять.
"Every faces - go places!" ;)
 
  • Like
Реакции: presly, M Clis и belovw
NickCrow:
спасибо за информацию, не знал что есть такая реализация - посмотрю.
digilab2:
-посмотрите (я уже указывал) pdf на детектор that2252 там достаточно подробно описано

@digilab2, я имел в виду совсем не это. О том что там подробно описано я немножко знаю.
Из этого диалога:
NickCrow:
Если в качестве интегрирующего звена использовать moving average фильтр
digilab2:
-или просто банальный интегратор на источнике тока и емкости как собственно сделано у that и ad
я сделал вывод что существует таки в природе moving average фильтр в аналоговой реализации. а я до сих пор не знаю об этом факте. А оказалось что не знаю я об этом факте потому что такой реализации таки действительно нет. По крайней мере сейчас Наверное мы просто не поняли друг друга. Хотя кое-какие мысли по этому поводу появились - может быть на досуге потерзаю мозги - все таки интуитивно есть ощущение что это можно сделать - а вдруг.
Если в качестве интегрирующего звена использовать moving average фильтр (то самое окно из семплов), то разницы по временам нарастания и спада не будет и форма их будет симметрична.
что сейчас возможно только в цифровой реализации детектора.
 
Последнее редактирование модератором:
-у меня такое подозрение что этот moving average фильтр и есть интегратор в пределах своего окна , окно делаем больше
интегрируем точнее , главное не нарваться на переполнение , что кстати относится и к аналоговым интеграторам, если
выбрать большое t то на ограничение можно нарваться запросто, чего кстати нет у усредняющей r-c цепи( фильтра)
 
Эта разница обусловлена тем что интегрирующее звено в данном примере реализовано на RC фильтре амплитуда сигнала на выходе которого при нарастании сигнала имеет форму нарастающей экспоненты, а при спаде сигнала имеет форму спадающей экспоненты (сейчас пишу с телефона, картинку разместить не могу - погугли) в результате нарастающий и спадающий сигналы несимметрричны и вследствие этой несимметричности после извлечения корня появляется эта разница. При последующем логарифмировании эта разница увеличивается ещё больше.
Если в качестве интегрирующего звена использовать moving average фильтр (то самое окно из семплов), то разницы по временам нарастания и спада не будет и форма их будет симметрична.
Понял. Спасибо. Таким образом мы можем сказать что аналоговый rms детектор, в отличие от цифрового, обладает неизбежной стадией релиза обусловленной схемой устройства. Я подозреваю что это вызвано разницей токов заряда и разряда конденсатора.

Digilab, вы это имели ввиду когда писали что он пиковый, но rms типа? Т.е. пиковый как старый би-би-сишный индикатор пикового уровня – короткое время интегрирования + длинное время восстановления.
 
аналоговый rms детектор, в отличие от цифрового, обладает неизбежной стадией релиза обусловленной схемой устройства
-- Да ничем оно не обусловлено, кроме самого принципа.
А индикаторы - они квазипиковые, по ГОСТ - 5 мс срабатывание и 1,7 сек восстановление: http://long.ru/info/GOST.zip
 
-у меня такое подозрение что этот moving average фильтр и есть интегратор в пределах своего окна , окно делаем больше
интегрируем точнее , главное не нарваться на переполнение
Moving average фильтр - это цифровой FIR фильтр коэффициенты которого симметричны относительно центра окна. Поэтому у него симметричные фронты нарастания и спада. В самом простом варианте все коэффициенты одинаковые (число обратное количеству семплов в окне) или можно коэффициенты назначить соответствующими какой-нибудь оконной функции (Гаусса, Блекмана и т.д.).
На переполнение при использовании Moving average фильтра нарваться невозможно при использовании арифметики с плавающей точкой (если не подавать на него сигнал с размахом 1E+300).
 
Понял. Спасибо. Таким образом мы можем сказать что аналоговый rms детектор, в отличие от цифрового, обладает неизбежной стадией релиза обусловленной схемой устройства.
Нет, так мы не можем сказать - это просто набор слов составленный в фразу которая не имееет к сути никакого отношения.
Попробую обьяснить ещё раз.
Изменение времени нарастания и спада напряжения в этом детекторе происходит на стадии извлечения квадратного корня при условии если предшествующий этой операции фильтр интегратора имеет несимметричную импульсную характеристику. Если фильтр имеет симметричную импульсную характеристику, то изменения времени нарастания и спада не происходит, происходит только изменение формы кривых одинаковое как для нарастания так и для спада. Если не производить операции извлечения корня, то изменения времени нарастания и спада не будет происходить независимо от типа интегрирующего фильтра.
Фильтр с несимметричной импульсной характеристикой - это фильтр с нелинейной фазой. Фильтр с симметричной импульсной характеристикой - это фильтр с линейной фазой. Все аналоговые фильтры - с нелинейной фазой и соответственно с несимметричной импульсной характеристикой. Цифровые фильтры есть и с нелинейной фазой и с линейной фазой в зависимости от типа. То есть в цифре эмулируются все фильтры которые есть в аналоге плюс есть много фильтров которых в аналоге нет.
 
Последнее редактирование модератором:
  • Like
Реакции: belovw
@belovw, возможно, и ЭТО (пункт VST Plugin Oversampler в самом низу страницы) будет вам полезно. Это программка, позволяющая оверсэмплить произвольный VST плагин с кратностью от 2 до 16 (правда, на практике все-таки не любой, но многие), при этом в широких пределах играясь фильтрами (выбирается тип, порядок, и частота пред- и постфильтра). Можно послушать, как влияют фильтры на результат (особенно наглядно на злых искажалках).
 
  • Like
Реакции: belovw
но я думаю можно выдумать кучу импульсно-шумовых функций , где эта зависимость будет
не очевидна, да вообщем это не относится к делу , в любом случае пиковый компрессор и rms будут работать по разному, да согласен
в обоих вариантах сжимаем д.д с увеличением амплитуды, но представьте себе гипотетический сигнал в котором синус изменяется
до меандра и до пилы и наоборот амплитуда при этом постоянная , пиковый это отрабатывать не будет , rms отработает
Я с вами абсолютно согласен. Только вы меня не правильно поняли. Я к тому, что у фиксированного сигнала, будь то просто синус, меандр или песня из альбома Стаса Михайлова, при изменение амплитуды сигнала или файла, RMS будет менять прямо пропорционально. Прямо пропорционально напряжение.

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

Сейчас просматривают