專利名稱:用于在采樣率轉換系統中計算內插因子的方法和裝置的制作方法
技術領域:
本發明總體上涉及數字信號處理,具體地,涉及將第一采樣率的數字信號轉換為 同一數字信號的第二采樣率的表示。
背景技術:
在很多電子應用中,用數字方式表示和處理信號。數位字或采樣表示固定時間間 隔的信號值。該固定間隔常被稱為采樣率,一般以單位赫茲(Hz)表示,表示采樣間隔時間 周期的倒數。如此表示的信號不會有大于采樣率一半以上的能量,等于采樣率一半的頻率 被稱為那奎斯特頻率。數字采樣率轉換在很多類型的數字系統之中使用。例如,諸如在音樂唱片的制作 中可能產生的音頻信號經常以數字方式來處理。用于處理和記錄信號的設備的不同部分不 會總是操作于相同的采樣頻率。結果是以下做法常常是必要的,即設備的每個部分接受以 第一速率采樣的數字信號,然后在對其進行處理之前將該數字信號轉換為第二采樣率的數 字信號。當然,采樣率轉換不能明顯改變信號的信息內容,否則信號的音質將會劣化。一種完成采樣率轉換的簡單方法是簡單地從第一信號丟棄采樣。于是,輸出波形 每秒具有更少的采樣,并因此具有更低的采樣率。假定輸出信號滿足那奎斯特準則,則其是 與輸入相同的信號的準確表示。一般將該處理稱為“抽取”。但是這受限于輸入的采樣率是 輸出的采樣率的整數倍的情形。當意圖使輸出的采樣率是輸入信號的采樣率的整數倍時,可以使用稱為內插的處 理。在該內插操作中,可以首先通過用被任意指派零值的采樣填充輸入信號的采樣之間的 時間,來產生中間信號。該中間信號稱為“零填充”信號。由于在時間跨度保持不變的情況 下增加了采樣,因此零填充信號具有高于輸入信號的采樣率。在數字內插濾波器中可以濾 波該較高頻率的零填充信號,以平滑增加額外采樣所造成的不連續性。結果得到具有形狀 與輸入信號相同,但是每秒包含更多的采樣的數字信號。抽取和內插處理可以組合在一起。例如,電路可以以D因子抽取并以I因子內插。 得到的輸出將具有對輸入采樣率的比值為I/D的采樣率。然而,該電路受限于以有理數對 采樣率進行縮放。更重要的是,對于數字系統,D和I值的范圍有實際限制。抽取因子D不 能大到使抽取后的信號不再滿足那奎斯特速率。另外,內插因子I不能隨意大,因為需要的 內插濾波器的復雜性隨著I的變大而增加(例如,更多的分支(tap))。另外,假定不同時 鐘中的至少一個與系統時鐘(即DSP時鐘)完全相同,或者至少以直接方式與系統時鐘相 關,諸如以因子2。在該情形中,保持不同采樣率時鐘之間的一致性給定時系統硬件的準確 性和復雜性帶來負擔。
發明內容
在三時鐘系統中準確處理數據的能力允許通過增加數字信號處理復雜性來簡化 實際模擬時鐘生成的要求。總得說來,降低模擬復雜性是期望的,因為這導致了提高的系統 可靠性、更大的功能靈活性和更低的系統成本。本文描述的是這樣一種系統和處理,其允許在其中DSP時鐘和數據時鐘之間有復 雜關系的實時系統中計算內插因子P,即,采樣率轉換系統中的關鍵參數。一般說來,在該系 統中的兩個或三個時鐘將具有簡單的關系(諸如,CLOCKl = 2*CL0CK2)。該關系導致退化 情形,其中實際上,僅考慮了兩個時鐘。另外,本文描述的系統和處理允許在輸入數據速率 高于DSP時鐘速率的情況下,進行這種對內插因子的計算。在至少一些實施例中,可以將任 意時間延遲施加到輸出信號。本發明的一個實施例與用于對采樣的數據進行速率轉換的處理相關。接收根據輸 入采樣時鐘采樣的輸入數據。還接收值,所述值指示輸出采樣時鐘與所述輸入采樣時鐘相 差不必是整數的值。確定輸入和輸出采樣時鐘各自與處理器時鐘之間的各自關系。輸入和 輸出時鐘各自獨立于處理器時鐘。內插因子被確定為輸入采樣時鐘、輸出采樣時鐘和處理 器時鐘的函數。輸出數據被生成為輸入數據和內插因子的函數,其中輸出數據對應于根據 輸出采樣時鐘采樣的輸入數據。本發明的另一實施例與用于將采樣的數據從第一數據速率轉換為第二數據速率 的系統相關。這包括速率轉換器,用于接收根據輸入采樣時鐘采樣的輸入數據,并被配置為 產生指示根據輸出采樣時鐘采樣的輸入數據的輸出數據。速率轉換器操作于獨立于輸入采 樣時鐘和輸出采樣時鐘的處理時鐘速率。接收處理時鐘的累加器被配置為監視處理器時鐘 的狀態,并確定輸入采樣時鐘和輸出采樣時鐘各自與處理器時鐘的各自關系。系統還包括 與累加器和速率轉換器通信的內插因子電路。內插因子電路被配置為從累加器接收輸入采 樣時鐘和輸出采樣時鐘各自對于處理器時鐘的各自關系。內插因子電路還被配置為計算作 為輸入采樣時鐘、輸出采樣時鐘和處理器時鐘的函數的內插因子。速率轉換器被配置為以 內插因子的函數將輸入數據轉換為輸出數據。
從本發明優選實施例的以下具體描述,本發明的以上和其他目標、特性和優點將 變得顯而易見,如附圖所示,其中相同的附圖標記在不同視圖中指示相同的部件。附圖不必 是成比例的,而是對本發明的原理做突出說明。圖1是說明與采樣率轉換器的實施例組合的數字化器的框圖。圖2是更具體說明如可以在采樣率轉換器中使用的累加器的實施例的框圖。圖3是說明在采樣率轉換器實施例之內的不同時鐘信號之間關系的時序圖。圖4是說明內插因子格式的實施例的原理圖。圖5是說明用于實現采樣率轉換處理的實施例的流程圖。圖6是說明如可以在采樣率轉換器中使用的、用于確定內插因子的電路的實施例 的框圖。圖7是如可以在圖6的內插因子電路的實施例中使用的寄存器的示意圖。
6
圖8是說明對采樣率轉換器進行數字化的實施例的框圖。圖9是說明源采樣率轉換器的實施例的框圖。圖10是說明圖8或圖9的內插因子計算電路的示例性實施例的原理圖。圖11是說明圖10的雙累加器的示例性實施例的原理圖。圖12是說明根據本發明的累加器和包括第二累加器的內插計算器電路的實施例 的框圖。圖13是說明用于確定內插因子的計算器的替代實施例的框圖。
具體實施例方式本文描述了用于將一種采樣率的數據轉換為第二種采樣率的數據的系統和處理。 在現有技術中,采樣率轉換系統的實施采用的數字信號處理時鐘等于或與輸出采樣率直接 相關(是輸出采樣率的整倍數)。有益地,在本文描述的系統和技術中允許系統處理時鐘具 有與輸出采樣率非平凡(non-trivial)的Μ/Ν關系。例如,M和N可以是很大的整數。在 至少一些實施例中,可編程時間延遲(具有任意范圍和分辨率)也可以應用于輸出信號。一般而言,本文描述的技術可以應用于任何具有固定轉換器頻率、可變(甚至固 定但不一樣的)信號數據速率的任何實時系統。取決于具體應用,術語“轉換器”的使用一 般包括模數轉換器(ADC)和數模轉換器(DAC)。例如,在源模式中,DAC提供了從激勵信號 的合成化數字表示獲得的模擬輸出激勵信號。替代性地,在檢測器模式中,ADC將接收到的 模擬響應信號,如可以從被測設備獲得的,轉換為已接收響應信號的數字表示,以用于測試 系統的進一步處理。在兩種實例中,可能采用第三系統時鐘頻率來例如控制DSP,該頻率不 必與轉換器頻率或信號數據速率相關。其他應用包括采樣率轉換系統,在該系統中,已知的 轉換器采樣率與已知的系統或處理時鐘不相關。本文所述的采樣率轉換技術允許用戶用具有與實際轉換器操作的固定時鐘速率 (例如,轉換器時鐘速率)相關的寬范圍和高分辨率的速率(即時序)來定義基帶波形。這 樣的采樣率轉換可以通過基于以下三種不同時鐘之間的關系來確定非整數內插因子而實 現轉換器時鐘、用戶時鐘和系統或DSP時鐘。內插因子由內插濾波器使用。示例性內插濾 波器包括源的多相位、有限脈沖響應(FIR)濾波器和線性內插器,以及數字化器的多相位 FIR濾波器、線性濾波器和抽取FIR濾波器的組合。這些濾波器配置在以不相關處理器或 DSP時鐘速率運行的系統內,產生期望的速率轉換。重采樣器的操作對用戶基本透明,因此重采樣器儀器表現為猶如包含了常規任意 波形發生器和帶有轉換器的數字化器,其中轉換器操作于輸入和輸出時鐘速率之一。因此, 除了帶寬限制以外,重采樣器對特別事件,諸如開始命令、用戶時鐘復位命令等,采樣大小 或信號內容一無所知。所有重采樣處理引入的誤差將會低于無雜波動態范圍規范。在輸入 和輸出頻率方面,重采樣器相對靈活,因為重采樣比由可以對不同時鐘情況定制的外部虛 擬時鐘發生器所驅動。參照圖1,根據本發明的重采樣器100的示例性實施例的框圖包括速率轉換器 102、累加器104和內插因子模塊106。還說明了耦合到重采樣器100的輸入的A/D轉換器 108。A/D轉換器108接收輸入模擬信號S (t),并根據輸入采樣率或轉換器時鐘(本文稱為 第一時鐘域)對其進行采樣。輸入采樣循環的周期圖示為TKSI。速率轉換器102接收第一轉換器時鐘域內的輸入信號的經采樣的數字表示S(n),并將其轉換為第二用戶時鐘域內的 相同輸入信號的輸出表示。一般說來,第二時鐘域具有不同于第一時鐘域的輸出采樣率。輸 出采樣循環的周期圖示為T·。對于所有的實踐目的,兩個時鐘域是不相關的。實際上,它 們可能以兩個極大數的非整數比而變化。本發明提供的重要有利點是,速率轉換器102根 據另一處理時鐘操作,本文稱為第三時鐘域,稱為系統或DSP時鐘域。處理器采樣循環的周 期圖示為TDSP。累加器104接收或預先加載多個值。這類值之一是由輸出采樣率表示。在示例中, 該值是輸出采樣率的周期T·。替代性地或附加性地,累加器104能夠預先加載輸出采樣頻 率Fks。(即,T-的倒數)。另一這類預加載值由輸入采樣率表示。在示例中,該值是輸入采 樣率的周期Tksi (或輸入采樣頻率,Fksi)。另一可以預加載到累加器104的值是處理器時鐘 的周期Tdsp (或處理器時鐘頻率Fdsp)。累加器104以處理器時鐘速率(DSP CLK)對一個或多個預加載值進行處理,以產 生多個輸出值。主要地,輸出值包括指示在不同時鐘域之間關系的小數值。這類小數值之一 FRACksi從輸入采樣時鐘對處理器時鐘的關系而獲取。另一這類小數值FRAC·從輸出采樣時 鐘對處理器時鐘的關系而獲取。還可以將輸入和輸出時鐘的一個或多個周期和頻率(TKSI、 FESi> Teso, Feso)提供為輸出值。在說明性實施例中,累加器將Fksi和Tkm提供為輸出值。在 一些實施例中,累加器104還接收一個或多個附加輸入,諸如外部定時基準Tkef和復位信號 Teeseto累加器104可以定期更新輸出值FRACKSI、FRACeso, Fesi, Tesqo例如,在一些實施例中, 在處理器時鐘Tdsp的每個循環中,累加器104對輸出值進行更新。內插因子模塊或電路106從累加器104接收輸出值FRACKSI、FRACKSQ、FKSI、TKSQ,并從 一個或多個接收值中推導出內插因子P。內插因子模塊106還可以根據處理器時鐘Tdsp對 一個或多個輸入進行處理,以產生輸出。速率轉換器102從內插因子模塊106接收內插因 子P,并使用該值來實現期望的采樣率轉換。在一些實施例中,內插因子模塊106還接收延時輸入值TDEUY。用戶可以提供延時 值,以在不同的時鐘域之間引入相位差(skew)。延時值還可以用于相對輸入采樣信號任意 延遲輸出采樣信號。可實現系統可適應的最大延遲將至少部分取決于具體實施例的配置。 如下文更具體描述的,例如,可以包括超前緩沖器,以適應該延時值。在該實施例中,可以基 于最長的預計延遲,來確定超前緩沖器的深度。更長的延遲需要更深的超前緩沖器。參照圖2,根據本發明的累加器150的示例性實施例,諸如圖1所示的累加器104, 包括累加寄存器152。累加寄存器152存儲值N,值N隨每個處理器時鐘循環遞增。值N可 以是二進制整數,其在每個處理器時鐘循環后遞增1。一旦在復位輸入上接收到復位信號 RESET (復位),則可以將值N復位為0或其他值。累加器150還包括用于存儲各種值的寄 存器,諸如用于存儲指示處理器時鐘周期Tdsp的值的處理器寄存器154,用于存儲指示輸入 采樣周期Tksi的值的輸入時鐘域寄存器156,以及用于存儲指示輸出采樣周期T·的值的輸 出時鐘域寄存器158。累加寄存器152和處理器時鐘周期Tdsp的值被饋入到乘法器160,其 將值相乘并把結果值Tn存儲在處理器時間寄存器162中。存儲的處理器時間值Tn與存儲 在輸入時鐘域寄存器156中的Tksi值一起被饋入到第一模算術處理器164a。第一模運算的 結果是FRACksi,即兩個值Tn和Tksi的比的小數部分。結果值FRACksi被存儲在輸入相差寄存 器166中。類似地,存儲的處理器時間值Tn與存儲在輸出時鐘域寄存器158中的T·值一起被饋入到第二模算術處理器164b。第二模運算的結果是FRACksq,即兩個值Tn和Tksq的比 的小數部分。結果值FRAC·被存儲在輸出相差寄存器168中。在一些實施例中,存儲在輸入時鐘域寄存器156中的值的倒數被存儲在輸入時鐘 域頻率寄存器170中。類似地,在一些實施例中,存儲在輸出時鐘域寄存器158中的倒數值 被存儲在輸出時鐘域頻率寄存器172中。一個或多個已存儲的寄存器值FRACKSI、FRACESO, FKSI、FKS。可以被轉發給內插因子模塊106 (圖1)。在圖示實施例中,以下四個值被轉發給內 插因子模塊 106 =FRACESI, FRACESO, Fesi 和 TKS。。圖3說明了根據本發明的不同定時信號之間的示例性關系的時序圖。該圖顯示了 三個感興趣的時鐘之間的可能關系(盡管所描述的處理應用于時鐘之間的任意關系)。尤 其是,將處理器時鐘200,有時稱為DSP時鐘,的一部分圖示為具有周期TDSP。在DSP時鐘之 下,輸入采樣時鐘202,有時稱為重采樣器入時鐘,的重疊部分圖示為具有周期Tksi。最終,輸 出采樣時鐘204,有時稱為重采樣器輸出時鐘,的重疊部分在附圖底部圖示為具有周期T·。FRAC術語用于描述測得的從一個事件到下一時鐘循環的時間,相對的是“剩余”, 在一些常規中,其指預計從時鐘循環到下一事件的時間。關于從時鐘發生器部分獲取的DSP 時鐘來提供FRAC值,在下文中具體描述。因此,FRACesi是從重采樣器入時鐘事件預計到下 一 DSP時鐘事件的時間。類似地,FRACeso是從重采樣器出時鐘事件預計到下一 DSP時鐘事 件的時間。在一些實施例中,內插因子計算模塊106(圖1)從轉換器時鐘的FRACksi值(重采 樣器輸入Tksi)和用戶時鐘的FRACksJ重采樣器輸出TkJ計算內插因子P。內插因子定義 為ρ = Tx/TESI(1)如可以從圖3所示的時鐘信號的相對排列所觀察到的,通過以下公式,從FRAC值 得出Tx Tx = Teso-(FRACeso-FRACesi)(2) 其中,Tdelay是可以根據期望的應用而引入的任意延時
;并且 內插因子ρ的值可以從重采樣器輸入和重采樣器輸出時間累加器FRACksi和 FRACeso值得到 符號φ指模運算符。在采樣率轉換系統中,P的整數部分被解釋為輸入數據超前, 而小數部分被解釋為對當前輸出時鐘周期的當前輸入時鐘周期的滲透(penetration)。圖 4說明了內插因子210的實施例。內插因子210可以包括多個位置數位(positional digit) (例如,用于二進制系統的比特位),被布置包括由小數點215所分隔的整數部分212和小 數部分214。內插因子210的小數部分214進一步被細分為上小數部分216,包括內插因子 210的小數部分215的高有效位置數位(more significant positional digit)(例如,上 比特位),以及下小數部分218,包括內插因子210的小數部分214的低有效位置數位(less significant positional digit)(下比特位)。位置數位的具體數量可以隨期望的應用而變化。在諸如那些不包括超前緩沖器的一些實施例中,因為不必要,所以不包括整數部分 212。在采用多相位濾波器和線性內插器的采樣率轉換系統中,內插因子210實施為二 進制數,在其中將P的小數部分214的上比特位216解釋為多相位濾波器數,而將P的小數 部分214的下比特位218解釋為線性內插因子。當出現時,整數部分212可以解釋為超前 值。對于具有24比特位準確性的ρ的示例性值,整數部分212可以包括3個比特位,最高 有效小數部分216可以包括9個比特位,而最低有效小數部分218可以包括12個比特位。參照圖5,顯示了說明根據本發明的用于實現采樣率轉換器的示例性處理220的 流程圖。在第一步驟222中,接收輸入采樣數據速率Tksi的采樣輸入數據。在下一步驟224 中,接收與用戶輸出采樣率T·相關的值。在一些實施例中,該值可以由用戶來編程。在步 驟226,確定每個輸入和輸出采樣率或域以及處理器時鐘或域之間的相位關系。這些相位關 系可以表示為以上參照圖3描述的小數值,FRACesi, FRACesoo在后續步驟228中,從已經確 定的相位關系FRACKSI、FRACksq和輸入時鐘域及輸出時鐘域值TKSI、Teso,確定內插因子P。一 旦獲得,則內插因子P可以在后續步驟230中使用,以產生指示為輸出采樣數據速率而重新 采樣的輸入采樣數據的采樣輸出數據。參照圖6,圖示了用于確定內插因子的示例性電路240的框圖,諸如內插因子模塊 106 (圖1)。內插因子電路240包括符號反相器242,其對指示FRACksq值的數字輸入值i_ fraC_rS0的符號進行反相。符號反相器242的操作將取決于存儲數字數據的屬性。然后, 經符號反相的數字輸入值i_frac_rS0 (FRACksq)與指示FRACksi的數字輸入值i_frac_rsi, 以及指示Tksq的數字輸入值i_t_rso在諸如圖示的求和器244的組合器中組合。求和器244 的輸出值是指示值Tx(圖3)的數位字。內插因子電路240還包括乘法器246,其將指示值 Tx的數位字與指示Fksi的數字輸入值i_f_rsi相乘。在一些實施例中,內插因子電路240 包括除法器而不是乘法器246。在一些實施例中,i_f_rsi值可以由圖10所示的i_f_rsi 的倒數Tksi來代替。從乘法器(除法器)輸出的值是內插因子P。圖7所示的為在圖6的內插因子電路中使用的示例性寄存器的示意圖。在一些實 施例中,P比率計算具有從Tx計算得到的40比特位輸入,此處圖示為15個整數比特位和25 個小數比特位。P比值計算還具有從Fksi值輸入的40個比特位,其中2個比特位是整數并 且38個比特位為小數。如圖所示,可以從這2個40比特位輸入來執行25個比特位的準確 乘法。從加州圣何塞的Altera公司商購獲得的硬件乘法塊提供了 36比特位的準確乘法, 其可以滿足本用途。參照圖8,顯示了速率轉換數字化器300的示例性實施例的框圖。速率轉換數字化 器300包括接收輸入采樣數據i_converter_data[23:0]的超前緩沖器302。超前緩沖器 302包括耦合到一個或多個數字濾波器的一個或多個輸出。例如,超前緩沖器302包括到多 相位濾波器304的第一輸出和到增量(delta)濾波器306的第二輸出。濾波器304、306分 別從超前緩沖器302接收輸入。濾波器輸出輸入到線性內插器308,其向抽取有限脈沖響應 (FIR)低通濾波器提供輸出。在一些實施例中,速率轉換數字化器300的一些部分基本重復 以形成一條以上的通道,諸如分離的高頻和低頻通道,每個適合各自的操作參數。當提供一 條以上的通道時(未顯示),乘法器或其他適當的選擇設備用于在不同的通道中作出選擇。 在一些實施例中,該選擇設備可以配置為選擇旁路通道,基本上旁路速率轉換處理。
10
還包括了內插因子計算模塊312。內插因子計算模塊312從一個或多個累加器 (未顯示)接收四個輸入數字值,諸如指示FRACksi的i_fraC_rsi[39:0],指示FRACks。的 i_frac_rso [32:0],指示 Fksi 的 i_f_rsi [390],以及指示 T湖的 i_t_rso [320]。內插因 子計算模塊312將從各個輸入值計算出的內插因子ρ提供為輸出。該功能在速率轉換電路 上的任何復雜性來自于數字化器DSP時鐘可以不同于轉換器時鐘這一事實。在一些實施例 中,內插因子的至少一部分被路由到超前緩沖器302、多相位濾波器304、增量濾波器306和 線性內插器308。內插因子ρ表示輸出采樣或用戶時鐘相對于輸入采樣或者轉換器(例如, ADC)時鐘循環的位置。內插因子ρ的小數部分的上比特位可以用于在多相位和增量濾波器 集304、306中進行選擇。內插因子ρ的小數部分的下比特位可以用于對線性內插器308進 行縮放。在速率轉換數字化器300中,ρ的整數部分被解釋為數據超前。所以,內插因子ρ 的整數部分被轉發給超前緩沖器302,內插因子的小數部分的第一小數部分,即最高有效比 特位,被路由給多相位和增量濾波器304、306,并且內插因子的小數部分的第二小數部分, 即最低有效比特位,被路由給線性內插器308。可以用本領域技術人員所熟知的數字信號處理(DSP)技術,在現場可編程門陣列 (FPGA)中實施所有或至少一部分速率轉換數字化器300。多相位濾波器304、增量濾波器 306和諸如低通、或抗混濾波器的任何其他濾波器中的一個或多個可以是數字濾波器。作為 數字濾波器,它們至少部分由濾波器系數來定義。該濾波器系數可以根據用于設計數字濾 波器的標準設計實踐來確定。例如,多相位濾波器304具有16個分支和512個相位集,其 結果是8192個系數。提供了用于存儲濾波器系數的本地存儲器318a、318b、318c(統稱為 318)。系數存儲器318布局可以優化,以使用可用的存儲器塊。在FPGA設計中,將這些存 儲器塊視為只讀存儲器(ROM),所以將不需要明確的控制電路來加載它們。速率轉換數字化器300借助于M/N內插多相位濾波器304、線性內插器308和抽取 FIR濾波器,對來自于固定采樣率A/D轉換器的數據進行轉換。多相位濾波器、線性內插器 和抽取FIR濾波器的理論和操作是本領域的技術人員所熟知的。例如,參見J. G. Proakis 禾口 D. K. Manolakis 的 Introduction to Digital Signal Processing (1992 年第二版)第 十章,其全部內容以引用的方式并入本文。當提供有超前流水線302時,超前流水線302適應大于一的內插因子值。在一些 實施例中,超前流水線302簡單地將一個或多個額外采樣存儲在多相位濾波器輸入延遲線 中,并因此在必要時提供通過一個或多個采樣查看“未來”的選項。內插因子的整數部分驅 動復用器來選擇合適的數據集。可以用以下方式實施線性內插器,即通過確定(例如計算)當前多相位濾波器輸 出以及用于未來的一個系數集的輸出,然后計算以高內插因子來賦權的這兩個值的平均 數。為了節約乘法器資源,如圖所示,可以將該功能實施為增量濾波器306。在該實施中,系 數集之間的差是預先計算出的,由此可以用較小的乘法器而不是全尺寸乘法器處理的較小的差。在一些實施例中,輸入模擬信號首先由模擬抗混濾波器(未顯示)加以頻帶限制。 對于模擬濾波阻帶的設計限制是在最高抽取FIR阻帶以下,基本不會出現A/D混疊信號。在 該實例中,頻率將完全是A/D那奎斯特。在圖9中說明了速率轉換源配置340。源配置指采樣轉換,在其中速率轉換源300獲取Fusct速率的用戶數據,并以調制源或轉換器速率來產生數據。源重采樣器的原理和實 施與速率轉換數字化器300 (圖8)相類似,但有以下三個主要區別。第一,濾波器分支的數 量可能不同;濾波器系數值可能不同;以及重采樣器輸出頻率可以是DSP時鐘速率的整數 約數(例如,Fdsp = NFkJ的事實。因為內插因子ρ是小于1的正值,即0彡ρ <1,所以最 后一個區別簡化了速率轉換源結構。在示例性實施例中,接收數字值i_USer_data [23:0],指示速率Fusct的用戶數據。 如所示,可以在超前流水線342中接收用戶數據。源配置340還包括多相位濾波器344、增 量濾波器346、線性內插器348和內插因子計算模塊352,類似于以上參照圖8描述的布置。 由于內插因子小于1,因此不必將任何整數部分轉發給超前流水線342。還如以上參照圖8 所描述,將內插因子的上和下比特位分發給濾波器組344、346以及線性內插器348。重采樣 輸出數字信號可在線性內插器348的輸出上獲取,此處稱為o_converter_data[23:0]。在圖10中說明了內插因子計算模塊360的示例性實施例的原理圖。模塊360包括 輸入和輸出累加器362a、362b、三輸入加法器364和除法器366。模塊360接收指示輸入采 樣周期Tksi和輸出采樣周期T·的分離的數字輸入值。這些采樣周期值TKSI、可以分別 存儲在寄存器368a、368b之中。模塊360還接收指示系統(即DSP)時鐘Tdsp的數字輸入。 輸入采樣周期Tksi作為限制輸入到輸入累加器362a。累加器362a根據處理時鐘Tdsp遞增。 輸入累加器362a計算小數輸出FRACksi,將其作為輸出提供給加法器364的第一輸入。類似 地,輸出采樣周期Tksq作為限制輸入到輸出累加器362b。輸出累加器362b也根據處理時鐘 Tdsp遞增。輸出累加器362b計算小數輸出FRACksq,將其作為輸出提供給加法器364的第二 輸入。加法器364的第二輸入以本領域的技術人員所熟知的技術被符號反相,從而從確定 的和中減去FRACksq值。輸入值Tksq輸入到加法器364的第三輸入,因此加法器364的輸出 表示值Tx(圖3)。在一些實施例中,加法器364的輸出被輸入到除法器電路366的第一被 除數端子。輸入值Tksi可以輸入到除法器電路366的第二除數輸入,因而除法器電路的輸 出值,即商,表示內插因子P。圖11是說明累加器400的示例性實施例的示意圖,適用于圖10的累加器362a、 362b。第一累加器400 (362a)接收Tksi作為限制值,接收Tdsp作為遞增值。根據原理圖對輸 入值進行處理,產生值FRACKSI。類似地,第二累加器400 (362a)接收Τ·作為限制值,接收 Tdsp作為遞增值。根據原理圖對輸入值進行處理,產生值FRACksq。表 1 內插因子ρ可以計算到范圍為0至1. 5的21比特位準確性(到二進制點的右邊)。 P計算為 為了免于除法運算,可以預先計算出Tksi的倒數。
(7)在輸入和輸出頻率的范圍覆蓋很大范圍的應用中,如圖13所示,通過對內插因子 進行適當的二進制縮放,可以保持內插因子計算的準確性。在一些實施例中,DSP時鐘和重采樣器輸出頻率(Fdsp = NFeso)之間的整數關系使 內插因子計算得到簡化。對于源,假定OSp < 1,所以不需要超前流水線。在以下示例中,用戶產生以200MHz采樣的40MHz BW信號。用戶數據用0填充,以 得到102GHz (512x 200MHz)的采樣率。200MHz采樣率像點(image)由多相位FIR濾波器來 衰減。信號施加到轉換器,其包含內部四倍(4X)內插濾波器。現在是533MHz采樣率的內 插信號轉換為具有0階保持(sinx/x)的模擬響應。最后,模擬低通濾波器移除轉換器速率 采樣像點。參照圖8所示的采樣率轉換器,線性內插器308將增量濾波器306的輸出乘以線 性內插器因子的下比特位(例如,圖4所示的下比特位218)。示例性14比特位線性內插 因子范圍是W,l)。在示例性實施例中,線性內插器308的輸出向右移位(并且符號擴展) 多個比特位,例如7個比特位。這是對于以下情形來進行補償的,即其中增量濾波器系數在 被存儲到ROM 318b之前,擴大相同量(例如,27倍)。然后,該塊的輸出數據被添加到主多 相位濾波器304的輸出。在一些實施例中,采樣率轉換器包括旁路模式。當設置了旁路模式時,至少旁路包 括多相位和抽取FIR濾波器的采樣率轉換器的基本部分。數據以Fa/d速率進入重采樣器, 然后不做任何重采樣處理,就以相同速率離開重采樣器。該模式使用戶可以選取原始ADC 采樣。如果用戶要在已捕捉到的數據上執行FFT,則該選取將是有益的,用戶將看見達到轉 換器那奎斯特(Fa/d/2)的頻率內容。旁路模式還允許用戶以欠采樣方式使用數據速率轉換 器,假定模擬前端允許該情形。在ADC輸入上比轉換器那奎斯特大的音調被混疊回到DC和 Fa/d/2之間的頻帶。在該點上,處于旁路模式的數據速率轉換器將不對這個已捕捉到的數據 執行任何處理。在一些實施例中,用多循環狀態機實施重采樣器低頻輸入流水線、數據超前、增量 濾波器、線性內插和多相位濾波器。例如,一個多循環狀態機使用一個36x 36比特位的乘 法器,通過該乘法器,可以處理所有的信號。因為要求的輸出數據速率要遠低于FPGA DSP 時鐘速率,因此該硬件效率是可能的。參照圖12,說明了累加器和內插計算器電路600的替代實施例的框圖。相位累加 器600跟蹤實時轉換器時鐘、虛擬用戶時鐘的狀態、以及這些時鐘之間的相對相位。采樣率 轉換器300、340(圖8、圖9)可以使用該狀態和相對相位信息,以在轉換器時鐘和用戶時鐘 域之間轉換用戶信號。重采樣器300、340由有超前302、342的輸入數據流水線,多相位FIR 濾波器304、344和線性內插器308、348(圖8、圖9)組成。源通道上的重采樣器340 (例如, 圖9)以虛擬用戶速率接受數據,并以固定轉換器速率產生輸出數據。捕捉通道上的重采樣器300 (例如,圖8)以固定速率從A/D轉換器接受數據,并以虛擬用戶速率產生輸出數據。累加器可以限定重采樣器輸入數據與DSP時鐘同步。例如,對于每個DSP時鐘可 以限定0、1或2個的輸入數據點。對于每個DSP時鐘可以限定0或1個的輸出數據點。累 加器600還跟蹤實時轉換器時鐘的狀態。例如,累加器600跟蹤每個轉換器時鐘的狀態。 轉換器時鐘復位事件對轉換器時鐘累加器和轉換器時鐘進行復位,從而這兩者同步。該復 位事件還定義^。典型地,在電源循環、或其他災害性事件之后,發生轉換器時鐘復位事件。 相位累加器必須與轉換器時鐘頻率完全匹配。累加器600跟蹤虛擬用戶時鐘的狀態。用戶時鐘可以復位,以對應于時間、。用戶 時鐘的復位對用戶時鐘累加器進行復位,因此可以確保運行定時可重復性的準確運行。在 一般操作中,在自然斷點上,可以發生這類用戶時鐘復位,諸如在測試器應用中的測試序列 的開始處。可以就高分辨率、或其整數小數,來跟蹤用戶時鐘。優選地,用戶時鐘頻率可編 程性基于二進制小數周期。在示例性實施例中,用戶時鐘周期具有至少lOns/244的分辨率, 并且用戶時鐘的范圍是5kHz到400MHz。在一些實施例中,可以添加延時或相位差值Tdeuy。相對數字子系統基準,該延遲或 相位差值可以有效實時偏移模擬波形。有利地,不需要對用戶時鐘或轉換器時鐘進行后續 復位,即可改變該延時值。在一些實施例中,相位差值具有4ns的范圍,并且分辨率至少是 約10ns/232 (即,0. 0023fs)。在一些實施例中,可以將Tdelay的值設置為0,或完全忽略。對 于每個重采樣器輸出數據點,計算重采樣器內插因子,P = (TX+TDELAYY)/TESI(8)其中,Tksi是重采樣器輸入時鐘周期,而Tx是從當前DSP時鐘之前的最近重采樣器 輸入時鐘到當前DSP時鐘循環內的最近重采樣器輸出時鐘之間的時間。對于其中要求就高分辨率值方面跟蹤用戶時鐘的應用中,必需具有以準確的底層 時鐘域操作的準確時間累加器。因此,用戶時鐘將與恒定周期分辨率合成在一起。需要一 種將底層事件轉化到DSP時鐘域的方法。一種這類實施提供了操作于DSP時鐘域的第二組 (準確)相位累加器602,DSP時鐘域在兩個域之間的重合點上同步于底層系統時鐘域。第 二實施將把每三個底層系統時鐘域用戶時鐘狀態直接映射到八個DSP域用戶時鐘狀態。必須從兩個時間累加器的狀態來計算內插因子的復雜性原因在于DSP時鐘、重采 樣器輸入、和重采樣器輸出頻率都不一樣的事實。該情形對以下實施例簡化,在其中重采樣 器輸出時鐘與DSP時鐘相同,或僅是其簡單倍數。底層系統時鐘域用戶時鐘時間累加器的功能是就底層系統時鐘循環(、,根據底 層系統時鐘事件加上在用戶時鐘復位事件的準確系統時鐘相位值來定義)跟蹤用戶時鐘 的狀態。在任何給定的底層系統時鐘事件,對高分辨率的總數進行計數,因為為了可以確定 性地選擇用戶時鐘循環以匹配底層系統時鐘事件,需要知道、。還需要知道與用戶時鐘相 關的時間,以作為到重采樣器內插因子計算的輸入。對于這些需要,實際測量了從、到當 前底層系統時鐘事件的時間。tN = NTref(9)其中,tN是從、到第N個底層系統時鐘事件的時間,N是自、開始的底層系統時 鐘循環的數量,Tref是系統時鐘、底層系統時鐘的周期,即10ns。通過就用戶時鐘周期方面表示tN,小數值FRAC可以確定自最后用戶時鐘的時間
14(與之相對的是剩余,其將是到下一用戶時鐘的時間)。這在數學上可以表示為
(10)其中,FRACusct是從最后用戶時鐘的時間,Tusct是用戶時鐘周期,而 是模運算符。 因為其中每個基準時鐘有多個虛擬時鐘事件的情況,測量從最后用戶時鐘的時間的方法對 于本應用的剩余方法是優選的。在該實例中,需要生成多個剩余值,而從最后用戶時鐘的單 個時鐘(即FRAC)值已足夠。一般而言,從基準時鐘合成的用戶時鐘將是基準時鐘的有理小數,即,
(U)或就時間方面,
A項可以固定,從而可以將TMf示為AT_luti。n,從而組合等式(9)、(10)和(12)給 出
(14)函數M 以硬件形式實施為模B累加器,其中值A = Tref/Tresolution是預先計算 出的,然后在每個底層系統時鐘循環上累加。由于重采樣器操作在系統或DSP時鐘循環上發生,因此底層系統時鐘域時間累加 器值映射到DSP時鐘域。如果不用長期反饋即完成該映射,則引入的任何錯誤不會累加,所 以映射可以是近似的。以下顯示的值是用于重采樣器儀器的示例性時鐘頻率。Frac1user Tresolution (NA'十 5)(15) A' = -^- = ^(digitizer)(17)
^ resolution除了轉換器時鐘累加器是由轉換器時鐘復位事件而不是用戶時鐘復位事件復位 之外,轉換器時鐘時間累加器與用戶時鐘時間累加器相同。轉換器時鐘頻率比用戶時鐘頻 率更受限制,因此低分辨率累加器將是可接受的。其中重采樣器輸出時鐘與DSP時鐘相一致的實例被認為是在DSP時鐘“之后”發 生虛擬重采樣器時鐘,得到FRAC值總是大于0的結果。在示例性實施例中,用戶時鐘范圍要求是340MHz下至5kHz。因此,用戶時鐘時間 累加器必須可以計數 因此,需要14比特位來覆蓋該范圍。在一些實施例中,用戶時鐘基于周期的整數增量。一般說來,將不能實現模擬和數 字時鐘之間的一致性,然而,對于我們的應用在可以足夠接近。關心的區域是(I)FFT輸出將具有“泄漏”,因此得到錯誤結果,以及(2)在模擬和數字信號之間,隨時間將有緩慢的相 位漂移。頻率準確性對于正弦波信噪比的影響,如矩形窗口 FFT分析所測量的,是近似已 知的。例如參見以整體引用的方式并入本文的“When ‘Almost,is Good Enough :a Fresh Look at DSP Clock Rates, "Rosenfiled and Max,International Test Conference,1988。 其中,T是已捕捉并已分析的信號的持續時間,O1是實際正弦波頻率,而ω2是理 想的正弦波頻率,其可以表示為 其中,M是分析的正弦波循環的數量,e是相對頻率誤差。使用指示相關性好于0. IdB的仿真軟件應用來進行測試。對于那奎斯特頻率,大 約有一半的噪聲功率集中在M-I比特位數(bin)中,因此有SNR+3dB的SFDR限制。在大 FFT (考慮到64k的實際限制)和低噪聲儀器的情況下,由于非相干時鐘的SFDR限制將好于 160dB。 要求10ns/244 (5. 6E-22秒)的用尸時鐘分辨率來實現157dB S^ 秒用戶時鐘周期分辨率要求,相位漂移的最差實例將是 或6. 8ps/分鐘;400ps/小時。P的范圍從極端值其影響因素獲取。忽略Tdeuy,最小的ρ值來自 FRAC值范圍從(0,T],因此pMIN約為O。ρ的最大值來自于Tx的最大值并且由此 來自于FRAClis。的最小值。艮P, FRACeso的最小值出現在重采樣器輸出時鐘在DSP時鐘前即刻發生時,那么FRACKSQ —TesO-Tdspο 因此, 注意,對于以下顯示的特別實例,其中T· = KTDSP,K是整數,并且其中重采樣器輸 入時鐘Tkm和DSP時鐘Tdsp在相位上對準,FRACeso總是等于T·。在該實例中
(28)內插因子P表示重采樣器輸出時鐘對重采樣器輸入時鐘的相對相位。重采樣器通 過應用全通多相位子濾波器中的兩個(用遞增延遲值支持(bracketing)理想相對相位) 然后在兩個結果之間線性內插來內插輸出值。已知該重采樣器的SNR為
(29)在其中,Ifilto是多相位子濾波器的數量,而ωχ是相對帶寬,即2jiBWusct/ FKI。 例如,參見 J. G. Proakis 禾口 D. K. Manolakis 的 Introduction to Digital SignalPrOCesSing(1992年第二版)中所述。另外,線性內插本身實際上是具有以下SNR的 多相位濾波器
(30)任何自動測試設備、儀器或通信系統將從本發明獲益,因為本發明導致了波形數 字化器、任意波形發生器、調制和解調制系統的設計和實施的簡化。盡管本文已經公開和具體描述了本發明的優選實施例和多個替代實施例,但是對 于本領域的技術人員來說很明顯,在不偏離本發明的精神和范圍的前提下,可以對形式和 細節做多種修改。請注意,本文說明的示例不應以任何形式被解釋為對本發明的精神和范圍的限 制。在此處顯示的具體示例和實施僅是為了說明。而且,盡管在優選實施例中,當為了執行 采樣率轉換進行修改時,濾波器中的狀態數量可以保持不變,但是在替代實施例中,在不偏 離本發明的精神和范圍的前提下,可以增加其他狀態。
權利要求
一種用于對采樣的數據進行速率轉換的方法,包括接收根據輸入采樣時鐘采樣的輸入數據;接收值,所述值指示輸出采樣時鐘與所述輸入采樣時鐘相差非整數值;確定所述輸入和輸出采樣時鐘各自與處理器時鐘之間的各自關系,其中所述輸入和輸出采樣時鐘各自獨立于所述處理器時鐘;確定內插因子,所述內插因子為所述輸入采樣時鐘、所述輸出采樣時鐘以及在所述輸入和輸出采樣時鐘各自與所述處理器時鐘之間的所確定關系的函數;并且生成輸出數據,所述輸出數據為所述輸入數據和所述內插因子的函數,其中所述輸出數據對應于根據所述輸出采樣時鐘采樣的輸入數據,從而將所述輸入數據從所述輸入采樣時鐘速率轉換為所述輸出采樣時鐘。
2.如權利要求1所述的方法,其中確定所述輸入和輸出采樣時鐘各自與所述處理器時 鐘之間的各自關系的步驟包括確定指示所述輸入采樣時鐘和所述處理器時鐘之間延遲的輸入相位值;并且 確定指示所述輸出采樣時鐘和所述處理器時鐘之間延遲的輸出相位值。
3.如權利要求2所述的方法,其中確定輸入相位值和確定輸出相位值的步驟中的至少 一個包括使用累加器。
4.如權利要求1所述的方法,其中確定所述內插因子的步驟包括確定作為所述輸出相位值和所述輸入相位值之間的差的量,并且從所述輸出采樣時鐘 的周期減去所確定的差;并且所確定的量除以所述輸入采樣時鐘的周期。
5.如權利要求4所述的方法,其中確定所述量的步驟包括 確定所述輸出相位值和所述輸入相位值之間的差;從所述輸出采樣時鐘的周期減去所述輸出相位值和所述輸入相位值之間的差;并且 將相減后的結果加上延遲值,其中輸出采樣數據以與所述延遲值成比例的時間延遲。
6.如權利要求5所述的方法,其中所述延遲值是可選擇的。
7.如權利要求1所述的方法,進一步包括將輸入采樣數據的一個以上的順序集存儲 在分支延遲線路上,輸入采樣數據的每個集與各自的分支相關聯,通過各自的分支可達到 數據的不同順序集。
8.如權利要求1所述的方法,進一步包括將所述內插因子的整數部分解釋為輸入數 據超前。
9.如權利要求1所述的方法,進一步包括根據所述內插因子的上小數部分作出多相 位濾波器選擇。
10.如權利要求9所述的方法,進一步包括將所述內插因子的下小數部分解釋為線性 內插縮放因子。
11.如權利要求1所述的方法,其中所述內插因子的確定在所述輸入采樣時鐘、所述輸 出采樣時鐘和所述處理器時鐘的至少一個中的不同采樣期間重復。
12.如權利要求11所述的方法,其中所述內插因子的確定為所述輸出采樣時鐘的每個采樣而重復。
13.一種用于將采樣的數據從第一速率轉換為第二速率的裝置,包括速率轉換器,接收根據輸入采樣時鐘采樣的輸入數據,并被配置為產生指示根據輸出 采樣時鐘采樣的所述輸入數據的輸出數據,所述速率轉換器在獨立于所述輸入采樣時鐘和 所述輸出采樣時鐘的處理時鐘速率上操作;累加器,接收所述處理時鐘,并被配置為監視處理器時鐘的狀態,并確定所述輸入采樣 時鐘和所述輸出采樣時鐘各自與所述處理器時鐘的各自關系;以及與所述累加器和所述速率轉換器通信的內插因子電路,所述內插因子電路接收所述輸 入采樣時鐘和所述輸出采樣時鐘各自對于所述處理器時鐘的各自關系,并被配置為計算至 少具有上小數部分和下小數部分的內插因子,所述內插因子計算為所述輸入采樣時鐘、所 述輸出采樣時鐘和所述處理器時鐘的函數,所述速率轉換器被配置為,以所述內插因子的 函數將所述輸入數據轉換為所述輸出數據。
14.如權利要求13所述的裝置,其中所述累加器包括多個寄存器,所述多個寄存器被 配置為存儲與所述輸入采樣時鐘、所述輸出采樣時鐘以及所述輸入采樣時鐘和所述輸出采 樣時鐘各自對于所述處理器時鐘的各自關系相關的值。
15.如權利要求14所述的裝置,其中所述累加器包括模運算功能。
16.如權利要求13所述的裝置,其中所述速率轉換器包括與所述內插因子電路通信的數字輸入濾波器,所述數字輸入濾波器接收所述內插因子 的上小數部分,并被配置為對根據輸入采樣時鐘采樣的輸入數據進行濾波;與所述數字輸入濾波器和所述內插因子電路通信的線性內插器,所述線性內插器接收 所述內插因子的所述下小數部分;以及與所述線性內插器的輸出通信的低通濾波器,其中以輸入采樣時鐘對輸入進行采樣的 數據被速率轉換為以所述輸出采樣時鐘采樣的對應輸出數據。
17.如權利要求16所述的裝置,進一步包括在接收到的輸入數據和所述數字輸入濾波 器之間的超前緩沖器,所述超前緩沖器還與所述內插因子電路通信,并接收所述內插因子 的整數部分。
18.如權利要求16所述的裝置,其中所述數字輸入濾波器包括多相位濾波器和增量濾 波器。
19.如權利要求13所述的裝置,進一步包括至少一個存儲器塊,被配置為存儲用于所 述數字輸入濾波器的濾波器系數。
20.如權利要求13所述的裝置,進一步包括數字信號處理器,其實施所述速率轉換器、 所述累加器和所述內插因子電路中的至少一個。
21.一種用于將采樣的數據從第一速率轉換為第二速率的裝置,包括 用于接收根據輸入采樣時鐘采樣的輸入數據的裝置;用于接收值的裝置,所述值指示輸出采樣時鐘與所述輸入采樣時鐘相差非整數值; 用于確定所述輸入和輸出采樣時鐘各自與處理器時鐘之間的各自關系的裝置,其中所 述輸入和輸出采樣時鐘各自獨立于所述處理器時鐘;用于內插因子的裝置,所述內插因子為所述輸入采樣時鐘、所述輸出采樣時鐘以及在 所述輸入和輸出采樣時鐘各自與所述處理器時鐘之間的所確定關系的函數;以及用于生成輸出數據的裝置,所述輸出數據為所述輸入數據和所述內插因子的函數,其 中所述輸出數據對應于根據所述輸出采樣時鐘采樣的所述輸入數據,從而將所述輸入數據從所述輸入采樣時鐘速率轉換為所述輸出采樣時鐘。
全文摘要
本發明允許在其中DSP時鐘和數據時鐘之間有復雜關系的實時系統中計算內插因子,即采樣率轉換系統中的關鍵參數。一般說來,在該系統的2個或3個時鐘將具有簡單的關系(諸如CLOCK1=2*CLOCK2)。該關系導致了退化情形,其中實際上僅要考慮一個或兩個時鐘而不是三個。另外,本發明允許輸入數據速率高于DSP時鐘速率。本發明還提供了將要施加于輸出信號的任意時間延遲。
文檔編號H03M3/00GK101911499SQ200880124995
公開日2010年12月8日 申請日期2008年11月14日 優先權日2007年11月16日
發明者丹尼爾·A·羅森塔爾, 科里·A·納扎里安 申請人:泰拉丁公司