Функции dbm


Содержание

Введение

Эти функции позволяют сохранять записи в БД dbm-стиля. Этот тип БД (поддерживаемый Berkeley DB, GDBM и некоторыми системными библиотеками, а также встроенной библиотекой flatfile) хранит пары key/value (в отличие от полноценных записей реляционных БД).

Примечание: однако поддержка dbm не рекомендуется для дальнейшего использования, и мы советуем использовать вместо этого Функции абстрактного слоя БД (dbm-стиль).

Требования

Для использования этих функций вы должны скомпилировать РНР с поддержкой соответствующих БД. См. список поддерживаемых БД.

Установка

Чтобы использовать эти функции, вы обязаны скомпилировать РНР с поддержкой dbm, использовав опцию —with-db . Кроме того, вы обязаны гарантировать поддержку соответствующей БД или можете использовать некоторые системные библиотеки.

Это расширение не определяет никаких директив конфигурации.

Типы ресурсов

Функция dbmopen() возвращает идентификатор БД, который используется другими dbm-функциями.

Предопределённые константы

Это расширение не определяет никаких констант.

XX. Функции DBM

Эти функции позволяют сохранять записи в БД dbm-стиля. Этот тип БД (поддерживаемый Berkeley DB, GDBM и некоторыми системными библиотеками, а также встроенной библиотекой flatfile) хранит пары key/value (в отличие от полноценных записей реляционных БД).

Примечание: однако поддержка dbm не рекомендуется для дальнейшего использования, и мы советуем использовать вместо этого Функции абстрактного слоя БД (dbm-стиль).

Для использования этих функций вы должны скомпилировать РНР с поддержкой соответствующих БД. См. список поддерживаемых БД.

Чтобы использовать эти функции, вы обязаны скомпилировать РНР с поддержкой dbm, использовав опцию —with-db . Кроме того, вы обязаны гарантировать поддержку соответствующей БД или можете использовать некоторые системные библиотеки.

Это расширение не определяет никаких директив конфигурации.

Функция dbmopen() возвращает идентификатор БД, который используется другими dbm-функциями.

Это расширение не определяет никаких констант.

Функции dbm

Э ти функции позволяют работать с записями dbm-подобных баз данных. Данный тип баз данных (поддерживается как библиотеками Berkley db, gdbm и некоторыми другими, так и встроенной в PHP3 библиотекой) оперирует с парами ключ/значение (в противоположность полноценным записям, поддерживаемым реляционными базами данных).

Пример Пример dbm

dbmopen — открывает базу данных dbm

Описание int dbmopen(string filename, int flags);

П ервый аргумент — это полный путь к открываемому dbm-файлу, а второй — режим открытия файла, который может быть следующим: «r»,»n», «w» соответственно только для чтения, создания (включает чтение-запись и может обрезать уже существующую базу данных с тем же именем) и чтения-записи.

В озвращает идентификатор, который в дальнейшем передается другим dbm-функциям, или false при неуспехе.

Е сли используется поддержка ndbm, создаются файлы filename.dir и filename.pag. gdbm использует только один файл, и Berkley db создает файл filename.db. Заметьте, что PHP3 самостоятельно делает свою собственную блокировку в дополнение к блокировке самой dbm-библиотки. PHP не удаляет .lck-файлы, созданные этой библиотекой, а рассматривает эти файлы просто как фиксированные i-узлы на которые надо делать блокировку. Более полную информацию о dbm-файлах можно получить на ftp://prep.ai.mit.edu/pub/gnu и man-страницах.

dbmclose — закрывает базу данных dbm

Описание bool dbmclose(int dbm_identifier);


Р азблокирует и закрывает указанную базу данных.

dbmexists — сообщает, существует ли в базе данных значение для ключа

Описание bool dbmexists(int dbm_identifier, string key);

В озвращает true если существует значение, ассоциируемое с ключом key.

dbmfetch — извлекает из базы данных значение ключа

Описание string dbmfetch(int dbm_identifier, string key);

В озвращает значение ключа key.

dbminsert — вставляет в базу данных значение ключа

Описание int dbminsert(int dbm_identifier, string key, string value);
Д обавляет в базу данных значение с указанным ключом key.

В озвращает -1 если база данных была открыта в режими только чтение, 0 если добавление произошло успешно и 1 если указанный ключ уже существует. (Для замены значения следует использовать dbmreplace().)

dbmreplace — заменяет значение ключа

Описание bool dbmreplace(int dbm_identifier, string key, string value);

З амещает значение указанного ключа. Если ключ не существует, функция добавляет его в базу данных.

dbmdelete — удаляет занчение ключа из базы данных

Описание bool dbmdelete(int dbm_identifier, string key);

У даляет значение ключа из базы данных. Возвращает false если ключ в базе данных не существует.

dbmfirstkey — возвращает первый ключ из базы данных

Описание string dbmfirstkey(int dbm_identifier);

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

dbmnextkey — возвращает следующий ключ базы данных

Описание string dbmnextkey(int dbm_identifier, string key);

В озвращает ключ, следующий после ключа key. С помощью вызова dbmfirstkey(), а затем dbmnextkey() возможно пройти по всем парам ключ/значение в базе данных.

Пример Прохождение по всем парам ключ/значение.

dblist — описывает используемые dbm-совместимые библиотеки

Теория:Беспроводные сети:Измерение сигнала

