999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的實時載波頻率檢測電路設計

2020-07-23 06:27:48陳文藝榮幸楊輝
現代電子技術 2020年4期

陳文藝 榮幸 楊輝

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

關鍵詞: 載波頻率檢測; 電路設計; FPGA; 架構規劃; 頻率估算; 對比分析

中圖分類號: TN913.6?34; TP391? ? ? ? ? ? ? ? ?文獻標識碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號: 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? 引? 言

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

本文在Goertzel算法的特性基礎上,設計了一種綜合Goertzel算法和能量重心法的載波頻率檢測電路。首先介紹了頻率檢測原理,針對不同的信號模型進行了算法仿真分析,其次給出了頻率檢測系統的硬件實現架構。通過仿真和測試,表明所設計的電路消耗資源少、測量精度高和硬件執行速度快,并且可以實現資源和速度的靈活配置,符合高性能、高靈活性和低消耗的特點。

1? 頻率檢測原理

對傳感器獲取的載波信號進行頻率檢測的算法流程如圖1所示。在實際中采集的信號往往伴隨著噪聲,首先對信號進行灰度形態學濾波來提高信噪比,接著對信號進行自適應閾值二值化,將信號轉化為二值圖像,即完成了對信號的預處理工作;然后采用譜分析的方法估計出信號頻率,借助Goertzel算法對信號進行頻譜獲取,可粗略估計出信號頻率;最后采用能量重心估計算法對信號頻譜進行校正,獲得高精度的頻率估計值。

1.1? Goertzel算法原理

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

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

式(1)等效于一個迭代運算:

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

這樣仍需要對每個采樣點進行一次復數乘法運算,從而在z域內考察此迭代過程:

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

式中,第一項可作為一個實系數二階迭代過程來實現:

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

經過N個采樣點的積累后,可從第二項計算頻率項:

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

此過程相當于一個IIR濾波器來處理流水化的數據,包含前饋和反饋兩部分。反饋部分必須對每個采樣[fn]計算一次,而前饋部分只需在[n=N]時計算一次,在輸入[N]個采樣點數據后開始給出頻率值。當需要計算多個頻點值時,可以對每個頻點復制電路見圖2。

1.2? 能量重心估計算法原理

通過Goertzel算法得到信號的頻譜,然后通過搜索信號功率譜峰值譜線的位置可實現粗略的頻率估計。實際應用中,對信號的頻率估計性能有更高的要求,因此在以峰值譜線粗估計的基礎上,采用質心算法計算以峰值譜線為中心的區間的質心位置,并以該質心位置作為載波信號精確的頻率估計值。設對信號[yn]做[N]點Goertzel變換得到離散頻譜[Yk],則信號的功率譜[Gk]為:

[Gk=Yk/N2] (6)

通過逐點掃描功率譜信號[Gk],檢測[Gk]中的峰值譜線位置[Pmax]。再以峰值譜線位置[Pmax]為中心,取[2M+1]條譜線作為峰值譜線區間,用質心法計算峰值譜線區間的質心位置,并以該質心位置作為圖像信號頻率的精確估計值[PP],其中:

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

1.3? 信號模型與算法仿真

在算法原理基礎上,按照頻率檢測算法的實現流程,以不同情況的條碼尺作為輸入信號模型,首先用FFT算法和Goertzel算法分別求出信號的頻譜;然后采用質心算法,根據求得的頻譜算出信號的能量重心。仿真結果如圖3~圖5所示。

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

2? FPGA硬件實現

2.1? 系統設計

頻率檢測系統的電路如圖6所示,主要分為數據緩存模塊、頻率項計算模塊、能量重心計算模塊和控制狀態機模塊。二值圖像在雙口RAM中完成數據緩存后,通過并行的Goertzel電路計算出信號的頻譜,再通過能量重心法求取功率譜的質心位置即可確定信號頻率,得到的頻率值將送到后續處理電路,整個系統的數據路徑均在主控制狀態機和輔控制狀態機的控制下完成。

2.2? 數據緩存模塊

數據緩存模塊采用了乒乓操作。外部輸入數據流通過輸入數據選擇控制模塊送入兩個數據緩沖區中,數據緩沖模塊采用雙口RAM來作為存儲單元。在第一個緩存周期,將輸入的數據流緩存到數據緩沖區1;在第二個緩沖周期,輸入的數據流在緩沖區2完成緩存的同時,輸出數據選擇控制模塊將第一個周期緩存的數據流送到后續處理模塊;在第三個緩沖周期,輸入數據選擇控制模塊進行切換,輸入的數據流緩存到數據緩沖區1,輸出數據選擇控制模塊也進行切換,將第二個緩沖周期緩存的數據流送到后續處理模塊,如此不斷循環。

2.3? 頻率項計算模塊

根據頻譜計算功能需求分析,設計一套并串結合的數據處理算法,該模塊以8個Goertzel硬件電路并行完成8個頻點計算,重復串行計算5次,共完成40個頻點的計算,相應的控制信號均由主控制狀態機產生,計算所需系數被提前存放在ROM中。該模塊工作流程見圖7。

