Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/43: Рейтинг темы: голосов - 43, средняя оценка - 4.84
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
1

Программно определить уровень антенны на телефоне

16.07.2014, 17:02. Показов 8015. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Можно ли как нибудь узнать программно уровень антенны на телефоне?Если да то как?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2014, 17:02
Ответы с готовыми решениями:

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

Ежедекадно в течение июня измерялся уровень воды в десяти речках. Определить подекадно: в каких речках наблюдался самый высокий уровень
Ежедекадно в течение июня измерялся уровень воды в десяти речках. Определить подекадно: в каких...

Определить сопротивление излучения антенны
Определить сопротивление излучения антенны R\sum диапазона 433 МГц по её эффективной длине l0=36...

Определить активное сопротивление антенны; коэффициент затухания линии; мощность, излучаемую антенной; кпд
Радиопередатчик работает на волне длиной X = 16 м. Мощность генератора передатчика Р0 = 400 Вт....

27
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
16.07.2014, 20:38 2
...не уровень антенны, а уровень сигнала от базовой станции. Уровень сигнала может колебаться в интервале от -113 dBm (слабый сигнал) до -50 dBm (мощный сигнал). Если через последовательный порт извне, то 'AT+CSQ'.

А так через класс android.telephony.SignalStrength, параметр signalStrength.getGsmSignalStrength().
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
20.07.2014, 17:45 3
Цитата Сообщение от raxp Посмотреть сообщение
signalStrength.getGsmSignalStrength()
Попробовал... странные цифры получил!
Телефон показывает 4 полоски из 4х на обоих симках... а результат команды обычно 15-17 из 31(по документации). Теоретически это равно 2м полоскам... Не знаете что это значит? Хотелось бы получить то-же что видит юзер в статус-панели телефона! Телефон на столе... цифры прыгают 15-19... а в шапке все еще 4 полосы...
0
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
20.07.2014, 19:12 4
...отнюдь, цифры не странные, это вы делаете ложный вывод, что ПО телефона обязано юзеру отображать в точной пропорции и без округления в соответствии с разрядностью отображения.

цифры прыгают 15-19... а в шапке все еще 4 полосы...
и правильно делают, уровень сигнала зависит от условий в канале связи, дерево шелохнулось на пути сигнала, человек прошелся, сигнал уже меняется. А еще есть такая вещь как фильтрация, усреднение во времени резких скачков. Вот была бы разрядность полосок не 4, а 100 полосок на индикаторе, тогда другое дело. Только вот эргономика не позволяет сто полос нарисовать, негде.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
20.07.2014, 19:29 5
все равно не понятно! Неужели системный индикатор (4 полосы) настолько врет?
15/31 это меньше 2х полос!
20/31 это максимум 3 полосы (2.58 из 4)
Сижу за столом(не двигаю). Здесь ВСЕГДА 4 полосы... А по данным функции получает 2-3...
Ладно бы "не успевал" обновлять системный индикатор, но ведь сигнал не падает!
0
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
20.07.2014, 20:35 6
...вы знаете, восклицательные знаки меня не впечатляют, думаю, даже уверен, мало кого на форуме впечатляют. Это приравнивается к крику.

Вы слышали о нелинейной шкале? Об усреднении и маркетинге?
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
20.07.2014, 20:42 7
Цитата Сообщение от raxp Посмотреть сообщение
Это приравнивается к крику.
Для меня это ("!") акцентирование внимание на предложении. Не более... "!!!" - это уже крик!

Цитата Сообщение от raxp Посмотреть сообщение
Вы слышали о нелинейной шкале?
слышал, но как тогда эти цифры превратить в 4 полоски? нелинейных шкал может быть много...

Цитата Сообщение от raxp Посмотреть сообщение
маркетинге?
Как это может относиться к уровню сигнала? Типа "у нас лучше чем у других"? "У нокии 2 полоски, а у нас всегда 4"?
0
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
20.07.2014, 21:14 8
слышал, но как тогда эти цифры превратить в 4 полоски? нелинейных шкал может быть много...
кусочно-линейной аппроксимацией. В вашем случае достаточно пары-тройки if-ов.

Типа "у нас лучше чем у других"?
во-от, в верном направлении мысль пошла. Такое у производителей мобильных аппаратов далеко не редкость, каждый на свой лад.
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
20.07.2014, 22:28 9
Цитата Сообщение от raxp Посмотреть сообщение
кусочно-линейной аппроксимацией. В вашем случае достаточно пары-тройки if-ов
Странно все это! И в инструкциях хоть где-то должны были быть инструкции. И апи вроде универсальное - значит могли подменять цифры еще на этапе драйверов, а не индикаторов... И с иф-ами очень долго буду статистику набирать. И универсальность между устройствами теряется.

