新聞中心

EEPW首頁 > 設(shè)計應(yīng)用 > 頻率匹配的原理及其硬件實(shí)現(xiàn)

頻率匹配的原理及其硬件實(shí)現(xiàn)

作者:■北京航空航天大學(xué) 王建坤 夏宇聞 時間:2004-12-14 來源:電子設(shè)計應(yīng)用2004年第11期 收藏

摘    要:本文介紹了一種的方法——,文中詳細(xì)地敘述了算法的原理,用 從理論上證明了算法的正確性, 在此基礎(chǔ)上用可綜合的RTL Verilog模型描述了算法,通過對綜合后網(wǎng)表進(jìn)行仿真,驗(yàn)證了算法硬件實(shí)現(xiàn)的可行性。最后,根據(jù)頻率匹配的原理,實(shí)現(xiàn)了一種高精度數(shù)字頻率檢測器,并給出了相關(guān)的精度值。
關(guān)鍵詞:;頻率匹配;;

本文引用地址:http://butianyuan.cn/article/4153.htm

圖 1 實(shí)現(xiàn)頻率匹配算法的結(jié)構(gòu)框圖

圖2 頻率匹配算法模塊的內(nèi)部結(jié)構(gòu)

前言
對于未知信號,可以通過傅立葉變換來檢測信號中的頻譜分布情況。但是,從傅立葉變換的結(jié)果只能看出該信號中包含哪些頻率,而對于某頻率的幅度在時域的分布情況卻無從知曉,為了弄清楚某一頻率的幅度在時域的分布情況,可以通過頻率匹配來測定。同樣,如果知道某一信號中包含某一頻率,也可以通過頻率匹配將信號中該頻率的幅度所在的時域檢測出來。
所謂頻率匹配就是使用一種頻率的信號(以下稱之為匹配信號)去與未知信號(以下稱之為被匹配信號)進(jìn)行相關(guān)運(yùn)算。因?yàn)橄嚓P(guān)運(yùn)算可以用來檢測兩個信號的相似性,而做相關(guān)運(yùn)算的目的就是將被匹配信號中與匹配信號頻率相同或相近的部分進(jìn)行放大,這樣就可以弄清楚與匹配信號頻率相同或相近的頻率在被匹配信號中的分布情況。匹配信號必須是一種單一頻率的信號,因此最理想的匹配信號當(dāng)然就是三角函數(shù)。本文就以三角函數(shù)為例,敘述頻率匹配的原理和方法。

頻率匹配的實(shí)現(xiàn)方法
實(shí)際應(yīng)用中的信號通常是離散的,因此,本文只討論離散信號??梢杂妙l率匹配來實(shí)現(xiàn)離散信號的檢測、識別和提取。下面介紹離散信號頻率匹配的實(shí)現(xiàn)方法。
設(shè)被匹配離散信號為 X(m),其采樣頻率為 fs,取匹配離散信號為 和,離散信號的頻率匹配運(yùn)算如下:
(1)
(2)
(3)
其中 N 根據(jù)實(shí)際情況而定,通常取的整數(shù)倍。
通過匹配運(yùn)算得到的離散函數(shù) M(n),具有如下性質(zhì):若 X(n) 在區(qū)間[n1,n2]  上的頻率為w,則 M(n) 在區(qū)間[n1,n2]上將出現(xiàn)峰值,即在區(qū)間[n1,n2] 內(nèi) M(n) 的值將明顯大于其它地方的值。

