Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Автоматическая регулировка усилителя мощности
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Rf & Microwave Design
zheka
Господа, есть вопрос. Скорее к тем, кто уже делал подобное.


Есть линк на CC1101-PA-LNA. Выходная мощность усилителя в передатчике - +30 dBm. На полную мощность вблизи работать не получается - когда на входе приемника входной сигнал выше чем -15 dBm связь пропадает. А работать нужно как в непосредственной близости, так и на максимальном удалении - около 500 м.
Хочется сделать автоматическую регулировку усиления. Не столько для того, чтобы работать и вблизи и на удалении, сколько для того, чтобы на засорять эфир чрезмерно мощным сигналом.

Мой мозг родил пока следующий алгоритм: передатчик посылает постепенно нарастающие по мощности сигналы. В пакет добавляется байт с информацией об выставленной мощности передатчика. Как только приемник получает пакет, он отправляет ответ передатчику о том, что он услышан. Фишка в том, что приемник считает - раз до него дошел пакет, то значение мощности, закодированное в пакете можно использовать для отправки ответа - дойдет гарантировано.

Либо наоборот - как только сигнал слишком мощный, отправлять ведущему сигнал о том, что мощность неплохо было бы уменьшить.


Задача с одной стороны несложная, просто я не хочу изобретать велосипед, наверняка есть проверенные решения, к которым я могу и не прийти сам сразу.
Кто-что посоветует?
Profi2005
Добрый день,

Соответственно связь на дальней дистанции прекрасно работает,
или иными словами, глубина АРУ в приемнике недостаточна?!?

Таки может АРУ подкрутить? Или аттенюатор на вход поставить,
который будет загрублять сигнал при больших мощностях?

В системах сотовой связи сделано динамическое управление мощностью.
В 3G (WCDMA) это все реализовано и работает, т.к. все абоненты сидят в одной полосе частот.

В 2G (GSM) на практике мощность базовой станции ставят на максимум,
т.к. разделение каналов временное, соседние TSL друг-другу не мешают,
а вот при случайном пропадании линка он восстанавливается намного быстрее.
Труба же динамически меняет излучаемую мощность согласно информации от BTS.

С уважением,
К.
Егоров
Цитата(zheka @ Dec 4 2013, 21:19) *
Мой мозг родил пока следующий алгоритм: передатчик посылает постепенно нарастающие по мощности сигналы. В пакет добавляется байт с информацией об выставленной мощности передатчика. Как только приемник получает пакет, он отправляет ответ передатчику о том, что он услышан. Фишка в том, что приемник считает - раз до него дошел пакет, то значение мощности, закодированное в пакете можно использовать для отправки ответа - дойдет гарантировано.
?

Не занимался таким вплотную, но вспоминаю один доклад на конференции. Там боролись с проблемой железнодорожники.
Машинист локомотива может быть услышан сразу несколькими диспетчерами, а нужен один. Вот там что-то подобное применялось, первый кто услышал посылает остальным (радиостанция, не человек) сигнал игнорировать вызов. И что-то в регулировании мощности подобное.
Так что Ваш алгоритм выглядит вполне.
tsww
Цитата(zheka @ Dec 4 2013, 22:19) *
Господа, есть вопрос. Скорее к тем, кто уже делал подобное.


Есть линк на CC1101-PA-LNA. Выходная мощность усилителя в передатчике - +30 dBm. На полную мощность вблизи работать не получается - когда на входе приемника входной сигнал выше чем -15 dBm связь пропадает. А работать нужно как в непосредственной близости, так и на максимальном удалении - около 500 м.
Хочется сделать автоматическую регулировку усиления. Не столько для того, чтобы работать и вблизи и на удалении, сколько для того, чтобы на засорять эфир чрезмерно мощным сигналом.

Мой мозг родил пока следующий алгоритм: передатчик посылает постепенно нарастающие по мощности сигналы. В пакет добавляется байт с информацией об выставленной мощности передатчика. Как только приемник получает пакет, он отправляет ответ передатчику о том, что он услышан. Фишка в том, что приемник считает - раз до него дошел пакет, то значение мощности, закодированное в пакете можно использовать для отправки ответа - дойдет гарантировано.

