基于fpga的交流采樣同步倍頻器的制造方法
【專利摘要】本發(fā)明涉及一種基于FPGA的交流采樣同步倍頻器。為了保證電能質(zhì)量監(jiān)測系統(tǒng)中電力參數(shù)的準(zhǔn)確性,需要對其進(jìn)行交流采樣。而在交流采樣中,需要進(jìn)行同步倍頻。傳統(tǒng)的由鎖相環(huán)CD4046做成的頻率跟蹤電路來進(jìn)行倍頻,很難進(jìn)行倍頻倍數(shù)的改變。本文利用verilogHDL語言,針對傳統(tǒng)倍頻電路的限制,通過計數(shù)分頻的方式實現(xiàn)了抖動信號源、任意低頻、任意高倍的倍頻算法。最后通過matlab仿真,以及提供的FPGA器件搭建硬件電路后,用示波器測試,都證實了算法的正確性可用性。本發(fā)明兼容性好,可移植性強(qiáng),適用于各種需要倍頻信號的場合,成本低經(jīng)濟(jì)效益好。
【專利說明】基于FPGA的交流采樣同步倍頻器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于FPGA的任意倍頻算法和誤差補(bǔ)償算法兩部分。尤其是誤差補(bǔ)償算法中,實現(xiàn)了對截斷誤差部分的全部補(bǔ)償。
【背景技術(shù)】
[0002]隨著電力系統(tǒng)的快速發(fā)展,電網(wǎng)的容量、結(jié)構(gòu)都在發(fā)生巨大的變化,儀器儀表行業(yè)也在不斷的進(jìn)行改進(jìn)。在電能質(zhì)量監(jiān)測中,對基本電力參數(shù)采樣和計算的方法一般有兩種,分別是交流采樣法和直流采樣法。直流采樣法對采樣值只做一次比例變換,其測量精度受限較多,誤差大,不穩(wěn)定,所以通常要想獲得高精度高穩(wěn)定性的電參數(shù),需要進(jìn)行交流采樣。
[0003]交流采樣是按一定的規(guī)律對信號的瞬時值進(jìn)行采樣,按照采樣的基本定理,采樣頻率需要高于被測信號最高頻率的2倍以上。在電力系統(tǒng)中常用的是同步交流采樣。傳統(tǒng)的用硬件實現(xiàn)同步采樣是使用專門的硬件電路產(chǎn)生同步于被測信號的同步脈沖。應(yīng)用鎖相環(huán)芯片CD4046實現(xiàn)同步等間隔采樣很難對倍頻倍數(shù)進(jìn)行隨意的改變。
[0004]為了解決這樣一個問題,本發(fā)明提供了一種基于FPGA的任意倍頻算法。本發(fā)明采用了 FPGA基準(zhǔn)時鐘比較大的特點,利用大時鐘分頻來得到輸入信號倍頻的方式,并將非整數(shù)分頻截取的余數(shù)部分,實現(xiàn)了全部補(bǔ)償。本發(fā)明可以實現(xiàn)倍頻倍數(shù)的任意改變,而且精度較高,可用性強(qiáng),可以應(yīng)用于多種需要倍頻的場合。
【發(fā)明內(nèi)容】
[0005]為了解決倍頻系統(tǒng)中倍頻倍數(shù)無法輕易改變,以及對輸入信號源頻率的要求等問題,本發(fā)明提供了一種基于FPGA的任意倍頻算法。它由同步模塊、計數(shù)器模塊,除法模塊和補(bǔ)償模塊四部分構(gòu)成。
[0006]所述的同步模塊負(fù)責(zé)將輸入信號與系統(tǒng)時鐘信號同步,其中輸入信號為需要倍頻的初始信號,同步模塊使輸入信號與系統(tǒng)的時鐘信號起始點在同一時刻,即使有誤差,誤差也在一個系統(tǒng)時鐘周期之內(nèi)。所述的計數(shù)器模塊接收同步后的信號,以系統(tǒng)時鐘為基準(zhǔn),對輸入時鐘信號進(jìn)行計數(shù)。換句話說就是看看在輸入信號的一個周期內(nèi),包含了多少個系統(tǒng)時鐘信號周期。所述的除法模塊利用計數(shù)器計數(shù)完成后的計數(shù)值,同時將倍頻倍數(shù)以及系統(tǒng)時鐘信號以及計數(shù)值一并送入其中,除法模塊根據(jù)計數(shù)值和倍頻倍數(shù)進(jìn)行一系列的算法流程后輸出倍頻后的信號。所述的補(bǔ)償模塊根據(jù)倍頻后信號的截斷誤差對余數(shù)進(jìn)行適當(dāng)?shù)难a(bǔ)償,從而減小截斷誤差帶來的影響。
[0007]本發(fā)明采用了雙輸入單輸出方式,兩個輸入信號分別是將要倍頻的原始信號和系統(tǒng)的時鐘信號,單輸出就是倍頻后將要使用的信號。利用verilog HDL語言,經(jīng)過FPGA內(nèi)部復(fù)雜的邏輯門,獲得需要輸出信號。本發(fā)明實現(xiàn)了抖動信號源,任意低頻輸入信號倍頻和任意高倍數(shù)(倍頻后的信號頻率不超過基準(zhǔn)時鐘頻率)倍頻。本發(fā)明兼容性好,可移植性強(qiáng),適用于各種需要倍頻的場合?!緦@綀D】
【附圖說明】
[0008]圖1是交流同步采樣倍頻算法結(jié)構(gòu)圖。
【具體實施方式】
[0009]【具體實施方式】參照附圖1,首先將輸入信號和系統(tǒng)時鐘信號進(jìn)行同步預(yù)處理,使得輸入信號和系統(tǒng)時鐘同步,其中輸入信號為需要倍頻的初始信號,同步模塊使輸入信號與系統(tǒng)的時鐘信號起始點在同一時刻,即使有誤差,誤差也在一個系統(tǒng)時鐘周期之內(nèi)。同步后的信號送入計數(shù)器,以系統(tǒng)時鐘為基準(zhǔn),對輸入時鐘信號進(jìn)行計數(shù)。換句話說就是看看在輸入信號的一個周期內(nèi),包含了多少個系統(tǒng)時鐘信號周期。舉個例子,假設(shè)系統(tǒng)的時鐘信號為5MHz,那么系統(tǒng)時鐘周期大概為2ns,輸入信號為50Hz,其周期為0.02s。單純從數(shù)字上可以看出,一個輸入信號周期中,包含了 IO5個系統(tǒng)時鐘周期。所以在輸入信號的兩個上升沿之間,計數(shù)器計數(shù)值也應(yīng)為105。
[0010]一個輸入信號包含的系統(tǒng)時鐘周期數(shù)是一個固定不變的數(shù),因此倍頻后的輸出信號包含的系統(tǒng)時鐘周期數(shù)也應(yīng)該是一個固定不變的數(shù)[4]。以上例為例,假設(shè)倍頻倍數(shù)為100倍,那么輸出信號包含的系統(tǒng)時鐘周期個數(shù)就應(yīng)該為IO3個。
[0011]計數(shù)器計數(shù)完成后將倍頻倍數(shù)、系統(tǒng)時鐘信號以及計數(shù)值同時送入除法模塊,除法模塊根據(jù)計數(shù)值和倍頻倍數(shù)進(jìn)行一系列的算法流程后輸出倍頻后的信號。從原理可以看出,輸入信號倍頻后的頻率不可能大于系統(tǒng)時鐘頻率,因為本算法對輸入時鐘頻率的倍頻問題最終歸結(jié)為對系統(tǒng)時鐘信號的分頻問題。若倍頻倍數(shù)為&首先以系統(tǒng)時鐘為基準(zhǔn)對輸入信號的兩個上升沿之間進(jìn)行計數(shù),得到一個輸入信號周期的計數(shù)值見要得到倍頻^倍后的信號,則以#/尤個數(shù)(取整數(shù))作為下一個周期系統(tǒng)時鐘的分頻系數(shù),將此值稱為分頻計數(shù)字,記為Dv/幻。下面詳細(xì)說明分頻計數(shù)字的推導(dǎo)。
[0012]考慮到輸入信號的抖動性,分頻計數(shù)字并不是一個穩(wěn)定不變的數(shù)字。隨著輸入信號的抖動,分頻計數(shù)字也會在一個數(shù)值范圍內(nèi)進(jìn)行波動。假設(shè)電網(wǎng)頻率波動在10%以內(nèi)的話,則輸入信號頻率范圍在45HZ飛5Hz之間。在一個輸入信號周期內(nèi),理論上最多能采到系統(tǒng)時鐘的個數(shù)為IO5X (1+10%) =110000,最少能采到的系統(tǒng)時鐘個數(shù)為IO5X(1-10%) =90000。若要倍頻1024倍的話,則分頻計數(shù)字的值應(yīng)該在90000/1024=87.89到110000/1024=107.42之間。這里我們?nèi)≌麛?shù)作為下一周期的分頻計數(shù)字。對于余數(shù)部分的處理,在下面的補(bǔ)償算法中予以詳細(xì)介紹。
[0013]根據(jù)算法,輸入信號一個周期的計數(shù)值#除以倍頻系數(shù)K后得到的整數(shù)值作為下一周期的分頻系數(shù),故下一個周期輸出信號包含#個間隔相等的脈沖。由于標(biāo)準(zhǔn)的系統(tǒng)時鐘不變,上一周期輸入信號頻率的抖動會直接導(dǎo)致計數(shù)器值的變化,故本周期的輸出信號只與上一周期的輸入信號有關(guān)。由于每次的分頻計數(shù)字都是取AV尤的整數(shù)部分,可以看出誤差主要來源于取整后的截斷誤差。傳給分頻器的值Dv/幻m表示取不大于#的整數(shù))總是小于等于AV尤的真實值。設(shè)余數(shù)Z=ModOV/幻,那么Z—定在0到K-1之間。所以倍頻的倍數(shù)越大,則[N/K]的值越小,余數(shù)Z越大,這樣就會出出現(xiàn)Z>DV/f]的情況,這樣一來倍頻倍數(shù)就會大于I參照2.2中的例子,假設(shè)此時輸入信號頻率為45Hz,計數(shù)器在輸入信號一個周期內(nèi)采樣值為#=110000,對于1024倍分頻,則DY/幻=107,余數(shù)是432,大于得到的商107,若此時在下一周期按107分頻的話,那么實際上得到的脈沖個數(shù)為[110000/107]=1028>1024。考慮到最極端的情況下,余數(shù)L=K-l,此時輸出頻率最大為:
【權(quán)利要求】
1.一種基于FPGA的交流采樣同步倍頻器,它包括同步倍頻算法和誤差補(bǔ)償兩部分,其特征是可以實現(xiàn)任意低頻率抖動信號源的任意倍數(shù)倍頻(倍頻后頻率不超過FPGA時鐘頻率),經(jīng)過補(bǔ)償后的誤差可以控制在0.1%以內(nèi),它包括四個主要模塊,分別是同步模塊,計數(shù)器模塊,除法模塊和補(bǔ)償模塊。
2.根據(jù)權(quán)利要求1所述的同步倍頻器,其倍頻算法是從FPGA系統(tǒng)基準(zhǔn)時鐘分頻得來的。
3.根據(jù)權(quán)利要求1所述的同步倍頻器,其補(bǔ)償算法是根據(jù)余數(shù)不同,選擇相應(yīng)的余數(shù)的脈沖,分別增加一個寬度,進(jìn)行的全部補(bǔ)償。
4.根據(jù)權(quán)利要求1所述的的同步倍頻器,其計數(shù)器模塊是以系統(tǒng)時鐘為基準(zhǔn)對輸入原始信號在一個周期內(nèi)進(jìn)行計數(shù)。
【文檔編號】H03B19/00GK103618501SQ201310572201
【公開日】2014年3月5日 申請日期:2013年11月13日 優(yōu)先權(quán)日:2013年11月13日
【發(fā)明者】王宇, 任曉紅, 張超, 李靜 申請人:哈爾濱電工儀表研究所