一種脈衝信號的直接數字合成裝置及其方法
2023-11-11 20:32:37 1
專利名稱:一種脈衝信號的直接數字合成裝置及其方法
技術領域:
本發明涉及直接數字合成技術領域,尤其是涉及一種脈衝信號的直接數字合成裝置及其方法。
背景技術:
直接數字合成(DDS)技術是目前模擬函數信號合成的主流技術,採用DDS技術的函數信號發生器/任意波形發生器具有信號失真低,頻率調節解析度高和可以仿真任意波形函數等優點,DDS函數信號發生器/任意波形發生器一般包括相位累加器,波形數據存儲器,DA轉換器和抗混迭低通濾波器,其中,相位累加器通過對輸入的相位增量累加產生波形的相位序列,該相位序列在一個合成周期內線性變化;波形數據存儲器將相位累加器產生的相位序列轉換為波形的幅度序列;DA轉換器將波形的幅度序列轉換為模擬的波形信號,由於該模擬信號中存在高頻諧波成分,抗混迭低通濾波器用於濾掉這些高頻諧波成分從而合成波形信號。在現有技術中,DDS函數信號發生器/任意波形發生器主要缺點在於為了降低相位截斷寄生幹擾,它們需要配置一個很大的波形數據存儲器,因此增加了成本;在合成脈衝信號時,由於其相位累加器合成的相位隨時間線性變化,合成的脈衝波形的上升時間,高電平時間,下降時間和低電平時間的比例由波形數據存儲器中的相位-幅度對照表中決定,以上參數不能通過相位增量獨立調節,要單獨改變其中的一個參數必須改變波形數據表,由于波形數據存儲器容量的限制,參數的調節解析度十分有限,且操作數據量大以至於難於實現。採用模擬技術合成可變沿脈衝波形是通過模擬信號處理的方式限制一個方波信號的跳變時間從而達到改變脈衝的上升時間和下降時間的目的,但該方法不能合成任意上升函數和下降函數脈衝波形,合成過程易受到幹擾,並且合成精度、上升時間和下降時間範圍和調節解析度低。
發明內容
本發明的目的在於克服現有技術的缺陷,提供一種脈衝信號的直接數字合成裝置和方法,其合成的脈衝信號具有合成範圍寬,合成精度高,上升時間、高電平時間、下降時間和低電平時間可以獨立調整,調節解析度高的優點。
本發明的脈衝信號直接數字合成裝置包括相位合成器,其用於脈衝的相位數字序列合成;波形存儲器,其用於將脈衝的相位數字序列轉換成脈衝的幅度數字序列;自適應拋物線插值濾波器,其用於對脈衝幅度序列進行插值補償以降低相位-幅度轉換的誤差,並生成新的脈衝的幅度數字序列;DA變換器,其用於將脈衝的幅度數字序列轉換為模擬信號;抗混迭低通濾波器,其用於將DA變換器輸出的模擬信號中的高頻幹擾濾掉,並重建模擬脈衝信號,上述各部分的連接關係為相位合成器輸出的高若干位相位信號連接到波形存儲器,次高若干位相位信號和波形存儲器的輸出連接到自適應拋物線插值濾波器,其它信號依次相連。
本發明所述的相位合成器有以下數據輸入上升過程相位增量(SRP);下降過程相位增量(SFP);高電平過程整數時間(THPI);低電平過程整數時間(TLPI);上升與高電平過程小數時間(TRHPR);下降與低電平過程小數時間(TFLPR),相位合成器的輸出為相位PH,其合成過程分為上升過程合成、高電平過程合成、下降過程合成和低電平過程合成4個步驟。
在上升過程合成階段,相位PH從一個上升過程初始相位PH0R開始,每個採樣周期增加SRP,直到相位第一次增加到[90°,180°)區間內。因此上升過程合成階段產生的相位序列為
PH0R,PH0R+SRP,PH0R+2SRP......PH0R+nR*SRP;在高電平過程合成階段,經過THPI或者THPI+1個採樣周期,相位PH保持不變(PH0R+nR*SRP)。
在下降過程合成階段,相位PH直接被賦值到下降過程初始相位PH0F。此後,每個採樣周期增加SFP,直到相位第一次增加到[270°,360°)區間內。因此下降過程合成階段產生的相位序列為PH0F,PH0F+SFP,PH0F+2SFP......PH0F+nF*SFP;在低電平過程合成階段,需要經過TLPI或者TLPI+1個採樣周期,此期間,相位PH保持不變(PH0F+nF*SFP)。
上述的上升過程和下降過程合成階段,如果其函數的初始相位恰好在時鐘的採樣點上,那末上升過程到下降過程的起始時間(tRP+tHP)或下降過程到上升過程起始時間(tFP+tLP)的調節解析度就是採樣周期Tc;如果一個上升過程在時鐘的採樣點後tRM(0≤tRM<Tc)開始,用一個R位二進位數TRM表示為TRM=int(2RtRMTc+12)---(1)]]>TRM表示了小於採樣周期Tc的時間,所以我們稱為小數時間,由於上升過程每一個採樣周期相位增量為SRP,下一個時鐘的採樣點採樣到的第一個上升過程點的相位為PHOR=(1-TRM2R)SRP---(2)]]>換言之,如果上升過程的第一個相位採樣點為PH0R,就等效於該採樣點之前tRM秒開始的上升過程。這樣,就把時間調節解析度提高了2R倍。
類似地,如果一個下降過程的起始點的小數時間為TRM,下一個時鐘的採樣點採樣到的第一個上升過程點的相位為
對於一個脈衝序列,如果第一個上升過程的小數時間為0,從上升過程開始到下降過程開始小數時間是定值TRHPR,從下降過程開始到上升過程開始小數時間是定值TFLPR.通過分別對TRHPR和TFLPR的累加就可以獲得各個周期的上升過程開始和下降過程開始的小數時間第一個上升過程開始的小數時間0;第一個下降過程開始的小數時間TRHPR;第二個上升過程開始的小數時間TRHPR+TFLPR;第二個下降過程開始的小數時間TRHPR+TFLPR+TRHPR;……。
分別利用式(2),(3),就可以分別得到上升過程和下降過程的初始相位序列第一個上升過程的初始相位PH0R0=SRP;第一個下降過程的初始相位 第二個上升過程的初始相位PHOR2=(1-TRHPR+TFLPR2R)SRP;]]>第二個下降過程的初始相位 ……。
在小數時間的累加過程中,如果在某個上升過程開始的小數時間累加結果出現溢出,就說明這個上升過程的第一個相位點要在比TFPI多一個採樣周期後開始,因此需要將本次上升過程前的高電平時間計數加1;同樣,如果某個下降過程開始的小數時間累加結果出現溢出,就需要將本次下降過程前的低電平時間計數加1.
根據以上分析我們可以得到以下的合成脈衝波形參數在上升過程相位合成過程中,相位合成器產生了一個線性增加的相位序列,如果相位合成器中的相位累加器為P+3位,完成上升過程共需要相位序列增加2P+1個相位點,每次相位累加的時間為Tc,因此合成的上升過程時間為tRP=2P+1SRPTc---(4)]]>同樣下降過程時間為tFP=2P+1SFPTc---(5)]]>因此,高電平過程時間和低電平過程時間分別為tHP=Tc(THPI+TRHPR2R-frac(2P+1SRP))---(6)]]>tLP=Tc(TLPI+TFLPR2R-frac(2P+1SFP))---(7)]]>其中,frac(x)函數為x取小數;對於需要合成的脈衝波形參數tRP、tHP、tFP和tLP根據式(4)(5)(6)和(7)計算出相應的相位合成器的控制參數。
從式(4)(5)(6)和(7)中不難分析,採用該方法合成的脈衝波形的參數tRP、tHP、tFP和tLP的具有非常高的設置解析度。
為了提高合成脈衝的上升、下降時間解析度,需要提高相位合成器相位輸出PH的位數P+3,因為波形數據存儲器的容量限制,必須忽略掉PH的低若干位,因而帶來了相位截斷誤差。
一般,如果系統的垂直解析度(DA的解析度)為D-1,為了將相位截斷誤差產生的寄生幹擾降低到合理的水平,存儲一個周期的正弦波的需要2D+1(D-1)(位)存儲空間,對於複雜的波形則需要非常大的存儲空間,不但增加了系統的成本,而且由於巨大的波形存儲器影響了系統的速度。
本發明所述的波形存儲器存儲了一個周期的波形數據表,表中的每一個數據的數值線性地表示一個相位點的波形電壓,這裡使用無符號數表示該電壓,一般採用5表示脈衝的最低電壓,2D-5表示脈衝的最高電壓。在波形存儲器中保存了2M個相位點的波形數據,其中上升過程函數表存放於地址0~(2M-2-1);高電平過程函數表存放於地址2M-2~(2M-1-1);下降過程函數表存放於地址2M-1~(3/4*2M-2-1);低電平過程函數表存放於地址(3/4*2M-2)~(2M-1)。波形存儲器可以根據輸入的M位讀出地址RADD同時讀出地址為RADD-1,RADD,RADD+1和RADD+2的4個數據Y-1、Y0、Y1和Y2。一般,相位合成器輸出相位PH的高M位作為讀地址RADD輸入到波形存儲器,即RADD=PH[D+2,D+3-M]。由於RADD在上升過程、高電平過程、下降過程和低電平過程的值分別對應波形存儲器相應的波形函數存儲區,波形存儲器將RADD變換為4個波形的幅度序列Y-1、Y0、Y1和Y2。
由于波形存儲器忽略了相位合成器輸出相位PH的低D+3-M位,產生了相位截斷誤差,因此,本發明所述的自適應拋物線插值濾波器APIF根據Y-1、Y0、Y1,Y2和餘下的部分相位信號U=PH[D+2-M:D+3-M-N]進行如式12所示的插值運算以降低誤差,其基本思想是在波形存儲器中保存比較少的相位數據點,數據點之間的數據通過拋物線插值近似,由於插值區間可以很小,所以降低了相位截斷誤差,另外,較小的插值誤差並不對系統造成影響,這樣在保證波形質量的情況下,降低了波形存儲器容量。
自適應拋物線插值濾波器根據波形存儲器輸出的4個相鄰地址的波形數據自動選擇使用牛頓第一拋物線插值公式,牛頓第二拋物線插值公式或貝塞爾拋物線插值公式計算插值數據,若有4個等間距數據節點(y-1,x-1),(y0,x0),(y1,x1)和(y2,x2),其中xn=x0+n*h,yn=y(xn),n=-1,0,1,2;h為節點間距,對於給定一個任意連續函數的在區間[x0,x1]內的一個點x的數據y(x)可以通過以下三種公式近似計算牛頓第一拋物線插值公式N1(x)=y0+u[(y1-y0)+(u-1)(y-1-2y0+y1)2]---(8)]]>牛頓第二拋物線插值公式N2(x)=y0+u[(y1-y0)+(u-1)(y0-2y1+y2)2]---(9)]]>或貝塞爾拋物線插值公式B(x)=y0+u[(y1-y0)+(u-1)(y-1-y0-y1+y2)4]---(10)]]>其中u=(x-x0)/h,可以通過數學分析得知,對於一個周期的單位幅度的正弦函數,如果等間距選取其中N個數據節點,在各節點區間內,分別利用以上三個公式進行插值近似,牛頓第一拋物線插值公式和牛頓第二拋物線插值公式的最大插值誤差均約為 貝塞爾拋物線插值公式的最大插值誤差約為 可見,貝塞爾拋物線插值可以比牛頓第一和第二拋物線插值誤差更小。
對於存在奇異點(該點一階導數或二階導數不存在)的波形函數,三種插值算法都會在奇異點附近產生了很大的誤差。其原因在於,三種算法的插值誤差均與函數在取值區間內的某一點的三次微分成正比,因此誤差較大。
如果數據點取值間隔足夠小,那麼在兩個相鄰的數據點中,僅有一個可能是不可微點,且由於不可微點的左導數與右導數是不同的,我們可以認為不可微數據點的二次差分與下一數據點的二次差分的差的絕對值比可微數據點的要大。也就是說對於一定的數據點取值間隔,如果判據函數crit=|12(y-1-2y0+y1)|-|12(y0-2y1-y2)|---(11)]]>當crit>δ(δ為一個與波形函數和數據點取值間隔有關的正數)則可以認為y0是不可微數據點;如果crit<-δ,則可以認為y1是不可微數據點。如果|crit|≤δ,則可以認為y0和y1都是可微數據點。
一般而言,如果點(x1,y1)為不可微數據點,在對區間(x0,x1)進行插值計算時,使用y0,y1,y2三點的數據進行插值計算(牛頓第一拋物線插值),由於區間內包含有不可微點而產生較大插值誤差。但如果使用y-1,y0,y1三點的數據進行插值計算(牛頓第二拋物線插值),則不會產生更大的插值誤差。同樣,如果點(x0,y0)為不可微數據點,在對區間(x0,x1)進行插值計算時,使用y0,y1,y2三點的數據進行插值計算(牛頓第一拋物線插值),不會產生更大的插值誤差。
如果在插值區間附近不包含有奇異點,使用貝塞耳插值公式可以獲得較小的誤差。
根據以上討論可以將算法歸納如下y=y0+u[(y1-y0)+(u-1)(y-1-2y0+y1)2]crit>y0+u[(y1-y0)+(u-1)y0-2y1+y22]crit-y0+u[(y1-y0)+(u-1)(y-1-y0-y1+y2)4]|crit|---(12)]]>該算法稱之為自適應拋物線濾波(APIF)算法。
我們在使用APIF時要根據波形函數選擇δ對於處處可微的波形函數,我們可以選擇較大的δ,此時,APIF僅使用貝塞耳插值公式進行計算,此時插值誤差最小;對於存在奇異點的波形函數,通常判據函數crit的絕對值在奇異點附近比非奇異點處大很多倍,我們很容易選擇適當的δ,使APIF能夠分辨含奇異點的區間並正確選擇適當的算法,將插值誤差降到最小。因此APIF可以根據波形的實際情況自動優化選擇3種不同的拋物線插值算法,對任意波形具有非常好的適應性。
為了方便算法的硬體實現,用D位無符號數Y-1,Y0,Y1,Y2分別表示y-1,y0,y1,y2;用N位無符號數U=2N.u代替u,用TH代替δ,在計算過程中,略掉部分對計算精度影響較小的小數,輸出Y為D-1位。則式(12)變為Y=int[Y02+[U2N+1[(Y1-Y0)-int[(2N-U)K2N+1]]+12]]---(13)]]>其中int為取整函數;K=KA|KA|-|KB|>THKB|KA|-|KB|-THKC||KA|-|KB||TH]]>KA=Y-1-2·Y0+Y1KB=Y0-2·Y1+Y2KC=int(Y-1-Y0-Y1+Y22+12)---(14)]]>本發明所述的DA變換器為D-1位數字-模擬變換器,主要是將APIF輸出的波形幅度序列變為模擬信號。
本發明所述的抗混迭濾波器為線性相位低通濾波器,一般截止頻率為採樣時鐘頻率的1/4,由於DA變換器輸出的模擬信號中包含有高頻諧波成份,抗混迭濾波器可以將這些頻諧波成份濾掉,重建完整的脈衝波形。
本發明的脈衝信號的直接數字合成裝置及其方法能夠在保證系統性能的情況下,大幅度降低波形數據表的容量需求、降低系統的成本,並且合成的脈衝信號具有合成範圍寬,合成精度高,上升時間、高電平時間、下降時間和低電平時間可以獨立調整,調節解析度高的優點。
下面參照附圖和具體實施方式
對本發明的脈衝信號的直接數字合成裝置及其方法作進一步詳細說明。
圖1是本發明的直接數字合成裝置的內部連接結構示意圖;圖2是本發明的相位合成器的電路結構圖;圖3是本發明的相位合成工作過程示意圖;圖4是本發明的波形存儲器的電路結構圖;圖5是本發明的自適應拋物線插值濾波器的電路結構圖;圖6是本發明的自適應拋物線插值濾波器的算法選擇器的結構圖;具體實施方式
圖1所示的脈衝信號的直接數字合成裝置包括相位合成器,其用於脈衝的相位數字序列合成;波形存儲器,其用於將脈衝的相位數字序列轉換成脈衝的幅度數字序列;自適應拋物線插值濾波器,其用於對脈衝幅度序列進行插值補償以降低相位-幅度轉換的誤差,並生成新的脈衝的幅度數字序列;DA變換器,其用於將脈衝的幅度數字序列轉換為模擬信號;抗混迭低通濾波器,其用於將DA變換器輸出的模擬信號中的高頻幹擾濾掉,重建模擬脈衝信號。
如圖2所示,本發明的相位合成器有以下輸入參數上升過程相位增量SRP,P位無符號數;下降過程相位增量SFP,P位無符號數;高電平過程整數時間THPI,W位無符號數;低電平過程整數時間TLPI,W位無符號數;下降和低電平過程小數時間TFLPR,R位無符號數;上升和高電平過程小數時間TRHPR,R位無符號數;禁止控制信號INH(INH有效時,相位合成器被復位)。這些輸入參數來自於外部的微控制器(MCU,圖中未畫出)的可編程埠,作為合成脈衝的控制參數;採樣時鐘CLOCK,該信號由時鐘振蕩器(圖中未畫出)產生。
所述的相位合成器按功能可以分為以下幾個部分①小數時間累加器與小數時間-相位變換電路,該部分包括多路選擇器MUX2,MUX3,小數時間累加器TRACC和小數時間-相位變換器TRTPC。MUX2是一個R位二選一選擇器,它的兩個數據輸入分別連接到TFLPR和TRHPR,MUX2的選擇控制連接到PMSEL2,MUX2的輸出為MUX2O。MUX2的功能為當PMSEL2=「0」時,MUX2O=TFLPR;當PMSEL2=「1」時,MUX2O=TRHPR。MUX3是一個P位二選一選擇器,它的兩個數據輸入分別連接到SRP和SFP,MUX3的選擇控制連接到PMSEL2,MUX3的輸出為MUX3O。MUX3的功能為當PMSEL2=「0」時,MUX3O=SFP;當PMSEL2=「1」時,MUX3O=SRP。TRACC是一個R位可預置累加器,其累加輸入連接到MUX2O,預置數據PD連接到TFLPR,預置控制PE連接到RESET,時鐘CK連接到CLOCK,累加允許CE連接到PACCPE,TRACC的累加輸出為R位的TRM,累加進位輸出為TRMCY。TRACC的功能為當PE=「1」,數據PD被直接寫入累加器,TRM=PD,TRMCY=「0」;當PE=「0」,CE=「1」,每一個時鐘的上升沿輸入數據MUX2O被累加一次,TRM增加MUX2O,如果有累加進位,TRMCY=「1」。小數時間-相位變換器是由無符號減法器SUB1和無符號乘法器MUL1構成。SUB1的被減數為R+1位常數2R,減數(R位)連接到TRM,輸出為SUB1O;MUL1的兩個乘數分別連接到R位的SUB1O和P位的MUX3O,MUL1的輸出為R+P位數據,其中的低R位被忽略掉而高P位作為PH0的低P位PH[P-1,0]輸出。小數時間-相位變換器完成的運算為PH0=(1-TRM/2R)*MUX3O。
②高電平/低電平計時電路,該部分包括多路選擇器MUX4,加法器ADD1,計時器TMR,觸發器DFF2和門G1。MUX4是一個W位二選一選擇器,它的兩個數據輸入分別連接到THPI和TLPI,MUX3的選擇控制連接到PMSEL2,MUX4的輸出為MUX4O。MUX4的功能為當PMSEL2=「0」時,MUX2O=THPI;當PMSEL2=「1」時,MUX2O=TLPI。ADD1為無符號數加法器,它的兩個加數分別連接到W位的MUX4O和1位的TRMCY,輸出為W位的ADD1O。ADD1完成的運算功能是ADD1O=MUX4O+TRMCY。TMR是一個W位可預置減法計數器。它的預置數據PD連接到ADD1O,清零輸入CLEAR連接到RESET,預置控制PE連接到TMRSET,計數禁止C_INH連接到LAST_COUNT,時鐘輸入CK連接到CLOCK,TMR的輸出為LAST-COUNT。TMR的功能是計數結果為零時,LAST_COUNT=「1」,計數結果不為零時LAST_COUNT=「0」;當CLEAR=「1」,內部計數結果清零;當CLEAR=「0」,PE=「1」,時鐘上升沿時,數據PD被直接寫入計數器;當CLEAR=「0」,PE=「0」,內部計數結果不為零時,每個時鐘上升沿,內部計數結果減1,當計數到零時,LAST_COUNT=「1」,由於LAST COUNT被連接到C_INH,每次置位後,減計數到0便停止計數。DFF2是一個1位D觸發器,它的數據輸入D連接到LAST_COUNT,復位輸入R連接到RESET,時鐘輸入CK連接到CLOCK,反向輸出Q連接到二輸入與門G1的一個輸入端,G1的另一個輸入端連接到LAST_COUNT,G1的輸出為PACCPE。DDF2和G1的功能是,LAST_COUNT出現一個「0」到「1」的跳變時,PACCPE產生一個CLOCK周期的高電平脈衝。
③相位累加器,其由多路選擇器MUX1和累加器PACC構成。MUX1是一個P位二選一選擇器,它的兩個數據輸入分別連接到SRP和SFP,MUX1的選擇控制連接到PMSEL1,MUX4的輸出為MUX1O,當PMSEL1=「0」時,MUX2O=SRP;當PMSEL1=「1」時,MUX2O=SFP。PACC是一個P+3位可預置累加器,其累加輸入的低P位連接到MUX1O、高3位為0;預置數據PD為PH0,PH0的低P位來自MUL1的高P位輸出,第P和P+1位PH0[P+1,P]=「00」,最高位PH0(P+2)來自G4的輸出;預置控制PE連接到PACCPE;時鐘CK連接到CLOCK;累加允許CE連接到PACCCE;清零輸入CLEAR連接到RESET;PACC累加輸出為P+3位相位輸出PH。PACC的功能是當CLEAR=「1」時,累加器輸出清零;當CLEAR=「0」,PE=「1」,CK上升時,PD被寫入累加器;當CLEAR=「0」,PE=「0」,CE=「1」,CK上升時,對數據MUX1O累加。
④控制邏輯,其由觸發器DFF1,DFF3和邏輯門G2,G3,G4,G5,G6構成。DFF1是一個1位D觸發器,它的數據輸入D連接到INH輸入,時鐘輸入CK連接到CLOCK,輸出Q為內部復位信號RESET。DFF3是一個1位D觸發器,它的數據輸入D連接到PH(P+1),復位輸入R連接到RESET,時鐘輸入CK連接到CLOCK,反向輸出Q連接到二輸入與門G2的一個輸入端;G2的另一個輸入端連接到PH(P+1),G2的輸出為TMRSET。DDF3和G2的功能是,PH(P+1)出現一個「0」到「1」的跳變時,TMRSET產生一個CLOCK周期的高電平脈衝。G3是一個反向器,它的輸入連接到PH(P+1),輸出為PACCCE;G4是一個反向器,它的輸入連接到PH(P+2),輸出為PH0(P+2);G5是一個同相緩衝器,它的輸入連接到PH(P+2),輸出為PMSEL2;G6是一個二輸入異或門,它的兩個輸入分別連接到PH(P+1)和PH(P+2),輸出為PMSEL1。
圖3為本發明的相位合成過程示意圖,其包括4個步驟在脈衝上升過合程成階段,相位從一個初始值開始線性增加;在高電平過程合成階段,在一定時間內相位保持不變;在脈衝下降過程合成階段,相位從一個初始值開始線性增加;在低電平過程合成階段,在一定時間內相位保持不變,並且在合成過程中,脈衝的上升過程的初始相位和下降過程的初始相位經由小數時間-相位變換計算產生,用於提高脈衝參數的設置解析度,以下作詳細描述①復位,系統上電產生上電復位信號或DDPS被禁止時INH有效,該信號經過DFF1與採樣時鐘同步產生復位信號RESET有效,系統進入復位狀態在RESET有效後,PACC,TMR,DFF2,DFF3被清零,因此PH=0,PMSEL1=「0」,PMSEL2=「0」,PACCPE=「0」,PACCCE=「1」,TMRPE=「0」,LAST_COUNT=「1」;MUX1O=SRP,MUX2O=TFLPR,MUX3O=SFP,MUX4O=THPI,小數時間累加器被置位,TRM=TFLR,INH無效後,第一個時鐘上升沿來到時(B時刻),復位完畢,開始合成第一個上升過程。
②上升過程相位合成(B時刻),LAST_COUNT輸出有效,TMR保持禁止狀態;小數時間-相位變換器計算出下面的下降過程的初始相位PH0F=(1-TRM)*SFP,相位累加器處於累加狀態,在每一個採樣時鐘到時,對SRP進行一次累加,如果相位累加器的初始相位為PH0R(復位後第一次進入上升過程合成時PH0R=0)產生相位數出PH序列PH0R,PH0R+SRP,PH0R+2SRP,PH0R+3SRP……直到PH(P+1)變為「1」(C時刻)則完成了上升過程的相位合成。
③高電平過程相位合成(C時刻),進入高電平過程合成狀態PH(P+2)=0,PH(P+1)=1所以,PMSEL1=1,MUX1O=SFP;PH(P+1)=「1」,PACCE=「0」,相位累加器被禁止累加.由於此過程中相位PH在[90°,180°)之內,波形表的輸出一直為高電平。由於PH(P+1)產生了「0」→「1」的跳變,TMRPE=「1」,在D時刻,時鐘上升,TMR被預置為THPI+TRM_CY,因此,LAST_COUNT變為「0」,此後,每一個時鐘上升沿,TMR做一次減計數,當TMR減計數到最後一個計數時(E時刻),LAST_COUNT輸出有效,TMR被禁止,高電平過程合成結束,LAST_COUNT產生了「0」→「1」的跳變,PACCPE=「1」,在E時刻,時鐘上升,PACC被置位到PH=PH0,PH0的低P位為上升過程中TRTPC的計算結果,由於PH(P+1)變為「0」,PACE=「1」,PACC進入累加狀態.因此進入下降過程合成。
④下降過程相位合成(E時刻),LAST_COUNT輸出有效,TMR保持禁止狀態;TRTPC計算出下面的上升過程的初始相位PH0R=(1-TRM)*SRP,相位累加器處於累加狀態,在每一個採樣時鐘到時,對SFP進行一次累加,如果相位累加器的初始相位為PH0R(復位後第一次進入上升過程合成時PH0R=0)產生相位數出PH序列PH0F,PH0F+SFP,PH0F+2SFP,PH0F+3SFP……直到PH(P+1)變為「1」(G時刻)則完成了上升過程的相位合成。
⑤低電平過程相位合成(G時刻),進入低電平過程合成狀態PH(P+2)=「1」,PH(P+1)=「1」所以,PMSEL1=0,MUX1O=SRP;PH(P+1)=「1」,PACCE=0,相位累加器被禁止累加.由於此過程中,PH在[270°,360°]之內,波形表的輸出一直為高電平。由於PH(P+1)產生了「0」→「1」的跳變,TMRPE=「1」,在H時刻,時鐘上升,TMR被置位,TLPI+TRM_CY,LAST_COUNT=「0」,此後,每一個時鐘上升沿,TMR做一次減計數;當TMR減計數到最後一個計數時(I時刻),LAST_COUNT輸出有效,TMR被禁止,低電平過程合成結束;LAST_COUNT產生了「0」→「1」的跳變,PACCPE=「1」.在J時刻,時鐘上升,PACC被置位到PH=PH0,PH0的低P位為下降過程中TRTPC的計算結果;由於PH(P+1)變為0,PACCE=「1」,PACC進入累加狀態.因此進入上升過程合成,這樣,不斷重複上升過程合成,高電平過程合成,下降過程合成和低電平過程合成4個階段,從而在相位輸出PH產生了完整的相位序列。
圖4所示的波形存儲器由加法器ADD2,ADD3,減法器SUB2和隨機存儲器MEM1構成。該波形存儲器的輸入包括M位的讀地址RADD,它連接到相位合成器的高M位相位輸出PH[P+2,P+3-M];M位的寫地址WADD,D位的寫數據WD和寫允許WE連接到外部的微控制器(MCU,圖中未畫出)的總線上,用於MCU對波形數據編程。波形存儲器的輸出包括四個D位的讀數據Y-1,Y0,Y1和Y2。ADD2是一個M位加法器,無進位輸出。它的一個加數輸入為RADD,另一個加數為常數2;輸出連接到MEM1的RADDA;ADD3是一個M位加法器,無進位輸出。它的一個加數輸入為RADD,另一個加數為常數1;輸出連接到MEM1的RADDB;SUB2是一個M位減法器,無借位輸出。它的被減數輸入為RADD,減數為為常數1;輸出連接到MEM1的RADDD;MEM1是一個帶有四讀埠,一寫埠的2M*D位隨機存儲器,作為讀出電路,其能夠同時讀出4個相鄰地址的波形數據,它的四個讀地址輸入為RADDA,RADDB,RADDC和RADDD,它們依次被連接到ADD2的輸出,ADD3的輸出,RADD和SUB2的輸出;寫地址輸入WADD,寫數據WD和寫允許WE連接到外部的微控制器(MCU,圖中未畫出)的總線上,用於MCU對波形數據編程;MEM1的四個讀數據輸出DOD,DOB,DOB和DOA作為波形存儲器的輸出Y-1,Y0,Y1和Y2。
圖5所示的自適應拋物線插值濾波器APIF的輸入包括四個D位的讀數據Y-1,Y0,Y1和Y2,它們來自于波形存儲器;N位的插值相位U,它來自於相位合成器的相位輸出PH的N位PH[P+2-M:P+3-M-N];D位的算法判斷閾值數據TH,它們來自於外部的微控制器(MCU,圖中未畫出)的可編程埠,作為合成脈衝的控制參數;輸出為D-1位無符號數Y。減法器SUB3,SUB4和SUB5是D位減法器,被減數輸入A和減數輸入B均為D位無符號數;輸出(A-B)為D+1位有符號數。它們的輸入A依次連接到Y2,Y1和Y0,輸入B依次連接到Y1,Y0和Y-1;減法器SUB6和SUB7是D+1位減法器,被減數輸入A和減數輸入B均為D+1位有符號數;輸出(A-B)為D+2位有符號數。它們的輸入A依次連接到SUB3和SUB4的輸出,輸入B依次連接到SUB4和SUB5的輸出;ADD4是一個D+2位加法器,加數輸入A和B為D+2位有符號數,分別連接到SUB6和SUB7的輸出;進位輸入為CY,固定為高電平「1」;輸出(A+B+CY)為D+3位有符號數。ASL為算法選擇器,其內部結構見圖6,ASL的輸入A,B和C分別連接SUB6的輸出,SUB7的輸出和ADD4輸出的高D+2位;TH輸入連接到外部的微控制器(MCU,圖中未畫出)的可編程埠,AS1,AS2和AS3是D+1位加/減法器,輸入A,B均為D+1位無符號數;AS輸入為加/減運算選擇控制當AS=「0」時,做加法運算,AS=「1」時,做減法運算;輸出(A±B)為D+1位。它們的輸入A為均常數0;輸入B依次為KA[D:0],KB[D:0]和KP[D:0];輸入AS依次為KA(D+1),KB(D+1)和KP(D+1);SUB8是D+1位減法器,被減數A和減數B均為D+1位無符號數,輸出為D+2位有符號數KP;CMP1是一個D位比較器。CMP1的輸入A,B均為D位無符號數,分別連接到TH和AS3的高D位輸出;輸出為(A≥B),當A≥B時,(A≥B)=「1」。MUX1是一個D+2位三選一多路選擇器,當選擇信號S1=「0」且S0=「0」時,輸出O=A;當S1=「0」且S0=「1」時,O=B;當S1=「1」時,O=C。MUX10的輸入A連接到KA;輸入B連接到KB;輸入C連接到KC;輸入S0連接到KP(D+1);輸入S1連接到CMP1的輸出。SUB9是減法器,被減數輸入A是N+1位無符號數,減數輸入B為N位無符號數;輸出(A-B)為N位無符號數。它的輸入A為常數2N;輸入B連接到U;MUL2是一個乘法器,乘數A和B分別為D+2位有符號數和N位無符號數,它們依次被連接到ASL的輸出KO和SUB9的輸出;MUL2的輸出MUL2O為D+2+N位有符號數;SUB10是一個減法器。被減數輸入A和減數輸入B均為D+1位有符號數,它們分別連接到SUB4的輸出和MUL2O的高D+1位;輸出(A-B)為D+2位有符號數;MUL3是一個乘法器,乘數A和B分別為D+2位有符號數和N位無符號數,它們依次被連接到SUB10的輸出和U;MUL3的輸出MUL3O為D+2+N位有符號數;ADD5是一個加法器,加數輸入A為D+2位有符號數,被連接到MUL3O的高D+2位;加數輸入B為D位無符號數,連接到Y0;輸入CY為進位輸入,接高電平;輸出(A+B+CY)為D+3位的ADD5O,其中的D-1位ADD5O[D-1:1]作為APIF的輸出Y,綜上所述,該自適應拋物線插值濾波器的四個輸入數據Y2,Y1,Y0和Y-1經過減法器SUB3,SUB4和SUB5兩-兩相減,SUB3,SUB4和SUB5的輸出經過SUB6和SUB7兩-兩相減,加法器ADD4輸入連接到SUB6和SUB7的輸出,算法選擇器根據SUB6和SUB7的輸出選擇SUB6,SUB7或ADD4的輸出,SUB9將2N與U相減,MUL2將算法選擇器的輸出和SUB9的輸出相乘,SUB10將SUB4的輸出和MUL2的輸出相減,其結果經MUL3與U相乘,最後ADD5將MUL3的輸出和Y0相加得到最後的插值結果。
以上所述的僅是本發明的優選實施方式。應當指出,對於本領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以作出若干變型和改進,這些也應視為屬於本發明的保護範圍。
權利要求
1.一種脈衝信號的直接數字合成裝置,其特徵在於包括相位合成器,波形存儲器,自適應拋物線插值濾波器,DA變換器和抗混迭低通濾波器,其中相位合成器輸出的高若干位相位信號連接到波形存儲器,次高若干位相位信號和波形存儲器的輸出連接到自適應拋物線插值濾波器,其它信號依次相連。
2.如權利要求1所述的脈衝信號的直接數字合成裝置,其特徵在於所述的相位合成器包括小數時間累加器,小數時間-相位變換電路,高電平/低電平計時電路,相位累加器和控制邏輯。
3.如權利要求1所述的脈衝信號的直接數字合成裝置,其特徵在於所述的波形存儲器由加法器ADD2,ADD3,減法器SUB2和隨機存儲器MEM1構成。
4.如權利要求1所述的脈衝信號的直接數字合成裝置,其特徵在於所述的該自適應拋物線插值濾波器的四個輸入數據Y2,Y1,Y0和Y-1經過減法器SUB3,SUB4和SUB5兩-兩相減,SUB3,SUB4和SUB5的輸出經過SUB6和SUB7兩-兩相減,加法器ADD4輸入連接到SUB6和SUB7的輸出,算法選擇器根據SUB6和SUB7的輸出選擇SUB6,SUB7或ADD4的輸出,SUB9將2N與U相減,MUL2將算法選擇器的輸出和SUB9的輸出相乘,SUB10將SUB4的輸出和MUL2的輸出相減,其結果經MUL3與U相乘,最後ADD5將MUL3的輸出和Y0相加得到最後的插值結果。
5.一種利用權利要求1所述的脈衝信號直接數字合成裝置進行數字合成的方法,其特徵在於包括以下步驟首先相位合成器合成脈衝的相位數字序列;然後,波形存儲器將脈衝的相位數字序列轉換成脈衝的幅度數字序列;然後,自適應拋物線插值濾波器對脈衝幅度序列進行插值補償以降低相位-幅度轉換的誤差,開生成新的脈衝的幅度數字序列;然後,DA變換器將脈衝的幅度數字序列轉換為模擬信號;最後,抗混迭低通濾波器將DA變換器輸出的模擬信號的高頻幹擾濾掉,並重建模擬脈衝信號。
6.如權利要求5所述的脈衝信號直接數字合成方法,其特徵在於所述的相位合成器合成脈衝的相位數字序列包括4個步驟在脈衝上升過合程成階段,相位從一個初始值開始線性增加;在高電平過程合成階段,在一定時間內相位保持不變;在脈衝下降過程合成階段,相位從一個初始值開始線性增加;在低電平過程合成階段,在一定時間內相位保持不變,並且在合成過程中,脈衝的上升過程的初始相位和下降過程的初始相位經由小數時間-相位變換計算產生,以提高脈衝參數的設置解析度。
7.如權利要求5所述的脈衝信號直接數字合成方法,其特徵在於其波形存儲器的讀出電路同時讀出4個相鄰地址的波形數據。
8.如權利要求5所述的脈衝信號直接數字合成方法,其特徵在於其自適應拋物線插值濾波器根據波形存儲器輸出的4個相鄰地址的波形數據自動選擇使用牛頓第一拋物線插值公式,牛頓第二拋物線插值公式或貝塞爾拋物線插值公式計算插值數據。
9.如權利要求5所述的脈衝信號直接數字合成方法,其特徵在於其自適應拋物線插值濾波器根據波形存儲器輸出的4個相鄰地址的波形數據採用貝塞爾拋物線插值公式計算插值數據。
全文摘要
本發明涉及一種脈衝信號的直接數字合成裝置及其方法,其包括相位合成器,其用於脈衝的相位數字序列合成;波形存儲器,其用於將脈衝的相位數字序列轉換成脈衝的幅度數字序列;自適應拋物線插值濾波器,其用於對脈衝幅度序列進行插值補償以降低相位-幅度轉換的誤差,並生成新的脈衝的幅度數字序列;DA變換器,其用於將脈衝的幅度數字序列轉換為模擬信號;抗混迭低通濾波器,其用於將DA變換器輸出的模擬信號中的高頻幹擾濾掉,並重建模擬脈衝信號。本發明合成的脈衝信號具有合成範圍寬,合成精度高,並且調節解析度高的優點。
文檔編號H03K3/00GK1753312SQ20051011278
公開日2006年3月29日 申請日期2005年10月14日 優先權日2005年10月14日
發明者呂鐵良 申請人:呂鐵良