頻率匹配的 DSP 實(shí)現(xiàn)
下面簡要地介紹頻率匹配的 DSP 實(shí)現(xiàn)方法,頻率匹配算法的主要部分是計算 M1(n) 和 M2(n) 。頻率匹配的 DSP 實(shí)現(xiàn)方法可以分成兩種:單采樣和塊采樣。在單采樣模式中,每一個采樣周期內(nèi)只有一個采樣值到達(dá),在每一個采樣周期內(nèi)也只產(chǎn)生一個信號輸出值。因此,單采樣實(shí)現(xiàn)的頻率匹配必須實(shí)時執(zhí)行。在塊采樣模式中,每一個塊周期內(nèi)有多個采樣值到達(dá),且每一個塊周期內(nèi)能產(chǎn)生多個信號輸出值。塊采樣能夠根據(jù)實(shí)際需要,既可以很快也可以很慢地處理所有輸入采樣值。
在這里將使用塊采樣模式來實(shí)現(xiàn)頻率匹配,為了節(jié)省存儲器和軟件開銷,大多數(shù) DSP 硬件都可實(shí)現(xiàn)循環(huán)存儲器,此處的頻率匹配 DSP也使用循環(huán)緩沖器來實(shí)現(xiàn)。對于輸入的新的采樣值,采用新的采樣值進(jìn)入、老的采樣值溢出的方式,這樣可以節(jié)省軟件開銷。頻率匹配的 DSP 實(shí)現(xiàn)需要 3 個循環(huán)緩沖器,用來分別存儲 X(n)、sin(n) 和cos(n) 。其中 X(n) 在每一個塊周期內(nèi)需要接收多個采樣值,在新的采樣值進(jìn)入循環(huán)緩沖器時,溢出老的采樣值。由于sin(n) 和cos(n)  是周期函數(shù),因此不需要在每個塊周期都向其循環(huán)緩沖器輸入采樣值,只需在第一個塊周期內(nèi)將一個周期的采樣值存到緩沖器中即可。在處理過程中,在每一個塊周期內(nèi),不需要再向循環(huán)緩沖器中裝載 sin(n) 和cos(n)  的值,只需更新循環(huán)緩沖器的變址器指針即可,而對于 X(n) 循環(huán)緩沖器,每一個塊周期都要向其中輸入新的采樣值,并且需要更新循環(huán)緩沖器的變址器指針。
為了理解上述實(shí)現(xiàn)思想,舉一個簡單的例子:設(shè)采樣的塊長度為 4,做相關(guān)運(yùn)算的點(diǎn)數(shù)為 5,保存X(n)  值的循環(huán)緩沖器長度為 8;設(shè)三角離散函數(shù)的周期為 5(在實(shí)際應(yīng)用中,通常取做相關(guān)運(yùn)算的點(diǎn)數(shù) = 三角離散函數(shù)的周期),考慮到循環(huán)緩沖器的長度必須是 2 的冪次,所以保存sin(n)  和 cos(n) 的循環(huán)緩沖器的長度也取 8。在第一個塊周期內(nèi),第一次輸出集合{M1(0),M1(1), M1(2),M1(3) }按下式計算:      (4)
從式(4)可以看出,在第一個塊周期內(nèi),需要從緩沖器得到 8 個采樣值X(0)~X(7)。同理可以推出在第二個塊周期內(nèi),需要從緩沖器得到X(4)~X(11),在第三個塊周期內(nèi),需要從緩沖器得到X(8)~X(15)。因此在第二個塊周期后,應(yīng)按順序向循環(huán)緩沖器中裝入4個新的采樣值。一個塊周期開始時,循環(huán)緩沖器的變址器指針總是指向在該塊周期內(nèi)使用的第一個采樣值,因此 X(n) 的循環(huán)緩沖器變址指針應(yīng)該按照式(5)來計算。
變址器指針=[前一個變指針 + 塊長度] mod 緩沖器長度                    (5)
由于sin(n)是周期為 5 的函數(shù),因此只需在第一個塊周期內(nèi)向sin(n)的循環(huán)緩沖器裝載 5 個采樣值。sin(n)的循環(huán)緩沖器變址指針應(yīng)該按照式(6)來計算。
變址器指針=[前一個變指針 + 塊長度] mod  三角離散函數(shù)的周期      (6)
在計算M2(n)時,X(n)循環(huán)緩沖器實(shí)現(xiàn)方法如前面所述,cos(n)循環(huán)緩沖器的實(shí)現(xiàn)方法與sin(n)的循環(huán)緩沖器相同,其循環(huán)緩沖器變址指針計算也遵循式 (6)。

