leoniv (leoniv) wrote,
leoniv
leoniv

Categories:

Баллистика



Сижу с головой в программировании STM32, который соскучиться не дает. Типа как на скриншоте выше – заливаю через ST-Link очередной раз в него прошивку, а вместо ее запуска получаю ответ: «The core is halted!» Откатываюсь на предыдущую версию прошивки - все нормально, заливает, пишет «Application started.», работает. Всякими такими вещами портит нервы периодически.

В целом помаленьку проект продвигается. В прошлый раз речь шла о первом цифровом фильтре в тракте: DC removal filter. Он отлажен, нареканий не вызывает. Следом за этим фильтром идет детектор.



Детектор – это самая простая часть. Когда из сигнала исключена постоянная составляющая, задача сводится к вычислению абсолютного значения. Работу детектора проверил с помощью ЦАП.











Даже при частоте дискретизации 96 кГц сигнал 20 кГц выглядит так себе. Но если на осциллографе включить более медленную развертку, четко видна синусоидальная огибающая. Интересно, что в такой ситуации показал бы цифровой осциллограф?



Выходной сигнал детектора дальше надо сгладить. В этом индикаторе планирую сделать настраиваемые постоянные времени, но пока для тренировки хочу сделать стандартный квазипиковый измеритель уровня, как описано в ГОСТ 21185-75 и IEC 60268-10.

Сглаживающий фильтр – это не просто ФНЧ, а хитрый фильтр с разными постоянными времени заряда и разряда. Заряд должен происходить быстро, чтобы обеспечить заданное время интегрирования индикатора. По стандарту показания должны достигать уровня -2 дБ за время 5 мс после начала вспышки тестового сигнала 5 кГц. Это не значит, что постоянная времени RC-цепочки должна быть 5 мс. На самом деле требуется постоянная времени примерно 1.25 мс. Разностное уравнение имеет следующий вид:

y(n) = y(n-1) + A*(x(n) - y(n-1)), где A = 0.0083 для Fs = 96 кГц

Для начала решил протестировать этот фильтр с одинаковыми временами заряда и разряда. Чтобы получить тестовый сигнал, нашел в столе полевик КП303Г, подцепил его параллельно сигналу после резистора 1 кОм, а на затвор подал прямоугольный сигнал частотой 20 Гц со второго канала генератора. Полевик, конечно, давит сигнал не полностью, но для проверки сойдет.



На выходе фильтра увидел типичную для ФНЧ форму сигнала. За 5 мс сигнал как раз достигает требуемого уровня, постоянная времени совпала с расчетной.



Дальше надо добавить постоянную времени для разряда. Она задает время обратного хода измерителя. Это время в стандарте определено как 1.7 секунды до падения уровня на 20 дБ. Постоянная времени фильтра нужна примерно 740 мс. Это слишком большое время, чтобы его обрабатывать в домене 96 кГц. Как минимум, придется работать в сетке 64 бита, а это глупость. Лучше обработку перенести в более медленный домен. У меня как раз такой организован, там обработка выполняется с частотой заполнения массивов по 256 точек, т.е. 96000 / 256 = 375 Гц. Это вполне подходящая частота дискретизации, коэффициент фильтра получается 0.0036, что совершенно приемлемое значение.

Кроме отображения уровня с помощью столбиков, еще будет индикация пиков «летающей» точкой. Для универсальности с точкой будет связан свой фильтр, что позволит отображать, скажем, квазипик (QPPM) столбиком и true-peak (TPPM) точкой. Или VU столбиком, а QPPM точкой. Причем все с настраиваемыми временами. Добавил второй фильтр в домен 96 кГц и измерил осциллографом время выполнения кода. Обработка 256 точек тремя цифровыми фильтрами занимает примерно 400 мкс. Это отличный результат, можно процессор загрузить еще чем-то.

Для измерителя VU стандарт определяет одинаковые постоянные времени заряда и разряда 300 мс. По своей наивности считал эту задачу решенной автоматически. У меня постоянные времени программируются, выбираем время интегрирования побольше, а время обратного хода – поменьше, и задача решена. Однако для измерителей VU стандарт определяет время 300 мс как то, за которое показания достигают значения 99% от установившегося, дальше может быть выброс от 1 до 1.5%. В древние времена это обеспечивалось механической подвижной системой измерительного прибора. Чтобы повторить это электрически, требуется ФНЧ 2-го порядка с частотой среза 2.1 Гц и добротностью 0.62. Это что-то между фильтрами Бесселя и Баттерворта. Посчитать аналоговый прототип удалось с помощью FilterPro, а вот для цифрового варианта фильтра возможностей автоматического расчета не нашел.



Не очень хочется, конечно, вводить лишний фильтр, который нужен только в режиме VU. Лучше бы без него обойтись. Получить схожую баллистику измерителя с фильтром 1-го порядка не удалось. Если требовать установления до 99% за 300 мс (для этого нужна тау 65 мс), тогда измеритель будет сильно завышать показания для коротких вспышек сигнала. Если подобрать в среднем похожую переходную характеристику (тау 130 мс), тогда за 300 мс будет достигаться лишь 90%. Все это довольно плохо, с такими характеристиками нельзя заявлять, что измеритель поддерживает режим VU. Неожиданно самый древний режим оказался самым сложным в реализации.