Содержание

Введение

Беспроводные сети имеют много параметров, которые могут быть измерены. Основными являются:

  • Децибелы (дБ, dB)
  • Децибелмиливаты (дБм, dBm)
  • Изотропные децибелы (ДБи, dBi)
  • Отношение сигнал/шум (ОСШ; англ. signal-to-noise ratio, сокр. SNR)


Децибелы (дБ, dB)

Децибелы — это логарифмическая единица уровней, затуханий и усилений. Величина, выраженная в децибелах, численно равна десятичному логарифму безразмерного отношения физической величины к одноимённой физической величине, принимаемой за исходную, умноженному на десять.

Простым языком: в разрезе Wi-Fi в Децибелах измеряют то насколько беспроводной сигнал стал сильнее или слабее.

Сила радиочастотного (РЧ) сигнала обычно измеряется ее мощностью в Ваттах (Вт) (англ. W — Watt). Например типичная AM-радиостанция вещает с мощностью 50.000 Ватт; FM-радиостанция может вещать с мощностью 16.000 Ватт. Обычный Wi-Fi передатчик обычно имеет мощность до 0,1 Ватт (100 мВатт).

Когда мощность измеряется в Ваттах или милиВаттах, то это считается абсолютным измерением. Иногда надо сравнить мощность двух разных передатчиков. Например 1-ый передатчик (T1) вещает с мощностью 1 мВт, 2-ой передатчик (T2) вещает с мощностью 10 мВт, а 3-ий передатчик (T3) вещает с мощностью 100 мВт.

Итого: T2 больше чем T1 на 9 мВт и в то же время в 10 раз мощнее, T3 больше чем T2 на 90 мВт и в то же время в 10 раз мощнее.

Более интересная картина получится, если мы попытаемся сравнить 4-ый передатчик (T4), который вещает с мощностью 0,00001 мВт и 5-ый передатчик (T5), который вещает с мощностью 10 мВт.

Итого: T5 больше чем T1 на 9,99999 мВт и в то же время в 1.000.000 раз мощнее.

Так какой же способ использовать? Сравнение абсолютных значений в мВт или сравнение относительных значений в «разах»?

По этой причине начали использовать логарифмическую функцию. Используется десятичный логарифм, который обозначает, в какую степень должно быть возведено число 10, что бы получить нужное число. Например:

  • log10(10)=1 потому, что 10 в степени 1 равно 10
  • log10(100)=2 потому, что 10 в степени 2 равно 100
  • log10(1000)=3 потому, что 10 в степени 3 равно 1000
  • и т. д.

Децибелы (дБ) — это функция, которая использует логарифмы для сравнения двух абсолютных значений друг с другом. После того, как каждое значение мощностью конвертировано в логарифмическую шкалу два значения могут использоваться для вычисления разницы. Следующая формула используется для вычисления мощности в дБ, где P1 и P2 — это абсолютные значения мощности двух передатчиков:

P2 — это интересующий нас передатчик, а P1 обычно называется относительной мощностью или источником сравнения.

Приведенная выше формула может быть переписана в виде:

В таком представлении вначале вычисляется абсолютное отношение мощностью двух передатчиков и затем результат конвертируется в логарифмическую шкалу.

Важные факторы про децибелы для запоминания

Изменение мощности Значение в dB
/1000 -30 dB
/100 -20 dB
/10 -10 dB
/2 -3 dB
= 0 dB
x2 +3 dB
x10 +10 dB
x100 +20 dB
x1000 +30 dB

Децибел-миливатты (дБм, dBm)

Децибел-миливатт показывает, во сколько раз измеряемая мощность больше или меньше 1 милливатта. В случае измерения в децибел-миливаттах точкой отсчета является 1 мВт, которая равна уровню сигнала в 0 dBm. В разрезе Wi-Fi в децибел-миливаттах измеряют мощность сигнала, который отдает или принимает беспроводное устройство.

В реальной жизни передатчик может отдавать сигнал мощностью (Tx) 100 мВт, а приемник при этом получать (Rx) 0,000031623. С помощью приведенной выше формулы мы можем вычислить следующее: dB = 10 * log10(0,000031623 мВт / 100 мВт) = -65 dB. Т. е. мы получили, что по мере прохождения сигнала от передатчика к приемнику он изменился на -65 dB.

В децибелах вычисляется отношение мощностей сигналов, а в децибел-миливаттах отношение сигнала и одного миливатта. Таким образом нам ставится удобнее сравнивать каждое абсолютное значение с некоей эталонной точкой отсчета. Если мощность сигнала менее 1 мВт, его уровень отрицателен. Например, чувствительность беспроводного сетевого адаптера стандарта 802.11b при пропускной способности 2 Мбит/с может равняться -90 дБм. Обратите внимание, что dBm может быть добавлена по ходу пути: мощность передатчика dBm + сетевые потери в dB = полученный сигнал в dBm.

0,79

0,32

Значение в dBm Значение в mW
30 1000
20 100
17 50
14 25
11 12,5
8 6,25
5 3,13
2 1,56
1
-1
-5
-10 0,1
-20 0,01
-30 0,001
-40 0,0001
-50 0,00001
Оценка Сигнал (дБм)
Отличный > -35
Очень хороший от -51 до -35
Хороший от -81 до -50
Плохой от -101 до 80
Нет соединения Изотропный децибел (дБи, dBi)

