FTW中的L位位置取決于FTW的特定值(切記,F(xiàn)TW的值依據(jù)所需DDS輸出頻率而變化,詳見公式1)。這種依賴性非常大,因為任意給定FTW的L位位置決定相位截斷雜散在DDS輸出頻譜中的分配方式。
對于任意給定FTW,圖3演示了如何找到L的值。首先,將FTW轉(zhuǎn)換為二進制。然后,將指數(shù)值分配給FTW位,MSB的起始指數(shù)值為1。圖3為一個32位FTW的示例;因此,指數(shù)范圍為1至32。L值是值為1的最后一位的指數(shù)(從MSB向LSB讀)。圖3中的FTW值為0x0036e580(十六進制),因此,采用本協(xié)議時,此特定FTW的L的值為25。
給定FTW的L的值最為重要。首先,L決定相位截斷雜散是否出現(xiàn)在DDS輸出頻譜中。若L ≤ P,則沒有相位截斷雜散。若L > P,則包括PPT雜散在內(nèi)的相位截斷雜散出現(xiàn)在DDS輸出頻譜中。其次,L和P的值可確定PPT雜散的幅度和頻率(假定L > P)。
PPT幅度
兩個PPT雜散具有相同的幅度(見公式2)。 若已知特定FTW的值和給定DDS設(shè)計的P值,兩個PPT雜散的幅度為:
?
其中,PPT幅度的值以dBc為單位: 與頻率為fO時主DDS輸出信號的幅度相關(guān)的分貝。
請注意,公式2中的兩個正弦函數(shù)的參數(shù)以弧度為單位。例如,假設(shè)DDS的P = 19,F(xiàn)TW如圖3所示,則使用公式2得到的PPT雜散幅度為?114.38789 dBc。
PPT頻率
需要多個步驟才能確定這兩個PPT頻率。第一步,得出K的值,F(xiàn)TW的十進制值截斷為L位。要得到K,在FTW為二進制形式的情況下,消除尾隨0并將得到的L位FTW轉(zhuǎn)換為相應(yīng)的十進制值。例如,圖3中的FTW可得到K = 28,107(通過將二進制數(shù)字0000000000110110111001011轉(zhuǎn)換為相應(yīng)的十進制數(shù)字得出)。
使用K計算兩個PPT雜散的頻譜指數(shù)位置(R1和R2),如下面的公式3和公式4所示:
例如,在DDS的P = 19且FTW如圖3所示的情況下,公式3中括號內(nèi)的數(shù)字為14,736,134,709,公式4中括號內(nèi)的數(shù)字為928,378,285,515。將2 25 模數(shù)應(yīng)用于這些值可得到
根據(jù)下面的公式5和公式6,使用R1和R2確定DDS輸出頻譜中的兩個PPT頻率位置(fPPT1和fPPT2)。
?
例如,若fS = 250 MHz,F(xiàn)TW如圖3所示,且R1和R2的值已在前面的例子中計算出,則兩個PPT雜散頻率如下:
?
?
圖3. FTW的L位
結(jié)論
盡管本應(yīng)用筆記介紹了一種相對簡單的方式來預(yù)測兩個PPT雜散的頻率和幅度,但公式3和公式4可能引起計算問題。具體而言,括號內(nèi)的數(shù)字由一個整數(shù)定義,可能非常大。
為了解釋這些計算中較大整數(shù)引起的問題,試重新考慮AD9912,其中N = 48,P = 19。假定FTW為0x400000000001(十六進制),即70,368,744,177,665(十進制)。在此例中,L = 48;因此,K的值與FTW相同。
現(xiàn)在考慮公式4中括號內(nèi)的數(shù)字。2L – 2P+ 1可得到以下值:
248 – 219 + 1 = 281,474,976,186,369
因此,由公式4中括號內(nèi)的數(shù)字可得到
K × (2L – 2P+ 1) = 70,368,744,177,665 × 281,474,976,186,369
= 19,807,040,591,672,948,094,687,248,385
以二進制形式表示此整數(shù)需要94位。大部分計算軟件工具無法精確表示這種大小的整數(shù)。例如,在64位機器上運行的MATLAB將K × (2 L– 2P + 1)表示為浮點數(shù):1.980704059167295 × 1028。對應(yīng)的整為19,807,040,591,672,950,000,000,000,000。此值與真實值偏差較大,因此得到的R2并不正確。
事實上,不僅大部分軟件工具無法處理極大整數(shù),而且大部分計算機內(nèi)部的處理器芯片也無法處理極大整數(shù)。例如,一臺帶64位處理器的計算機無法處理94位整數(shù)。這個問題至關(guān)重要,因為計算R1和R2值需要極大整數(shù)計算,這超出了大部分計算機的能力。
除了正確表示公式3和公式4中括號內(nèi)的數(shù)字,還需要計算括號內(nèi)數(shù)字的2L模數(shù)。在前面的例子中,L = 48,這意味著模數(shù)達48位。大部分計算機不支持超過32位的模數(shù)計算。
總而言之,公式3和公式4產(chǎn)生的難題在使用軟件工具實現(xiàn)PPT雜散計算時需要特別注意。用戶必須將括號內(nèi)的數(shù)字作為一個整數(shù)進行正確計算(無截斷或四舍五入),并且應(yīng)在不損失精度的情況下正確處理模數(shù)計算。
盡管大部分軟件工具和處理器無法直接處理極大整數(shù),但也有例外。例如,軟件工具Python本身支持極大整數(shù)計算。盡管MATLAB?本身無法處理極大整數(shù),但支持極大整數(shù)計算的可變精度整數(shù)(VPI)工具箱可在MATLAB Central的Math Works網(wǎng)站上免費下載。
評論