評估 ADC 的步進尺寸與雜訊指標
在混合訊號系統設計中,類比數位轉換器(ADC)的解像度決定了系統能夠辨識的最小電壓變化。使用「ADC Resolution Calculator」時,你只需輸入轉換器的標稱位元寬度與基準電壓,即可快速計算出 LSB 步進尺寸、量化誤差、理想 SNR 及動態範圍。
本工具支援單極性與雙極性輸入範圍,並提供電壓與數位代碼之間的雙向轉換。所有計算均會在瀏覽器中即時完成,並顯示完整的公式代入步驟,幫助工程師驗證底層數學模型。
轉換器輸入參數說明
要開始計算,請在工具中配置以下輸入項:
- 解像度 N (bits):1 至 32 之間的整數,代表轉換器的標稱位元寬度。
- 基準電壓:一個大於零的數值,作為轉換器的電壓參考基準。
- 基準單位:基準電壓的物理單位(例如 V、mV)。
- 輸入範圍:可選擇「單極性 · 0 至 Vref」或「雙極性 · −Vref 至 +Vref」。
- 顯示小數位數:設定輸出結果中數值的小數點顯示位數。
- 轉換(選填):切換測量點的轉換模式,支援「電壓 → 代碼」或「代碼 → 電壓」。
- 輸入電壓(選填):欲轉換為數位代碼的電壓值,留空則跳過此項計算。
- 代碼 (計數)(選填):0 至最高代碼之間的整數,用於逆向計算對應電壓,留空則跳過。
- 電壓單位:輸入電壓或代碼對應電壓的單位。
- 需要解析的最小變化量(選填):設定目標電壓步進,用以評估所需的最小位元數。
- 步進單位:目標變化量的單位。
介面亦提供「載入範例」與「清除」按鈕,便於快速填入標準數值或重設所有輸入欄位。
輸出指標與計算公式
本工具會根據輸入參數,即時計算並顯示以下指標:
步進尺寸與雜訊
- LSB 步進尺寸:代表最低有效位元(LSB)的電壓寬度,並會顯示其佔滿量程的百分比及 ppm 值。 LSB = FSR ÷ 2^N
- 量化階數:轉換器可表示的總數位階數。 量化階數 = 2^N
- 最高代碼:轉換器輸出的最大數位編碼。 最高代碼 = 2^N - 1
- 滿量程範圍:轉換器可接收的總電壓跨度(FSR)。單極性下 FSR = V_(ref);雙極性下 FSR = 2 × V_(ref)。
- 最大量化誤差 (±½ LSB):理想轉換器的最大理論量化誤差。 最大量化誤差 = ±LSB ÷ 2
- 量化雜訊 (rms):均方根量化雜訊電壓。 量化雜訊 (rms) = LSB ÷ √(12)
- 理想 SNR (滿量程正弦波):在奈奎斯特頻寬內,由量化雜訊決定的理論信噪比上限。 SNR = 6.02 × N + 1.76 dB
- 動態範圍:轉換器的理論動態範圍。 動態範圍 = 6.02 × N dB
在測量點
- 輸出代碼:輸入電壓對應的十進制數位代碼。
- 單極性:code = round(V_(in) ÷ LSB)
- 雙極性:code = round((V_(in) + V_(ref)) ÷ LSB)
- 二進制與十六進制:輸出代碼的進制轉換表示。
- 代碼對應電壓:特定數位代碼所代表的重建電壓。
- 單極性:V = code × LSB
- 雙極性:V = code × LSB - V_(ref)
- 量化誤差:重建電壓與實際輸入電壓之間的偏差。 量化誤差 = 代碼對應電壓 - 輸入電壓
- 此代碼的輸入電壓窗口:映射至該數位代碼的類比輸入電壓區間。
解析度規劃狀態(Sizing Status)
在「你需要多少位元?(選填)」欄位輸入需要解析的最小變化量(例如 100 µV)後,工具會計算解析該步進所需的最低位元數: N ≥ log₂(FSR ÷ 步進),結果一律向上取整為整數位元。 系統隨即與目前選定的解像度比較:若已足夠,會確認此轉換器已滿足要求;若不足,則會提示目前轉換器實際只能解析的步進尺寸,助你判斷差距。
運算規則與邊界狀態
本計算器基於理想量化器模型進行運算,其中第一個代碼轉換點位於 1 / 2 LSB 處。在實際應用中,請注意以下邊界與異常處理機制:
- 輸入超限(高軌飽和):若輸入電壓高於正軌,輸出代碼將飽和於最高代碼(2^N - 1)。此時工具會顯示警告:「輸入高於正軌:輸出飽和於最高代碼,顯示的誤差為真實殘餘誤差——±½ LSB 的限制不再適用。」
- 輸入超限(低軌飽和):若輸入電壓低於負軌,輸出代碼將飽和於代碼 0。此時工具會顯示警告:「輸入低於負軌:輸出飽和於代碼 0,顯示的誤差為真實殘餘誤差——±½ LSB 的限制不再適用。」
- 剛好為半量程:當輸入電壓精確處於半量程時,工具會提示:「剛好為半量程:一半的跨度映射到代碼
‹code›,且量化誤差為零。」 - 輸入錯誤驗證:
- 若輸入非數值字元,將顯示:
"‹field›:「‹token›」不是數字。" - 若解像度超出範圍,將顯示:
"解像度必須是 1 至 32 之間的整數位元。" - 若基準電壓小於或等於零,將顯示:
"基準電壓必須大於零。" - 若輸入的代碼非整數,將顯示:
"輸出代碼必須是整數計數。" - 若代碼超出範圍,將顯示:
"對於 ‹bits› 位元的轉換器,代碼必須介乎 0 與 ‹max› 之間。" - 若目標步進小於或等於零,將顯示:
"需要解析的最小變化量必須大於零。" - 若計算數值溢出,將顯示:
"數值或中間結果超出了支援的數字範圍。"
- 若輸入非數值字元,將顯示:
數據隱私與處理說明
本工具的計算完全在用戶的本地設備上進行。你輸入的所有數據均保留在此瀏覽器中——絕不上傳,確保數據處理的私密性。
常見問題解答
12 位元解像度是否代表 12 位元精度?
不是。解像度僅代表代碼的寬度,即範圍被細分的程度。精度受限於轉換器的 INL、偏移/增益誤差、基準源的容差與雜訊,以及周邊電路。這就是為什麼規格書會列出 ENOB:一個 12 位元的 SAR 通常只能提供 10–11 個有效位元。此處顯示的 74 dB 理想 SNR 是任何真實 12 位元轉換器都無法達到的上限。
±Vref 輸入如何改變計算公式?
跨度會加倍至 2 × Vref,因此相同的轉換器解析的步進寬度也是兩倍:LSB = 2 × Vref ÷ 2^N。代碼從負軌延伸至正軌——代碼 0 為 −Vref,中間代碼 2^(N−1) 為 0 V,而最高代碼則比 +Vref 低一個步進。在上方選擇雙極性範圍,零伏特就會剛好落在中間代碼上。
為什麼有些來源除以 2^N,而有些除以 2^N − 1?
這是同一個轉換器的兩種不同模型。規格書和經典量化理論定義 LSB = FSR ÷ 2^N,且第一個代碼轉換點位於半個步進處——這正是本頁面採用的模型。而除以 2^N − 1 的形式則源於將最高代碼剛好映射到 Vref,這在微控制器教學中很常見。在 12 位元時,兩者僅相差約 0.02%,遠低於任何真實基準源的容差;在對比不同來源的數據時,請注意不要混用這兩種模型。
當步進尺寸太粗糙時,我可以怎麼做?
當訊號帶有輕微雜訊時,過採樣和平均可以提高解像度:平均 4× 多的樣本可獲得約一個有效位元,16× 則可獲得兩個,前提是雜訊為白雜訊且不相關——完全乾淨、完全靜止的訊號只會重複相同的代碼。除此之外,你應更換為更高位元的轉換器,或加入可程式化增益放大器階段,以讓訊號填滿更多範圍。