21ic电子技术开发论坛

标题: 波特率的单位是什么是baud 还是bit/s [打印本页]

作者: niufen556    时间: 2019-7-17 08:48
标题: 波特率的单位是什么是baud 还是bit/s
在串口通信中描述通信速率时用到了波特率,其单位都写成比特率的单位。我比较奇怪的是波特率明明有自己的单位baud但为什么要用比特率的单位?就因为在串口通信中波特率与比特率在数值上相等就混用单位吗?好多书中把串口通信的速率的概念解释成比特率一样而且单位都用bit/s,那为什么不直接叫比特率
作者: niufen556    时间: 2019-7-17 11:25
本帖最后由 niufen556 于 2019-7-17 11:30 编辑

使用波特率来描述通讯速度其单位就应该是baud。使用比特率其单位就应该是bit\s。使用波特率确把单位写成bit\s是什么鬼。就因为数值相等就胡乱搞吗?
作者: HWM    时间: 2019-7-17 11:33
niufen556 发表于 2019-7-17 11:25
使用波特率来描述通讯速度其单位就应该是baud。使用比特率其单位就应该是bit\s。使用波特率确把单位写成bit ...

“波特率”英文是“Baud rate”,是每秒传输码元符号个数,其不同于bit/s。

作者: niufen556    时间: 2019-7-17 11:50
HWM 发表于 2019-7-17 11:33
“波特率”英文是“Baud rate”,是每秒传输码元符号个数,其不同于bit/s。
...

为什么串口通信中波特率的单位都写成bit/s
作者: niufen556    时间: 2019-7-17 11:52
niufen556 发表于 2019-7-17 11:50
为什么串口通信中波特率的单位都写成bit/s

是因为错误的人多了也就成了正确的了?
作者: HWM    时间: 2019-7-17 11:56
niufen556 发表于 2019-7-17 11:50
为什么串口通信中波特率的单位都写成bit/s

“串口通信中波特率的单位”不能写成“bit/s”。


作者: niufen556    时间: 2019-7-17 13:30
这是我多年来的疑惑,哪位路过的前辈解释一下
作者: renxiaolin    时间: 2019-7-17 14:19
在计算机中,因为是二进制,所以波特率就是bit/s
作者: niufen556    时间: 2019-7-17 15:51
renxiaolin 发表于 2019-7-17 14:19
在计算机中,因为是二进制,所以波特率就是bit/s

虽然数值相等也不能乱换单位呀
作者: xmar    时间: 2019-7-17 16:54
本帖最后由 xmar 于 2019-7-17 17:03 编辑

严格讲,波特率、比特率是不同的概念。波特率是从信号波形、物理振动的角度描述信号重复振荡的频率高低情况。而比特率是从信息角度描述电路系统单位时间内传输了多少bit信息(即通信速度)。有时1bit信息可能需要几个baud来表示。

但请注意,原来严格定义好像被忽视了,事实上这两个概念几乎被混用。
再啰嗦一下:什么是1bit信息?50%的概率,或不确定性就是1bit信息。比如随机抛硬币,猜中硬币的某一面的概率。反正是通信中的概念。已知正弦波是不含有任何信息的。就象剧透电视剧你感觉索然无味。因为信息含量少了。

作者: niufen556    时间: 2019-7-17 17:56
xmar 发表于 2019-7-17 16:54
严格讲,波特率、比特率是不同的概念。波特率是从信号波形、物理振动的角度描述信号重复振荡的频率高低情况 ...

看到的几乎都把波特率的单位写成了bit/s而不是baud
作者: niufen556    时间: 2019-7-17 17:59
本帖最后由 niufen556 于 2019-7-17 19:53 编辑
xmar 发表于 2019-7-17 16:54
严格讲,波特率、比特率是不同的概念。波特率是从信号波形、物理振动的角度描述信号重复振荡的频率高低情况 ...


是不是错的人多了就成对的了,好多大学老师也是说波特率的单位是bit/s
作者: xch    时间: 2019-7-17 23:09
一元码波特率等于比特率
作者: niufen556    时间: 2019-7-17 23:15
本帖最后由 niufen556 于 2019-7-18 13:39 编辑
xch 发表于 2019-7-17 23:09
一元码波特率等于比特率


我知道数值上相等,就是搞不懂人们为什么把波特率的单位写成bit/s应该是baud才对呀,就因数值相等就乱搞单位?
作者: xbyu520    时间: 2019-7-18 08:17
如何区分两者? 显然,两相调制(单个调制状态对应1个二进制位)的比特率等于波特率;四相调制(单个调制状态对应2个二进制位)的比特率为波特率的两倍;八相调制(单个调制状态对应3个二进制位)的比特率为波特率的三倍;依次类推

来自百度百科
作者: 梦幻泡影    时间: 2019-7-18 10:25
Baud Rate,翻译成中文是波特率的意思,bit/s是速率单位,意思是每秒传输了几个比特。你把波特率看成“车速”,bit/s看成是km/h就理解了
作者: niufen556    时间: 2019-7-18 13:51
HWM 发表于 2019-7-17 11:56
“串口通信中波特率的单位”不能写成“bit/s”。

我也认为不应该,但为什么见到的所有地方都是bit/s而不是baud
作者: niufen556    时间: 2019-7-18 13:55
梦幻泡影 发表于 2019-7-18 10:25
Baud Rate,翻译成中文是波特率的意思,bit/s是速率单位,意思是每秒传输了几个比特。你把波特率看成“车速 ...

你没明白我的意思,你说的这些我都知道,但是我认为不管什么理由波特率的单位就应该是baud
作者: full_stack    时间: 2019-7-18 17:26
仔细考虑的话bit/s肯定大于baud的数值的
作者: QuakeGod    时间: 2019-7-18 19:30
说实话,偶还真没怎么见过 bit/s的写法,倒是都写bps, 这里这个bps你理解成 baud/s也是没问题的。

作者: zhangmangui    时间: 2019-7-18 22:43
涨知识了   大神都出现了
作者: niufen556    时间: 2019-7-18 23:36
QuakeGod 发表于 2019-7-18 19:30
说实话,偶还真没怎么见过 bit/s的写法,倒是都写bps, 这里这个bps你理解成 baud/s也是没问题的。
...

bps只是bit  per   second的缩写,和bit/s有什么区别?
作者: niufen556    时间: 2019-7-19 11:37
有没有权威的机构统一规定一下就好了
作者: ELECTRODUMMY    时间: 2019-7-19 13:39
niufen556 发表于 2019-7-19 11:37
有没有权威的机构统一规定一下就好了

这种基础概念维基就有,不过被禁了,我传个pdf方便看

作者: tarzanfun    时间: 2019-7-19 14:34
我也没见到说的到处都用bit/s的程度。好多还是说baudrate的。
作者: xcvista    时间: 2019-7-19 20:45
baud 指的是符号速率,bit/s 是数据速率。对于基本的 UART 串口来说一个数据位用一个符号传输,因此符号率约等于数据速率。但是如果用了复杂一点的物理调制方式的话,某些调制方式下每个位可能需要多个符号,另一些调制方式一个符号可以包含多位数据,这时候符号速率和数据速率就不构成等于关系了。
作者: niufen556    时间: 2019-7-19 21:27
本帖最后由 niufen556 于 2019-7-20 00:04 编辑
xcvista 发表于 2019-7-19 20:45
baud 指的是符号速率,bit/s 是数据速率。对于基本的 UART 串口来说一个数据位用一个符号传输,因此符号率 ...


我知道波特率与比特率的数量关系换算关系,我的意思是波特率的单位是baud,比特率的单位是bit/s。我认为波特率的单位写成bit/s或bps是不严谨的,应该是baud才对
作者: 啊拿大    时间: 2019-7-20 10:36
niufen556 发表于 2019-7-19 21:27
我知道波特率与比特率的数量关系换算关系,我的意思是波特率的单位是baud,比特率的单位是bit/s。我认为 ...

肯定不严谨,严格说是误用。不过在工作中这样用的前提就是串口情况1个符号刚好就只有一个bit,毕竟不是考试,自己明白这个前提就行。要是研究生专业考试什么的,就按严谨的来,不用过多钻牛角尖。
作者: niufen556    时间: 2019-7-20 18:36
啊拿大 发表于 2019-7-20 10:36
肯定不严谨,严格说是误用。不过在工作中这样用的前提就是串口情况1个符号刚好就只有一个bit,毕竟不是考 ...

我就想得到一个明确的答复,好多人要不就避而不谈要不就从网上百度复制,很少有人说出像你这样说出自己的理解的,从我个人感觉来说这就是人们的一种习惯,本身不严谨,就是人们都这么说,人云亦云,说的多了就约定俗成了,错的也成对了。再加上也没有权威机构权威解释定义。就像好多网络流行语一样,本来没有这些词人们都这么说,听的人也理解,于是就流传下来了
作者: cjseng    时间: 2019-7-20 21:39
本帖最后由 cjseng 于 2019-7-20 21:40 编辑

俺的理解:
Baud是Baud rate缩写,中文:波特率
单位:bps=bit/s,中文:位/秒
Speed,中文:速度、速率
单位:m/s,中文:米/秒
楼主的问题好比:速度的单位是Speed还是m/s

作者: chunk    时间: 2019-7-21 08:37
niufen556 发表于 2019-7-20 18:36
我就想得到一个明确的答复,好多人要不就避而不谈要不就从网上百度复制,很少有人说出像你这样说出自己的 ...

HWM说了:波特率“是每秒传输码元符号个数”,一个“码元符号”是不是必然对应着一个bit?应该是不一定的。

我们习惯于约定0V代表0,+5V代表1,那么我用0V代表00,+1V代表01,+4V代表10,+5V代表11,这难道不行么?在线路上传输时每一个电压就是一个“码元符号”啊?
作者: xcvista    时间: 2019-7-21 09:40
niufen556 发表于 2019-7-19 21:27
我知道波特率与比特率的数量关系换算关系,我的意思是波特率的单位是baud,比特率的单位是bit/s。我认为 ...

这不叫不严谨,这直接就是错误的。
作者: niufen556    时间: 2019-7-21 10:08
chunk 发表于 2019-7-21 08:37
HWM说了:波特率“是每秒传输码元符号个数”,一个“码元符号”是不是必然对应着一个bit?应该是不一定的 ...

你没明白我的意思,我的意思是波特率的单位应该是baud而不是bit/s
作者: niufen556    时间: 2019-7-21 10:12
本帖最后由 niufen556 于 2019-7-21 10:23 编辑
xcvista 发表于 2019-7-21 09:40
这不叫不严谨,这直接就是错误的。


既然是错误为什么都这么用,甚至大学老师有的也说串口通讯中波特率的单位是bit/s而不是baud,我认为波特率是波特率,比特率是比特率,虽然在串口通讯中两者在数值上相等但也不能混了单位,你随便找一本单片机的书,他们在介绍串口通讯速率时都用波特率一词,但是确说波特率的单位是bit/s
作者: chunk    时间: 2019-7-21 10:31
niufen556 发表于 2019-7-21 10:12
既然是错误为什么都这么用,甚至大学老师有的也说串口通讯中波特率的单位是bit/s而不是baud,我认为波特 ...
既然是错误为什么都这么用
因为这么用的人他不知道“波特”是怎么回事。他观察到他那个单片机串口波特率设成9600bps之后就真是每秒发出9600个bit,所以他就想当然认为波特就是比特。

作者: 砖家叫兽攻城狮    时间: 2019-7-21 12:38
好多书?我从没见果说baudrate的单位是bit/s的书。恕我直言,楼主你多半印象流记错了。
不然你发个这么说的书截图上来?
至于百度百科就别看了,水的一比,25楼那个维基的PDF还是说的比较清楚。
作者: 砖家叫兽攻城狮    时间: 2019-7-21 12:41
niufen556 发表于 2019-7-21 10:12
既然是错误为什么都这么用,甚至大学老师有的也说串口通讯中波特率的单位是bit/s而不是baud,我认为波特 ...

