|
|
  |
"аналоговая" АРУ в Цифровом приемнике |
|
|
|
Aug 14 2012, 10:20
|
Местный
  
Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859

|
Доброго дня!
Возникла задача реализовать "традиционную" АРУ в цифровом приемнике. Заказчик захотел иметь аналоговый выход для слухового приема телефонного сигнала, и при этом АРУ должна работать как в старом аналоговом приемнике (типа Р-160 например). С быстрым нарастанием и медленным остыванием. Раньше я для приема на слух измерял усредненный уровень сигнала скользящим окном и по нему регулировался. Работало отлично, но вносило ощутимую задержку, и время нарастания и спадания были одинаковыми. Схема простая, никакой рекурсии, все замечательно реализуется в ПЛИС.
Теперь мне надо иметь время нарастания 1..2 мс при скачке уровня сигнала на входе на 20 дБ, и время спадания 250 мс при "просадке" входного сигнала на 20 дБ. Думаю, что дело пахнет ПИД-регулятором с рекурсивной схемой. Такого еще делать не приходилось.
Не хочется глубоко зарываться в Теорию Автоматического Управления, хотелось бы получить конкретную информацию по реализации такого типа АРУ. Матлабом владею, смоделировать алгоритм сумею. Если есть примеры или ссылки - делитесь, буду признателен.
В общем, жду Ваших советов, зараннее спасибо.
|
|
|
|
|
Aug 14 2012, 11:50
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
QUOTE (soldat_shveyk @ Aug 14 2012, 14:18)  Повторять аналоговую схему в цифре - мне кажется это не самый лучший путь. Аналоговые элементы имеют массу ограничений, которых лишены цифровые операции. Вы можете не повторять за ненадобностью петлю обратной связи АРУ. Но сделать пиковый детектор как в аналоге. Т.е интегрировать на интеграторе с малой утечкой (большим временем) усредненную по малому времени амплитуду входного сигнала,превышающую уровень интегратора (или квадрат.Квадратичный детектор в аналоге считался самым супер). Короче диод, конденсатор и резистор утечки. Сигнал пикового детектора использовать непостредственно для нормировки сигнала. Так всегда поступают со звуком.
|
|
|
|
|
Aug 14 2012, 12:11
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
QUOTE (soldat_shveyk @ Aug 14 2012, 14:58)  )) Слово "лень" мы заменим на "сжатые сроки". Надежда на чудеса коллективного разума не умрет никогда, благо примеров на форуме достаточно. Нужна конкретика. Не набор продуктов - выпрямитель, интегратор, дифференциатор, а рецепт - как их готовить и в каких количествах. В приемниках детектор сделан так, ничего не бывает другого 1.Берёте модуль входного сигнала I = abs(S) , (или квадрат для понтов под эталонный приемник Роде-Шварца с дорогими элементами) 2. Интегрируете с малой постоянной времени атаки, может даже 0. Имеете I1 3. if (I1>I2) I2=I1 else I2 = a*I2, a<1, но большая постоянная времени T2=тау*log(a) Если входная амплитуда мала заряд просто медленно стекает, что соответствует отпусканию В приемниках сигнал пикового детектора I2 подается на управляемый усилитель АРУ, но Вы можете просто нормировать делением
|
|
|
|
|
Aug 14 2012, 12:22
|
Местный
  
Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859

|
Цитата Т.е интегрировать на интеграторе с малой утечкой (большим временем) Интегрировать с большим временем не могу, так как это внесет задержку, равную половине времени интегрирования. Цитата Вы можете не повторять за ненадобностью петлю обратной связи АРУ В том то и дело, что не хочу отказываться. Рекурсии не боюсь, ПЛИС меня не ограничивает по разрядности операций, предельные циклы мешать не будут. Цитата 1.Берёте модуль входного сигнала I = abs(S) 2. Интегрируете с малой постоянной времени атаки, может даже 0. Имеете I1 3. if (I1>I2) I2=I1 else I2 = a*I2, a<1, но большая постоянная времени T2=log(a) Попробую смоделировать. Параллельно нашел кое-что: AGC in "good old analog receivers" vs modern reeivers - http://www.sm5bsz.com/lir/agc/agc.htm
|
|
|
|
|
Aug 14 2012, 12:34
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
QUOTE (soldat_shveyk @ Aug 14 2012, 15:22)  Параллельно нашел кое-что: AGC in "good old analog receivers" vs modern reeivers - http://www.sm5bsz.com/lir/agc/agc.htmЕсли сложностей не боитесь, а наоборот их ищете - можете посмотреть как сделана АGC у Analog Devices в цифровых приемниках и новых DDC, например AD6654. Только их рассчитать - сама по себе непростая задача, превышающая возможности форумного разума, во всяком случае в смысле выразительных средств. Нужно писать диссертацию, а не пост Вам же, судя по параметрам (1 и особенно 250 мс), предложили сделать обычное звуковое АРУ - пиковый детектор + управляемый усилитель. В аналоговых приемниках это всегда так работало по звуку. А особенно во всяких магнитофонах. Звуковой сигнал не может всё равно служить управляющим для усиления ВЧ тракта, поскольку как минимум частотные полосы разные (не говоря уже о модуляции) и по уровню звука Вы не почувствуете перегрузку ВЧ тракта. Так что Вы просто ублажаете ухо заказчика и защищаете НЧ тракт, а в этой области традиционные аналоговые решения были очень и очень неплохими, адекватными
|
|
|
|
|
Aug 14 2012, 13:15
|
Местный
  
Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859

|
Цитата можете посмотреть как сделана АGC у Analog Devices в цифровых приемниках и новых DDC А вот за эту наводку Большое Спасибо. Я никода не пользовал готовые DDC, оказывается зря )) Есть чему поучиться. Цитата Только их рассчитать - сама по себе непростая задача Вы преувеличиваете. Когдато цифровой фильтр посчитать проблема была, как раз уровень диссертации. А сейчас - взял матлаб, и готово. Я думаю что AGC Loop посчитать по нынешним временам - тривиальная рутинная задача, вроде цифрового фильтра. Был бы нужный тулбокс в Матлабе ))
|
|
|
|
|
Aug 14 2012, 13:19
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
QUOTE (soldat_shveyk @ Aug 14 2012, 16:15)  Вы преувеличиваете. Когдато цифровой фильтр посчитать проблема была, как раз уровень диссертации. А сейчас - взял матлаб, и готово. Я думаю что AGC Loop посчитать по нынешним временам - тривиальная рутинная задача, вроде цифрового фильтра. Был бы нужный тулбокс в Матлабе )) Ну, не знаю...Вряд ли. Может для каких-то конкретных схем. Мне как-то пришлось расчитывать AGC как раз того DDC, так в конечном счете пришлось перебирать на компьютере все допустимые комбинации параметров, чтобы посмотреть, что получается Благо, хоть все коэффициенты квантованые и число вариантов конечное. Жуть логарифмическая)) Но такое AGC - измерительное, они по сути преобразуют практически без потерь уровень сигнала в порядок и мантиссу, меняющиеся медленно, и быстро меняющийся низкоразрядный сигнал
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|