其基本運算思想為:

1) 上電開始后,預加載信號load拉高,完成一組實部系數加載操作;

2) 電路使能信號enable拉高,Goertzel電路開始并行工作,一次并行運算需進行2 048次迭代操作,在最后一次迭代操作時需將實部系數右移一位;

3) 電路進入暫停狀態,將并行運算結果通過多路選擇器存放在單口RAM中,同時加載一組虛部系數和下一組實部系數;

4) 在完成一次并行運算和結果的存儲后,使電路復位,清零寄存器;

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

2.4? 能量重心計算模塊

能量重心計算電路主要包括功率譜計算模塊、峰值譜線計算模塊、質心計算模塊和輔控制狀態機模塊,電路結構框圖如圖8所示。

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

3? 實驗結果與分析

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

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

4? 結? 語

本文利用流水線技術和串并結合思想,設計了一種基于Goertzel算法的載波頻率檢測硬件電路。經過驗證和分析,相比于傳統的FFT算法,在保證精度的同時,采用Goertzel算法極大地降低了硬件資源消耗,且系統達到了設計高速的要求,可適用于窄帶信號頻率的快速獲取,具有一定的實際應用價值。

參考文獻

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

[2] 齊荔荔,萬秋華.高分辨力面陣圖像式光電編碼器的測角技術[J].儀器儀表學報,2013,34(1):234?240.

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

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

[5] 馬亞男,戴爾晗,陳誠.一種利用自相關法和三點法檢測信號頻率的方法[J].微型機與應用,2016,35(14):74?76.

[6] 姜乃卓,陳孝楨.微弱周期信號頻率檢測的一種改進方法[J].實驗技術與管理,2009,26(8):32?35.

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

[8] 侯盼衛,楊錄.基于自相關檢測法和能量重心法的正弦信號頻率估計算法[J].科學技術與工程,2014,14(3):97?102.

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

[10] BAILEY D,貝利,原魁,等.基于FPGA的嵌入式圖像處理系統設計[M].北京:電子工業出版社,2013.

主站蜘蛛池模板: 男人的天堂久久精品激情| 香蕉久久国产超碰青草| 全色黄大色大片免费久久老太| 91无码人妻精品一区| 亚洲免费黄色网| 亚洲男人在线天堂| 青草国产在线视频| 久久国产高潮流白浆免费观看| 午夜性刺激在线观看免费| 中文字幕波多野不卡一区| 亚洲第一成年网| 99久久精品美女高潮喷水| 综合五月天网| 国产一区二区精品福利| 久久久久中文字幕精品视频| 亚洲人成色在线观看| 中文字幕亚洲乱码熟女1区2区| 任我操在线视频| 青青草国产在线视频| 少妇极品熟妇人妻专区视频| 久久永久视频| 成色7777精品在线| 亚洲国产精品日韩av专区| 成人免费网站在线观看| 四虎成人精品在永久免费| 日韩最新中文字幕| 亚洲va视频| 欧美一级高清视频在线播放| 2019年国产精品自拍不卡| 日本a∨在线观看| 国内精品自在欧美一区| 日韩专区欧美| 久久婷婷人人澡人人爱91| 久久综合丝袜长腿丝袜| 中文字幕日韩欧美| 国产成人AV男人的天堂| 国产乱子伦视频在线播放| 国产成a人片在线播放| 高潮毛片无遮挡高清视频播放| 久久黄色毛片| 国产91特黄特色A级毛片| 中文字幕亚洲乱码熟女1区2区| 亚洲Av综合日韩精品久久久| 久久96热在精品国产高清| 精品视频在线观看你懂的一区| 华人在线亚洲欧美精品| 日韩激情成人| 2021国产精品自产拍在线| 54pao国产成人免费视频| 免费一级毛片在线播放傲雪网| 亚洲欧洲日产国产无码AV| 久久精品亚洲专区| 日韩精品毛片人妻AV不卡| 亚洲无线视频| 偷拍久久网| 99这里只有精品6| 91无码视频在线观看| 国产成人精品免费av| 日韩精品高清自在线| 日韩无码视频专区| 亚洲无码电影| 亚洲乱亚洲乱妇24p| 黄色网址免费在线| 精品无码国产自产野外拍在线| 人妻一区二区三区无码精品一区| 欧美日韩免费观看| 欧美一级视频免费| 99久久免费精品特色大片| 91美女视频在线| 国产精品一区在线观看你懂的| 国产自产视频一区二区三区| 高清久久精品亚洲日韩Av| 91色在线观看| 国产色伊人| 国产精品九九视频| 国产精品毛片一区视频播| 欧美亚洲一二三区| 欧美成人看片一区二区三区 | 亚洲最大情网站在线观看| 亚洲一区色| 亚洲中文字幕国产av| 又爽又大又黄a级毛片在线视频 |