欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于music算法的譜峰搜索方法及其硬件電路的制作方法

文檔序號:10510771閱讀:497來源:國知局
一種基于music算法的譜峰搜索方法及其硬件電路的制作方法
【專利摘要】本發(fā)明公開了一種用于MUSIC算法中譜峰搜索的硬件電路及其實現(xiàn)方法,包括:1設(shè)計譜峰搜索的流程;2設(shè)計方向向量計算模塊;3設(shè)計譜函數(shù)計算模塊;4設(shè)計極值檢驗?zāi)K;5設(shè)計譜峰搜索的整體硬件電路。本發(fā)明所設(shè)計的硬件電路可以實現(xiàn)MUSIC算法中的譜峰搜索功能,并且硬件電路復(fù)雜度低,資源消耗少,任務(wù)執(zhí)行速度快。
【專利說明】
一種基于MUSIC算法的譜峰搜索方法及其硬件電路
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及陣列信號處理領(lǐng)域,具體地說是一種基于MUSIC算法的譜峰搜索方法 及其硬件電路。
【背景技術(shù)】
[0002] 陣列信號處理屬于現(xiàn)代信號處理的重要研究內(nèi)容,在移動通信、電子對抗、參數(shù)估 計、信號識別等領(lǐng)域都有著廣泛的應(yīng)用前景。一般來講,陣列信號處理是將多個傳感器設(shè)置 在空間的不同位置來組成傳感器陣列,通過對接收機(jī)輸出的數(shù)據(jù)進(jìn)行處理,利用各個信號 在空間位置上的差異,提取信號源的特征信息。這些特征信息包括:空間信號源的方向、數(shù) 目、頻率、相位、調(diào)制形式等。
[0003] MUSIC算法是基于特征結(jié)構(gòu)分析的空間譜估計方法,是空間譜估計技術(shù)的典型代 表,是陣列信號處理領(lǐng)域的一個重要分支。其基本原理是對陣列輸出數(shù)據(jù)的協(xié)方差矩陣進(jìn) 行特征分解,將信號空間分解為噪聲子空間和信號子空間,利用噪聲子空間與陣列的方向 矩陣正交的性質(zhì),估計出信號源的方向等信息。
[0004] MUISC算法中很重要的一步就是譜峰搜索,通過將方向向量矩陣和噪聲矩陣做矩 陣乘法運算得到空間譜函數(shù)值,繼而對空間譜函數(shù)值做極值搜索,得到信號源的方位信息, 譜峰搜索的一個重要特點就是隨著精度要求的提高,運算量變得十分龐大。
[0005] 已有的研究提出的方案大多數(shù)基于將方向向量矩陣提前算好,相關(guān)數(shù)值直接固化 在存儲器中,在進(jìn)行譜峰搜索的時候,不需要計算方向向量,可以直接從存儲器中讀取方向 向量的值來計算空間譜函數(shù),隨著精度要求的提高,尤其是在進(jìn)行二維空間方位估計時,這 種方法需要消耗大量的存儲資源,其局限性十分明顯。

【發(fā)明內(nèi)容】

[0006] 本發(fā)明為了避免上述技術(shù)不足之處,提出了一種基于MUSIC算法的譜峰搜索方法 及其硬件電路,以期能降低存儲資源的消耗,加快任務(wù)執(zhí)行速度,從而在硬件電路中高效地 實現(xiàn)譜峰搜索。
[0007] 本發(fā)明為解決技術(shù)問題采用如下技術(shù)方案:
[0008] 本發(fā)明一種用于MUSIC算法的譜峰搜索方法的特點是按如下步驟進(jìn)行:
[0009] 步驟1、利用式(1)獲得方向向量AA:
[0011 ]式(1)中,pi tch表示輸入的俯仰角的弧度值,az imuth表示輸入的方位角的弧度 值,s表示譜峰搜索步長的弧度值
,M表示 陣元數(shù)目,r表示陣元半徑,λ表示波長,drl表示波長半徑比;
[0012] 步驟2、利用式(2)獲得空間譜函數(shù)Pmusic(iJ):
[0013] Pmusic(i,j)=AA(i,j,:)XUUXUUTXAA(i,j,:) T (2)
[0014]式(2)中,UU表不輸入的噪聲向量矩陣,矩陣的規(guī)模為Μ行(M-K)列,K表不信號源個 數(shù);
[0015]步驟3、利用式(3)對空間譜函數(shù)PmUSic(i,j)做極值檢驗,求得能滿足式(3)中所 有條件的空間譜函數(shù)Pmus i c (i,j)的極小值點(i〇,j〇);從而獲得以方向角輸入值az imuth (i〇)和俯仰角輸入值pitch(jo)所構(gòu)成的譜峰搜索結(jié)果:
[0017] 本發(fā)明一種用于MUSIC算法中譜峰搜索的硬件電路的特點是包括:方向向量計算 模塊AA_gen、空間譜函數(shù)計算模塊Pmus i c_ca 1、極值檢驗?zāi)KPeak_check;
[0018] 所述方向向量計算模塊AA_gen包括:2個加法器、1個乘法器mul、
個寄存 器
個多路選擇器.
個減法器和
I.個cordic計算單元;
[0019]
和寄存器azimuth中存儲的數(shù)值r0作為第一加法器add_l的輸入,經(jīng)過
所述第一加法器addj運算后的結(jié)果輸出至所述寄存器azimuth中進(jìn)行存儲;所述寄存器 azimuth將所存儲的數(shù)值rO分別傳輸至( )個減法器的輸入端和第一多路選擇器的輸入 端;
[0020] 以寄存器azimuth將所存儲的數(shù)值rO和常數(shù)
-作為第1減法器的輸入,經(jīng)過所述 第1減法器subl運算后的結(jié)果al輸出至第二多路選擇器的輸入端;
[0021] 以寄存器azimuth將所存儲的數(shù)值rO和常數(shù)
作為第2減法器的輸入,經(jīng)過所述 第2減法器sub2運算后的結(jié)果a2輸出至第三多路選擇器的輸入端;
[0022] ……
[0023] 以寄存器azimuth將所存儲的數(shù)值rO和常數(shù)
減法器的輸