Изотропный децибел (dBi) — Разновидность децибела. Характеризует идеальную антенну, у которой диаграмма направленности выглядит в виде идеальной сферы (идеального шара). Как правило, если не оговорено специально, характеристики усиления реальных антенн даются относительно усиления изотропной антенны и измеряются в изотропных децибелах. То есть, когда говорят, что коэффициент усиления какой-либо антенны равен 12 децибел, подразумевается 12 dBi.

Правила действий с размерными величинами

Следующие правила являются следствием правил действий с размерными величинами:

  • перемножать или делить «децибельные» значения нельзя (это бессмысленно);
  • суммирование «децибельных» значений соответствует умножению абсолютных значений, вычитание «децибельных» значений — делению абсолютных значений;
  • суммирование или вычитание «децибельных» значений может выполняться независимо от их «исходной» размерности. Например, равенство 10 дБм + 13 дБ = 23 дБм является корректным, полностью эквивалентно равенству 10 мВт · 20 = 200 мВт и может трактоваться как «усилитель с коэффициентом усиления 13 дБ увеличивает мощность сигнала с 10 дБм до 23 дБм». Но в то же время 10 дБм — 7 дБм = 3 дБ, поскольку это эквивалентно 10 мВт / 5 мВт = 2 (раза).


Примеры операций, их результат и значение:

Операнды Результат Значение операции
дБ + дБ дБ Произведение двух чисел
дБ − дБ дБ Отношение двух чисел
дБм + дБм нет Произведение мощностей (бессмысленно)
дБм − дБм дБ Отношение мощностей
дБм + дБ дБм Увеличение мощности
дБм − дБ дБм Ослабление мощности

Вычисления в уме

Операции с децибелами можно выполнять в уме:

  • вместо умножения выполнять сложение
  • вместо деления выполнять вычитание
  • вместо возведения в степень выполнять умножение
  • вместо извлечения корня выполняется деление

Для этого полезно запомнить соответствия:

  • 1 дБ → в ≈1,26 раза
  • 3 дБ → в ≈2 раза
  • 10 дБ → в 10 раз
  • 20 дБ → в 100 раз

Далее, раскладывая «более сложные значения» на «составные», получаем:

6 дБ = 3 дБ + 3 дБ → в ≈2·2 = в 4 раза, 9 дБ = 3 дБ + 3 дБ + 3 дБ → в ≈2·2·2 = в 8 раз, 12 дБ = 4 · (3 дБ) → в ≈2 4 = в 16 раз 13 дБ = 10 дБ + 3 дБ → в ≈10·2 = в 20 раз, 20 дБ = 10 дБ + 10 дБ → в 10·10 = в 100 раз, 30 дБ = 3 · (10 дБ) → в 10³ = в 1000 раз

Более сложные примеры:

уменьшение мощности в 40 раз это в 2*2*10 раз или на −(3 дБ + 3 дБ + 10 дБ) = −16 дБ; увеличение мощности в 128 раз это 2 7 или на 7·(≈3 дБ) = 21 дБ;

Еще примеры:
Передатчик T1 = 4мВт
Передатчик T2 = 8мВт
Передатчик T3 = 16мВт
Передатчик T4 = 5мВт
Передатчик T5 = 200мВт

В мВт: передатчик T2 = T1*2, а в дБ T2 = T1 + 3 дБ
В мВт: передатчик T3 = T2*2, а в дБ T3 = T2 + 3 дБ
В мВт: передатчик T5 = T4*2*2*10, а в дБ T5 = T4 + 3 + 3 + 10 дБ, т. е. T5 = T4 + 16 дБ

Пример расчета

Итоговую мощность сигнала, которую получит приемник можно рассчитать по формуле:

Для приведенного выше примера:

Сигнал Rx = 20 dBm — 2dB + 4 dBi — 69 dB + 4 dBi — 2dB = -45 dBm

Отношение сигнал/шум (ОСШ; англ. signal-to-noise ratio, сокр. SNR) — безразмерная величина, равная отношению мощности полезного сигнала к мощности шума.

Где signal — средняя мощность сигнала, а Pnoise — средняя мощность шума.

Чем больше SINR тем лучше. Считается хорошей практикой настраивать точку доступа на работу на канале только если его сигнал больше или равен 19 dBm любому другому сигналу на этом канале. Разделение на 19 dBm помогает поддерживать нормальный уровень SNR.

RSSI (англ. received signal strength indicator) (Показатель уровня принимаемого сигнала) — полная мощность принимаемого приёмником сигнала. Измеряется приёмником по логарифмической шкале в дБм (dBm, децибел относительно 1 милливатта). Значение RSSI плохо коррелирует с качеством сигнала, но может использоваться для его приблизительной оценки. Более точную оценку можно получить с помощью параметра индикатор качества сигнала (LQI). Если говорить простым языком, то RSSI — это измерение того насколько «громко» ваше устройство слышит сигнал идущий от точки доступа или маршрутизатора. Важно понимать, что RSSI — это не то же самое, что и мощность передатчика точки доступа. Стандарт IEEE 802.11 определяет, что RSSI может принимать значение между 0 и 255 и каждый производитель беспроводных модулей сам определяет собственное максимальное значение RSSI. Например, у Cisco это значения 0-100, у Atheros 0-60.

RSSI vs dBm

