值計(jì)算精度的前提下,有效節(jié)約了數(shù)字信號(hào)處理器的資源,降低了數(shù)字信號(hào)處理器的實(shí)現(xiàn)功能以及成本。(2)本發(fā)明可測量頻率范圍小至0.001HZ,尤其適用于小頻率正弦波測量,可以計(jì)算微小頻率有效值;一個(gè)周期以后每個(gè)采樣點(diǎn)輸出一次有效值;不用片外RAM ;計(jì)算精度高;功耗低;節(jié)約FPGA資源,降低硬件成本。
【附圖說明】
[0041]圖1為本發(fā)明提供的具有自適應(yīng)功能的AD采集板卡的結(jié)構(gòu)示意圖;
【具體實(shí)施方式】
[0042]以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明:
[0043]本發(fā)明提供一種具有自適應(yīng)功能的AD采集板卡,采用全波傅里葉算法計(jì)算正弦波的有效值。每個(gè)板卡可以計(jì)算12路通道的有效值,每個(gè)通道的頻率可以各不相同,可以為O到100HZ的任意頻率正弦波;然后根據(jù)頻率大小和信號(hào)處理器內(nèi)部的RAM資源,同時(shí)兼顧計(jì)算有效值的精度,自適應(yīng)出采樣的間隔。
[0044]如圖1所示,為AD采集板卡的結(jié)構(gòu)示意圖,包括多通道AD采樣芯片以及數(shù)字信號(hào)處理器;
[0045]所述多通道AD采樣芯片與所述數(shù)字信號(hào)處理器連接;所述多通道AD采樣芯片用于對正弦波信號(hào)進(jìn)行采樣,并將采樣得到的采樣點(diǎn)發(fā)送給所述數(shù)字信號(hào)處理器;
[0046]所述數(shù)字信號(hào)處理器用于:根據(jù)所輸入的正弦波信號(hào)的信號(hào)頻率,自適應(yīng)的準(zhǔn)確計(jì)算出采樣間隔;然后,從所述多通道AD采樣芯片所上傳的采樣點(diǎn)中,根據(jù)所述采樣間隔,選取得到若干個(gè)有效采樣點(diǎn);然后,并行執(zhí)行以下操作:存儲(chǔ)所述有效采樣點(diǎn);對一個(gè)信號(hào)周期包含的有效采樣點(diǎn)進(jìn)行計(jì)算,得到正弦波有效值。實(shí)際應(yīng)用中,數(shù)字信號(hào)處理器可采用FPGA,如,采用ALTERA公司的cyclone系列芯片。AD采樣芯片可采用2片6通道高速并行芯片。
[0047]基于上述AD采集板卡,本發(fā)明還提供一種具有自適應(yīng)功能的AD采集方法,包括以下步驟:
[0048]SI,設(shè)AD采樣芯片共有η個(gè)采樣通道,分別記為第I采樣通道、第2采樣通道…第η采樣通道;其中,η為自然數(shù);數(shù)字信號(hào)處理器具有I個(gè)有效值計(jì)算模塊;
[0049]S2,當(dāng)有η路正弦波信號(hào)需要被AD采樣并計(jì)算有效值時(shí),每路正弦波信號(hào)的信號(hào)頻率預(yù)先發(fā)送給數(shù)字信號(hào)處理器;設(shè)η路正弦波信號(hào)依次為:第I路正弦波信號(hào)、第2路正弦波信號(hào)…第η路正弦波信號(hào);其信號(hào)頻率對應(yīng)為其信號(hào)周期對應(yīng)為-TpIV..T?;
[0050]數(shù)字信號(hào)處理器預(yù)設(shè)定一個(gè)信號(hào)周期所需要有效采樣點(diǎn)數(shù)量的最大值Zmax,以及,數(shù)字信號(hào)處理器預(yù)設(shè)定最小采樣間隔其中,所述最小采樣間隔t ^的設(shè)定原則為:最小采樣間隔t(i =有效值計(jì)算模塊計(jì)算I次有效值所需時(shí)間t y*n+tx;其中,t x為余量時(shí)間;
[0051]S3,所述數(shù)字信號(hào)處理器自適應(yīng)計(jì)算出各路正弦波信號(hào)的采樣間隔,具體計(jì)算方法均為:
[0052]對于任意的第i路正弦波信號(hào),其信號(hào)周期為Ti;其中,i = 1、2…η;采用S3.1-S3.3的方法計(jì)算其采樣間隔:
[0053]S3.ljj = l;
[0054]S3.2,判斷IVjtci是否小于等于Zmax,如果判斷結(jié)果為是,則第i路正弦波信號(hào)的采樣間隔h= j*最小采樣間隔t ^,并結(jié)束對該路正弦波信號(hào)采樣間隔的計(jì)算步驟;如果判斷結(jié)果為否,則執(zhí)行S3.3;
[0055]S3.3,令 j = j+Ι,返回 S3.2 ;
[0056]由此計(jì)算得到各路正弦波信號(hào)的采樣間隔,其均為最小采樣間隔h的整數(shù)倍,將η路正弦波信號(hào)的采樣間隔依次記為:采樣間隔h、采樣間隔t2…采樣間隔tn;
[0057]S4,AD采樣芯片的η個(gè)采樣通道以固定頻率持續(xù)并行對η路正弦波信號(hào)進(jìn)行獨(dú)立采樣;
[0058]S5,數(shù)字信號(hào)處理器對AD采樣芯片采集得到的η路采樣點(diǎn)進(jìn)行處理,并計(jì)算有效值,具體方法為:
[0059]在η路正弦波信號(hào)的信號(hào)頻率均未發(fā)生變化時(shí),執(zhí)行以下步驟:
[0060]數(shù)字信號(hào)處理器以最小采樣間隔h為循環(huán)觸發(fā)時(shí)鐘;
[0061](I)初始時(shí)刻,進(jìn)行第I次循環(huán)處理過程:即:數(shù)字信號(hào)處理器首先對第I采樣通道的當(dāng)前采樣點(diǎn)進(jìn)行取樣,得到第1-1有效采樣點(diǎn);然后,一方面,將所述第1-1有效采樣點(diǎn)存儲(chǔ)到第I存儲(chǔ)區(qū)域的第I位;另一方面,對第1-1有效采樣點(diǎn)計(jì)算有效值,將有效值結(jié)果記為Al,并將Al存儲(chǔ)到第2-1存儲(chǔ)區(qū)域;
[0062]然后,數(shù)字信號(hào)處理器對第2采樣通道輸送的當(dāng)前采樣點(diǎn)進(jìn)行取樣,得到第2-1有效采樣點(diǎn);然后,一方面,將所述第2-1有效采樣點(diǎn)存儲(chǔ)到第2存儲(chǔ)區(qū)域的第I位;另一方面,對第2-1有效采樣點(diǎn)計(jì)算有效值,將有效值結(jié)果記為A2,并將A2存儲(chǔ)到第2-2存儲(chǔ)區(qū)域;
[0063]依此類推,直到數(shù)字信號(hào)處理器對第η采樣通道輸送的當(dāng)前采樣點(diǎn)進(jìn)行取樣,得到第2-η有效采樣點(diǎn);然后,一方面,將所述第2-η有效采樣點(diǎn)存儲(chǔ)到第η存儲(chǔ)區(qū)域的第I位;另一方面,對第2-η有效采樣點(diǎn)計(jì)算有效值,將有效值結(jié)果記為An,并將An存儲(chǔ)到第2-η存儲(chǔ)區(qū)域;
[0064]上述總過程所需時(shí)間小于但接近最小采樣間隔
[0065](2)從所述初始時(shí)刻開始,當(dāng)經(jīng)過最小采樣間隔h后,進(jìn)行第2次循環(huán)處理過程:即:數(shù)字信號(hào)處理器返回到第I采樣通道,判斷從前一次對第I采樣通道輸送的采樣點(diǎn)進(jìn)行取樣的時(shí)刻至當(dāng)前時(shí)刻所經(jīng)過的時(shí)間間隔是否達(dá)到采樣間隔t1;如果達(dá)到,則對第I采樣通道輸送的當(dāng)前采樣點(diǎn)進(jìn)行取樣,得到第1-2有效采樣點(diǎn);然后,一方面,將所述第1-2有效采樣點(diǎn)存儲(chǔ)到第I存儲(chǔ)區(qū)域的第2位;另一方面,對第1-2有效采樣點(diǎn)計(jì)算有效值,其計(jì)算方法為:第1-2有效采樣點(diǎn)的值與Al進(jìn)行累積計(jì)算,得到的有效值結(jié)果記為A2,并用A2更新Al ;如果未達(dá)到,則對第I采樣通道輸送的當(dāng)前采樣點(diǎn)不進(jìn)行任何處理;
[0066]然后,采用同樣的處理方法,數(shù)字信號(hào)處理器依次對第2采樣通道至第η采樣通道進(jìn)行處理;
[0067](3)從所述初始時(shí)刻開始,當(dāng)經(jīng)過2倍的最小采樣間隔h后,進(jìn)行第3次循環(huán)處理過程;如此不斷循環(huán),數(shù)字信號(hào)處理器對η個(gè)采樣通道輸送的采樣點(diǎn),按各自對應(yīng)的采樣間隔,不斷進(jìn)行取樣并計(jì)算有效值;
[0068]其中,對于任意一個(gè)第i采樣通道,其信號(hào)周期為Ti,采樣間隔為則一個(gè)信號(hào)周期共包括有M = lVti+1個(gè)有效采樣點(diǎn),依次記為:&、CfCM;對第i采樣通道有效值計(jì)算過程具體為:
[0069]SlO:當(dāng)?shù)玫降贗個(gè)有效采樣點(diǎn)(^時(shí),計(jì)算得到有效值A(chǔ)l ;其中,有效值A(chǔ)l只為中間值;
[0070]當(dāng)?shù)玫降?個(gè)有效采樣點(diǎn)(:2時(shí),將有效采樣點(diǎn)C 2和有效值A(chǔ)l進(jìn)行累積計(jì)算,得到有效值A(chǔ)2 ;有效值A(chǔ)2只為中間值;
[0071]依此類推,當(dāng)?shù)玫降谝粋€(gè)周期的最后一個(gè)有效采樣點(diǎn)Cm時(shí),并與A η進(jìn)行累積計(jì)算,得到有效值A(chǔ)m;此處,有效值A(chǔ) ?不再是中間值,存儲(chǔ)A M;
[0072]S20,當(dāng)經(jīng)過第一個(gè)信號(hào)周期后,當(dāng)后續(xù)得到第M+1個(gè)有效采樣點(diǎn)(^+1后,此時(shí),通過(V..CM、Cm+1S M個(gè)有效采樣點(diǎn)的值計(jì)算有效值A(chǔ) M+1;此處,有效值A(chǔ) M+1不再是中間值,存儲(chǔ) am+1;
[0073]當(dāng)后續(xù)得到第M+2個(gè)有效采樣點(diǎn)‘后,此時(shí),通過C 3...CM+1、CM+2這M個(gè)有效采樣點(diǎn)的值計(jì)算有效值A(chǔ)M+2;此處,有效值A(chǔ) M+2不再是中間值,存儲(chǔ)A M+2;
[0074]依此類推,只要第i采樣通道的信號(hào)頻率不發(fā)生變化時(shí),不斷計(jì)算并得到有效值,最終得到多個(gè)有效值;
[0075]S30,在任意時(shí)刻,當(dāng)?shù)趇采樣通道的信號(hào)頻率發(fā)生變化時(shí),采樣間隔自適應(yīng)變化,將信號(hào)頻率發(fā)生變化后的第I個(gè)有效采樣點(diǎn)記為C1,然后,返回S10,循環(huán)S10-S20。
[0076]上述處理的主要原理是:
[0077]數(shù)字信號(hào)處理器僅設(shè)置一個(gè)有效值計(jì)算模塊,通過I個(gè)有效值計(jì)算模塊,順次對各個(gè)采樣通道提取到的有效采樣點(diǎn)計(jì)算有效值,為保證在對各通道有效值計(jì)算時(shí),不出現(xiàn)各通道沖突,需要設(shè)置一個(gè)最小采樣間隔h,使最小采樣間隔h時(shí)間大于有效值計(jì)算模塊對所有通道計(jì)算I次有效值所需的時(shí)間;
[0078]然后,數(shù)字信號(hào)處理器根據(jù)每個(gè)采樣通道的信號(hào)頻率,自適應(yīng)計(jì)算出每個(gè)采樣通道的采樣間隔,計(jì)算采樣間隔的原則為:在該采樣間隔下,該正弦波信號(hào)在一個(gè)周期中抽取的有效采樣點(diǎn)數(shù)量盡可能接近但不超過預(yù)設(shè)值Zmax,保證在滿足有效值計(jì)算精度的前提下,處理盡可能少的采樣點(diǎn),節(jié)約有效值計(jì)算所耗費(fèi)的資源;
[0079]另外,為保證I個(gè)有效值計(jì)算模塊能夠順次對各個(gè)不同頻率的有效采樣點(diǎn)進(jìn)行有效值計(jì)算,需要使各個(gè)采樣通道的采樣間隔為最小采樣間隔h的整數(shù)倍。
[0080]另外,對于每個(gè)