運算后的 ·多路選擇器 的輸入端;
[0024]
?和寄存器pitch中存儲的數(shù)值rl作為第二加法器add_2的輸入,經(jīng)過所 述第二加法器add_2運算后的結(jié)果輸出至所述寄存器pitch中進(jìn)行存儲;所述寄存器pitch 將所存儲的數(shù)值rl傳輸至
τοη??χ計算單元的輸入端;經(jīng)過所述
計算單元的運算后的結(jié)果
個多路選擇器的輸入端;
[0025]?個寄存器中分別所存儲的數(shù)值R1,R2,…,i?-傳遞到第個多路選擇器 中;


[0026]
個多路選擇器和第
個多路選擇器的輸出端與乘法器mul的輸入
端相連;經(jīng)過所述乘法器mul的運算獲得的結(jié)果r2分別輸出給所述第 個多路選擇器的 另一個輸入端以及
t多路選擇器的另一個輸入端;
[0027]
個多路選擇器的輸出端分別與
個cordic計算單元的輸入端相連;
[0028] 所述第1個cordic計算單元從所對應(yīng)的多路選擇器中讀取數(shù)值r0并進(jìn)行運算后得 到計算結(jié)果cos (azimuth)并傳輸至第1個寄存器中;所述第1個cordic計算單元從所對應(yīng)的 多路選擇器中讀取結(jié)果r2并進(jìn)行運算后得到兩個輸出結(jié)果
和AA(1);
[0029] 所述第2個cordic計算單元從所對應(yīng)的多路選擇器中讀取數(shù)值al并進(jìn)行運算后得
并傳輸至第2個寄存器中;所述第2個cordic計算單元從所對應(yīng) 的多路選擇器中讀取結(jié)果r2并進(jìn)行運算后得到兩個輸出結(jié)果
[0030] ……
[0031 ]
__fcordic計算單元從所對應(yīng)的多路選擇器中讀取數(shù)
運算后得到計算
cordic計算單元從所對應(yīng)的多路選擇器中讀取結(jié)果r2并進(jìn)行運算后得到兩個輸出結(jié)果AA
[0032] 所述空間譜函數(shù)計算模塊Pmusic_cal包括:1個乘法器Mul、l個加法器Add、(M-K) 個寄存器、4個多路選擇器;
[0033] 噪聲向量矩陣UU(k,n)分別作為第·
個多路選擇器的輸入值;k=l,2.…,M;n
= 1,2····,Μ-Κ;
[0034] 所述向向量計算模塊AA_gen的輸出結(jié)果AA(k)作為第 -多路選擇器的輸入