Мне надо сделать аналог виджета с состоянием уровня сигнала. Таких сотни на маркете и многие работают... И сигналку повесить (реактор) на падение сигнала ниже уровня (как в батарейке). Но КАК поймать реальный уровень и сравнить его например с 1й полоской? Бегать по городу и искать "ямы"?
0
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
21.07.2014, 07:47 10
...вы погодьте. Причем тут инструкции? Цифры - есть реальные адекватные данные, мнемоническая же индикация не имеет отношения к реальным значениям, это мнемоническая усредненная децимированная прореженная шкала и о никакой универсальности речи быть не может.

Когда делал ActiveX компонент OPC-SMS шлюза, то уровень сигнала в ответе на +CSQ для четырех полосок мнемонически сделал так:
Pascal
1
2
3
4
5
    if csq>80               then il.GetBitmap(2, gsm3.Picture.Bitmap); //0 полосок
    if (csq>31)and(csq<=80) then il.GetBitmap(3, gsm3.Picture.Bitmap); //1
    if (csq>16)and(csq<=31) then il.GetBitmap(4, gsm3.Picture.Bitmap); //2
    if (csq>10)and(csq<=16) then il.GetBitmap(5, gsm3.Picture.Bitmap); //3
    if csq<=10              then il.GetBitmap(6, gsm3.Picture.Bitmap)  //4
1
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
21.07.2014, 08:07 11
yura91,
А с чего ты взял что на индикаторе показывают мощность сигнала?
там вполне может быть, и даже скорее всего,качество сигнала
4 полосы без потерь пакетов
3 полосы незначительная потеря
2 полосы потери
1 полоса потери существенные( голос затыкается)
0 полос пакеты не доходят
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
21.07.2014, 08:26 12
Понятно! И извените за недоверие! Нагуглил десяток форумов где пытаются безуспешно решить эту проблему... у всех левые цифры показывает. Похожие, но левые... А у многи вообще вечны ноль!

Себе поставил около 5 измерителей - все показывают сигнал не больше 52% при 4х делениях. Один даже график красивый рисует - в среднем 45%. А полоски лишь на минуту-две (в час) уменьшились с 4х до 3х... Помню просто (больше полугода назад) ставил виджеты, и цифры в Дб бегали - думал "осталось просто понять как получить" и смогу свой индикатор нарисовать ("не хуже системного")... Короче в очередной раз гугловцы скриворучили...

А можно ли получить аналог команды +CSQ "изнутри"? Может точнее будет? Более похожим на системный индикатор?

Добавлено через 4 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
А с чего ты взял что на индикаторе показывают мощность сигнала?
там вполне может быть, и даже скорее всего,качество сигнала
А какая разница? Пользователю все равно... "сильнее антена = лучше связь". К тому-же "1 полоса потери существенные( голос затыкается)" можно поймать лишь при разговоре. В режиме ожидания канал минимальный (системный обмен), а линии все равно рисует относительно верно (1 = связь будет очень плохой).

Добавлено через 2 минуты
Меня смутила лишь одна программа - она показывает уровень не только для текущей соты, но и для 5ти соседних. Где-то лишь на 10-15% меньше. Может это тоже влияет на кво линий?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
21.07.2014, 08:30 13
Цитата Сообщение от Tester64 Посмотреть сообщение
А какая разница? Пользователю все равно...
пользователю да
инженеру нет
можно иметь мощный сигнал и рядом источник помех и все, пакеты не доходят
что рисовать будем?
уровень на антенне или качество сигнала?
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
21.07.2014, 09:10 14
Цитата Сообщение от ValeryS Посмотреть сообщение
пользователю да
инженеру нет
Я инженер, но подзабыл уже... Как определяется "уровень сигнала в GSM"? Кво каналов в диапазоне ограничено, они могут пересекаться (двое заняли один канал). Амплитуда сигнала в FM игнорируется ради помехоустойчивости - думаю в GSM еще сложнее. Но уровень сигнала как амплитуда уже давно не имеет значения. Только количество свободных каналов и их устойчивость к помехам... А эти 2 параметра ИМХО вполне можно обозвать "качеством сигнала" по некой сложной формуле, зашитой в чип...

Меня возмущает лишь тот факт что система для индикатора использует одни данные, а в API от гугла выдает совсем другие, не совместимые с системными. И вообще гугл сильно отстает от мира мобильного рынка - где сигнал для второй симки? Нашел только какие-то исходники на си с хелпами на англо-китайском...
0
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
21.07.2014, 12:29 15
А можно ли получить аналог команды +CSQ "изнутри"?
CSQ возвращает то же что и signalStrength.getGsmSignalStrength() (-113 dBm (слабый сигнал) до -50 dBm (сильный сигнал)) + качество сигнала, через запятую.

Если бы вы порылись в кишках класса http://developer.android.com/r... ength.html, то нашли бы и getGsmBitErrorRate и SNR/
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
21.07.2014, 14:02 16
Цитата Сообщение от raxp Посмотреть сообщение
getGsmBitErrorRate и SNR
У меня оба параметра = -1, хотя соотношение согласно документации должно быть 0..8
Надеялся что это (умножив/разделив) приблизит меня к 4м полоскам!
0
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
21.07.2014, 19:04 17
Не факт, что API телефона поддерживает полностью данный класс.