dBm и RSSI это разные единицы измерения, которые представляют одно и то же: уровень сигнала. Разница в том, что RSSI — это относительный индекс, а dBm — это относительное значение представляющие уровень мощности в мВт.

Как определить хороший ли сигнал

При оценке уровня сигнала надо понимать, что это получаемый сигнал в dBm это не единственная характеристика. Вполне реальны ситуации, когда уровень сигнала отличный, но при этом в непосредственной близости имеются другие точки, которые работают на том же канале из-за чего SNR оказывается плохим и, как результат скорость и стабильность работы с точкой будет плохой.

Что означает отрицательный dbm в силе сигнала?

Когда мы пытаемся получить соседние ячейки и их LAC, MNC, сигнал (и при использовании других приложений для Android), мы получаем сигнал как отрицательное значение (например, -85dbm). Как мне это взять? Должен ли я игнорировать знак -ve и принимать абсолютное значение или -85 меньше силы, чем -60?


Как это повлияет на мое местоположение?

Мощность в дБм в 10 раз превышает логарифм отношения фактической мощности / 1 милливольт.

ДБм означает «децибел милливатт». Это удобный способ измерения мощности. Точная формула

Из этой формулы мощность в дБм 1 Вт составляет 30 дБм. Поскольку вычисление логарифмическое, каждое увеличение 3dBm приблизительно эквивалентно удвоению фактической мощности сигнала.

Здесь есть калькулятор конверсии и таблица сравнения. Существует также таблица сравнения на английской странице Wikipedia, но ценность, которую она дает для мобильных сетей, немного не работает.

Ваш фактический вопрос: «делает ли счет знака?»?

Ответ – да, это так.

-85 дБм менее мощный (меньше), чем -60 дБм. Чтобы понять это, вам нужно посмотреть отрицательные числа . Кроме того, подумайте о своем банковском счете. Если вы обязаны банку 85 долларов / rands / euros / rupees (-85), вы беднее, чем если бы вы только им 65 (-65), т. Е. -85 меньше -65. Кроме того, при измерениях температуры -85 холоднее -65 градусов.

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

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

Я думаю, что смутно думать об этом с точки зрения отрицательных чисел. Поскольку это логарифм, думайте об отрицательных значениях так же, как вы думаете о десяти достоинствах. 10 ^ 3 = 1000, а 10 ^ -3 = 0,001.

Имея это в виду и используя формулы из ответа S-списков (и предполагая, что наша базовая мощность составляет 1 мВт во всех этих случаях), мы можем построить небольшую таблицу:

Когда я думаю об этом, я нахожу, что легче видеть, что чем меньше отрицательное значение dBm, тем дальше справа от десятичной величины действительное значение мощности.

Когда дело доходит до мобильных сетей, это не так много, что они недостаточно мощные, а скорее они более чувствительны. Когда вы видите характеристики приемников с дБм далеко от отрицательных значений, то то, что вы видите, является более чувствительным оборудованием.

Обычно вы хотели бы, чтобы ваш передатчик был мощным (дальше к позитивам), а ваш приемник был чувствительным (далее к негативам).

На конце ms Rx lev варьируется от 0 до -120 дБм. Средняя мощность антенны, которая принимается при ms, всегда меньше 1 мВт.

XX. Функции DBM

Эти функции позволяют сохранять записи в БД dbm-стиля. Этот тип БД (поддерживаемый Berkeley DB, GDBM и некоторыми системными библиотеками, а также встроенной библиотекой flatfile) хранит пары key/value (в отличие от полноценных записей реляционных БД).

Примечание: однако поддержка dbm не рекомендуется для дальнейшего использования, и мы советуем использовать вместо этого Функции абстрактного слоя БД (dbm-стиль).

Для использования этих функций вы должны скомпилировать РНР с поддержкой соответствующих БД. См. список поддерживаемых БД.

Чтобы использовать эти функции, вы обязаны скомпилировать РНР с поддержкой dbm, использовав опцию —with-db . Кроме того, вы обязаны гарантировать поддержку соответствующей БД или можете использовать некоторые системные библиотеки.

Это расширение не определяет никаких директив конфигурации.

Функция dbmopen() возвращает идентификатор БД, который используется другими dbm-функциями.

Это расширение не определяет никаких констант.

Пример 1. DBM

Содержание dblist — описывает используемую DBM-совместимую библиотеку dbmclose — закрывает dbm-БД dbmdelete — удаляет значение данного ключа из DBM-БД dbmexists — сообщает, существует ли значение для ключа в DBM-БД dbmfetch — извлекает значение ключа из DBM-БД dbmfirstkey — запрашивает первый ключ из DBM-БД dbminsert — вставляет значение ключа в DBM-БД dbmnextkey — запрашивает следующий ключ из DBM-БД dbmopen — открывает DBM-БД dbmreplace — заменяет значений ключа в DBM-БД

Назад Оглавление Вперёд
dbase_replace_record Вверх dblist

Материалы, которые находятся на этой страничке, любезно предоставлены Игорем Ивановым

Что такое децибел

Очень часто новички сталкивается с таким понятием, как децибел. Многие из них интуитивно догадываются, что это такое, но у большинства до сих пор возникают вопросы.

Что такое децибел?