我没遇到过这样的大学老师,不过老师水平也有高低,出错也不是不可能
作者: niufen556    时间: 2019-7-21 14:58
本帖最后由 niufen556 于 2019-7-21 15:24 编辑
砖家叫兽攻城狮 发表于 2019-7-21 12:38
好多书?我从没见果说baudrate的单位是bit/s的书。恕我直言,楼主你多半印象流记错了。
不然你发个这么说的 ...


看来百度百科不可信呀,但是好多人都认为波特率的单位是bit/s有人甚至没见过baud,就比如21楼
作者: niufen556    时间: 2019-7-21 15:47
砖家叫兽攻城狮 发表于 2019-7-21 12:38
好多书?我从没见果说baudrate的单位是bit/s的书。恕我直言,楼主你多半印象流记错了。
不然你发个这么说的 ...

这是一个大学老师的课件,他也说单位是bit/s
作者: niufen556    时间: 2019-7-21 18:37
本帖最后由 niufen556 于 2019-7-21 18:42 编辑

几年前本站有个叫程序匠人的人博主,他也发表了个类似的帖子,那个比较好,下面回帖的人反应了大部分人的认识
作者: niufen556    时间: 2019-7-21 18:38
这是几年前咱们这的一个有名的博主发的帖子,https://bbs.21ic.com/forum.html?mod=viewthread&tid=41930&mobile=2
作者: 砖家叫兽攻城狮    时间: 2019-7-21 21:30
本帖最后由 砖家叫兽攻城狮 于 2019-7-21 21:33 编辑
niufen556 发表于 2019-7-21 15:47
这是一个大学老师的课件,他也说单位是bit/s

你没见Rs232这么大字吗,很显然这就是讲单片机之类课程的老师,讲串口所以才会这么讲. 这种错误就是搞单片机不懂通信的人会犯的。也正是维基百科里举的典型不正确的列子。不过这门是实用课,这个错误并不会影响学生应用单片机,但会误导今后学习通信课程的学生。
作者: niufen556    时间: 2019-7-21 21:45
本帖最后由 niufen556 于 2019-7-21 21:50 编辑
砖家叫兽攻城狮 发表于 2019-7-21 21:30
你没见Rs232这么大字吗,很显然这就是讲单片机之类课程的老师,讲串口所以才会这么讲. 这种错误就是搞单片 ...


但问题是搞单片机的大部分人都认为是bit/s,你给他说波特率的单位是baud他到不相信说你说的不对,虽然在数值上相等也不影响设计但是对于我这种强迫症还是很不舒服的,所以问题又回到了不严谨上边了,但是又没办法,人们这么说,如果你不这么说和别人交流就有问题
作者: xcvista    时间: 2019-7-22 10:49
niufen556 发表于 2019-7-21 10:12
既然是错误为什么都这么用,甚至大学老师有的也说串口通讯中波特率的单位是bit/s而不是baud,我认为波特 ...

对于串口来说符号率约等于数据速率,因此这么说问题还不大。如果是在无线通信或涉及到高速 SerDes 的场合之下,这么说就不行了。举个例子千兆以太网的数据速率是 1Gb/s 但符号率只有 125Mbaud。
作者: niufen556    时间: 2019-7-24 17:49
就这样沉了?
作者: qinxg    时间: 2019-7-25 10:09
波特率是对的;  bit从通信原理来说信息量的单位, 好像要从香浓公式计算得到.  波特率相同,但是调制方式不一样的话,bit是不一样的
作者: niufen556    时间: 2019-7-26 23:36
沉了?
作者: niufen556    时间: 2019-9-4 22:54
一个大学老师讲的,那他的学生也就这样一代一代的传下去了,错的也成对的了
作者: XZL    时间: 2019-9-5 11:27
每秒钟传输的位数BPS
作者: fzyuan    时间: 2019-9-5 16:22
cjseng 发表于 2019-7-20 21:39
俺的理解:
Baud是Baud rate缩写,中文:波特率
单位:bps=bit/s,中文:位/秒

你错了,Baud本身就是单位。而不是你想象的等同于“Speed”的。




欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/) Powered by Discuz! X3.5