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