使用 Verilog HDL實(shí)現(xiàn)頻率
匹配算法
頻率匹配算法并不是很復(fù)雜,因此可以使用 Verilog HDL實(shí)現(xiàn)該算法,然后將生成的網(wǎng)表文件下載到 FPGA中。使用 Verilog HDL實(shí)現(xiàn)頻率匹配算法的結(jié)構(gòu)框圖如圖 1所示。
圖1包含了兩個模塊,其中數(shù)據(jù)轉(zhuǎn)換緩存器的作用是實(shí)現(xiàn)數(shù)據(jù)格式轉(zhuǎn)換和數(shù)據(jù)緩存,數(shù)據(jù)格式轉(zhuǎn)換是將從外部接收到數(shù)據(jù)的格式轉(zhuǎn)換成頻率匹配算法模塊可以處理的數(shù)據(jù)格式,數(shù)據(jù)緩存就是將接收到的大量數(shù)據(jù)存到寄存器中,然后在每個時鐘周期向頻率匹配算法模塊輸送一個數(shù)據(jù)。頻率匹配算法模塊是整個系統(tǒng)的核心,在實(shí)現(xiàn)該模塊時,使用了兩級流水線,大大加快了數(shù)據(jù)的處理速度。頻率匹配算法模塊的內(nèi)部結(jié)構(gòu)如圖2所示,其中 reg1 和 reg2 用來保存sin(n)和cos(n)的值。
頻率匹配算法模塊的可綜合RTL Verilog模型描述的代碼保存在 freqmatch.v 文件中。另外,在設(shè)計的過程中,還編寫了頂層測試模塊文件 t_freqmatch.v,在該文件中,首先將 生成的仿真數(shù)據(jù)(保存在 data.txt 中)讀入到緩存器中,然后在每個時鐘周期內(nèi)向 freqmatch 模塊發(fā)送一個數(shù)據(jù)。data.txt 文件的數(shù)據(jù)包含三個部分,前一部分為隨機(jī)噪聲,中間是頻率為 500Hz 的正弦信號,后一部分是頻率為 1000Hz 的正弦信號。在 freqmatch.v 文件中,將匹配信號的頻率設(shè)為 500Hz。通過仿真,freqmatch 模塊能夠有效地將中間部分頻率為 500Hz 的正弦信號提取出來。

結(jié)語
在設(shè)計的過程中,作者為該數(shù)字頻率檢測器編寫了可綜合的 RTL Verilog 模塊,并通過了仿真和綜合,其規(guī)??梢钥刂圃诤侠淼姆秶畠?nèi)。另外,可以通過增加頻率匹配中作相關(guān)運(yùn)算的點(diǎn)數(shù)來提高頻率檢測器的精度。并且在設(shè)計中使用了一種改進(jìn)的頻率匹配算法,可以使硬件規(guī)模不會隨著作相關(guān)運(yùn)算的點(diǎn)數(shù)的增加而增大。由于頻率匹配檢測器與頻率濾波器很相似,因此在這里借用頻率濾波器的參數(shù)來描述頻率檢測器,表1和表2給出了根據(jù)頻率匹配原理已經(jīng)實(shí)現(xiàn)的幾種頻率檢測器的參數(shù)(表中的通帶指以該匹配頻率進(jìn)行檢測時所能檢測出的頻率段)。
最后,需要指出的是本文所討論的頻率檢測器與頻率濾波器很相似,但它們有不同之處。使用理想頻率檢測器對信號進(jìn)行處理時,能夠?qū)⒛骋活l率信號提取出來,但抹掉了原始信號中該頻率信號振幅上的差異,即在輸出信號中,該頻率信號振幅是一個恒定值。而使用理想濾波器器對信號進(jìn)行處理時,不僅能夠?qū)⒛扯晤l率信號提取出來,而且不會改變該段頻率信號的其它特性。■

參考文獻(xiàn)
1 胡廣書 編著. 數(shù)字信號處理——理論、算法和實(shí)現(xiàn). 清華大學(xué)出版社,1997
2 王華 等編著. Matlab 在電信工程中的應(yīng)用. 中國水利水電出版社,2001
3 戴逸民, 梁小雯, 裴小平 等編著. 基于 DSP 的現(xiàn)代電子系統(tǒng)設(shè)計.電子工業(yè)出版社,2002



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