【问题标题】:What is the difference between baud rate and bit rate?波特率和比特率有什么区别?
【发布时间】:2013-12-30 07:52:15
【问题描述】:

我真的很难理解其中的区别。有人说它们是一样的,而另一些人则说有细微的差别。到底有什么区别?如果你能用一些类比解释的话,我会很高兴的。

【问题讨论】:

    标签: microcontroller uart serial-communication bitrate baud-rate


    【解决方案1】:

    正如其他回复中正确指出的那样,比特率是在给定时间内传输的逻辑(或“抽象高级”)信息量,而波特率是符号数(或多或少是“信号变化” ) 在给定时间内在物理线路中。

    虽然很容易理解,如果传输的符号携带 4 位信息,则比特率是波特率的四倍,但在 RS-232 串行线路等情况下,事情会变得模糊。

    经典的串行线路适用于字节(嗯,“帧”),而不是位。没有办法传输少于 8 位(即一个字节),因为串行线定义了一个“帧”(我假设帧具有 8 个数据位、无奇偶校验、1 个起始位和 1 个停止位);这通常没问题,因为设备(计算机)可能在字节上工作,而不是单个位。

    假设设备发送一个字节,即8位,物理线路传输10个符号,因为在8位组成的原始数据中,又增加了2个(开始位和停止位,同步需要) .可能会出现一些混淆,因为在物理线路上传输的符号也称为“位”,但它们实际上是符号(实际上是 MARK 和 SPACE)。

    所以在那个经典的 RS-232(在“8N1”帧的情况下)比特率实际上是波特率的 8/10。如果我们添加奇偶校验位,比率会进一步降低,变为 8/11。

    每秒的比特数或符号数直接转换为它们的持续时间(比特或符号)。对于设计系统的工程师来说意味着什么?这意味着如果他正在设计一个线路滤波器来保护线路或降低噪声,他应该取走该线路上传输的符号的持续时间(或频率)。对于 1000 波特的波特率,他知道信号的频率为 1 KHz,而一个符号的持续时间为 1 ms。美好的。但是如果他必须计算将文件从一个设备传输到另一个设备需要多少时间,比如一个 1000 字节的文件,他必须考虑比特率,而不是波特率!因为更高级别的设备甚至看不到开始和停止位,它们只是减慢通信速度的负担(但它们对于错误检查很有用)。

    把它带到极端情况下,想象一个串行帧只是有点长。对于设备传输的每一位,三个符号将在物理线路中传输。如果添加奇偶校验,则将传输四个符号:比特率将是波特率的 1/4。如果我们添加第二个停止位,比特率会下降到波特率的 1/5!

    【讨论】:

      【解决方案2】:

      此处的回复具有误导性。说得对,但没有人说对于 UART 而言,符号不是单个字符而是单个位,这样问题就被标记了。

      例如 115200/8n1 是每秒 11520 字节,因为单个 ASCII 字符是 1 个起始位加上 8 个数据位加上 1 个停止位。

      【讨论】:

        【解决方案3】:

        比特率:每秒传输的比特数(二进制信号为 0 或 1)。

        波特率:每秒符号数。

        一个符号由 'n' 个位数组成。

        Baud rate = (bit rate)/n

        所以波特率总是小于或等于比特率。当信号是二进制时它是相等的。

        【讨论】:

          【解决方案4】:

          这个话题令人困惑,因为当人们认为只有 2 个时使用了 3 个术语,即:

          “比特率”:单位是每秒比特数

          “波特”:单位是每秒符号数

          “波特率”:单位是比特/秒

          “波特率”实际上是一个营销术语,而不是工程术语。调制解调器制造商使用“波特率”的方式类似于数码相机使用百万像素的方式。因此,“波特率”越高,调制解调器的性能就越好。

          工程单位“波特”已经是一个速率(每秒符号数),它与“波特率”术语区分开来。但是,您可以从答案中看到人们将这两个术语混淆在一起,例如波特/秒,这是错误的。

          从工程的角度来看,我建议人们使用术语“比特率”来表示“RS-232”,并将术语“波特率”留给历史。使用术语“波特”表示调制方案,但避免使用“RS-232”。

          换句话说,“比特率”和“波特率”是一回事,这意味着一秒钟内沿着一条线路传输了多少比特。请注意,每秒比特数 (bps) 是低级线路速率,而不是信息数据速率,因为异步“RS-232”具有将 8 个数据位信息帧化的开始位和停止位,因此 bps 包括传输的所有位。

          【讨论】:

            【解决方案5】:

            Bit per second 是什么意思 - 每秒使用 1 和 0 的数据传输速率。这称为每秒位数(bit/s。但是,它不应与每秒字节数混淆,缩写为字节/s、Bps 或 B/s。

            原始吞吐量值通常以每秒比特数给出,但许多软件应用程序以每秒字节数报告传输速率。

            因此,比特吞吐量的标准单位是比特每秒,通常缩写为 bit/s、bps 或 b/s。

            波特是衡量每秒信号中发生的变化或转换的单位。

            例如,如果信号每秒从一个值变为零值(反之亦然)一百次,则速率为 100 波特。

            另一个测量数据(通道的吞吐量),另一个测量转换(称为信号速率)。

            例如,如果您查看现代调制解调器,它们使用先进的调制技术,将多于一位的数据编码到每个转换中。

            谢谢。

            【讨论】:

              【解决方案6】:

              我不明白为什么每个人都让这变得复杂(答案)。

              我就把这个留在这里。

              所以上面是:

              • 信号单元: 4 位
              • 波特率 [每秒信号单位]: 1000 Bd(波特)
              • 比特率 [波特率 * 信号单位]: 4000 bps(比特每秒)

              比特率和波特率,这两个术语在数据中经常使用 沟通。比特率只是比特的数量(即,0 和 1's) 每单位时间传输。而波特率是 每单位时间传输的信号单位,需要表示 那些位。

              【讨论】:

              • 波特率是每秒发送的信号单元数。比特率是每秒发送的比特数。对吗?
              • @RishabhGupta 我明白你为什么不确定。更新 :)。但是,是的,你是对的! :)
              • 为了补充这个答案,建议阅读文章:tldp.org/HOWTO/Modem-HOWTO-23.html
              【解决方案7】:

              首先我认为有必要知道:

              它是在物理通道上传输的符号。一点也不。符号是 physical 信号,通过物理介质传输以传送数据位。一个符号可以是几个电压、频率或相位变化之一。符号是由媒介的物理性质决定的。虽然位是一个逻辑概念。

              如果您想传输数据位,您必须通过介质发送符号来完成。波特率描述了符号在介质上的变化速度。 IE。它描述了介质中物理状态变化的速率。

              如果我们只使用 2 个符号来传输二进制数据,这意味着一个符号代表 0,另一个符号代表 1,这将导致 baud rate = bit rate。这就是它在过去的工作方式。

              如果我们有幸找到将更多位编码为符号的方法,我们可以在相同的波特率下实现更高的位速率。这就是baud rate < bit rate 的时候。这并不意味着传输速度变慢。这实际上意味着提高了传输效率/速度。

              并且通信双方必须就比特s如何由每个物理符​​号表示达成一致。这就是调制协议的用武之地。

              但是每个符号发送多个位的能力并不是免费的。取决于调制方法,发射器和接收器会很复杂。并且需要更多的处理能力。

              最后,我想打个比方:

              假设我站在我家的屋顶上,而你站在你的屋顶上。你我之间有一根绳子。我想通过绳子上的篮子送一些苹果给你。

              篮子是象征。苹果是数据位。

              如果篮子很小(符号的物理限制),我每个篮子只能送一个苹果。这是波特/篮子速率 = 比特/苹果速率的时候。

              如果篮子很大,我可以每个篮子送更多的苹果。这是波特率less 个篮子寄出所有的苹果。但是将更多的苹果放入篮子比只放入一个苹果需要我更多的努力(处理能力)。如果篮子率保持不变,我在一个篮子里放的苹果越多,花费的时间就越少。

              以下是一些相关的主题:

              How can I be sure that a multi-bit-per-symbol encoding schema exists?

              What is difference between the terms bit rate,baud rate and data rate?

              【讨论】:

                【解决方案8】:

                串行数据速度:

                数据速率 (bps) = 1/Tb Tb 是 1 位的持续时间 如果位持续时间为 2ms,则数据速率为 1/2x10-3 ,约为 500 bps。

                波特率:

                波特率定义为no。在给定的时间单位(例如 1 秒)内信号元素(符号)的数量,或者它意味着时间信号改变其状态的数量。当信号是二进制时,波特率和比特率是相同的。

                比特率:- 比特率只不过是每秒传输的比特数。例如,如果比特率为 1000 bps,那么 1000 比特就是每秒传输的 0 或 1。

                与此类似的其他术语很少(即串行速度、比特率、波特率、USB 传输率),我猜(?)串行监视器上打印的值与串行速度、波特率和 USB 相关传输率。比特率不是另一个术语,如果我错了,请纠正我,因为串行监视器会每隔一段时间打印一些值,而值肯定是一组位。因此,如果打印一个值,我可以说每单位时间在串行监视器上打印的相应值中不存在的位将是比特率。

                【讨论】:

                  【解决方案9】:

                  根据What’s The Difference Between Bit Rate And Baud Rate?

                  比特率

                  数据的速度以每秒位数(bits/s 或 bps)表示。 数据速率 R 是位持续时间或位时间的函数 (TB)(图 1,再次):

                  R = 1/TB

                  速率也称为通道容量C。如果位时间为10 ns,则 数据速率等于:

                  R = 1/10 x 10–9 = 1 亿比特/秒

                  这通常表示为 100 Mbits/s。

                  波特率

                  “波特”一词源于法国工程师 Emile Baudot,他 发明了 5 位电传打字码。波特率是指的数量 每秒发生的信号或符号变化。符号是其中之一 几个电压、频率或相位变化。

                  NRZ 二进制有两个符号,每个位 0 或 1 一个,表示 电压水平。在这种情况下,波特率或符号率与 比特率。但是,每个符号可能有两个以上 传输间隔,其中每个符号代表多个比特。 对于两个以上的符号,使用调制传输数据 技术。

                  当传输介质无法处理基带数据时, 调制进入画面。当然,无线也是如此。 基带二进制信号不能直接传输;相反, 数据被调制到无线电载波上进行传输。一些电缆 连接甚至使用调制来提高数据速率,即 称为“宽带传输”。

                  通过使用多个符号,每个可以传输多个比特 象征。例如,如果符号速率为 4800 波特,并且每个符号 代表两个位,转换为 9600 的总比特率 比特/秒。通常符号的数量是二的幂。如果 N 是 每个符号的位数,那么所需的符号数是 S = 2^N。因此,总比特率为:

                  R = 波特率 x log2S = 波特率 x 3.32 log10S

                  如果波特率为 4800 并且每个符号有两位,则数字 符号数为 2^2 = 4。比特率为:

                  R = 4800 x 3.32 log(4) = 4800 x 2 = 9600 位/秒

                  如果每个符号只有一位,例如二进制 NRZ, 比特率和波特率保持不变。

                  【讨论】:

                  【解决方案10】:

                  比特率:- 比特率只不过是每秒传输的比特数。例如,如果比特率是 1000bps,那么 1000 比特就是每秒传输的 0 或 1。

                  波特率:- 表示信号改变状态的次数。当信号为二进制时,波特率和比特率相同。

                  【讨论】:

                  • 我喜欢你简洁的回答。而当信号不是二进制时,波特率低于比特率。这并不意味着传输速度变慢了。实际上这意味着可以以相同的时间成本传输更多的比特。
                  • 当您说信号是二进制时,这是否意味着信号是数字信号而不是模拟信号?
                  【解决方案11】:

                  每秒比特数很简单。这正是它听起来的样子。如果我有 1000 位并以 1000 bps 的速度发送它们,则传输它们只需要一秒钟。

                  Baud 是每秒符号。如果这些符号(数据编码的不可分割元素)不是比特,则波特率将比比特率低每个符号的比特数。也就是说,如果每个符号有 4 位,则波特率将是比特率的 1/4。

                  之所以出现这种混淆,是因为早期的analog telephone modems 不是很复杂,所以 bps 等于波特率。也就是说,每个符号编码一位。后来,为了让调制解调器更快,通信工程师发明了越来越聪明的方法来为每个符号发送更多位。¹

                  类比

                  系统 1,位: 想象一个通信系统,在山谷的近侧有一个望远镜,另一侧有一个人举起一只手或另一只手。将他的左手称为“0”,将他的右手称为“1”,您就有了一个系统可以一次传达一个二进制数字 - 一个 bit

                  系统 2,波特率: 现在想象山谷另一边的那个人拿着扑克牌而不是赤手空拳。他正在使用卡片的一个子集,每套花色中从 A 到 8,总共 32 张卡片。每张卡片——每个符号——编码 5 位:00000 到 11111 二进制。²

                  分析

                  系统 2 的人每张卡可以传达 5 位信息,而系统 1 的人通过露出他的一只手来传达一位信息。

                  您会看到这个类比似乎被打破了:在一副牌中找到一张特定的牌并展示它比简单地决定展示你的左手还是右手需要更长的时间。但是,这只是提供了一个有利地扩展类比的机会。

                  每个符号有多个比特的通信系统面临着类似的困难,因为每个符号发送多个比特所需的编码方案比一次只发送一个比特的编码方案复杂得多。那么,为了扩展类比,展示纸牌的人可能有几个人在他身后分担寻找下一副牌的工作,并尽快将牌递给他。帮助程序类似于生成每波特多位编码方案所需的更强大的处理器。

                  也就是说,通过使用更多的处理能力,系统 2 可以比更原始的系统 1 快 5 倍地发送数据。

                  历史小插曲

                  我们应该如何处理我们的 5 位代码?对于说英语的人来说,使用 32 个可用的 code points 中的 26 个作为英文字母表似乎很自然。我们可以将剩余的 6 个代码点用于一个空格字符和一小组控制代码和符号。

                  或者,我们可以只使用Baudot code,这是Émile Baudot 发明的一个 5 位代码,在此之后创造了单位“波特”。³


                  脚注和题外话:

                  1. 例如,V.34 standard8.4 bits per symbol 定义了一个 3,429 波特模式,以实现 28.8 kbit/秒的吞吐量。

                    该标准仅涉及调制解调器的POTS 端。 RS-232 端仍然是每个符号系统 1 位,因此您也可以正确地将其称为 28.8k 波特调制解调器。令人困惑,但技术上正确。

                  2. 我故意在这里保持简单。

                    您可能会想到的一件事是扑克牌的缺席是否传达了信息。如果是,则意味着存在一些clocklatch 信号,因此您可以从两张卡片的显示之间的间隙中判断出一张卡片的信息承载缺失。

                    另外,你如何处理扑克牌中剩下的牌,9 到 King 和 Jokers?一种想法是将它们用作特殊标志来携带元数据。例如,您需要一种方法来指示短尾随块。如果您需要发送 128 位信息,则需要显示 26 张卡片。前 25 张卡片传送 5×25=125 位,第 26 张卡片传送后面的 3 位。你需要某种方式来表明符号中的最后两位应该被忽略。

                  3. 这就是为什么早期的模拟电话调制解调器以波特而不是 bps 来指定的原因:通信工程师从电报时代就一直在使用该术语。他们并没有试图混淆 bps 和波特。在他们看来,这些调制解调器每个符号传输一位只是一个事实。

                  【讨论】:

                    【解决方案12】:

                    比特率是衡量一秒内传输的数据位数(即 0 和 1)的量度。每秒 2400 位的数字意味着在一秒钟内可以传输 2400 个零或一,因此缩写为“bps”。

                    根据定义,波特率是指通信通道中的信号改变状态的次数。例如,2400 波特率意味着通道每秒最多可以更改 2400 次状态。当我说“改变状态”时,我的意思是它每秒可以从 0 变为 1 最多 2400 次。如果您考虑一下,它与比特率非常相似,在上面的示例中为 2400 bps。

                    无论您可以在一秒钟内传输 2400 个 0 或 1(比特率),还是将数字信号的状态更改为每秒 2400 次(波特率),都是一样的。

                    【讨论】:

                      【解决方案13】:

                      比特率是每单位时间传输的比特数的度量。

                      波特率也称为符号率,衡量单位时间内传输的符号数。 符号通常由固定数量的位组成,具体取决于符号的定义(例如 8 位或 9 位数据)。波特率以每秒符号数为单位。

                      举个例子,一个 ascii 字符“R”每秒钟通过串行通道传输一次。

                      二进制等价物是 01010010。

                      所以在这种情况下,波特率为 1(每秒传输一个符号),比特率为 8(每秒传输 8 位)。

                      【讨论】:

                      • 您的示例是错误的,因为根据定义,串行线路一次发送一位。每个符号多位通常不是软件级编码的问题,而是硬件级调制方案的问题。这就是为什么比特波特比不需要被 8 整除,就像现代计算机中的大多数其他数据大小一样。
                      【解决方案14】:

                      波特率主要用于电信和电子设备,表示每秒符号数或每秒脉冲数,而比特率只是每秒比特数。简单来说,主要区别在于符号可能包含多于 1 位,比如 n 位,这使得波特率比比特率小 n 倍。

                      假设我们需要表示一个串行通信信号,我们将使用 8 位作为一个符号来表示信息。如果符号速率为 4800 波特,则转换为 38400 位/秒的总比特率。这也适用于无线通信领域,您需要多个比特来进行调制以实现宽带传输,而不是简单的基线传输。

                      希望这会有所帮助。

                      【讨论】:

                      • 关于你的第二段:不是真的。通常在通过电缆(例如 RS232)进行串行通信时,符号代表一位。波特的意思是“每秒线路的状态变化”看这个:Baud Rate
                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多