Либо наоборот - как только сигнал слишком мощный, отправлять ведущему сигнал о том, что мощность неплохо было бы уменьшить.


Задача с одной стороны несложная, просто я не хочу изобретать велосипед, наверняка есть проверенные решения, к которым я могу и не прийти сам сразу.
Кто-что посоветует?

Думаю, начинать надо с установки диплексора, а уж затем отрабатывать алгоритм
zheka
ух... еханый бабай...
Господа, у меня есть готовый модуль приемник, передатчик, усилитель мощности, дополнительный усилитель сигнала.
Ради какой такой великой цели нужно устанавливать атенюаторы, диплексоры? И крутить то, что в CC1101 не крутится? Вопрос не общего плана, о приемниках и передатчиках вообще, а о конкретном трансивере. Задачу нужно решить средствами, доступными этому трансиверу. Я даже примерно прикидываю, как, просто хотел знать, как это делают другие.
zheka
Цитата
или иными словами, глубина АРУ в приемнике недостаточна?!?


По документации, насыщение приемника (или демодулятора), короче неспособность девайс распознавать пакеты наступает при -14 dBm. У меня 14 dBm примерно на 2-3 метрах.
vadimp61
У меня не работало на 2-3м даже при +10dBm, но такой задачи не было что бы рядом работать.
Если у вас двухсторонний обмен типа запрос - ответ, добавьте в ответ уровень приема RSSI, а база сама будет решать с какой мощностью выдавать пакет данному абоненту. Аналогично в обратную сторону, эта процедура в технологии DSL называется HandShaike (рукопожатие). То есть перед основным обменом идет служебный для определения достаточной мощности для безошибочной работы в кабеле связи. Обменяйтесь с базой парой пакетов для настройки мощности, алгоритм придумывайте сами.
zheka
Цитата
добавьте в ответ уровень приема RSSI, а база сама будет решать с какой мощностью выдавать пакет данному абоненту.

Спасибо, что-то вроде этого я и ожидал услышать.
Вот только это способ все-таки хуже того, что я предложил. Так как один и тот же RSSI может быть при слабом источнике сигнала вблизи, и при мощном источнике сигнала на удалении. Это получается полученный приемником RSSI нужно передавать обратно передатчику, а тот уже будет принимать решение, исходя из своей мощности.
Цитата
в технологии DSL называется HandShaike (рукопожатие).

Так вроде бы рукопожатие осуществляется один раз, во время установления связи. А тут нужно будет постоянно вычислять мощность.
DASM
Да, это проблема сс110, проходил. Вылечили кардинально — поставили Si4463
vadimp61
Цитата(zheka @ Dec 6 2013, 08:56) *
Спасибо, что-то вроде этого я и ожидал услышать.
Вот только это способ все-таки хуже того, что я предложил. Так как один и тот же RSSI может быть при слабом источнике сигнала вблизи, и при мощном источнике сигнала на удалении. Это получается полученный приемником RSSI нужно передавать обратно передатчику, а тот уже будет принимать решение, исходя из своей мощности.

Так вроде бы рукопожатие осуществляется один раз, во время установления связи. А тут нужно будет постоянно вычислять мощность.

У нас в каждом устройстве есть Глонасс модуль, поэтому нет проблем далеко-близко).
Передавайте уровень мощности передатчика, и тогда, сравнивая уровень передачи и RSSI в приемнике можно будет вычислить далеко или близко находится передатчик.

Да, прийдеться каждый раз вычислять мощность.

Цитата(DASM @ Dec 6 2013, 09:04) *
Да, это проблема сс110, проходил. Вылечили кардинально — поставили Si4463