Если посмотреть схемы VU-измерителей, где применяется аналоговый детектор, то после него исправно устанавливают ФНЧ 2-го порядка с указанными характеристиками. Например, его можно найти в datasheet на LM3916. Там этот фильтр выполнен на основе структуры MFB:



Похожая схема использована и в измерителе уровня из журнала «Everyday Practical Electronics», March 2009:



В этом журнале мне безумно нравится оформление сборочных и механических черетежей. Там это красивые рисунки.



Они чем-то напоминают рисунки из журналов детства.



Почитал свежие номера журнала (правда, теперь он называется просто «Practical Electronics»), номера доступны включая июльский (!) за 2020 год. Какое-то странное чувство. Вовсю применяются выводные компоненты, транзисторы в TO-92, микросхемы в DIP и так далее. Такое чувство, что журнал 20-летней давности. Но вдруг и что-то современное проскакивает.

Если вернуться к измерителю уровня, режим VU может и не сильно сегодня востребован. Но тут вряд ли что-то можно решить теоретически, надо будет задать вопрос на специализированном форуме.

Еще один вопрос – насколько необходимо наличие режима с измерением RMS. Реализация быстрого алгоритма такого измерения тоже не очень проста, а стандарты вообще не упоминают такого режима. Хотя современные программные измерители уровня такой режим имеют.

Ну и последнее, что может быть в измерителе – это взвешивающие фильтры. Например, для измерения уровня громкости (в LUFS). Обычно там применяются 2 фильтра 2-го порядка, коэффициенты приведены в стандарте ITU-R BS.1770-4. По идее, ресурсов для их реализации хватит, но насколько это актуально – не знаю.

Еще один режим с частотным взвешиванием – это реализации коррекции, подобной АЧХ УЗ магнитофона. Тогда можно будет видеть реальную перегрузочную способность с учетом состава сигнала. Как реализовать такое взвешивание – пока не думал, оставлю возможность расширения на будущее.

Основным режимом измерителя является режим QPPM, где используются фильтры 1-го порядка, а они реализованы честно. Для получения обратного хода тоже требуется фильтр 1-го порядка. Чуть было не взялся за его реализацию, но что-то дернуло подробней глянуть теорию. У измерителей уровня имеются целых 4 динамических характеристики:



Время интеграции и время возврата известно всем. Переброс указателя – это характеристика стрелочных приборов, для светодиодной линейки не актуально. Время срабатывания, как я считал, тоже не актуально для безынерционных приборов индикации. Как оказалось, это неверно.



Оказывается, для безынерционных приборов искусственно формируют баллистику, подобную стрелочным приборам. Увеличение времени прямого хода при этом не должно увеличивать время интеграции измерителя. Короткие импульсы сигнала по-прежнему должны отображаться правильно. Для этого детектор должен «ждать», пока показания достигнут измеренного значения, и лишь потом запускать обратный ход. В промышленных аналоговых измерителях (например, ИУ-12) для этого применялись довольно сложные схемы.

Я проанализировал ряд видео работы различных светодиодных измерителей уровня. Оказывается, ограничение скорости роста длины линейки очень положительно сказывается на восприятии. В любительских конструкциях квазипиковых индикаторов при резком нарастании уровня сигнала столбик сразу перепрыгивает с одной длины на другую. В профессиональных измерителях такого нет. Нет такого и в измерителях VU, там за счет большого времени интеграции плавность получается сама собой. Зато такой индикатор слабо реагирует на пики сигнала.

Если выбрать время срабатывания постоянным, то вопрос решается временной задержкой запуска обратного хода. Процесс срабатывания также реализуется фильтром 1-го порядка, постоянная времени его известна. Сам фильтр реализуется в «медленном» домене.



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



Tags: electronics, reel-to-reel, stm32, Электроника-004, катушечник, магнитофон, микроконтроллер, программирование
Subscribe

  • Измеритель уровня V0.1

    Сделал первую версию прошивки нового измерителя уровня для магнитофона "Электроника-004". Все еще очень-очень сырое, но уже полоски как-то…

  • Sharp GF-777

    Попал тут ко мне Sharp GF-777. Без преувеличения можно сказать, что это легенда. Обладать таким аппаратом могли лишь избранные. Стоил он когда-то…

  • JVC TD-V662

    Когда просят посмотреть кассетную деку, говорят удивительные вещи. Что не могут найти мастера, который за это бы взялся. Но ведь аналоговая…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 71 comments

  • Измеритель уровня V0.1

    Сделал первую версию прошивки нового измерителя уровня для магнитофона "Электроника-004". Все еще очень-очень сырое, но уже полоски как-то…

  • Sharp GF-777

    Попал тут ко мне Sharp GF-777. Без преувеличения можно сказать, что это легенда. Обладать таким аппаратом могли лишь избранные. Стоил он когда-то…

  • JVC TD-V662

    Когда просят посмотреть кассетную деку, говорят удивительные вещи. Что не могут найти мастера, который за это бы взялся. Но ведь аналоговая…