lsb
lsb
LSB是一套核心標準,它保證了LINUX發行版同LINUX應用程序之間的良好結合。
LSB(全稱:Linux Standards Base)
LSB 是 Linux 標準化領域中事實上的標準,制定了應用程序與運行環境之間的二進位介面。
具體地說,它是:1、一個二進位介面規範,是指應用程序在系統間遷移時不用重新編譯,保證應用程序在所有經過認證的LINUX發行版上都具有兼容性。2、一個測試規範,測試LINUX發行版和LINUX應用程序是否符合LSB標準。3、搭建遵從LSB規範的應用程序的開發環境。4、為在純LSB環境下運行和測試應用程序而提供的運行環境樣本。LSB包括兩個核心部分,分為普通規範和特定處理器規範。
LSB 項目最初發起於 1998 年 5 月,其項目啟動宣言得到了 Linus Torvalds、Bruce Perens、Eric Raymond 等人的簽名支持,當時的目標是建立一系列構建 Linux 發行版所採用的源代碼應該遵循的標準,並提供一個參考平台。2000 年 5 月,LSB 成為 Free Standards Group(FSG)的一個工作組。
2001 年 6 月發布第一個正式版本的規範以後,LSB 規範幾乎每 6 個月都會進行一次更新。截止到 2005 年 7 月發布的 3.0 版本為止,LSB 重點關注的是伺服器端的使用,這與 Linux 在伺服器端得到了廣泛的應用是一致的。這個規範已經被 ISO 採納為國際標準 23360。
目前最新的版本規範是 2005 年 10 月發布的 LSB 3.1,它可以支持 7 種體系結構:
IA32
IA64
X86_64
PPC32
PPC64
S390
S390x
LSB,英文 least significant bit,中文義最低有效位。
對於一個給定的數據串(整數),如二進位的1001或者十進位351,其最低有效位就是擁有最小單位數值的那一位。比如二進位1001的最右一位,擁有數值1,在該整數中代表最低位,該位的值可以決定整數是奇數(為1)還是偶數(為0)。十進位數同理。
一般lsb就是一個整數的最右一位,所以似乎該概念有些多餘。但是凡事都有例外,某些數據傳輸或是處理器恰恰相反,最左一位是lsb,所以在計算領域就定義了這個最低有效位以明確說明數據格式。
(LSB: Least Significant Byte)最低有效位元組
其意義和lsb類似,只是擴展到整個位元組,以位元組為最小單位來說明數據的順序。
msb(most significant bit),即最高有效位,是一個整數數位中權重最高的那個,當然有時候該位也用作符號位,0為正,1為負,視編碼標準而定。
MSB為最高有效位元組,意義類似於LSB。
(MSB)
指二進位中最高值的比特。在16比特的數字音頻中,其第1個比特便對16bit的字的數值有最大的影響。例如,在十進位的15,389這一數字中,相當於萬數那1行(1)的數字便對數值的影響最大。比較與之相反的“最低有效位”(LSB)。
當選擇模數轉換器(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個。這個例子給出的都是最壞情況。在實際的轉換器中,失調誤差和增益誤差很少會如此接近最大值。
在實際應用中,由於ADC失調或增益參數的改進而使性能提升的程度微不足道,甚至可以忽略。但是,對於那些將精度作為一項設計目標的設計人員來說,這種 假設太過絕對。利用固件設計可以很容易地實現數字校準演演算法。但更重要的是,電路的前端放大/信號調理部分通常會產生比轉換器本身更大的誤差。
通過上面的討論可以對本文開頭提到的錯誤結論有一個更為全面而清晰的認識。事實上,上述的12位轉換器的精度約為11.997位。採用微處理器或單片機可以利用簡單的校準演演算法消除這種失調和增益誤差,這對設計人員來說無疑是個好消息。
無線電通信中,用LSB指下邊帶。另外,用USB指示上邊帶。
以上兩者通稱單邊帶(SSB)模式,用於短波通信,50MHz有時候也用這種模式。
CW=等幅報,即摩爾斯電碼模式
RTTY、FSK、PSK等是數據通信模式,傳輸數字信號用
AM=調幅
各頻率通信有習慣的模式,如7050KHz都是用LSB模式語音通信。