То есть если рядом +30 дбм, приемник принимает все пакеты?
и рядом - это сколько?
zheka
еще попутный вопрос для тех кто городил внешний усилитель мощности -между включением усилителя мощности и посылкой строба STX задержку ставите? у меня передатчик корректно работает только в том случае, если после включения усилителя мощности ждать 500 мксек. а должны ли выдерживаться какие либо интервалы при отключении PA и включении LNA и наоборот? у меня имеются чисто технические задержки (пока буфер заполняю и читаю) - вроде работает.

чем больше думаешь над задачей, тем больше мысли приходят в порядок, а неподходящие варианты отсекаются.
Все таки получается следующее: передатчик пингует ведомое устройство пакетом, содержащим информацию о своей мощности. Эта информация нужна только для того чтобы ведомый мог отправить адекватный по мощности ответ. а в ответе ведомый отправляет уровень принятого RSSI. ведущий, прибавляет мощность до тех пор пока не только будет приходить ответ, но и РССИ не станет приемлемым.
Как оценивать РССИ? Наверное по значению LQI. Понятно, что при одних условиях достаточнь будет и -100 дбм, а при других и -40 будет не ахти. В этом случае RSSI теряет свою ценность и является балластом. Таким образом, код, работающий в ведущем устройстве будет выглядеть примерно следующим образом:
{
While ((не пришел ответ) || (значение LQI лишком мало))
{
МОЩНОСТЬ++;
}
}
DASM
Цитата(vadimp61 @ Dec 6 2013, 08:46) *
У нас в каждом устройстве есть Глонасс модуль, поэтому нет проблем далеко-близко).
То есть если рядом +30 дбм, приемник принимает все пакеты?
и рядом - это сколько?

+34 дБм, на паре метров принимает. Может и ближе - они на разных столах были. Антенны J-типа прикручены, на 433, работал с полосой 20 кГц, 2-FSK
vadimp61
Цитата(zheka @ Dec 6 2013, 12:18) *
еще попутный вопрос для тех кто городил внешний усилитель мощности -между включением усилителя мощности и посылкой строба STX задержку ставите? у меня передатчик корректно работает только в том случае, если после включения усилителя мощности ждать 500 мксек. а должны ли выдерживаться какие либо интервалы при отключении PA и включении LNA и наоборот? у меня имеются чисто технические задержки (пока буфер заполняю и читаю) - вроде работает.

чем больше думаешь над задачей, тем больше мысли приходят в порядок, а неподходящие варианты отсекаются.
Все таки получается следующее: передатчик пингует ведомое устройство пакетом, содержащим информацию о своей мощности. Эта информация нужна только для того чтобы ведомый мог отправить адекватный по мощности ответ. а в ответе ведомый отправляет уровень принятого RSSI. ведущий, прибавляет мощность до тех пор пока не только будет приходить ответ, но и РССИ не станет приемлемым.
Как оценивать РССИ? Наверное по значению LQI. Понятно, что при одних условиях достаточнь будет и -100 дбм, а при других и -40 будет не ахти. В этом случае RSSI теряет свою ценность и является балластом. Таким образом, код, работающий в ведущем устройстве будет выглядеть примерно следующим образом:
{
While ((не пришел ответ) || (значение LQI лишком мало))
{
МОЩНОСТЬ++;
}
}


А на чем у вас сделан УМ?
Я использовал RF5110, задержки уже не помню, подбирали под задачу. За 1с получить 30 байт информации с как можно большего число абонентов
Скорость 9600, полоса 58, 2FSK. получилось около 10 абонентов.
Если точно надо знать, то надо мерить длительности на коммутаторе трактов RX и TX.
zheka
Вот даташит на мой модуль.

DASM, скажите, а у вас был готовый модуль с усилителем в 30 dBm ?
Ссылочкой, где брали, не поделитесь?
vadimp61
Цитата(zheka @ Dec 6 2013, 18:16) *
Вот даташит на мой модуль.

DASM, скажите, а у вас был готовый модуль с усилителем в 30 dBm ?
Ссылочкой, где брали, не поделитесь?

Что то я не увидел второго коммутатора RX TX и фильтрануться бы не помешало по приему каким нибудь ПАВ фильтром.
zheka
Так там по моему одним коммутатором все переключается..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.