Надеялся что это (умножив/разделив) приблизит меня к 4м полоскам!
притянуто за уши. Поймите, 4 - полоски - это мнемоника, а не инженерный параметр и стандартов на него нет, кроме разве внутри производителей.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
21.07.2014, 21:45 18
Цитата Сообщение от raxp Посмотреть сообщение
Поймите, 4 - полоски - это мнемоника, а не инженерный параметр и стандартов на него нет, кроме разве внутри производителей
Мелькала мысль, что умножив на кофициент ошибок, который плавно меняется по жуткой формуе с увеличением/меньшеним мощности. Получу например надежные 100% от которого можно строить полоски.

Сейчас у меня максимум 53% при идеальной связи. Найдено методом долгого изучения графика. Откуда взялась эта цифра не знаю! Как и не знаю что с ней дальше делать. У другого телефона максимум может быть другим (если вообще определится - англо-форумы за 3 года сильно жаловались на 0й сигнал). Если напишу программу, есть БОЛЬШОЙ шанс что она не будет корректно работать на другом устройстве! Пишу свой "комбаин" и хотел добавить пищалку/вибрацию на потерю сигнала (или крупную индикацию во время разговора). Про вторую симку вообще молчу! Думал вот функция - 30 строчек и готово дополнение. А теперь задвигаю в "долгий ящик" до времен когда смогу добраться до чтения китайских исходников...
0
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
21.07.2014, 22:01 19
...а вы рядом с полосками или вместо просто выводите числа, к ним как раз вопросов не будет.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
22.07.2014, 05:08 20
Цитата Сообщение от raxp Посмотреть сообщение
...а вы рядом с полосками или вместо просто выводите числа, к ним как раз вопросов не будет.
У меня в планах три метода примения для этой технологии:

1) Иду по городу и вдруг падает сигнал до 0. Либо завис GSM модуль либо связь пропала. Хочу знать об этом! До меня не дозвониться! Занести в лог и выдать что сеть пропадала с 5:00 до 6:00. Пищать/орать/вибрировать об этом. Что-бы никто не мог пожаловаться что со мной нет связи... Пока не уверен что 0% соответствует реальному 0! По документации это вообще похоже особый уровень =99 при реальной связи 0..31.

2) Во время разговора я плохо слышу абонента или он жалуется что не слышет меня. Смотрю на малюсенький значок в уголке - но его почти не видно(летнее солце или снег). Почему бы не сделать либо жирную сочную полоску-ползунок по центру экрана во время разговора либо менять цвет всего окна звонка на красный при падении сигнала с огромным предупреждением. Либо вибро/голос/звук на падение сигнала. Смотрю на экран, а там 53%! По логике это половина, а на практике это =100%. А что означает 10%??? Это очень плохо? Или обычному юзеру показывать цифры в децебелах со знаком минус? -79 dBm = это хорошо?

3) GPS трекер. Отправляет позицию и состояние мобилки ребенка/жены/менеджера. Где находится? Есть ли деньги на счету? Почему говорит что не "смог позвонить" в 14:00? Врет или лажа со связью? Статистика по зонам без сети ("мертвые зоны") для менеджеров. "Васе не позвонить - он сейчас в селе Жопово - там связь плохая"
Единственное решение которое вижу - создать ботнет из своих других программ и тайно собрать эту статистику с десятка-сотни телефонов для анализа... Гугл заставляет меня писать вирус!

Добавлено через 6 часов 0 минут
Короче... методом проб и ошибок... для своего телефона (на других еще не тестил) получил константы:
максимальный уровень = 18 (вместо обещаных 31)
4 линии если больше 12
3 если больше 9
2 если больше 5
0 и 1 пока не смог замерить - сигнал дома сильный...

Сделал плавающую панельку с цифрами - буду тестить...
0
22.07.2014, 05:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2014, 05:08
Помогаю со студенческими работами здесь

Как определить на какой номер звонят если в телефоне 2 сим карты?
Добрый день. Подскажите, пожалуйста, есть ли возможность в бродкаст ресивере отлавливать номер...

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

Работа со звуком более или менее низкий уровень. Получить уровень сигнала микрофона
Доброго дня или ночи. Вобщем товарищи дело такое. предо мной стоит задача определять уровень шума...

Определить уровень громкости в системе
Доброго времени суток... Люди подскажите как получить число на сколько сейчас включен звук .. ) Чёт...

Какая прога может пакетно вычислить средний уровень громкости звука и поднять на заданный уровень?
Я хочу обработать звук в коллекции своих фильмов. Сжать динамический диапазон и затем поднять...

Определить уровень Ферми и Концентрацию электронов
Найти положение уровня Ферми и температурную зависимость концентрацию электронов в собственном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru