• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于FPGA的實(shí)時(shí)載波頻率檢測(cè)電路設(shè)計(jì)

      2020-07-23 06:27陳文藝榮幸楊輝
      現(xiàn)代電子技術(shù) 2020年4期
      關(guān)鍵詞:對(duì)比分析電路設(shè)計(jì)

      陳文藝 榮幸 楊輝

      摘? 要: 為了實(shí)現(xiàn)窄帶調(diào)制信號(hào)載波頻率的快速準(zhǔn)確獲取并減少硬件資源消耗,基于FPGA設(shè)計(jì)一種綜合哥茲柔(Goertzel)算法和能量重心估計(jì)算法的實(shí)時(shí)載波頻率檢測(cè)電路。首先,確定頻率檢測(cè)算法實(shí)現(xiàn)流程,在Matlab中進(jìn)行了頻譜和能量重心的仿真;接著提出一種低復(fù)雜度頻率檢測(cè)系統(tǒng)的硬件實(shí)現(xiàn)架構(gòu),以8個(gè)哥茲柔電路并行運(yùn)行獲取信號(hào)頻譜,通過(guò)查找峰值譜線位置初步估計(jì)出信號(hào)頻率;最后,采用能量重心估計(jì)法,精確估計(jì)出載波信號(hào)的頻率。實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)的低復(fù)雜度實(shí)時(shí)頻率檢測(cè)硬件電路在資源消耗上僅為傳統(tǒng)FFT方法的[13],測(cè)頻相對(duì)誤差小于0.2%,2 048點(diǎn)頻譜獲取時(shí)間僅為103 μs,易于硬件實(shí)現(xiàn),可用于實(shí)時(shí)準(zhǔn)確獲取載波頻率。

      關(guān)鍵詞: 載波頻率檢測(cè); 電路設(shè)計(jì); FPGA; 架構(gòu)規(guī)劃; 頻率估算; 對(duì)比分析

      中圖分類號(hào): TN913.6?34; TP391? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2020)04?0025?04

      Design of FPGA?based circuit for real?time carrier frequency detection

      CHEN Wenyi1, RONG Xing2, YANG Hui1

      (1. Institute of Internet of Things and IT?based Industrialization, Xian University of Posts and Telecommunications, Xian 710061, China;

      2. School of Communication and Information Engineering, Xian University of Posts and Telecommunications, Xian 710121, China)

      Abstract: A real?time carrier frequency detection circuit combining Goertzel algorithm and energy barycenter estimation algorithm is designed based on the FPGA, so as to obtain the carrier frequency of narrow?band modulating signal quickly and accurately and reduce the hardware resource consumption. The realization process of frequency detection algorithm is determined, and the simulation of frequency spectrum and energy barycenter is carried out in Matlab. A hardware implementation architecture of the low?complexity frequency detection system is proposed, in which the signal frequency spectrum is obtained by running 8 Goerztel circuits in parallel, the signal frequency is estimated preliminarily by finding the position of the peak spectrum line, and the frequency of the carrier signal is estimated accurately by means of the energy barycenter estimation method. The experimental results show that the designed detection hardware circuit for low?complexity real?time frequency only has 1/3 of the resource consumption as that of the traditional FFT method, the relative error of its frequency measurement is less than 0.2%, and the frequency spectrum acquisition time of 2 048 points is only 103 μs, which is easy to implement and can be used for accurately acquiring the carrier frequency in real time.

      Keywords: carrier frequency detection; circuit design; FPGA; architecture planning; frequency estimation; contrastive analysis

      0? 引? 言

      隨著圖像傳感器和集成電子技術(shù)的發(fā)展,光學(xué)直線位置編碼器中采用了圖像檢測(cè)技術(shù)[1]?;趫D像傳感器的光學(xué)直線位置編碼器,也稱為條碼尺,編碼結(jié)構(gòu)簡(jiǎn)單,便于實(shí)現(xiàn)絕對(duì)位置編碼;由于直接對(duì)編碼的條碼圖像進(jìn)行數(shù)字化,并用數(shù)字信號(hào)處理技術(shù)提取條碼位置信息,極大地提高了檢測(cè)精度和可靠性[2]。在條碼尺定位中,實(shí)時(shí)準(zhǔn)確地獲取條碼周期(載波頻率)是整個(gè)條碼位置信息提取過(guò)程中關(guān)鍵的一步,等效于窄帶調(diào)制信號(hào)的載波頻率檢測(cè)。文獻(xiàn)[3?4]分別提出了基于自相關(guān)函數(shù)相位和分段自相關(guān)的信號(hào)頻率估計(jì)算法,在頻率檢測(cè)中具有很高的準(zhǔn)確度,但算法僅限于對(duì)正弦信號(hào)的頻率檢測(cè),并要求信號(hào)具有較高信噪比;文獻(xiàn)[5]提出了一種基于自相關(guān)法和三點(diǎn)法的信號(hào)頻率檢測(cè)法,原理簡(jiǎn)單,運(yùn)算量小,頻率跟蹤性強(qiáng)且不受采樣頻率的影響,但信號(hào)中的諧波分量會(huì)大大降低精確度,影響測(cè)量結(jié)果;文獻(xiàn)[6]提出了一種基于結(jié)構(gòu)函數(shù)算法的頻率檢測(cè)方法,能夠很好判斷信號(hào)周期,但精度的提高需要犧牲存儲(chǔ)資源和運(yùn)算速度;文獻(xiàn)[7?8]先后提出了基于修正Rife算法和能量重心法的頻率估計(jì)算法,在頻率估計(jì)性能上比較穩(wěn)定,但在獲取信號(hào)的功率譜時(shí),采用FFT運(yùn)算會(huì)增加許多無(wú)意義的計(jì)算量;文獻(xiàn)[9]提出了基于Goertzel算法的信號(hào)檢測(cè)方法,仿真結(jié)果表明基于Goertzel算法的信號(hào)編解碼具有速度快、精度高、運(yùn)算量少的特點(diǎn),但沒(méi)有對(duì)Goertzel算法進(jìn)行進(jìn)一步的應(yīng)用。

      本文在Goertzel算法的特性基礎(chǔ)上,設(shè)計(jì)了一種綜合Goertzel算法和能量重心法的載波頻率檢測(cè)電路。首先介紹了頻率檢測(cè)原理,針對(duì)不同的信號(hào)模型進(jìn)行了算法仿真分析,其次給出了頻率檢測(cè)系統(tǒng)的硬件實(shí)現(xiàn)架構(gòu)。通過(guò)仿真和測(cè)試,表明所設(shè)計(jì)的電路消耗資源少、測(cè)量精度高和硬件執(zhí)行速度快,并且可以實(shí)現(xiàn)資源和速度的靈活配置,符合高性能、高靈活性和低消耗的特點(diǎn)。

      1? 頻率檢測(cè)原理

      對(duì)傳感器獲取的載波信號(hào)進(jìn)行頻率檢測(cè)的算法流程如圖1所示。在實(shí)際中采集的信號(hào)往往伴隨著噪聲,首先對(duì)信號(hào)進(jìn)行灰度形態(tài)學(xué)濾波來(lái)提高信噪比,接著對(duì)信號(hào)進(jìn)行自適應(yīng)閾值二值化,將信號(hào)轉(zhuǎn)化為二值圖像,即完成了對(duì)信號(hào)的預(yù)處理工作;然后采用譜分析的方法估計(jì)出信號(hào)頻率,借助Goertzel算法對(duì)信號(hào)進(jìn)行頻譜獲取,可粗略估計(jì)出信號(hào)頻率;最后采用能量重心估計(jì)算法對(duì)信號(hào)頻譜進(jìn)行校正,獲得高精度的頻率估計(jì)值。

      1.1? Goertzel算法原理

      在一些應(yīng)用中,信號(hào)的頻譜范圍已知。在這種情況下,與其進(jìn)行完整的傅里葉變換,不如采用Goertzel算法,后者可以極大地減少計(jì)算量[10]。首先考慮傅里葉變換的一個(gè)單獨(dú)的頻率成分:

      [Fu=x=0N-1fxWuxN? ? ?=x=0N-2fxWuxNN-x+fN-1W-uN] (1)

      式(1)等效于一個(gè)迭代運(yùn)算:

      [Fu=Fun-1+fnW-uN] (2)

      這樣仍需要對(duì)每個(gè)采樣點(diǎn)進(jìn)行一次復(fù)數(shù)乘法運(yùn)算,從而在z域內(nèi)考察此迭代過(guò)程:

      [Fuzfz=11-2cos2πuNz-1+z-2W-uN-z-1] (3)

      式中,第一項(xiàng)可作為一個(gè)實(shí)系數(shù)二階迭代過(guò)程來(lái)實(shí)現(xiàn):

      [Sun=fn+2cos2πuNSun-1-Sun-2] (4)

      經(jīng)過(guò)N個(gè)采樣點(diǎn)的積累后,可從第二項(xiàng)計(jì)算頻率項(xiàng):

      [Fu=SuN-1cos2πuN-SuN-2+? ? ? ? ? ? jSuN-1sin2πuN] (5)

      此過(guò)程相當(dāng)于一個(gè)IIR濾波器來(lái)處理流水化的數(shù)據(jù),包含前饋和反饋兩部分。反饋部分必須對(duì)每個(gè)采樣[fn]計(jì)算一次,而前饋部分只需在[n=N]時(shí)計(jì)算一次,在輸入[N]個(gè)采樣點(diǎn)數(shù)據(jù)后開(kāi)始給出頻率值。當(dāng)需要計(jì)算多個(gè)頻點(diǎn)值時(shí),可以對(duì)每個(gè)頻點(diǎn)復(fù)制電路見(jiàn)圖2。

      1.2? 能量重心估計(jì)算法原理

      通過(guò)Goertzel算法得到信號(hào)的頻譜,然后通過(guò)搜索信號(hào)功率譜峰值譜線的位置可實(shí)現(xiàn)粗略的頻率估計(jì)。實(shí)際應(yīng)用中,對(duì)信號(hào)的頻率估計(jì)性能有更高的要求,因此在以峰值譜線粗估計(jì)的基礎(chǔ)上,采用質(zhì)心算法計(jì)算以峰值譜線為中心的區(qū)間的質(zhì)心位置,并以該質(zhì)心位置作為載波信號(hào)精確的頻率估計(jì)值。設(shè)對(duì)信號(hào)[yn]做[N]點(diǎn)Goertzel變換得到離散頻譜[Yk],則信號(hào)的功率譜[Gk]為:

      [Gk=Yk/N2] (6)

      通過(guò)逐點(diǎn)掃描功率譜信號(hào)[Gk],檢測(cè)[Gk]中的峰值譜線位置[Pmax]。再以峰值譜線位置[Pmax]為中心,取[2M+1]條譜線作為峰值譜線區(qū)間,用質(zhì)心法計(jì)算峰值譜線區(qū)間的質(zhì)心位置,并以該質(zhì)心位置作為圖像信號(hào)頻率的精確估計(jì)值[PP],其中:

      [PP=k=12M+1GPmax+k-M-1?Pmax+k-M-1k=12M+1GPmax+k-M-1] (7)

      1.3? 信號(hào)模型與算法仿真

      在算法原理基礎(chǔ)上,按照頻率檢測(cè)算法的實(shí)現(xiàn)流程,以不同情況的條碼尺作為輸入信號(hào)模型,首先用FFT算法和Goertzel算法分別求出信號(hào)的頻譜;然后采用質(zhì)心算法,根據(jù)求得的頻譜算出信號(hào)的能量重心。仿真結(jié)果如圖3~圖5所示。

      本文結(jié)合實(shí)際,充分分析了可能出現(xiàn)的3種條碼尺情況,包括正常的條碼和異常的有缺失的條碼。在仿真圖中,圖a)表示各種情況下的信號(hào)模型,圖b)表示用FFT求解出的信號(hào)的頻譜,圖c)表示用Goerztel算法求解出的信號(hào)的頻譜,采用質(zhì)心算法求出的能量重心值power顯示在圖b)和圖c)的右上方。通過(guò)仿真結(jié)果可以分析:Goertzel算法針對(duì)正常和異常條碼都可以準(zhǔn)確求取其頻譜,在信號(hào)頻譜的基礎(chǔ)上,采用能量重心估計(jì)算法可以準(zhǔn)確求得載波頻率。

      2? FPGA硬件實(shí)現(xiàn)

      2.1? 系統(tǒng)設(shè)計(jì)

      頻率檢測(cè)系統(tǒng)的電路如圖6所示,主要分為數(shù)據(jù)緩存模塊、頻率項(xiàng)計(jì)算模塊、能量重心計(jì)算模塊和控制狀態(tài)機(jī)模塊。二值圖像在雙口RAM中完成數(shù)據(jù)緩存后,通過(guò)并行的Goertzel電路計(jì)算出信號(hào)的頻譜,再通過(guò)能量重心法求取功率譜的質(zhì)心位置即可確定信號(hào)頻率,得到的頻率值將送到后續(xù)處理電路,整個(gè)系統(tǒng)的數(shù)據(jù)路徑均在主控制狀態(tài)機(jī)和輔控制狀態(tài)機(jī)的控制下完成。

      2.2? 數(shù)據(jù)緩存模塊

      數(shù)據(jù)緩存模塊采用了乒乓操作。外部輸入數(shù)據(jù)流通過(guò)輸入數(shù)據(jù)選擇控制模塊送入兩個(gè)數(shù)據(jù)緩沖區(qū)中,數(shù)據(jù)緩沖模塊采用雙口RAM來(lái)作為存儲(chǔ)單元。在第一個(gè)緩存周期,將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖區(qū)1;在第二個(gè)緩沖周期,輸入的數(shù)據(jù)流在緩沖區(qū)2完成緩存的同時(shí),輸出數(shù)據(jù)選擇控制模塊將第一個(gè)周期緩存的數(shù)據(jù)流送到后續(xù)處理模塊;在第三個(gè)緩沖周期,輸入數(shù)據(jù)選擇控制模塊進(jìn)行切換,輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖區(qū)1,輸出數(shù)據(jù)選擇控制模塊也進(jìn)行切換,將第二個(gè)緩沖周期緩存的數(shù)據(jù)流送到后續(xù)處理模塊,如此不斷循環(huán)。

      2.3? 頻率項(xiàng)計(jì)算模塊

      根據(jù)頻譜計(jì)算功能需求分析,設(shè)計(jì)一套并串結(jié)合的數(shù)據(jù)處理算法,該模塊以8個(gè)Goertzel硬件電路并行完成8個(gè)頻點(diǎn)計(jì)算,重復(fù)串行計(jì)算5次,共完成40個(gè)頻點(diǎn)的計(jì)算,相應(yīng)的控制信號(hào)均由主控制狀態(tài)機(jī)產(chǎn)生,計(jì)算所需系數(shù)被提前存放在ROM中。該模塊工作流程見(jiàn)圖7。

      其基本運(yùn)算思想為:

      1) 上電開(kāi)始后,預(yù)加載信號(hào)load拉高,完成一組實(shí)部系數(shù)加載操作;

      2) 電路使能信號(hào)enable拉高,Goertzel電路開(kāi)始并行工作,一次并行運(yùn)算需進(jìn)行2 048次迭代操作,在最后一次迭代操作時(shí)需將實(shí)部系數(shù)右移一位;

      3) 電路進(jìn)入暫停狀態(tài),將并行運(yùn)算結(jié)果通過(guò)多路選擇器存放在單口RAM中,同時(shí)加載一組虛部系數(shù)和下一組實(shí)部系數(shù);

      4) 在完成一次并行運(yùn)算和結(jié)果的存儲(chǔ)后,使電路復(fù)位,清零寄存器;

      5) 電路進(jìn)行下一次并行運(yùn)算,處理過(guò)程重復(fù)步驟2)~步驟4)操作。單口RAM中最終存儲(chǔ)著40個(gè)實(shí)部值和40個(gè)虛部值,進(jìn)行上述完整運(yùn)算流程耗費(fèi)的時(shí)鐘數(shù)為M=5×(2 048+16)+12=10 332。

      2.4? 能量重心計(jì)算模塊

      能量重心計(jì)算電路主要包括功率譜計(jì)算模塊、峰值譜線計(jì)算模塊、質(zhì)心計(jì)算模塊和輔控制狀態(tài)機(jī)模塊,電路結(jié)構(gòu)框圖如圖8所示。

      在輔控制狀態(tài)機(jī)的控制下,功率譜計(jì)算模塊讀取存放在單口RAM中的實(shí)、虛部數(shù)據(jù),隨之計(jì)算出每個(gè)頻點(diǎn)對(duì)應(yīng)的幅度的平方值,即得到了信號(hào)的功率譜[Gk,k=1,2,…,40];峰值譜線計(jì)算模塊通過(guò)查找功率譜的峰值譜線位置[Pmax],可以粗略估計(jì)出信號(hào)頻率;質(zhì)心計(jì)算模塊是數(shù)據(jù)處理部分處理核心,首先以峰值譜線位置[Pmax]為中心,取9條(M=4)譜線作為峰值譜線區(qū)間[GPmax-n,n=-4,-3,…,4],然后依據(jù)質(zhì)心公式計(jì)算出峰值譜線區(qū)間的質(zhì)心位置[PP],最后以該質(zhì)心位置[PP]作為最后的信號(hào)頻率估計(jì)值[f0]。

      3? 實(shí)驗(yàn)結(jié)果與分析

      為了評(píng)估提出的基于Goertzel算法的頻率檢測(cè)系統(tǒng)硬件架構(gòu),本文同時(shí)選用Altera自帶的FFT IP核去代替Goertzel并行電路來(lái)完成頻率項(xiàng)計(jì)算,從硬件資源消耗、2 048點(diǎn)頻譜獲取時(shí)間和頻率求解精度三個(gè)方面對(duì)兩種實(shí)現(xiàn)架構(gòu)進(jìn)行了對(duì)比分析。設(shè)計(jì)中FPGA采用Altera公司的Cyclone系列的EP4CE30F23C6芯片,該芯片內(nèi)部資源豐富,可以滿足系統(tǒng)需求。采用Verilog語(yǔ)言編程,在Quartus Ⅱ 11.0平臺(tái)上進(jìn)行邏輯綜合和測(cè)試,對(duì)比結(jié)果如表1所示。

      由表1可得:基于Goertzel算法的頻率檢測(cè)系統(tǒng)相對(duì)于FFT算法,在保證測(cè)頻精度和實(shí)時(shí)性的同時(shí),大大地減少了硬件資源消耗,在邏輯單元數(shù)量(LEs)、寄存器數(shù)量(Registers)和內(nèi)部存儲(chǔ)資源(Memory bits)三個(gè)方面均有明顯的體現(xiàn)。同時(shí),系統(tǒng)可以通過(guò)增加Goertzel硬件電路的并行數(shù)量,來(lái)進(jìn)一步提高2 048點(diǎn)頻譜獲取速度,因此大大地提高了系統(tǒng)的靈活性。

      4? 結(jié)? 語(yǔ)

      本文利用流水線技術(shù)和串并結(jié)合思想,設(shè)計(jì)了一種基于Goertzel算法的載波頻率檢測(cè)硬件電路。經(jīng)過(guò)驗(yàn)證和分析,相比于傳統(tǒng)的FFT算法,在保證精度的同時(shí),采用Goertzel算法極大地降低了硬件資源消耗,且系統(tǒng)達(dá)到了設(shè)計(jì)高速的要求,可適用于窄帶信號(hào)頻率的快速獲取,具有一定的實(shí)際應(yīng)用價(jià)值。

      參考文獻(xiàn)

      [1] 熊金旺,賈平,劉晶紅.利用圖像傳感器的光電軸角編碼器編碼研究 [J].測(cè)控技術(shù),2009,28(12):6?9.

      [2] 齊荔荔,萬(wàn)秋華.高分辨力面陣圖像式光電編碼器的測(cè)角技術(shù)[J].儀器儀表學(xué)報(bào),2013,34(1):234?240.

      [3] 黃超,索繼東,于亮.基于自相關(guān)函數(shù)相位的正弦信號(hào)頻率估計(jì)新算 法[J].電訊技術(shù),2014,54(1):63?67.

      [4] 張曉威,李洋洋,孟凡明.分段自相關(guān)頻率估計(jì)算法研究[J].計(jì)算機(jī)應(yīng)用研究,2014,31(1):92?94.

      [5] 馬亞男,戴爾晗,陳誠(chéng).一種利用自相關(guān)法和三點(diǎn)法檢測(cè)信號(hào)頻率的方法[J].微型機(jī)與應(yīng)用,2016,35(14):74?76.

      [6] 姜乃卓,陳孝楨.微弱周期信號(hào)頻率檢測(cè)的一種改進(jìn)方法[J].實(shí)驗(yàn)技術(shù)與管理,2009,26(8):32?35.

      [7] 王旭東,劉渝,鄧振淼.基于修正Rife算法的正弦波頻率估計(jì)及FPGA實(shí)現(xiàn)[J].系統(tǒng)工程與電子技術(shù),2008,30(4):621?624.

      [8] 侯盼衛(wèi),楊錄.基于自相關(guān)檢測(cè)法和能量重心法的正弦信號(hào)頻率估計(jì)算法[J].科學(xué)技術(shù)與工程,2014,14(3):97?102.

      [9] 陳系玉,張曉晰,哈曉聞.基于GOERTZEL算法的雙音多頻信號(hào)檢測(cè)與仿真[J].科技信息,2012(28):118?119.

      [10] BAILEY D,貝利,原魁,等.基于FPGA的嵌入式圖像處理系統(tǒng)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2013.

      猜你喜歡
      對(duì)比分析電路設(shè)計(jì)
      Altium Designer在電路設(shè)計(jì)中的應(yīng)用
      負(fù)反饋放大電路設(shè)計(jì)
      成渝經(jīng)濟(jì)區(qū)城市經(jīng)濟(jì)發(fā)展水平比較研究
      英漢動(dòng)物詞匯文化內(nèi)涵的對(duì)比分析
      基于UC3843的60W升壓電路設(shè)計(jì)
      基于數(shù)據(jù)庫(kù)的唐詩(shī)宋詞對(duì)比研究
      基于UC3842應(yīng)用電路設(shè)計(jì)
      名山县| 博客| 徐州市| 顺昌县| 三门县| 高雄市| 华阴市| 泾源县| 化隆| 垦利县| 长顺县| 武隆县| 当涂县| 贺兰县| 抚松县| 武隆县| 萝北县| 贺兰县| 尚志市| 普兰店市| 任丘市| 云阳县| 岳阳市| 馆陶县| 西安市| 苏州市| 大理市| 桐庐县| 蕲春县| 金平| 崇明县| 南充市| 秦皇岛市| 始兴县| 安阳县| 衡南县| 天柱县| 双鸭山市| 镇雄县| 凤山市| 土默特右旗|