第一步需要一個輸入序列,用來代表一個以等距時間間隔采樣的理想正弦波周期。目標是重構(gòu)DAC傳遞函數(shù),因此從0到2N–1的每個DAC碼必須在輸入信號中至少出現(xiàn)一次。輸入序列需要2N以上的采樣點才能以等距間隔使用每個DAC碼,實際上至少需要2N+3個采樣才能保證每個碼都出現(xiàn)。下式可產(chǎn)生2K DAC碼的理想正弦序列(K ≥ N+3)。函數(shù)round{x}將x舍入為最近的整數(shù)。
![由DAC諧波頻譜成分重構(gòu)其傳遞函數(shù)[圖]](/uploads/allimg/110525/1010093I1-2.jpg)
?
其中n=0,1,2,3, ... 2K-1
此方程式假設(shè)DAC將標準二進制格式的數(shù)字輸入字解碼為0至2N–1范圍內(nèi)的無符號整數(shù)。對于偏移二進制或二進制補碼DAC,必須調(diào)整gn以表示負值。
數(shù)值序列(gn)以采樣速率fs重復提供給DAC,因此DAC輸出頻譜含有頻率f0=fs/2k的基波信號。諧波出現(xiàn)在2f0、3f0、4f0和f0的其它整數(shù)倍。由于DAC輸出頻譜具有采樣性質(zhì),因此這些諧波的幅度受sin(x)/x響應的限制。不過,f0與fs相比微不足道,因此sin(x)/x響應實際上是平坦的,可忽略不計。例如,對于一個8位DAC,K ≥ 11且f0 ≤fs/2048,100次諧波的sin(x)/x將不超過0.39% (0.034 dB)。
為了準確重構(gòu)傳遞函數(shù)f(x),需要根據(jù)諧波數(shù)(h)集盡可能記錄更多諧波的幅值。這些整數(shù)從h=1(基波頻率)至h=H,其中H表示取測量幅值的最高諧波數(shù)。例如,對于10次諧波的測量,H=10,該諧波數(shù)集為h={1, 2, 3, .. 10}。
然后,將各測量諧波的幅值(M)與其諧波數(shù)關(guān)聯(lián)。例如,M1是1次諧波(基波)的幅值,M2是2次諧波的幅值,依此類推至MH。諧波幅值通常用相對于基波幅值的分貝數(shù)(dBc)來衡量。dBc轉(zhuǎn)換為線性單位的公式如下:
![由DAC諧波頻譜成分重構(gòu)其傳遞函數(shù)[圖]](/uploads/allimg/110525/1010092c4-3.jpg)
?
其中D表示測得的諧波幅值,單位為dBc。例如,如果3次諧波的幅值為–40 dBc,則線性幅值M3=10–40/20或0.01。M1始終等于1,因為根據(jù)定義,基波的幅值為0 dBc。
第二步:重構(gòu)DAC傳遞函數(shù)
該過程的第二步涉及到將諧波測量結(jié)果與傳遞函數(shù)相關(guān)。f(x)上的點取決于g(t)和u(t)上對應點之間的關(guān)系,因此首先必須將頻域中的諧波幅值轉(zhuǎn)換到時域。請注意,組成g(t)的DAC碼與g(t)正弦形式的相關(guān)時間點一一對應。因此,構(gòu)成g(t)的DAC碼與時域相關(guān)。此外,u(t)通過f(x)與g(t)相關(guān),而g(t)是一個時域函數(shù),因此u(t)也必須表示為時域函數(shù)。這樣就能將g(t)中的各時間點tk鏈接到u(t)中的相關(guān)時間點,從而由g(t)和u(t)確定f(x)。
將諧波幅值轉(zhuǎn)換到時域非常困難,因為f(x)必須明確與g(t)中的各可能DAC碼(0至2N–1)相關(guān)。g(t)是一個理想正弦波,因此確保唯一性的唯一方法是將范圍限制在該正弦波單調(diào)增加的位置,如圖3加粗部分所示。如果沒有這一限制條件,f(x)上的一個點可能會映射到g(t)上的兩個點,從而導致不明確。
為演示這種不定性,請想象將區(qū)間T向下移動?,F(xiàn)在,f(x)上的點(xk, fkxk))可以與g(t)上的兩個點相關(guān),這是不可接受的。將范圍T限制在圖中所示位置,將不存在不定性。g(t)為正弦波,因此所需范圍T對應于1/2周期,其初始相位偏移為3π/2弧度。
![由DAC諧波頻譜成分重構(gòu)其傳遞函數(shù)[圖]](/uploads/allimg/110525/1010091233-4.jpg)
?
圖3. f(x)與g(t)之間的關(guān)系 作者:Ken Gentile 來源:電子工程專輯
g(t)的范圍受T限制意味著u(t)也具有類似的范圍限制。因此,將所記錄的諧波幅值轉(zhuǎn)換到時域時,必須確保將u(t)限制在與g(t)相同的范圍T,如圖4所示。
![由DAC諧波頻譜成分重構(gòu)其傳遞函數(shù)[圖]](/uploads/allimg/110525/1010092561-5.jpg)
?
圖4. g(t)和u(t)的時域范圍
請注意,實際的時間范圍T無關(guān)緊要,因為f(x)僅在g(t)和u(t)二者的幅值之間起轉(zhuǎn)換作用。為簡化分析,將基波頻率(f0)歸一化為1。因此,2次諧波的頻率為2,3次諧波的頻率為3,如此類推。所以,諧波頻率與諧波數(shù)(h)相等:fh=h。這一便捷關(guān)系可簡化從諧波測量結(jié)果Mh創(chuàng)建u(t)的數(shù)學計算。
正弦波的一般時域表達式為:
![由DAC諧波頻譜成分重構(gòu)其傳遞函數(shù)[圖]](/uploads/allimg/110525/10100a029-6.jpg)
?
其中β為峰值振幅,θ為初始相位偏移。
用h代替f,并用Mh代替β,可以獲得各諧波uh(t)的時域表達式。不過應記住,g(t)偏移3π/2弧度。此外,g(t)與u(t)之間通過f(x)關(guān)聯(lián)意味著g(t)和u(t)在相位上是對準的。用3π/2代替θ可提供所需的對準。下式中,請注意0 ≤t < 1且π取代了2π,目的是將基波限制在范圍T所表示的半個周期:
![由DAC諧波頻譜成分重構(gòu)其傳遞函數(shù)[圖]](/uploads/allimg/110525/1010091400-7.jpg)
?
利用各諧波uh(t)的時域表達式,便可以重構(gòu)復合輸出u(t),表示為基波和諧波信號的和:
![由DAC諧波頻譜成分重構(gòu)其傳遞函數(shù)[圖]](/uploads/allimg/110525/1010095a4-8.jpg)
?
如前所述,我們的目標是將g(t)與u(t)相關(guān)以重構(gòu)DAC傳遞函數(shù)f(x)。此外,g(t)必須恰好由2N個樣本組成,以便與f(x)上的點一一對應。因此,g(t)的樣本計算公式為:
![由DAC諧波頻譜成分重構(gòu)其傳遞函數(shù)[圖]](/uploads/allimg/110525/1010095141-9.jpg)
?
(n=0,1,2,3 .. 2N–1)
g(t)由2N個樣本組成,因此由包括2N個采樣的u(t)采樣值集重構(gòu)f(x)似乎是合理的。然而,事實卻是至少需要2N+3個采樣才能為較小的Mh值提供適當?shù)木?。這種情況下,u(t)各采樣點的計算公式應如下:
![由DAC諧波頻譜成分重構(gòu)其傳遞函數(shù)[圖]](/uploads/allimg/110525/10100941K-10.jpg)
?
(n=0,1,2,3 .. 2N+3– 1)
請注意,這將導致u(t)所含的采樣數(shù)多于g(t),u(t)的多個樣本可能與f(x)和g(t)上的一個點對應,從而使u(t)和g(t)到f(x)的映射關(guān)系復雜化。因此,必須對特定的樣本組求平均值,以便提供到f(x)的合理映射。下面的偽代碼反映了所需的映射關(guān)系,其中假設(shè)使用一個N位DAC,g(t)有2N個點,u(t)有2N+3個點。陣列DacXfr含有2N個元素,初始值均為0。執(zhí)行該代碼后,陣列DacXfr的元素包含歸一化的DAC傳遞函數(shù)。
![由DAC諧波頻譜成分重構(gòu)其傳遞函數(shù)[圖]](/uploads/allimg/110525/10100a450-11.jpg)
?
評論