Относительные логарифмические единицы Белы (децибелы) широко используются при количественных оценках параметров различных аудио, видео, измерительных устройств. Физическая природа сравниваемых мощностей может быть любой — электрической, электромагнитной, акустической, механической, — важно лишь, чтобы обе величины были выражены в одинаковых единицах — ваттах, милливаттах и т. п. Бел выражает отношение двух значений энергетической величины десятичным логарифмом этого отношения, причем под энергетическими величинами понимаются: мощность, энергия.

Кстати, эта единица получила свое название в честь Александра Белл (1847 – 1922) – американского ученого шотландского происхождения, основоположника телефонии, основателя всемирно известных компаний AT&T и “Bell Laboratories”. Еще интересно напомнить, что во многих современных мобильных телефонах (смартфонах) обязательно есть выбираемый звук звонка (оповещения), так и называемый “bell”. Впрочем, Бел относится к единицам, не входящим в Международную систему единиц (СИ), но в соответствии с решением Международного комитета мер и весов допускается к применению без ограничений совместно с единицами СИ. В основном применяется в электросвязи, акустике, радиотехнике.

Формулы для вычисления децибелов

P1 – мощность до усиления, Вт

P2 – мощность после усиления или ослабления, Вт

На практике, оказалось, что удобнее пользоваться уменьшенным в 10 раз значением Бел, т.е. децибел, поэтому:

дециБел (дБ) = 10 * lg(P2/P1)

Усиление или ослабление мощности в децибелах выражается формулой:

NдБ – усиление, либо ослабление мощности в децибелах

P1 – мощность до усиления, Вт

P2 – мощность после усиления или ослабления, Вт

Значения Бел, децибел могут быть со знаком “плюс”, если P2 > P1 (усиление сигнала) и со знаком “минус”, если P2

Во многих случаях, сравнение сигналов путем измерения мощностей может быть неудобным или невозможным – проще измерить напряжение или ток.
В этом случае, если мы сравниваем напряжения или токи, формула примет уже другой вид:

NдБ – усиление, либо ослабление мощности в децибелах

U1 – это напряжение до усиления, В

U2 – напряжение после усиления, В

I2 – сила тока после усиления, А

Вот небольшая табличка, в которой приведены основные отношения напряжений и соответствующее число децибел:

Дело в том, что операции умножения и деления над числами в обычном базисе, заменяются операциями сложения и вычитания в логарифмическом базисе. Например, у нас есть два каскадно-включенных усилителя с коэффициентами усиления K1 = 963 и K2 = 48. Какой общий коэффициент усиления? Правильно – он равен произведению K = K1 * K2. Вы можете в уме быстро вычислить 963*48? Я – нет. Я могу прикинуть K = 1000*50 = 50 тыс., не более. А, если нам известно, что K1 = 59 дБ и K2 = 33 дБ, то К = 59+33 = 92 дБ – сложить было не трудно, надеюсь.

Впрочем, актуальность таких вычислений было велика в эпоху, когда ввели понятие Бел и когда не было не то, что айфонов, но и электронных калькуляторов. Сейчас же достаточно открыть калькулятор на ваших гаджетах и быстренько посчитать , что есть что. Ну и чтобы не париться каждый раз при переводе дБ в разы, удобнее всего найти в интернете онлайн-калькулятор. Да хотя бы вот.

Закон Вебера-Фехнера

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

Так светильник, в котором восемь лампочек, кажется нам настолько же ярче светильника из четырёх лампочек, насколько светильник из четырёх лампочек ярче светильника из двух лампочек. То есть количество лампочек должно увеличиваться каждый раз вдвое, чтобы нам казалось, что прирост яркости постоянен. То есть если добавить к нашим 32 лампочкам на графике еще одну лампочку, то мы даже и не заметим разницы. Для того, чтобы для нашего глаза была заметна разница, мы должны к 32 лампочкам добавить еще 32 лампочки, и т.д. Или иными словами, для того, чтобы нам казалось, что наш светильник плавно набирает яркость, нам надо зажигать вдвое больше лампочек каждый раз, чем было предыдущее значение.

Поэтому децибел действительно удобнее в некоторых случаях, так как сравнивать две величины намного проще в маленьких цифрах, чем в миллионах и миллиардах. А так как электроника – это чисто физическое явление, то и децибелы не обошли ее стороной.

Децибелы и АЧХ усилителя

Как вы помните в прошлом примере с ОУ, у нас неинвертирующий усилитель усиливал сигнал в 10 раз. Если посмотреть в нашу табличку, то это получается 20 дБ относительно входного сигнала. Ну да, так оно и есть:

Также в дБ на некоторых графиках АЧХ обозначают наклон характеристики АЧХ. Это может выглядеть примерно вот так:

На графике мы видим АЧХ полосового фильтра. Изменение сигнала +20 дБ на декаду (дБ/дек, dB/dec) говорит нам о том, что при каждом увеличении частоты в 10 раз, амплитуда сигнала возрастает на 20 дБ. То же самое можно сказать и про спад сигнала -20 дБ на декаду. При каждом увеличении частоты в 10 раз, у нас амплитуда сигнала будет уменьшаться на -20 дБ. Есть также похожая характеристика дБ на октаву (дБ/окт, dB/oct). Здесь почти все то же самое, только изменение сигнала происходит при каждом увеличении частоты в 2 раза.

Давайте рассмотрим пример. Имеем фильтр высоких частот (ФВЧ) первого порядка, собранного на RC-цепи.

Его АЧХ будет выглядеть следующим образом (кликните для полного открытия)


Нас сейчас интересует наклонная прямая линия АЧХ. Так как у нее наклон примерно одинаковый до частоты среза в -3дБ, то можно найти ее крутизну, то есть узнать, во сколько раз увеличивается сигнал при каждом увеличении частоты в 10 раз.

Итак возьмем первую точку на частоте в 10 Герц. На частоте в 10 Герц амплитуда сигнала уменьшилась на 44 дБ, это видно в правом нижнем углу (out:-44)

Умножаем частоту на 10 (декада) и получаем вторую точку в 100 Герц. На частоте в 100 Герц наш сигнал уменьшился приблизительно на 24 дБ

То есть получается за одну декаду у нас сигнал увеличился с -44 до -24 дБ на декаду. То есть наклон характеристики составил +20 дБ/декаду. Если +20 дБ/декаду перевести в дБ на октаву, то получится 6 дБ/октаву.

Достаточно часто, дискретные аттенюаторы (делители) выходного сигнала на измерительных приборах (особенно на генераторах) проградуированы в децибелах:
0, -3, -6, -10, -20, -30, -40 дБ. Это позволяет быстро ориентироваться в относительном уровне выходного сигнала.

Что еще измеряют в децибелах?

Также очень часто в дБ выражают отношение сигнал-шум ( signal-to-noise ratio , сокр. SNR)

Uc – это эффективное значение напряжения сигнала, В

Uш – эффективное значение напряжения шума, В

Чем выше значение сигнал/шум, тем более чистый звук обеспечивается аудиосистемой. Для музыкальной аппаратуры желательно, чтобы это отношение было не менее 75 дБ, а для Hi-Fi аппаратуры не менее 90 дБ. Не имеет значение физическая природа сигнала, важно, чтобы единицы были в одинаковых измерениях.

В качестве единицы логарифмического отношения двух одноимённых физических величин применяется также непер (Нп) — 1 Нп

0,8686 Б. В основе лежит не десятичный (lg), а натуральный (ln) логарифм отношений. В настоящее время используется редко.

Во многих случаях, удобно сравнивать между собой не произвольные величины, а одну величину относительно другой, названной условно опорной (нулевой, базовой).
В электротехнике, в качестве такой опорной или нулевой величины выбрано значение мощности равное 1 мВт выделяемое на резисторе сопротивлением 600 Ом.
В этом случае, базовыми значениями при сравнении напряжений или токов станут величины 0.775 В или 1.29 мА.

Для звуковой мощности такой базовой величиной является 20 микроПаскаль (0 дБ), а порог +130 дБ считается болевым для человека:

Более подробно об этом написано в Википедии по этой ссылке.

Для случаев когда в качестве базовых значений используются те или иные конкретные величины, придуманы даже специальные обозначения единиц измерений:

dbW (дБВт) – здесь отсчет идет относительно 1 Ватта (Вт). Например, пусть уровень мощности составил +20 дБВт. Это значит что мощность увеличилась в 100 раз, то есть на 100 Вт.

dBm (дБм) – здесь у нас отсчет уже идет относительно 1 милливатта (мВт). Например, уровень мощности в +30дБм будет соответственно равен 1 Вт. Не забываем, что это у нас энергетические децибелы, поэтому для них будет справедлива формула

Следующие характеристики – это уже амплитудные децибелы. Для них будет справедлива формула

dBV (дБВ) – как вы догадались, опорное напряжение 1 Вольт. Например, +20дБВ даст – это 10 Вольт

От дБВ также вытекают другие виды децибелов с разными приставками:

dBmV (дБмВ) – опорный уровень 1 милливольт.

dBuV (дБмкВ) – опорное напряжение 1 микровольт.

Здесь я привел наиболее употребимые специальные виды децибелов в электронике.

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

Также на YouTube есть интересное видео о децибелах.

Перевод дБм в дБ (dBm в dB), взаимозависимость между мощностью и затуханием

Вопрос о переводе дБ в дБм и наоборот часто приходится слышать от клиентов, встречать на специализированных форумах. Однако, как бы не хотелось, нельзя перевести мощность в затухание.

Если мощность оптического сигнала измерена в дБм, то для определения затухания A (дБ) необходимо от мощности сигнала на входе в линию отнять мощность сигнала на выходе из нее. Но обо всем этом по порядку.


Оптическая мощность, или мощность оптического излучения – это основополагающий параметр оптического сигнала. Он может быть выражен в привычных нам единицах измерения – Ватт (Вт), милливатт (мВт), микроватт (мкВт). А также логарифмических единицах – дБм.

Затухание оптического сигнала (А) – величина, которая показывает во сколько раз мощность сигнала на выходе линии связи (P вых) меньше мощности сигнала на входе этой линии (Pвх). Затухание выражается в дБ (дециБелл) и может быть определено по следующей формуле:

Рисунок 1 – формула расчета оптического затухания в случае если оптическая мощность выражена в Вт

Немного непривычно, не так ли? Логарифмические линейки и таблицы – уходят в прошлое, по крайней мере для молодых монтажников их давно уже заменил калькулятор. И даже с учетом использования калькулятора – такая формула не сильно удобна. Поэтому, для упрощения расчетов было принято решение перевести единицы измерения мощности в логарифмический формат и таким образом избавиться от логарифмов в формуле:

Рисунок 2 – пересчет мощности из мВт в дБм

Для перевода дБм в Вт и наоборот можно пользоваться также таблицей:

дБм Милливат
1,0
1 1,3
2 1,6
3 2,0
4 2,5
5 3,2
6 4
7 5
8 6
9 8
10 10
11 13
12 16
13 20
14 25
15 32

В результате пересчета, формула вычисления оптического затухания (рис 1) превращается в:

Рисунок 3 – перевод дБм в дБ (dBm в dB), взаимозависимость между мощностью и затуханием

Учитывая тот факт, что все известные автору измерители оптической мощности в качестве основной единицы измерения используют дБм, то используя формулу на рис 3 инженер может определить уровень затухания даже в уме. Кроме того, многие приборы имеют функцию установки опорного уровня, благодаря чему пользователю выдается значение потерь сразу в Дб.

В этом случае, измерение затухания оптической линии значительно упрощается, что продемонстрировано на следующем видео.

Измерение затухания оптической линии

Зачастую измерянного значения затухания в дБ – достаточно. Однако для того, чтобы представить во сколько раз уменьшился входной сигнал, можно воспользоваться формулой:

m = 10 (n / 10)

где m – отношение в разах, n – отношение в децибелах

можно также пользоваться следующей таблицей:

О децибелах для радиоинженеров

Узнайте о децибелах и их вариациях в контексте радиочастотного проектирования и тестирования.

Радиотехника, как и все научные дисциплины и подразделы, включает в себя довольно много специализированной терминологии. Одним из наиболее важных слов, которые вам понадобятся при работе в мире радиочастот, является «дБ» (и некоторые его варианты). Если вы глубоко закрепились в проектировании радиочастотных систем, то можете обнаружить, что слово «дБ» становится вам таким же знакомым, как и ваше собственное имя.

Как вы, наверное, знаете, дБ означает децибел. Это логарифмическая единица, которая обеспечивает удобный способ работы с отношениями, такими как отношение между амплитудами входного и выходного сигналов.

Отношение напряжений сигналов на выходе и входе усилителя

Мы не будем описывать общую информацию о децибелах, потому что она уже доступна на этой странице учебника «Основы электроники и схемотехники». Вместо этого мы сосредоточимся на практических аспектах децибелов в конкретном контексте радиочастотных систем.

Относительный, не абсолютный

Легко забыть, что дБ является относительной единицей. Вы не можете сказать: «Выходная мощность составляет 10 дБ».

Напряжение является абсолютной величиной, потому что мы всегда говорим о разности потенциалов между двумя точками; обычно мы имеем в виду потенциал одного узла относительно узла земли 0 В. Ток также является абсолютной величиной, поскольку единица измерения (ампер) включает в себя определенное количество заряда в течение определенного количества времени. Децибел, напротив, это единица измерения, которая включает в себя логарифм отношения между двумя числами. Ярким примером является коэффициент усиления усилителя: если мощность входного сигнала равна 1 Вт, а мощность выходного сигнала равна 5 Вт, мы имеем коэффициент 5:

\[10 \log_ <10>\left( < P_<вых>\over P_ <вх>> \right) = 10 \log_ <10>(5) \approx 7 дБ\]

Таким образом, этот усилитель обеспечивает усиление по мощности 7 дБ, то есть соотношение между мощностью выходного сигнала и мощностью входного сигнала может быть выражено как 7 дБ.

Почему дБ?

Конечно, можно было бы проектировать и тестировать радиочастотные системы без использования дБ, но на практике дБ используются везде. Одно из преимуществ заключается в том, что шкала дБ позволяет выражать очень большие отношения без использования очень больших чисел: усиление по мощности в 1 000 000 раз составляет всего 60 дБ. Кроме того, при использовании дБ легко вычисляется общий коэффициент усиления или потерь в цепи прохождения сигнала, поскольку отдельные значения в дБ просто складываются (тогда как, если бы мы работали с обычными отношениями, нам потребовалось бы умножение).

Еще одно преимущество – это то, что мы знаем из нашего опыта работы с фильтрами. Радиочастотные системы вращаются вокруг частот и различных способов генерации, управления или воздействия на эти частоты с помощью компонентов и паразитных элементов схемы. Шкала в дБ в подобном контексте удобна, потому что графики частотных характеристик интуитивно понятны и визуально информативны, когда ось частот использует логарифмический масштаб, а ось амплитуды использует шкалу в дБ.


Диаграмма Боде, показывающая амплитудно-частотные характеристики различных полосовых фильтров

Когда дБ абсолютны?

Мы установили, что дБ является отношением и, следовательно, не может описывать абсолютные значения мощности и амплитуды сигнала. Однако было бы неудобно постоянно переключаться между значениями в дБ и не в дБ, и, возможно, именно поэтому радиоинженеры ввели единицу измерения дБм (dBm).

Мы можем избежать проблемы «только отношение», просто создав новую единицу измерения, которая всегда будет содержать опорное значение. В случае дБм опорное значение равно 1 мВт. Таким образом, если у нас есть сигнал 5 мВт, и мы хотим оставаться в области дБ, мы можем выразить мощность этого сигнала как 7дБм:

\[10 \log_ <10>\left( < 5 мВт \over 1 мВт >\right) = 10 \log_ <10>(5) \approx 7 дБм\]

Вы определенно хотите ознакомиться с концепцией дБм. Это стандартная единица, используемая в реальной разработке радиочастотных систем, и она очень удобна, когда вы, например, вычисляете энергетический баланс линии связи, поскольку усиления и потери, выраженные в дБ, могут просто складываться и вычитаться из выходной мощности, выраженной в дБм.

Существует также единица дБВт (dBW); в качестве опорного значения она использует 1 Вт вместо 1 мВт. В настоящее время большинство радиоинженеров работает с относительно маломощными системами, и это, вероятно, объясняет, почему дБм встречается чаще.

Больше вариаций дБ

Две других единицы измерения, основанных на дБ, – это дБн (dBc) и дБи (dBi).

Вместо фиксированного значения, такого как 1 мВт, дБн (dBc) использует в качестве опорного сигнала уровень несущей сигнала. Например, фазовый шум (смотрите второй раздел данной главы) выражается в единицах дБн/Гц (dBc/Hz); первая часть этой единицы измерения указывает, что мощность фазового шума на определенной частоте измеряется относительно мощности несущей (в этом случае «несущая» относится к мощности сигнала на номинальной частоте).

Идеализированная точечная антенна принимает определенное количество энергии от схемы передатчика и равномерно излучает ее во всех направлениях. Считается, что эти «изотропные» антенны имеют нулевой коэффициент усиления и нулевые потери.

Однако, другие антенны могут быть сконструированы таким образом, чтобы концентрировать излучаемую энергию в определенных направлениях, и в этом смысле антенна может иметь «усиление». Антенна на самом деле не добавляет мощности к сигналу, но эффективно увеличивает переданную мощность путем концентрации электромагнитного излучения в соответствии с направлением системы связи (очевидно, что более практично, когда разработчик антенны знает пространственную взаимосвязь между передатчиком и приемником).

Здесь вы можете увидеть неравномерное распределение излучаемой энергии, которая приводит к усилению в прямом направлении (т.е., 0°)

Единица измерения дБи (dBi) позволяет производителям антенн указывать «коэффициент усиления», который использует популярную шкалу дБ. Как всегда, когда мы работаем с дБ, нам необходимо отношение, а в случае с дБи (dBi) коэффициент усиления антенны выражается через опорное усиление изотропной антенны.

Некоторые антенны (например, те, которые сопровождаются параболическим зеркалом, «тарелкой») имеют значительный коэффициент усиления, и поэтому они могут внести нетривиальный вклад в расстояние и производительность радиочастотной системы.

Функции dbm

Эти функции позволяют работать с записями dbm-подобных баз данных. Данный тип баз данных (поддерживается как библиотеками Berkley db, gdbm и некоторыми другими, так и встроенной в PHP3 библиотекой) оперирует с парами ключ/значение (в противоположность полноценным записям, поддерживаемым реляционными базами данных).

Пример 1. Пример dbm

dbmopen

dbmopen — открывает базу данных dbm

Описание

Первый аргумент — это полный путь к открываемому dbm-файлу, а второй — режим открытия файла, который может быть следующим: «r»,»n», «w» соответственно только для чтения, создания (включает чтение-запись и может обрезать уже существующую базу данных с тем же именем) и чтения-записи.

Возвращает идентификатор, который в дальнейшем передается другим dbm-функциям, или false при неуспехе.

Если используется поддержка ndbm, создаются файлы filename.dir и filename.pag. gdbm использует только один файл, и Berkley db создает файл filename.db. Заметьте, что PHP3 самостоятельно делает свою собственную блокировку в дополнение к блокировке самой dbm-библиотки. PHP не удаляет .lck-файлы, созданные этой библиотекой, а рассматривает эти файлы просто как фиксированные i-узлы на которые надо делать блокировку. Более полную информацию о dbm-файлах можно получить на ftp://prep.ai.mit.edu/pub/gnu и man-страницах.

dbmclose

dbmclose — закрывает базу данных dbm

Описание

Разблокирует и закрывает указанную базу данных.

dbmexists

dbmexists — сообщает, существует ли в базе данных значение для ключа


Описание

Возвращает true если существует значение, ассоциируемое с ключом key.

dbmfetch

dbmfetch — извлекает из базы данных значение ключа

Описание

Возвращает значение ключа key.

dbminsert

dbminsert — вставляет в базу данных значение ключа

Описание

Добавляет в базу данных значение с указанным ключом key.

Возвращает -1 если база данных была открыта в режими только чтение, 0 если добавление произошло успешно и 1 если указанный ключ уже существует. (Для замены значения следует использовать dbmreplace().)

dbmreplace

dbmreplace — заменяет значение ключа

Описание

Замещает значение указанного ключа. Если ключ не существует, функция добавляет его в базу данных.

dbmdelete

dbmdelete — удаляет занчение ключа из базы данных

Описание

Удаляет значение ключа из базы данных. Возвращает false если ключ в базе данных не существует.

dbmfirstkey

dbmfirstkey — возвращает первый ключ из базы данных

Описание

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

dbmnextkey

dbmnextkey — возвращает следующий ключ базы данных

Описание

Возвращает ключ, следующий после ключа key. С помощью вызова dbmfirstkey(), а затем dbmnextkey() возможно пройти по всем парам ключ/значение в базе данных. Например:

Пример 1. Прохождение по всем парам ключ/значение.

dblist

dblist — описывает используемые dbm-совместимые библиотеки

Илон Маск рекомендует:  Iis использование средств оценки содержимого
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL