2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Биты и Боды
Сообщение18.06.2024, 19:28 


17/10/16
4744
Иногда вижу, что скорость передачи сигналов измеряется в Бодах. Я правильно понял, что Бод/сек - это по сути несущая, тактовая частота, на которой происходит работа канала передачи данных? Любой канал передачи дискретных данных способен менять свое состояние с этой максимальной частотой. Грубо говоря, это максимально возможная частота фронтов сигнала. И не фактическое число фронтов сигнала за секунду для какого-то конкретного сигнала, а максимально возможное для данного железа (или просто установленное в настройках этого железа). По сути, эта вещь должна бы измеряться в Герцах?

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

Причем во времена самого Эмиля Бодо это понималось так. Каждой букве сопоставлялся 5-битный код, который далее последовательно передавался по одной линии телеграфа. И если мы передаем 192 буквы/минуту, то это соответствует $192*5/60=16$ бит/сек или 4 Бода/сек. Так было написано в одной из лекций. Т.е. аппаратура должна была позволять делать на линии 4 переключения/сек. Но что-то я не пойму, почему биты и Боды тут не совпадают?

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение18.06.2024, 21:48 


05/09/16
12023
Мне кажется в википедии написано вполне исчерпывающе, и вами повторено тут: боды - изменения состояния в секунду (слова в секунду). Если состояний два (слова однобитные), то боды это биты/с.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение18.06.2024, 22:27 
Заслуженный участник


20/08/14
11668
Россия, Москва
sergey zhukov
Ну и бод/с имеет размерность не скорости, а ускорения.
И привязка скорости к количеству фронтов не всегда корректна, иногда важны паузы между фронтами, а не только фронты, и тогда количество фронтов (изменений состояния канала) может быть и меньше количества битов даже при двухуровневом сигнале (как например в МЧМ кодировании).

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение19.06.2024, 19:41 


17/10/16
4744
Я все же так понял. Канал передачи данных работает на некоторой тактовой частоте, и в каждом такте сигнал на линии может принимать одно из $N$ возможных состояний. Эти состояния могут отличаться друг от друга чем угодно. В частном случае это могут быть и разные двоичные слова. Тактовая частота - это и есть скорость в бодах. На каждый бод приходится сколько-то бит (зависит от $N$ и других факторов, в простейшем случае $\log_2N$).

В случае, когда состояния из множества $N$ отличаются фазами, частотами или амплитудами, это деление понять достаточно просто. А если разные состояния - это разные двоичные слова, то само деление на такты становится как-будто произвольным.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение19.06.2024, 20:45 
Заслуженный участник


20/08/14
11668
Россия, Москва
Тут ещё такая засада с бодами (по инфе вики): в ней учитываются служебные биты. И тогда например для RS232 с форматом 1 старт, 8 данных, 1 чётность, 1 стоп скорость в бодах будет скажем стандартная 115200 бод, а эффективная скорость в битах будет всего лишь 8/11 от 115200 или 83782 бита/с.
А некоторые форматы подразумевают вообще плавающую эффективную скорость, в зависимости от передаваемых данных (например технология bit stuffing, вставляющая в передаваемый поток битов свои служебные биты если долго передаётся одинаковый информационный бит, используется например в USB).
В этих случаях боды показывают реальную скорость/ёмкость канала, а уж сколько туда влезет полезной информации (эффективная скорость, в битах/с) - зависит от многого (в том числе иногда и от самих передаваемых данных).
Хотя на мой вкус бод какая-то мутная единица, биты/с (канальные, не эффективные/информационные) или герцы честнее и понятнее. Правда я с каналами связи и редко сталкиваюсь, может там бод и удобнее именно как характеристика канала без привязки к информационным битам или герцам.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение19.06.2024, 21:43 
Аватара пользователя


11/12/16
13787
уездный город Н
Dmitriy40 в сообщении #1643305 писал(а):
Тут ещё такая засада с бодами (по инфе вики): в ней учитываются служебные биты. И тогда например для RS232 с форматом 1 старт, 8 данных, 1 чётность, 1 стоп скорость в бодах будет скажем стандартная 115200 бод, а эффективная скорость в битах будет всего лишь 8/11 от 115200 или 83782 бита/с


Вот это сообщение заставило вмешаться и взять нормальную клавиатуру.

1. боды - это про изменения сигнала в секунду.
Конечно, количество изменений сигнала в секунду зависит от того, что в сигнале передаётся. Поэтому, боды - это максимальное количество изменений сигнала в секунду.
2. биты\сек - это про количество передаваемой информации (в секунду).

Для того, чтобы "почувствовать" разницу, хорошо рассмотреть крайние случаи, когда боды и биты\сек различаются в разы (на двоичные порядки).

1. Кодирование с возвращением к нулю. Боды в два раза больше битов в секунду.
2. Манчестерское кодирование. Боды в два раза больше битов в секунду (в худшем случае, а значит так и измеряем).
3. Квадратурная модуляция. Тут наоборот.
Если в созвездии 4 точки, то боды в два раза меньше, чем биты в секунду (каждое изменение сигнала кодирует два бита).
Если в созвездии 16 точек, то боды в четыре раза меньше, чем биты в секунду (каждое изменение сигнала кодирует четыре бита).

-- 19.06.2024, 21:56 --

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

Тут наблюдается "плавающая терминология". Кто влез, кто по дрова. :mrgreen:
UART, как физический уровень передачи данных подразумевает:
а) стартовый бит
б) один или два стоповых бита
в) один или ноль бита четности (при наличии, бит четности может иметь разный смысл - дополнение до четного, или дополнение до нечетного)
г) 7 или 8 битов данных

При этом, очевидно, биты в пунктах от а) до в) никакой информации (поступившей со второго уровня ISO-OSI) не переносят.

Тогда
1. биты в пунктах от а) до в), конечно, учитываются при подсчете бод.
2.1. Можно сказать, что биты в пунктах от а) до в) учитываются при подсчете скорости в битах в секунду. Так как это всё таки "биты в канале передачи данных". Ну и пусть, не переносят полезной информации.
Тогда для UART боды и биты в секунду - это синонимы.
2.2. Можно сказать, что биты в пунктах от а) до в) не учитываются при подсчете скорости в битах в секунду. Тогда для UART боды и биты в секунду - это не синонимы.

Как правило, идут по пути 2.1. Но при пересчете битов в секунду в байты в секунду, делят не на 8, а на коэффициент больше 8, учитывающий служебные биты.
Например, для наиболее часто используемого режима 8N1 для пересчета в байты делят на 10, а не на 8. Что удобно :wink:

-- 19.06.2024, 22:07 --

Для иллюстрации.
Для часто используемых скоростей UART, например, 9600, 19200 или 115000:
а) в учебной и (около) научной литературе вы найдете 9600, 19200 или 115000 бод
б) в практической литературе вы найдете 9600, 19200 или 115000 бит\сек.

Очевидно, это одно и то же. Но в пункте б) при подсчете бит, которые "в секунду", учитываются и служебные биты, не переносящие информации.

-- 19.06.2024, 22:12 --

в) но вы никогда не найдете пересчет 9600, 19200 или 115000 бод в биты в секунду с учетом того, что служебные биты не переносят информации.
В байты в секунду - сколько угодно. "Переводной коэффицент" для режима UART 8N1 - см. выше.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение19.06.2024, 22:44 
Заслуженный участник


20/08/14
11668
Россия, Москва
EUgeneUS
Вы во всём правы. Только засада в частности в том что для некоторых протоколов переводной коэффициент не фиксирован и вообще заранее неизвестен (как для bit stuffing). И раз уж есть переводной коэффициент в байты, то поделив его на 8 получим переводной коэффициент в биты (не 8 битные байты давно не применяются).
А ещё не забываем что в одном символе может быть не целое количество информационных битов, например если символ кодирует всего 41 вариант и каждые два байта передаются тремя символами ... Ну или 7 вариантов и три символа на байт. Пример такого канала мне неизвестен, но в аналоговых линиях с квадратурной модуляцией ничего этому не мешает. А использование меньшего количества вариантов (чем степень двойки) например улучшает помехоустойчивость, что очень даже востребовано, или позволяет прозрачно передавать и служебные сообщения (например маркеры начала/конца пакета или сигнализировать об ошибках или ещё много чего интересного).

sergey zhukov
Вот чем боды лучше герцев, мне не слишком понятно. Хотя есть банальный пример: просто битовый поток, боды равны битам/с, а герцы минимум вдвое меньше (если срезать все высшие гармоники от фронтов и оставить только половинную частоту и ниже) или могут быть до десятков раз больше бодов (если гармоники не срезать). Видимо именно поэтому герцы не пересчитываются в боды без дополнительной информации о структуре физического сигнала.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение19.06.2024, 22:57 
Аватара пользователя


11/12/16
13787
уездный город Н
Dmitriy40 в сообщении #1643313 писал(а):
Вот чем боды лучше герцев, мне не слишком понятно. Хотя есть банальный пример: просто битовый поток, боды равны битам/с, а герцы минимум вдвое меньше (если срезать все высшие гармоники от фронтов и оставить только половинную частоту и ниже) или могут быть до десятков раз больше бодов (если гармоники не срезать). Видимо именно поэтому герцы не пересчитываются в боды без дополнительной информации о структуре физического сигнала.


Тут Ваши догадки верные.
Герцы - это характеристика сигнала. При этом в герцах измеряется основная гармоника (так-то, в герцах - целый спектр :D). И частота основной гармоники может сильно зависеть от сигнала.
А боды - это характеристика канала передачи данных, от сигнала не зависит.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение19.06.2024, 23:17 
Заслуженный участник


20/08/14
11668
Россия, Москва
EUgeneUS в сообщении #1643316 писал(а):
А боды - это характеристика канала передачи данных, от сигнала не зависит.
Вот это и путает: ставим другую микросхему драйвера (вместо двух уровней например 4) и получаем другую канальную скорость в бодах. На ровно том же физическом проводе. Т.е. боды это не про физический уровень, про канальный, его ёмкость/скорость. А во что оно превратится в физической среде - ещё огромный вопрос (в том числе и выбора протокола кодирования). И тогда вопрос: а кого вообще волнует канальная скорость, а не физическая и не логическая (информационная, эффективная, реальные биты/с с высоких уровней OSI)? Какая-то искусственная промежуточная скорость, мало кому нужная, ИМХО.
Ровно как с флешками, были обычные (SLC) и количество битов было равно количеству ячеек памяти, а потом появились MLC (2 бита в ячейке/символе), потом и TLC (три бита в ячейке/символе), а физически ячейка ровно та же, меняется только электронная обвязка матрицы ячеек. И уже нельзя сказать что количество ячеек это характеристика объёма хранимой информации, как и боды характеристика физического канала связи.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение19.06.2024, 23:32 
Аватара пользователя


11/12/16
13787
уездный город Н
Dmitriy40 в сообщении #1643320 писал(а):
Т.е. боды это не про физический уровень, про канальный, его ёмкость/скорость.


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

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение20.06.2024, 00:11 
Заслуженный участник


20/08/14
11668
Россия, Москва
EUgeneUS в сообщении #1643322 писал(а):
Боды - это "потроха" физического уровня.
Как видно из примеров выше, "потроха" физического уровня это герцы и микросекунды, а боды появляются там где есть понятие символа (а не просто сигнала), и это не физический уровень. Физический провод имеет характеристику полосы пропускания (герцы), но не имеет характеристики скорости передачи символов (в бодах) потому что она зависит от выбранного физического протокола и от кодирования символов в передаваемые физические сигналы (один и тот же поток в бодах может передаваться и по проводу и оптикой и голубями (если достаточно низкий)). Боды это про логику (биты, байты, символы), а физический уровень это про физику (сигналы, вольты, миллиамперы, фазовый угол, поляризация). Так что не согласен.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение20.06.2024, 07:24 
Аватара пользователя


11/12/16
13787
уездный город Н
Dmitriy40 в сообщении #1643326 писал(а):
Боды это про логику (биты, байты, символы), а физический уровень это про физику (сигналы, вольты, миллиамперы, фазовый угол, поляризация). Так что не согласен.


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

Цитата:
Физический слой (англ. physical layer), или физический уровень, — первый уровень сетевой модели OSI. Это нижний уровень модели OSI — физическая и электрическая среда для передачи данных. Физический уровень описывает способы передачи бит (а не пакетов данных) через физические среды линий связи, соединяющие сетевые устройства. На этом уровне описываются параметры сигналов, такие как амплитуда, частота, фаза, используемая модуляция, манипуляция. Решаются вопросы, связанные с синхронизацией, избавлением от помех, скоростью передачи данных.
...
Единица измерения, используемая на этом слое — бит, то есть физический уровень осуществляет передачу потока битов по соответствующей физической среде через соответствующий интерфейс.


Опять же на примере UART. Уровни сигнала в среде передачи, способ кодирования (NRZ или, например, двуполярный RZ), аппаратное управление потоком (RTS\CTS, DTR\DSR, DCD), контроль ошибок (контроль чётности), и даже т.н. "программное управление потоком" (Xon\Xoff) - это всё физический уровень. Интерфейсом физического уровня является буфер, в который пишутся или из которого читаются байты. То есть поток байтов.
Тут нет особого противоречия с цитатой выше, так как UART - это асинхронная передача, и "сборка" байта из битов происходит на физическом уровне. При синхронной передаче, как правило, физический уровень заканчивается потоком битов, а разметка потока битов на кадры и битстафинг производится уже на втором уровне (например, так в HDLC).

Как видим, никаких бодов в интерфейсе физического уровня (и выше) нету. Тут или поток битов, а значит биты в секунду, или поток байтов, а значит байты в секунду. Боды остались в "потрохах" физического уровня.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение20.06.2024, 11:12 
Заслуженный участник
Аватара пользователя


04/09/14
5223
ФТИ им. Иоффе СПб
sergey zhukov в сообщении #1643202 писал(а):
Я правильно понял, что Бод/сек - это по сути несущая, тактовая частота, на которой происходит работа канала передачи данных?
Боды это наследие аналоговых систем передачи данных. Грубо говоря, это максимальное количество точек и тире, которое можно передать по линии связи в данной конфигурации. Оно существенно меньше несущей частоты. Ныне, в цифровых системах передачи данных, редко используемая.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение22.06.2024, 16:44 


27/08/16
10143
sergey zhukov в сообщении #1643202 писал(а):
Каждой букве сопоставлялся 5-битный код, который далее последовательно передавался по одной линии телеграфа. И если мы передаем 192 буквы/минуту, то это соответствует $192*5/60=16$ бит/сек или 4 Бода/сек.
Странно было написано. Бод (baud) - это и так количество символов в секунду. На секунды делить боды больше не нужно.

В настоящее время этот термин используется всё реже ввиду усложнения способов модуляции и его ограниченной полезности для потребителей.

 Профиль  
                  
 
 Re: Биты и Боды
Сообщение22.06.2024, 19:13 


17/10/16
4744
Ого! Несмотря на то, что с самого начала мне тут об этом говорили, я только сейчас понял, что боды - это единица скорости. Конечно, там было написано просто 4 бода, но я подумал, что это опечатка. Странно, что я этого сразу не заметил.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group