В общих чертах:
Децибел - это логарифмическая единица (1 дБ = 1/10 бел, 1 бел = коэффициент мощности 1,259 = коэффициент амплитуд 1,122), который описывает относительную взаимосвязь между сигналы. См. википедию для получения подробной информации и таблицы. Отрицательные децибелы означают, что полученный сигнал слабее отправленных (что, конечно, происходит естественным образом).
Уровень означает, насколько сильным является сигнал при приеме по сравнению с тем, насколько сильным он был / предполагался при отправке.Это физическое измерение, которое в принципе одинаково для любого оборудования Wi-Fi. Однако часто он не откалиброван должным образом и т. Д.
Ссылка - это вычисленное измерение того, насколько хорош сигнал (т.е. насколько легко аппаратному / программному обеспечению восстановить данные из него). На это влияют эхо, многолучевое распространение, тип используемого кодирования и т.д .;и каждый использует свой собственный метод для его вычисления. Часто (но не всегда) он вычисляется до некоторого значения, которое находится в той же шкале, что и значение «уровня».
По опыту, для большинства оборудования, которое я видел, значение около -50
означает, что сигнал в порядке, что-то около -80
означает, что он довольно слабый, но вполне работоспособный. . Если он идет намного ниже, соединение становится ненадежным.
Эти значения следует рассматривать просто как приблизительное указание, а не как нечто научное, на что вы можете полагаться, и вы не должны ожидать, что они будут похожими или даже сопоставимыми на разном оборудовании, даже не на «уровне». Лучший способ научиться интерпретировать это - взять ваше оборудование, немного его повозить, посмотреть, как изменяется сигнал и как это влияет на скорость, частоту ошибок и т. Д.
Это использование XMLstarlet с paste
. Возможно, это можно сделать одним вызовом XMLstarlet, но я не волшебник:
$ paste <(xml sel -T -t -v '//@estimated' data.xml) \
<(xml sel -T -t -v '//@fullSign' data.xml)
1469138452000 MAX Blue Line to Hillsboro
1469138664000 MAX Red Line to City Center & Beaverton
1469139140000 MAX Blue Line to Hillsboro
1469139577000 MAX Red Line to City Center & Beaverton
$ xml2 < sunnx.xml | awk -F= '
$1 ~ /@fullSign/ { fs=$2 ; sub(/&/,"&",fs) };
$1 ~ /@estimated/ { est=$2 };
fs && est { printf "%s %s\n", est, fs; fs=est="" }'
1469138452000 MAX Blue Line to Hillsboro
1469138664000 MAX Red Line to City Center & Beaverton
1469139140000 MAX Blue Line to Hillsboro
1469139577000 MAX Red Line to City Center & Beaverton
Если вам нужен литерал &
, а не &
, то избавьтесь от функции sub ()
вызов. xml2
декодирует закодированные объекты для вас, поэтому я добавил sub ()
, чтобы изменить его обратно в соответствии с вашим запрошенным выводом.
Без sub ()
результат будет выглядеть следующим образом:
1469138452000 MAX Blue Line to Hillsboro
1469138664000 MAX Red Line to City Center & Beaverton
1469139140000 MAX Blue Line to Hillsboro
1469139577000 MAX Red Line to City Center & Beaverton