轉 波特率與位元率
bradleychan閱讀數:2562018-09-24
波特率與位元率 自己理解了之后寫個記錄,如果有錯,歡迎指正。 1.位元率 位元率顧名思義,是單位時間內傳輸了多少位(位元),單位是bit/s。 波特率并不是位元率,只是有時候和位元率正好相等而已。 2.編碼 要理解波特率,就要知道編碼(調制)。舉個簡單的例子:01001111這串信號有8位(位元),如果一位一位的來看,那就是有兩種不同的離散值0和1。但是假設現在經過調制,我們現在認為每兩個bit作為「一個符號」(「符號」劃重點啊),也就是兩位兩位的來看,即把這串信號這樣看:01 00 11 11。兩位兩位來看的話,就從之前只有「高」、「低」電平幅度(兩種不同的離散值)變成了四種不同的幅度(四種不同的離散值)(因為2^2 = 4):00(最低)、01(低)、10(高)、11(最高),這個的話,會二進制的人都明白,就不解釋了。這串信號也就變成了「低」「最低」「最高」「最高」,雖然一般不會這樣說,一般會說四種幅度為0、1、2、3,那么信號串就變成了1、0、3、3。 3.波特率 那么波特率到底是什么東西呢?當然不是單位時間內傳輸了多少位(位元)——這是位元率,而是單位時間內傳輸了多少 「符號」 (還記得剛才劃的重點嗎)。假設位元率為8b/s,也就是一秒傳輸8位,那么在四種幅度也就是兩位兩位來看待的情況下,波特率是多少呢?也就是每秒能傳多少個符號呢?答案:每秒傳8位,每秒傳4個「符號」,因為一個符號兩位。 在單位時間內傳輸多少位是確定的情況下,并不一定能確定單位時間傳輸多少個「符號」,能傳多少個符號,這要看怎么編碼,也就是說我們怎么看待這一串信號,是一位一位的看還是兩位兩位的看,或者是三位三位的看? 思考:還是01001111這串信號,位元率還是8b/s,即一秒傳8位,如果我們四位四位來看(即一個符號4位),波特率是多少呢?(也就是每秒能傳多少個符號呢)。 答案:一個符號4位,一秒能傳8位,所以一秒傳2個符號。2 = 8 / 4。 4.位元率和波特率 這樣就得到了波特率和位元率之間的關系如下:位元率 = 波特率 * (一個符號)幾位。(如果說位元率是十分樸素的,那么波特率就是一個會根據具體情況變來變去的妖艷賤貨。) 這樣描述起來有點奇怪,不是通常描述的那個公式,通常描述的那個公式稍微繞了一點點彎,是把「(一個符號)幾位」換成了log2(N)log2(N)(以2為底,畢竟是二進制流),這個N表示的是有幾種離散值。這也很好理解,2(底)^「(一個符號)幾位」 = N。還是舉個例子清楚一點,比如一個符號3位,二進制的情況下,一個符號能表示2^3 = 8種離散值,一個符號4位就是16種離散值,一個符號5位就是32種離散值…… 這樣公式就變成了通常見到的那個:位元率 = 波特率 * log2(N)log2(N) 5.波特和波特率 波特并不是哈利波特的那個波特啦,雖然音譯過來都一樣,但這個波特是Baud。 由于翻譯和中文的原因,波特(Baud)本身就已經代表速率了,所以翻譯回去的時候不是Baud Rate,而是Baud。我們給本身就代表速率的波特后面加了個「率」大概也是中文習慣吧。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/123253.html
標籤:單片機/工控
上一篇:臺達AS系列操作手冊
下一篇:菜鳥提問,關于MSP430
