|
Автоматическая регулировка усилителя мощности |
|
|
|
Dec 4 2013, 18:19
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Господа, есть вопрос. Скорее к тем, кто уже делал подобное.
Есть линк на CC1101-PA-LNA. Выходная мощность усилителя в передатчике - +30 dBm. На полную мощность вблизи работать не получается - когда на входе приемника входной сигнал выше чем -15 dBm связь пропадает. А работать нужно как в непосредственной близости, так и на максимальном удалении - около 500 м. Хочется сделать автоматическую регулировку усиления. Не столько для того, чтобы работать и вблизи и на удалении, сколько для того, чтобы на засорять эфир чрезмерно мощным сигналом.
Мой мозг родил пока следующий алгоритм: передатчик посылает постепенно нарастающие по мощности сигналы. В пакет добавляется байт с информацией об выставленной мощности передатчика. Как только приемник получает пакет, он отправляет ответ передатчику о том, что он услышан. Фишка в том, что приемник считает - раз до него дошел пакет, то значение мощности, закодированное в пакете можно использовать для отправки ответа - дойдет гарантировано.
Либо наоборот - как только сигнал слишком мощный, отправлять ведущему сигнал о том, что мощность неплохо было бы уменьшить.
Задача с одной стороны несложная, просто я не хочу изобретать велосипед, наверняка есть проверенные решения, к которым я могу и не прийти сам сразу. Кто-что посоветует?
|
|
|
|
|
Dec 5 2013, 06:57
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 17-12-04
Пользователь №: 1 530

|
Добрый день,
Соответственно связь на дальней дистанции прекрасно работает, или иными словами, глубина АРУ в приемнике недостаточна?!?
Таки может АРУ подкрутить? Или аттенюатор на вход поставить, который будет загрублять сигнал при больших мощностях?
В системах сотовой связи сделано динамическое управление мощностью. В 3G (WCDMA) это все реализовано и работает, т.к. все абоненты сидят в одной полосе частот.
В 2G (GSM) на практике мощность базовой станции ставят на максимум, т.к. разделение каналов временное, соседние TSL друг-другу не мешают, а вот при случайном пропадании линка он восстанавливается намного быстрее. Труба же динамически меняет излучаемую мощность согласно информации от BTS.
С уважением, К.
|
|
|
|
|
Dec 5 2013, 07:11
|
Гуру
     
Группа: Модераторы
Сообщений: 3 868
Регистрация: 15-03-13
Пользователь №: 76 048

|
Цитата(zheka @ Dec 4 2013, 21:19)  Мой мозг родил пока следующий алгоритм: передатчик посылает постепенно нарастающие по мощности сигналы. В пакет добавляется байт с информацией об выставленной мощности передатчика. Как только приемник получает пакет, он отправляет ответ передатчику о том, что он услышан. Фишка в том, что приемник считает - раз до него дошел пакет, то значение мощности, закодированное в пакете можно использовать для отправки ответа - дойдет гарантировано. ? Не занимался таким вплотную, но вспоминаю один доклад на конференции. Там боролись с проблемой железнодорожники. Машинист локомотива может быть услышан сразу несколькими диспетчерами, а нужен один. Вот там что-то подобное применялось, первый кто услышал посылает остальным (радиостанция, не человек) сигнал игнорировать вызов. И что-то в регулировании мощности подобное. Так что Ваш алгоритм выглядит вполне.
|
|
|
|
|
Dec 5 2013, 08:27
|
Частый гость
 
Группа: Участник
Сообщений: 105
Регистрация: 24-06-11
Пользователь №: 65 864

|
Цитата(zheka @ Dec 4 2013, 22:19)  Господа, есть вопрос. Скорее к тем, кто уже делал подобное.
Есть линк на CC1101-PA-LNA. Выходная мощность усилителя в передатчике - +30 dBm. На полную мощность вблизи работать не получается - когда на входе приемника входной сигнал выше чем -15 dBm связь пропадает. А работать нужно как в непосредственной близости, так и на максимальном удалении - около 500 м. Хочется сделать автоматическую регулировку усиления. Не столько для того, чтобы работать и вблизи и на удалении, сколько для того, чтобы на засорять эфир чрезмерно мощным сигналом.
Мой мозг родил пока следующий алгоритм: передатчик посылает постепенно нарастающие по мощности сигналы. В пакет добавляется байт с информацией об выставленной мощности передатчика. Как только приемник получает пакет, он отправляет ответ передатчику о том, что он услышан. Фишка в том, что приемник считает - раз до него дошел пакет, то значение мощности, закодированное в пакете можно использовать для отправки ответа - дойдет гарантировано.
Либо наоборот - как только сигнал слишком мощный, отправлять ведущему сигнал о том, что мощность неплохо было бы уменьшить.
Задача с одной стороны несложная, просто я не хочу изобретать велосипед, наверняка есть проверенные решения, к которым я могу и не прийти сам сразу. Кто-что посоветует? Думаю, начинать надо с установки диплексора, а уж затем отрабатывать алгоритм
|
|
|
|
|
Dec 5 2013, 14:39
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
ух... еханый бабай... Господа, у меня есть готовый модуль приемник, передатчик, усилитель мощности, дополнительный усилитель сигнала. Ради какой такой великой цели нужно устанавливать атенюаторы, диплексоры? И крутить то, что в CC1101 не крутится? Вопрос не общего плана, о приемниках и передатчиках вообще, а о конкретном трансивере. Задачу нужно решить средствами, доступными этому трансиверу. Я даже примерно прикидываю, как, просто хотел знать, как это делают другие.
Сообщение отредактировал zheka - Dec 5 2013, 14:44
|
|
|
|
|
Dec 6 2013, 04:56
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Цитата добавьте в ответ уровень приема RSSI, а база сама будет решать с какой мощностью выдавать пакет данному абоненту. Спасибо, что-то вроде этого я и ожидал услышать. Вот только это способ все-таки хуже того, что я предложил. Так как один и тот же RSSI может быть при слабом источнике сигнала вблизи, и при мощном источнике сигнала на удалении. Это получается полученный приемником RSSI нужно передавать обратно передатчику, а тот уже будет принимать решение, исходя из своей мощности. Цитата в технологии DSL называется HandShaike (рукопожатие). Так вроде бы рукопожатие осуществляется один раз, во время установления связи. А тут нужно будет постоянно вычислять мощность.
|
|
|
|
|
Dec 6 2013, 05:46
|
Знающий
   
Группа: Участник
Сообщений: 599
Регистрация: 28-08-08
Из: Ростов папа
Пользователь №: 39 872

|
Цитата(zheka @ Dec 6 2013, 08:56)  Спасибо, что-то вроде этого я и ожидал услышать. Вот только это способ все-таки хуже того, что я предложил. Так как один и тот же RSSI может быть при слабом источнике сигнала вблизи, и при мощном источнике сигнала на удалении. Это получается полученный приемником RSSI нужно передавать обратно передатчику, а тот уже будет принимать решение, исходя из своей мощности.
Так вроде бы рукопожатие осуществляется один раз, во время установления связи. А тут нужно будет постоянно вычислять мощность. У нас в каждом устройстве есть Глонасс модуль, поэтому нет проблем далеко-близко). Передавайте уровень мощности передатчика, и тогда, сравнивая уровень передачи и RSSI в приемнике можно будет вычислить далеко или близко находится передатчик. Да, прийдеться каждый раз вычислять мощность. Цитата(DASM @ Dec 6 2013, 09:04)  Да, это проблема сс110, проходил. Вылечили кардинально — поставили Si4463 То есть если рядом +30 дбм, приемник принимает все пакеты? и рядом - это сколько?
|
|
|
|
|
Dec 6 2013, 08:18
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
еще попутный вопрос для тех кто городил внешний усилитель мощности -между включением усилителя мощности и посылкой строба STX задержку ставите? у меня передатчик корректно работает только в том случае, если после включения усилителя мощности ждать 500 мксек. а должны ли выдерживаться какие либо интервалы при отключении PA и включении LNA и наоборот? у меня имеются чисто технические задержки (пока буфер заполняю и читаю) - вроде работает.
чем больше думаешь над задачей, тем больше мысли приходят в порядок, а неподходящие варианты отсекаются. Все таки получается следующее: передатчик пингует ведомое устройство пакетом, содержащим информацию о своей мощности. Эта информация нужна только для того чтобы ведомый мог отправить адекватный по мощности ответ. а в ответе ведомый отправляет уровень принятого RSSI. ведущий, прибавляет мощность до тех пор пока не только будет приходить ответ, но и РССИ не станет приемлемым. Как оценивать РССИ? Наверное по значению LQI. Понятно, что при одних условиях достаточнь будет и -100 дбм, а при других и -40 будет не ахти. В этом случае RSSI теряет свою ценность и является балластом. Таким образом, код, работающий в ведущем устройстве будет выглядеть примерно следующим образом: { While ((не пришел ответ) || (значение LQI лишком мало)) { МОЩНОСТЬ++; } }
|
|
|
|
|
Dec 6 2013, 09:16
|
Знающий
   
Группа: Участник
Сообщений: 599
Регистрация: 28-08-08
Из: Ростов папа
Пользователь №: 39 872

|
Цитата(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.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|