值;
[0035] 多路選擇器的輸出值作為第 多路選擇器和第 多路選 擇器的另一個輸入值;
[0036]
[個多路選擇器的輸出值分別作為乘法器 Mul輸入值,經(jīng)過乘法器Mul的運算后的結(jié)果作為加法器Add的一個輸入值;
[0037] 以數(shù)值0和加法器Add的輸出值作為
多路選擇器的輸入值;所述第
個多路選擇器的輸出值作為加法器Add的另一個輸入值;
[0038] 所述乘法器Mul分別從
-多路選擇器中讀取噪
聲向量矩陣UU(k,n)和輸出結(jié)果AA(k)并進(jìn)行計算,獲得的結(jié)果傳遞給所述加法器Add進(jìn)行 計算,所述加法器Add的計算結(jié)果分別傳遞給所述(M-K)個寄存器進(jìn)行存儲,所述 個多路選擇器的輸入端與所述所述(M-K)個寄存器相連;
[0039] 所述乘法器Mul分別從
個多路選擇器中讀取所
多路選擇器的輸出值并進(jìn)行計算,獲得的結(jié)果傳遞給所述加法器Add進(jìn)行計 算,由所述加法器Add獲得計算結(jié)果Pmusic并輸出;
[0040] 所述極值檢驗?zāi)KPeak_CheCk包括:12個寄存器、2個存儲器、1個多路選擇器、1個 比較器和1個邏輯"與"運算單元;
[0041 ]以所述計算結(jié)果Pmusic作為第三寄存器temp3的輸入值;所述第三寄存器temp3的 輸出值傳輸至所述第二寄存器temp2中;所述第二寄存器temp2的輸出值傳輸至第一寄存器 tempi 中;
[0042] 所述第一寄存器tempi的輸出值傳輸至第一存儲器;所述第一存儲器的輸出值傳 遞給第二存儲器;所述第二存儲器的輸出值傳遞給中心寄存器temp_ C〇re;
[0043]
多路選擇器的輸入端分別與第一存儲器的輸出端、第二存儲器的輸出 端、第三寄存器temp3的輸出端、第二寄存器temp2的輸出端、第一寄存器tempi的輸出端相 連;
[0044]
?多路選擇器的輸出端與比較器的輸入端相連;所述比較器的另一 個輸入端與所述中心寄存器temp_core的輸出端相連;
[0045] 所述比較器的輸出端分別與8個結(jié)果寄存器相連;
[0046] 所述8個結(jié)果寄存器的輸出端與所述邏輯"與"運算單元相連,并經(jīng)過邏輯"與"運 算單元的計算后輸出極值檢驗結(jié)果peak_vaild。
[0047] 與現(xiàn)有的技術(shù)相比,本發(fā)明的有益效果體現(xiàn)在:
[0048] 1、本發(fā)明提出的基于MUSIC算法的譜峰搜索方法,其方向向量是通過實時計算得 出,而不是提前固化在存儲器中,從而節(jié)省了大量的存儲資源,隨著譜峰搜索精度的提高, 尤其是在應(yīng)用于二維空間譜峰搜索的場合中,優(yōu)勢十分明顯;
[0049] 2、本發(fā)明通過方向向量計算模塊、空間譜函數(shù)計算模塊和極值檢驗?zāi)K可以實現(xiàn) 流水線操作,極大地縮短了任務(wù)的執(zhí)行時間,實時性很高;
[0050] 3、本發(fā)明的方向向量計算模塊,是通過對乘法器實行分時復(fù)用,節(jié)省了較多的運 算資源;
[0051] 4、本發(fā)明的空間譜函數(shù)計算模塊,是通過對乘法器和加法器實行分時復(fù)用,節(jié)省 了較多的運算資源;
[0052] 5、本發(fā)明是極值檢驗?zāi)K,是通過對比較器實行分時復(fù)用,節(jié)省了較多的邏輯資 源。
【附圖說明】
[0053]圖1為本發(fā)明方向向量計算模塊的硬件電路的結(jié)構(gòu)示意圖;
[0054]圖2為本發(fā)明空間譜函數(shù)計算模塊的硬件電路結(jié)構(gòu)示意圖;
[0055] 圖3為本發(fā)明極值檢驗?zāi)K的硬件電路結(jié)構(gòu)示意圖;
[0056] 圖4為本發(fā)明譜峰搜索的硬件電路的結(jié)構(gòu)示意圖。
【具體實施方式】
[0057] MUSIC算法在實際運用當(dāng)中,根據(jù)陣列天線的排列方式,可以分為圓形陣列和線形 陣列;通過算法既可以進(jìn)行一維空間的方向估計,又可以進(jìn)行二維空間的方向估計。本實施 例中提出的譜峰搜索的硬件電路和實現(xiàn)方法是針對圓形陣列并且搜索空間為二維空間的 應(yīng)用條件,需要估計的參數(shù)既包括俯仰角又包括方位角。具體的說,
[0058] 一種用于MUSIC算法的譜峰搜索方法是按如下步驟進(jìn)行:
[0059]步驟1、利用式(1)獲得方向向量AA:
[0061 ]式(1)中,pi tch表示輸入的俯仰角的弧度值,az imuth表示輸入的方位角的弧度
值,s表示譜峰搜索步長的弧度值, 陣元數(shù)目,r表示陣元半徑,λ表示波長,drl表示波長半徑比;
[0062] 步驟2、利用式(2)獲得空間譜函數(shù)Pmusic(iJ):
[0063] Pmusic(i,j)=AA(i,j,:)XUUXUUTXAA(i,j,:) T (2)
[0064] 式(2)中,UU表示輸入的噪聲向量矩陣,矩陣的規(guī)模為Μ行(M-K)列,K表示信號源個 數(shù);
[0065]步驟3、利用式(3)對空間譜函數(shù)PmUSic(i,j)做極值檢驗,求得能滿足式(3)中所 有條件的空間譜函數(shù)Pmus i c (i,j)的極小值點(i〇,j〇);從而獲得以方向角輸入值az imuth (i〇)和俯仰角輸入值pitch(jo)所構(gòu)成的譜峰搜索結(jié)果:

[0067]本實施例中,一種用于MUSIC算法中譜峰搜索的硬件電路包括:方向向量計算模塊 AA_gen、空間譜函數(shù)計算模塊Pmus i c_ca 1、極值檢驗?zāi)KPeak_check;
[0068] 方向向量計算模塊AA_gen包括:2個加法器、1個乘法器mul. 個寄存器、
'cordic計算單元;
[0069]
和寄存器azimuth中存儲的數(shù)值r0作為第一加法器add_l的輸入,經(jīng)過 第一加法器add_l運算后的結(jié)果輸出至所述寄存器azimuth中進(jìn)行存儲;所述寄存器 azimuth將所存儲的數(shù)值rO分別傳輸至(
:個減法器的輸入端和第一多路選擇器的輸 入端;
[0070] 以寄存器azimuth將所存儲的數(shù)值rO和常數(shù)
作為第1減法器的輸入,經(jīng)過所述 第1減法器subl運算后的結(jié)果al輸出至第二多路選擇器的輸入端;
[0071] 以寄存器azimuth將所存儲的數(shù)值rO和常數(shù)
作為第2減法器的輸入,經(jīng)過所述 第2減法器sub2運算后的結(jié)果a2輸出至第三多路選擇器的輸入端;
[0072] ……
[0073] 以寄存器azimuth將所存儲的數(shù)值rO和
減法器的輸
-多路選擇 器的輸入端;
[0074]
和寄存器pitch中存儲的數(shù)值rl作為第二加法器add_2的輸入,經(jīng)過所 述第二加法器add_2運算后的結(jié)果輸出至所述寄存器pitch中進(jìn)行存儲;所述寄存器pitch 將所存儲的數(shù)值r 1傳輸至
hC〇rdi c計算單元的輸入端;經(jīng)過所述第-
計算單元的運算后K
多路選擇器的輸入端;
[0075]
個寄存器中分別所存儲的數(shù)值多路選擇器 中;
[0076]
?多路選擇器的輸出端與乘法器mul的輸入端相
連;經(jīng)過乘法器mul的運算獲得的結(jié)果r2分別輸出給 、多路選擇器的另一個輸入端
?多路選擇器的另一個輸入端;
[0077]
-個多路選擇器的輸出端分別與
個cordic計算單元的輸入端相連;
[0078] 第1個cordic計算單元從所對應(yīng)的多路選擇器中讀取數(shù)值rO并進(jìn)行運算后得到計 算結(jié)果cos (azimuth)并傳輸至第1個寄存器中;第1個cordic計算單元從所對應(yīng)的多路選擇 器中讀取結(jié)果r2并進(jìn)行運算后得到兩個輸出結(jié)果
[0079] 第2個cordic計算單元從所對應(yīng)的多路選擇器中讀取數(shù)值al并進(jìn)行運算后得到計
并傳輸至第2個寄存器中;所述第2個cordic計算單元從所對應(yīng)的多 路選擇器中讀取結(jié)果r2并進(jìn)行運算后得到兩個輸出結(jié)果
[0080] ……
[0081 ]
、cordic計算單元從所對應(yīng)的多路選擇器中讀取數(shù)值
后得到計算
_cordic計算 單元從所對應(yīng)的多路選擇器中讀取結(jié)果r2并進(jìn)行運算后得到兩個輸出結(jié)果AA(M)和
[0082] 本實施例中,
_陣元數(shù)M = 8,所設(shè)計的方向向量計算模塊如圖 1所示,其中包括2個加法器、3個減法器、1個乘法器、6個寄存器、6個多路選擇器和5個 cordic計算單元,具體運算流程如下:
[0083] 步驟&、將寄存器&2;[1]1111:11、口;[1:(311、(308_1'1、(308_12、(308_13、(308_14中存儲的數(shù)值進(jìn) 行初始化賦值,分別是 r0 = 0、rl=0、Rl=0、R2 = 0、R3 = 0、R4 = 0;

[0084] 步驟b、
和寄存器azimuth中存儲的數(shù)值r0進(jìn)入加法器add_l,完成運 算,并把運算結(jié)果rO輸出到寄存器azimuth中;
[0085] 步驟c、減法器subl分別讀取azimuth中存儲的數(shù)值r0和常數(shù),完成運算 并且把運算結(jié)果al輸出至第二多路選擇器的輸入端;
[0086] 步驟d、減法器sub2分別讀取azimuth中存儲的數(shù)值r0和常數(shù)_,完成運算 并且把運算結(jié)果a2輸出至第三多路選擇器的輸入端;
[0087] 步驟e、減法器sub3分別讀取azimuth中存儲的數(shù)值r0和常數(shù)
,完成運算
,并且把運算結(jié)果a3輸出至第四多路選擇器的輸入端;
[0088] 步驟f、第1到第4個cordic計算單元分別從多路選擇器的輸出端讀取源操作數(shù)r0、al、 a2、a3,分別完成運算cos (azimuth) 并把運算結(jié)果R1、1?2、1?3、1?4輸出到寄存器(3〇8_1'1、(3〇8」"2、(3〇8」"3、(3〇8」"4中;
[0089]
和寄存器pitch中存儲的數(shù)值rl進(jìn)入加法器add_2,完成運算, 并把運算結(jié)果rl輸出到寄存器pitch中;
[0090] 步驟h、從第五多路選擇器和第六多路選擇器的輸出端讀取rl和常數(shù)π進(jìn)入乘法器 mul,完成運算,并且把運算結(jié)果ml輸出到第五多路選擇器的輸入端;
[0091] 步驟i、從第五多路選擇器中讀取ml作為乘法器mul的1個輸入,依次從第六多路選 擇器讀取Rl、R2、R3、R4作為乘法器的另一個輸入,依次完成運算,運算結(jié)果m2、m3、m4、m5分 別輸出到第一到第四多路選擇器的輸入端;
[0092] 步驟j、第1個cordic計算單元讀取源操作數(shù)m2,完成運算,運算結(jié)果作為方向向量 運算的兩個輸出AA(5)和AA(1);
[0093] 步驟k、第2個cordic計算單元讀取源操作數(shù)m3,完成運算,運算結(jié)果作為方向向量 運算的兩個輸出AA(6)和AA(2);
[0094] 步驟1、第3個cordic計算單元讀取源操作數(shù)m4,完成運算,運算結(jié)果作為方向向量 運算的兩個輸出輸出AA(7)和AA(3);
[0095] 步驟m、第4個cordic計算單元讀取源操作數(shù)m5,完成運算,運算結(jié)果作為方向向量 運算的兩個輸出輸出AA(8)和AA(4);
[0096] 步驟η、如果寄存器az imuth中存儲的值r0 = 2π,寄存器pi tch中存儲的 方向向量的運算結(jié)束,否則進(jìn)入步驟1;
[0097] 步驟〇、如果寄存器pitch中存儲的值 ,則返回步驟b,并且將寄存器pitch中 的值置為〇;
則返回步驟d;
[0098]具體實施中,空間譜函數(shù)計算模塊Pmusic_cal包括:1個乘法器Mul、1個加法器 Add、(M-K)個寄存器、4個多路選擇器;
[0099]噪聲向量矩陣UU(k,n)分別作為第
個多路選擇器的輸入值;k = l,2.…,M;
[0100]向向量計算模塊AA_gen的輸出結(jié)果AA(k)作為第
-多路選擇器的輸入值;
[0101]
^路選擇器的輸出值作為
多路選 擇器的另一個輸入值;
[0102]
個多路選擇器的輸出值分別作為乘法器Mul輸 入值,經(jīng)過乘法器Mul的運算后的結(jié)果作為加法器Add的一個輸入值;
[0103] 以數(shù)值0和加法器Add的輸出值作為 路選擇器的輸出值作為加法器Add的另一個輸入值;
[0104] 乘法器Mul分別從
·多路選擇器中讀取噪聲向 量矩陣UU(k)和輸出結(jié)果AA(k)并進(jìn)行計算,獲得的結(jié)果傳遞給加法器Add進(jìn)行計算,加法器 Add的計算結(jié)果分別傳遞給(M-K)個寄存器進(jìn)行存儲
、多路選擇器的輸入端與(M- K)個寄存器相連;
[0105] 乘法器Mul分別從
個多路選擇器的輸出值并進(jìn)行計算,獲得的結(jié)果傳遞給加法器Add進(jìn)行計算,由加法器Add 獲得計算結(jié)果Pmusic并輸出;
[0106] 本實施例中,假設(shè)陣元數(shù)目M = 8,信號源數(shù)目K = 3,設(shè)計的譜函數(shù)計算模塊如圖2 所示,包括1個乘法器、1個加法器、5個寄存器、3個多路選擇器;具體運算流程如下:
[0107] 步驟a、讀取源操作數(shù)UU(k,l)和AA(k)進(jìn)入乘法器Mul,k=l,2,…8,完成運算,并 且把運算結(jié)果m6輸出給加法器Add;
[0108] 步驟b、從乘法器的輸出端讀取數(shù)值m6和從
多路選擇器的輸出端另一個 源操作數(shù),完成8次加法運算,將得到的運算結(jié)
|輸出到寄存器wwl中;
[0109] 步驟c、讀取源操作數(shù)UU(k,2)和AA(k)進(jìn)入乘法器Mul,完成運算,并且把運算結(jié)果 m7輸出給加法器Add;
[0110] 步驟d、從乘法器的輸出端讀取數(shù)值m7和從
多路選擇器的輸出端另一個 源操作數(shù),完成8次加法運算,將得到的運算結(jié)
H/(..v,2)輸出到寄存器ww2中;
[0111] 步驟e、讀取源操作數(shù)UU(k,3)和AA(k)進(jìn)入乘法器Mul,完成運算,并且把運算結(jié)果 m8輸出給加法器Add;
[0112] 步驟f、從乘法器的輸出端讀取數(shù)值m8和從
多路選擇器的輸出端另一個 源操作數(shù),完成8次加法運算,將得到的運算
^(λ·,3)輸出到寄存器胃3中;
[0113] 步驟g、讀取源操作數(shù)UU(k,4)和AA(k)進(jìn)入乘法器Mul,完成運算,并且把運算結(jié)果 m9輸出給加法器Add;
[0114] 步驟h、從乘法器的輸出端讀取數(shù)值m9和從
多路選擇器的輸出端另一個 源操作數(shù),完成8次加法運算,將得到的運算
mv,4)輸出到寄存器WW4中;
[0115] 步驟i、讀取源操作數(shù)UU(k,5)和AA(k)進(jìn)入乘法器Mul,完成運算,并且把運算結(jié)果 ml 0輸出給加法器Add;
[0116] 步驟j、從乘法器的輸出端讀取數(shù)值mlO和從
多路選擇器的輸出端另一 個源操作數(shù),完成8次加法運算,將得到的運算
輸出到寄存器WW5中;
[0117] 步驟k、依次讀取寄存器wwl、'\^2、'\^3、'\^4和¥¥5中存儲的值¥1、'\¥2、'\¥3、'\¥4和¥5進(jìn)入 乘法器Mul,依次完成平方運算《12、《22、《32、《42、《5 2,運算結(jié)果輸出到加法器六(1(1中;
[0118] 步驟1、加法器依次從乘法器Mul的輸出端讀取《12、《22、《32、《4 2、《52,完成累加運算 Pmus i c=wl 2+w22+w32+w42+w52,作為譜函數(shù)計算模塊的輸出。
[0119] 極值檢驗?zāi)KPeak_CheCk包括:12個寄存器、2個存儲器、1個多路選擇器、1個比較 器和1個邏輯"與"運算單元;
[0120]以計算結(jié)果Pmusic作為第三寄存器temp3的輸入值;第三寄存器temp3的輸出值傳 輸至第二寄存器temp2中;第二寄存器temp2的輸出值傳輸至第一寄存器tempi中;
[0121]第一寄存器tempi的輸出值傳輸至第一存儲器;第一存儲器的輸出值傳遞給第二 存儲器;第二存儲器的輸出值傳遞給中心寄存器temp_C〇re;
[0122]
多路選擇器的輸入端分別與第一存儲器的輸出端、第二存儲器的輸出 端、第三寄存器temp3的輸出端、第二寄存器temp2的輸出端、第一寄存器tempi的輸出端相 連;
[0123]
多路選擇器的輸出端與比較器的輸入端相連;比較器的另一個輸入端 與中心寄存器temp_core的輸出端相連;
[0124] 比較器的輸出端分別與8個結(jié)果寄存器相連;
[0125] 8個結(jié)果寄存器的輸出端與邏輯"與"運算單元相連,并經(jīng)過邏輯"與"運算單元的 計算后輸出極值檢驗結(jié)果P eak_va i 1 d。
[0126] 本實施例中,假設(shè)搜索步
設(shè)計的極值檢驗?zāi)K如圖3所示,其中包括12 個寄存器、2個存儲器、1個多路選擇器、1個比較器和1個邏輯與運算單元,具體流程如下:
[0?27]步驟a、讀取譜函數(shù)計算模塊的輸出值Pmusic( i +1,j +1),將其存入寄存器temp_ 3中;
[0128] 步驟b、從存儲器mem_down中讀取譜函數(shù)值Pmusic(i,j),并將其存儲在寄存器 temp_core中,寄存器temp_core作為比較器comp的一個輸入端;
[0129] 步驟b、依次從mem_down中讀取譜函數(shù)值Pmusic(i,j-Ι)和Pmusic(i,j +1)進(jìn)入比 較器comp,做比較運算Pmusic(i,j)<Pmusic(i,j_l)和Pmusic(i,j)<Pmusic(i,j + 1),比 較的結(jié)果f 1和f2分別存儲在寄存器lessl和less2中;
[0130] 步驟c、依次從mem_up中讀取譜函數(shù)值Pmusic(i_l,j_l)、Pmusic(i_l,j)和Pmusic (i-1,j+1)進(jìn)入比較器comp,做比較運算Pmusic(i,j)<Pmusic(i-l,j-l)、Pmusic(i,j)< Pmusic(i-1,j)和Pmusic(i,j)<Pmusic(i-l,j + 1),比較的結(jié)果f3、f4和f5分別存儲在寄 存器 Iess3、less4 和 less5 中;
[0131 ] 步驟(1、依次從寄存器七611^1_14611^1_2和七611^1_3中讀取譜函數(shù)值?1]1118;^(丨+ 1,」-1)、 Pmusic(i+1,j)和Pmusic(i+1,j+Ι)進(jìn)入比較器comp,做比較運算Pmusic(i,j) <Pmusic(i+ 1,j-l)、Pmusic(i,j) <Pmusic(i + 1,j)和Pmusic(i,j) <Pmusic(i + 1,j +1),比較的結(jié)果 r6、r7和r8分別存儲在寄存器f 6、f 7和f 8中;
[0132]步驟 e、從寄存器lessl、less2、less3、less4、less5、less6、less7和less8 中讀取 存儲在其中的值€14243 4445 46 47和€8進(jìn)入邏輯與運算單元4_,完成邏輯與運算 peak_valid = fl & f2 & f3 & f4 & f5 & f6 & f7 & f8,運算結(jié)果peak_valid作為極值 檢驗?zāi)K的輸出;
[0133] 步驟f、從存儲器mem_down中讀取譜函數(shù)值Pmusic(i,j-Ι),將其存儲到存儲器 mem_up中對應(yīng)的地址空間;
[0134] 步驟g、從寄存器temp j中讀取譜函數(shù)值Pmusic(i + 1,j-Ι),將其存儲到存儲器 mem_down中對應(yīng)的地址空間;
[0135] 步驟h、從寄存器temp_2中讀取函數(shù)值PmusiC(i + l,j),將其存儲到存儲器寄存器 temp_l 中;
[0136] 步驟i、從寄存器temp_3中讀取函數(shù)值Pmusic(i +1,j +1),將其存儲到存儲器寄 存器temp_2中;
[0137] 步驟j、如果i = 360,j = 90,則所有譜函數(shù)值的極值檢驗完成,否則,返回步驟a,繼 續(xù)進(jìn)行下一個譜函數(shù)值的極值檢驗;
[0138] 利用方向向量計算模塊、譜函數(shù)計算模塊和極值檢驗?zāi)K設(shè)計譜峰搜索的整體硬 件電路,讀取源操作數(shù)UU進(jìn)入譜峰搜索模塊,完成譜峰搜索任務(wù),輸出信號源的方位信息, 包括方位角和俯仰角;
[0139] 本實施例中,假設(shè)搜索步長 ,設(shè)計的譜峰搜索的整體結(jié)構(gòu)示意圖如圖4所 示,它主要包括方向向量計算模塊、譜函數(shù)計算模塊和極值檢驗?zāi)K,具體流程如下:
[0?40] 步驟a、對方位角az imuth和俯仰角pi tch的取值進(jìn)行初始化,即az imuth = _2π, pitch = 0 ;
[0141 ] 步驟b、讀取源操作數(shù)azimuth和pitch,進(jìn)入方向向量計算模塊AA_gen,計算得到 方向向量的運算結(jié)果AA;
[0142] 步驟c、讀取源操作數(shù)AA和UU,進(jìn)入空間譜函數(shù)計算模塊,計算得到譜函數(shù)值 Pmusic;
[0143] 步驟d、讀取源操作數(shù)Pmusic,進(jìn)入步驟4中設(shè)計的極值檢驗?zāi)K,進(jìn)行極值檢驗, 如果極值有效信號拉高,則表明Pmusic為一個極小值點,步驟b中的方位角和俯仰角的取值 azimuth和pitch為譜峰搜索的其中一組結(jié)果;
[0144] 步驟e、如果azimuth = 2jt
則譜峰搜索任務(wù)執(zhí)行結(jié)束,否則進(jìn)入步驟f;
[0145] 步驟f.
對方位角和俯仰角重新取值
pitch = 0,之后返回步驟b _
,僅僅對俯仰角重新取值 之后返回步驟b。
[0146] 綜上所述,本發(fā)明提出了一種用于MUSIC算法中譜峰搜索的硬件電路及其實現(xiàn)方 法,所設(shè)計的硬件電路結(jié)構(gòu)簡單,硬件實現(xiàn)的復(fù)雜度低并且消耗的存儲資源少,任務(wù)執(zhí)行速 度快,為譜峰搜索提供了 一種高效的硬件實現(xiàn)方法。
【主權(quán)項】
1. 一種用于MUSIC算法的譜峰搜索方法,其特征是按如下步驟進(jìn)行: 步驟1、利用式(1)獲得方向向量AA:式(1)中,pi tch表示輸入的俯仰角的弧度值,az imuth表示輸入的方位角的弧度值,S表 示譜峰搜索步長的弧度值表示陣元數(shù) 目,r表示陣元半徑,λ表示波長,drl表示波長半徑比; 步驟2、利用式(2)獲得空間譜函數(shù)PmusiC(i,j): Pmusic(i , j) =AA(i , j ,:) XUU XUUTX AA(i , j ,: )T (2) 式(2)中,UU表不輸入的噪聲向量矩陣,矩陣的規(guī)模為M行(M-K)列,K表不信號源個數(shù); 步驟3、利用式(3)對空間譜函數(shù)PmusiC(i,j)做極值檢驗,求得能滿足式(3)中所有條 件的空間譜函數(shù)Pmus i c (i,j)的極小值點(i〇,jo);從而獲得以方向角輸入值az imuth (i 〇)和 俯仰角輸入值P i t ch (j ο)所構(gòu)成的譜峰搜索結(jié)果:2. -種用于MUSIC算法中譜峰搜索的硬件電路,其特征是包括:方向向量計算模塊AA_ gen、空間譜函數(shù)計算模塊Pmus i c_cal、極值檢驗?zāi)KPeak_check; 所述方向向量計算模塊AA_gen包括:2個加法器、1個乘法器+2)個寄存器、 (^+2)個多路選擇器、(|_-1)個減法器和.(|_+1)個(^(1;[(3計算單元; 以常數(shù)和寄存器azimuth中存儲的數(shù)值rO作為第一加法器add_l的輸入,經(jīng)過所述 第一加法器add_l運算后的結(jié)果輸出至所述寄存器azimuth中進(jìn)行存儲;所述寄存器 azimuth將所存儲的數(shù)值rO分別傳輸至(|·-1)個減法器的輸入端和第一多路選擇器的輸入 端; 以寄存器azimuth將所存儲的數(shù)值rO和常數(shù)#作為第1減法器的輸入,經(jīng)過所述第1減 Μ 法器subl運算后的結(jié)果al輸出至第二多路選擇器的輸入端; 以寄存器azimuth將所存儲的數(shù)值rO和常數(shù)g作為第2減法器的輸入,經(jīng)過所述第2減 VI 法器sub2運算后的結(jié)果a2輸出至第三多路選擇器的輸入端; 以寄存器azimuth將所存儲的數(shù)值rO和常數(shù)作為第(^-1)減法器的輸入,經(jīng) Μ: .2 過所述第(f -1)減法器sub(f-l)運算后的結(jié)果a(f -1)輸出至第f個多路選擇器的輸 入端; 以常數(shù)^和寄存器pitch中存儲的數(shù)值rl作為第二加法器add_2的輸入,經(jīng)過所述第 二加法器add_2運算后的結(jié)果輸出至所述寄存器pitch中進(jìn)行存儲;所述寄存器pitch將所 存儲的數(shù)值rl傳輸至第^+.1個cordic計算單元的輸入端;經(jīng)過所述第個cordic計算 2 2 單元的運算后的結(jié)果傳輸至第4+1個多路選擇器的輸入端; V. ^ J 2 #個寄存器中分別所存儲的數(shù)值R1,R2,傳遞到第#+2個多路選擇器中; 2 2 2 所述第# + 1個多路選擇器和第4 + 2個多路選擇器的輸出端與乘法器mul的輸入端相 2 2 連;經(jīng)過所述乘法器mul的運算獲得的結(jié)果r2分別輸出給所述第f+Ι個多路選擇器的另一 個輸入端以及#個多路選擇器的另一個輸入端; .2 所述f個多路選擇器的輸出端分別與個cordic計算單元的輸入端相連; 所述第1個cordic計算單元從所對應(yīng)的多路選擇器中讀取數(shù)值rO并進(jìn)行運算后得到計 算結(jié)果cos (azimuth)并傳輸至第1個寄存器中;所述第1個cordic計算單元從所對應(yīng)的多路 Μ 選擇器中讀取結(jié)果r2并進(jìn)行運算后得到兩個輸出結(jié)果A4(y + 1)和AA(1); 所述第2個cordic計算單元從所對應(yīng)的多路選擇器中讀取數(shù)值al并進(jìn)行運算后得到計 算結(jié)果(:0!:;(〃27'/〃〃〃)_~7)并傳輸至第2個寄存器中 ;所述第2個(3(^(1;[(3計算單元從所對應(yīng)的多 4 Μ 路選擇器中讀取結(jié)果r2并進(jìn)行運算后得到兩個輸出結(jié)果A4(y+2)和AA(2); 所述第#個cordic計算單元從所對應(yīng)的多路選擇器中讀取數(shù)值a(#-l)并進(jìn)行運算 Σ.L· 后得到計算結(jié)果^并傳輸至第|個寄存器中;所述第f個 cordic計算單元從所對應(yīng)的多路選擇器中讀取結(jié)果r2并進(jìn)行運算后得到兩個輸出結(jié)果AA Μ (Μ)和/?/?(γ); 所述空間譜函數(shù)計算模塊Pmusic_cal包括:1個乘法器Mul、1個加法器Add、(Μ-Κ)個寄 存器、4個多路選擇器; 噪聲向量矩陣UU(k,n)分別作為第j+3個多路選擇器的輸入值;k = l,2.…,Μ;η = 1, 2·.·_,Μ-Κ; 所述向向量計算模塊AA_gen的輸出結(jié)果AA(k)作為第f+4個多路選擇器的輸入值; Μ MM 第γ + 6個多路選擇器的輸出值作為第γ + 3個多路選擇器和第γ + 4個多路選擇器 2. :2 .2 的另一個輸入值; 所述第# + 3個多路選擇器和第#+4個多路選擇器的輸出值分別作為乘法器Mul輸入 2 2. 值,經(jīng)過乘法器Mul的運算后的結(jié)果作為加法器Add的一個輸入值; 以數(shù)值〇和加法器Add的輸出值作為第# + 5個多路選擇器的輸入值;所述第個多 2 2: 路選擇器的輸出值作為加法器Add的另一個輸入值; 所述乘法器Mul分別從第#+3個多路選擇器和第#+4個多路選擇器中讀取噪聲向量 .2 2 矩陣UU(k,n)和輸出結(jié)果AA(k)并進(jìn)行計算,獲得的結(jié)果傳遞給所述加法器Add進(jìn)行計算,所 述加法器Add的計算結(jié)果分別傳遞給所述(M-K)個寄存器進(jìn)行存儲,所述第|-6個多路選 擇器的輸入端與所述所述(M-K)個寄存器相連; Μ Μ 所述乘法器Mul分別從第Υ + 3個多路選擇器和第γ + 4個多路選擇器中讀取所述第 2 1 # + 6個多路選擇器的輸出值并進(jìn)行計算,獲得的結(jié)果傳遞給所述加法器Add進(jìn)行計算,由 2 所述加法器Add獲得計算結(jié)果Pmusic并輸出; 所述極值檢驗?zāi)KPeak_check包括:12個寄存器、2個存儲器、1個多路選擇器、1個比較 器和1個邏輯"與"運算單元; 以所述計算結(jié)果Pmusic作為第三寄存器temp3的輸入值;所述第三寄存器temp3的輸出 值傳輸至所述第二寄存器temp2中;所述第二寄存器temp2的輸出值傳輸至第一寄存器 tempi 中; 所述第一寄存器tempi的輸出值傳輸至第一存儲器;所述第一存儲器的輸出值傳遞給 第二存儲器;所述第二存儲器的輸出值傳遞給中心寄存器temp_C〇re; 第4 + 7個多路選擇器的輸入端分別與第一存儲器的輸出端、第二存儲器的輸出端、第 三寄存器temp3的輸出端、第二寄存器temp2的輸出端、第一寄存器tempi的輸出端相連; 所述第1 + 7個多路選擇器的輸出端與比較器的輸入端相連;所述比較器的另一個輸 2 入端與所述中心寄存器temp_core的輸出端相連; 所述比較器的輸出端分別與8個結(jié)果寄存器相連; 所述8個結(jié)果寄存器的輸出端與所述邏輯"與"運算單元相連,并經(jīng)過邏輯"與"運算單 元的計算后輸出極值檢驗結(jié)果P eak_va i 1 d。
【文檔編號】G01S3/12GK105866730SQ201610184994
【公開日】2016年8月17日
【申請日】2016年3月24日
【發(fā)明人】張多利, 張斌, 宋宇鯤, 杜高明
【申請人】合肥工業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
连江县| 丹江口市| 天镇县| 云龙县| 新巴尔虎左旗| 全州县| 宁阳县| 盈江县| 七台河市| 南溪县| 阳西县| 油尖旺区| 平远县| 景泰县| 内乡县| 年辖:市辖区| 襄汾县| 惠水县| 铜川市| 蒲江县| 平山县| 玛沁县| 开阳县| 景泰县| 垣曲县| 金湖县| 岳阳市| 临沧市| 铜陵市| 琼海市| 城固县| 金华市| 宜良县| 巩留县| 平顶山市| 奇台县| 获嘉县| 丘北县| 鄱阳县| 连南| 巴林左旗|