SLSB演算法
㈠ 什麼是MSB/LSB碼
MSB是Most Significant Bit的縮寫,指最高有效位。在二進制數中,MSB是最高加權位。與十進制數字中最左邊的一位類似。通常,MSB位於二進制數的最左側,LSB位於二進制數的最右側。
LSB是Linux Standards Base的縮寫,是一套核心標准,它保證了LINUX發行版同LINUX應用程序之間的良好結合。
【拓展資料】
關於有效位
一、最低有效位
1、定義:LSB,英文 least significant bit,中文義最低有效位。
對於一個給定的數據串(整數),如二進制的1001或者十進制351,其最低有效位就是擁有最小單位數值的那一位。比如二進制1001的最右一位,擁有數值1,在該整數中代表最低位,該位的值可以決定整數是奇數(為1)還是偶數(為0)。十進制數同理。
一般lsb就是一個整數的最右一位,所以似乎該概念有些多餘。但是凡事都有例外,某些數據傳輸或是處理器恰恰相反,最左一位是lsb,所以在計算領域就定義了這個最低有效位以明確說明數據格式。
2、意義:
(LSB: Least Significant Byte)最低有效位元組。
其意義和lsb類似,只是擴展到整個位元組,以位元組為最小單位來說明數據的順序。
msb(most significant bit),即最高有效位,是一個整數數位中權重最高的那個,當然有時候該位也用作符號位,0為正,1為負,視編碼標准而定。
MSB為最高有效位元組,意義類似於LSB。
二、最高有效位
1、定義:(MSB)
指二進制中最高值的比特。在16比特的數字音頻中,其第1個比特便對16bit的字的數值有最大的影響。例如,在十進制的15,389這一數字中,相當於萬數那1行(1)的數字便對數值的影響最大。比較與之相反的「最低有效位」(LSB)。
2、詳細介紹
當選擇模數轉換器(ADC)時,最低有效位(LSB)這一參數的含義是什麼?有位工程師告訴我某某生產商的某款12位轉換器只有7個可用位。也就是說,所謂12位的轉換器實際上只有7位。他的結論是根據器件的失調誤差和增益誤差參數得出的,這兩個參數的最大值如下:
失調誤差 =±3LSB,
增益誤差 =±5LSB,
乍一看,覺得他似乎是對的。從上面列出的參數可知最差的技術參數是增益誤差(±5 LSB)。進行簡單的數學運算,12位減去5位解析度等於7位,對嗎?果真如此的話,ADC生產商為何還要推出這樣的器件呢?增益誤差參數似乎表明只要購買成本更低的8位轉換器就可以了,但看起來這又有點不對勁了。正如您所判斷的,上面的說法是錯誤的。
讓我們重新來看一下LSB的定義。考慮一個12位串列轉換器,它會輸出由1或0組成的12位數串。通常,轉換器首先送出的是最高有效位(MSB)(即LSB + 11)。有些轉換器也會先送出LSB。在下面的討論中,我們假設先送出的是MSB(如圖1所示),然後依次送出MSB-1 (即 LSB + 10)和MSB -2(即LSB + 9)並依次類推。轉換器最終送出MSB -11(即LSB)作為位串的末位。
LSB這一術語有著特定的含義,它表示的是數字流中的最後一位,也表示組成滿量程輸入范圍的最小單位。對於12位轉換器來說,LSB的值相當於模擬信號滿量程輸入范圍除以2^12 或 4,096的商。如果用真實的數字來表示的話,對於滿量程輸入范圍為4.096V的情況,一個12位轉換器對應的LSB大小為1mV。但是,將LSB定義為4096個可能編碼中的一個編碼對於我們的理解是有好處的。
讓我們回到開頭的技術指標,並將其轉換到滿量程輸入范圍為4.096V的12位轉換器中:
失調誤差 = ±3LSB =±3mV,
增益誤差 =±5LSB = ±5mV,
這些技術參數表明轉換器轉換過程引入的誤差最大僅為8mV(或 8個編碼)。這絕不是說誤差發生在轉換器輸出位流的LSB、LSB-1、LSB-2、LSB-3、LSB-4、LSB-5、LSB-6和 LSB-7 八個位上,而是表示誤差最大是一個LSB的八倍(或8mV)。
准確地說,轉換器的傳遞函數可能造成在4,096個編碼中相差最多8個編碼。例如,誤差為+8LSB ((+3LSB失調誤差) + (+5LSB增益誤差)) 的一個12位轉換器可能輸出的編碼范圍為0 至 4,095,實際的有效編碼為4096/8 ,即2^9=512個。這個例子給出的都是最壞情況。在實際的轉換器中,失調誤差和增益誤差很少會如此接近最大值。
3、實際應用
在實際應用中,由於ADC失調或增益參數的改進而使性能提升的程度微不足道,甚至可以忽略。但是,對於那些將精度作為一項設計目標的設計人員來說,這種 假設太過絕對。利用固件設計可以很容易地實現數字校準演算法。但更重要的是,電路的前端放大/信號調理部分通常會產生比轉換器本身更大的誤差。
通過上面的討論可以對本文開頭提到的錯誤結論有一個更為全面而清晰的認識。事實上,上述的12位轉換器的精度約為11.997位。採用微處理器或單片機可以利用簡單的校準演算法消除這種失調和增益誤差,這對設計人員來說無疑是個好消息。