CN105866730A - 一种基于music算法的谱峰搜索方法及其硬件电路 - Google Patents

一种基于music算法的谱峰搜索方法及其硬件电路 Download PDF

Info

Publication number
CN105866730A
CN105866730A CN201610184994.6A CN201610184994A CN105866730A CN 105866730 A CN105866730 A CN 105866730A CN 201610184994 A CN201610184994 A CN 201610184994A CN 105866730 A CN105866730 A CN 105866730A
Authority
CN
China
Prior art keywords
individual
mux
depositor
input
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610184994.6A
Other languages
English (en)
Other versions
CN105866730B (zh
Inventor
张多利
张斌
宋宇鲲
杜高明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huangshan Development Investment Group Co.,Ltd.
Original Assignee
Hefei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN201610184994.6A priority Critical patent/CN105866730B/zh
Publication of CN105866730A publication Critical patent/CN105866730A/zh
Application granted granted Critical
Publication of CN105866730B publication Critical patent/CN105866730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S3/00Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
    • G01S3/02Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using radio waves
    • G01S3/04Details
    • G01S3/12Means for determining sense of direction, e.g. by combining signals from directional antenna or goniometer search coil with those from non-directional antenna

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种用于MUSIC算法中谱峰搜索的硬件电路及其实现方法,包括:1设计谱峰搜索的流程;2设计方向向量计算模块;3设计谱函数计算模块;4设计极值检验模块;5设计谱峰搜索的整体硬件电路。本发明所设计的硬件电路可以实现MUSIC算法中的谱峰搜索功能,并且硬件电路复杂度低,资源消耗少,任务执行速度快。

Description

一种基于MUSIC算法的谱峰搜索方法及其硬件电路
技术领域
本发明涉及阵列信号处理领域,具体地说是一种基于MUSIC算法的谱峰搜索方法及其硬件电路。
背景技术
阵列信号处理属于现代信号处理的重要研究内容,在移动通信、电子对抗、参数估计、信号识别等领域都有着广泛的应用前景。一般来讲,阵列信号处理是将多个传感器设置在空间的不同位置来组成传感器阵列,通过对接收机输出的数据进行处理,利用各个信号在空间位置上的差异,提取信号源的特征信息。这些特征信息包括:空间信号源的方向、数目、频率、相位、调制形式等。
MUSIC算法是基于特征结构分析的空间谱估计方法,是空间谱估计技术的典型代表,是阵列信号处理领域的一个重要分支。其基本原理是对阵列输出数据的协方差矩阵进行特征分解,将信号空间分解为噪声子空间和信号子空间,利用噪声子空间与阵列的方向矩阵正交的性质,估计出信号源的方向等信息。
MUISC算法中很重要的一步就是谱峰搜索,通过将方向向量矩阵和噪声矩阵做矩阵乘法运算得到空间谱函数值,继而对空间谱函数值做极值搜索,得到信号源的方位信息,谱峰搜索的一个重要特点就是随着精度要求的提高,运算量变得十分庞大。
已有的研究提出的方案大多数基于将方向向量矩阵提前算好,相关数值直接固化在存储器中,在进行谱峰搜索的时候,不需要计算方向向量,可以直接从存储器中读取方向向量的值来计算空间谱函数,随着精度要求的提高,尤其是在进行二维空间方位估计时,这种方法需要消耗大量的存储资源,其局限性十分明显。
发明内容
本发明为了避免上述技术不足之处,提出了一种基于MUSIC算法的谱峰搜索方法及其硬件电路,以期能降低存储资源的消耗,加快任务执行速度,从而在硬件电路中高效地实现谱峰搜索。
本发明为解决技术问题采用如下技术方案:
本发明一种用于MUSIC算法的谱峰搜索方法的特点是按如下步骤进行:
步骤1、利用式(1)获得方向向量AA:
A A ( i , j , m ) = c o s ( 2 π · d r l · s i n ( p i t c h ( j ) ) · c o s ( a z i m u t h ( i ) - 2 π M · ( m - 1 ) ) ) A A ( i , j , m + M 2 ) = s i n ( 2 π · d r l · sin ( p i t c h ( j ) ) · c o s ( a z i m u t h ( i ) - 2 π M · ( m - 1 ) ) ) p i t c h ( j ) = j · s a z i m u t h ( i ) = - 2 π + i · s d r l = r λ - - - ( 1 )
式(1)中,pitch表示输入的俯仰角的弧度值,azimuth表示输入的方位角的弧度值,s表示谱峰搜索步长的弧度值,M表示阵元数目,r表示阵元半径,λ表示波长,drl表示波长半径比;
步骤2、利用式(2)获得空间谱函数Pmusic(i,j):
Pmusic(i,j)=AA(i,j,:)×UU×UUT×AA(i,j,:)T (2)
式(2)中,UU表示输入的噪声向量矩阵,矩阵的规模为M行(M-K)列,K表示信号源个数;
步骤3、利用式(3)对空间谱函数Pmusic(i,j)做极值检验,求得能满足式(3)中所有条件的空间谱函数Pmusic(i,j)的极小值点(i0,j0);从而获得以方向角输入值azimuth(i0)和俯仰角输入值pitch(j0)所构成的谱峰搜索结果:
P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 - 1 , j 0 - 1 ) P m u s i c ( i 0 , j 0 ) < P m u si c ( i 0 - 1 , j 0 ) P m u s i c ( i 0 , j 0 ) < P m u si c ( i 0 - 1 , j 0 + 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 , j 0 - 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 , j 0 + 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 + 1 , j 0 - 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 + 1 , j 0 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 + 1 , j 0 + 1 ) - - - ( 3 ) .
本发明一种用于MUSIC算法中谱峰搜索的硬件电路的特点是包括:方向向量计算模块AA_gen、空间谱函数计算模块Pmusic_cal、极值检验模块Peak_check;
所述方向向量计算模块AA_gen包括:2个加法器、1个乘法器mul、个寄存器、个多路选择器、个减法器和个cordic计算单元;
以常数和寄存器azimuth中存储的数值r0作为第一加法器add_1的输入,经过所述第一加法器add_1运算后的结果输出至所述寄存器azimuth中进行存储;所述寄存器azimuth将所存储的数值r0分别传输至个减法器的输入端和第一多路选择器的输入端;
以寄存器azimuth将所存储的数值r0和常数作为第1减法器的输入,经过所述第1减法器sub1运算后的结果a1输出至第二多路选择器的输入端;
以寄存器azimuth将所存储的数值r0和常数作为第2减法器的输入,经过所述第2减法器sub2运算后的结果a2输出至第三多路选择器的输入端;
……
以寄存器azimuth将所存储的数值r0和常数作为第减法器的输入,经过所述第减法器运算后的结果输出至第个多路选择器的输入端;
以常数和寄存器pitch中存储的数值r1作为第二加法器add_2的输入,经过所述第二加法器add_2运算后的结果输出至所述寄存器pitch中进行存储;所述寄存器pitch将所存储的数值r1传输至第个cordic计算单元的输入端;经过所述第个cordic计算单元的运算后的结果传输至第个多路选择器的输入端;
个寄存器中分别所存储的数值R1,R2,…,传递到第个多路选择器中;
所述第个多路选择器和第个多路选择器的输出端与乘法器mul的输入端相连;经过所述乘法器mul的运算获得的结果r2分别输出给所述第个多路选择器的另一个输入端以及个多路选择器的另一个输入端;
所述个多路选择器的输出端分别与个cordic计算单元的输入端相连;
所述第1个cordic计算单元从所对应的多路选择器中读取数值r0并进行运算后得到计算结果cos(azimuth)并传输至第1个寄存器中;所述第1个cordic计算单元从所对应的多路选择器中读取结果r2并进行运算后得到两个输出结果和AA(1);
所述第2个cordic计算单元从所对应的多路选择器中读取数值a1并进行运算后得到计算结果并传输至第2个寄存器中;所述第2个cordic计算单元从所对应的多路选择器中读取结果r2并进行运算后得到两个输出结果和AA(2);
……
所述第个cordic计算单元从所对应的多路选择器中读取数值并进行运算后得到计算结果并传输至第个寄存器中;所述第个cordic计算单元从所对应的多路选择器中读取结果r2并进行运算后得到两个输出结果AA(M)和
所述空间谱函数计算模块Pmusic_cal包括:1个乘法器Mul、1个加法器Add、(M-K)个寄存器、4个多路选择器;
噪声向量矩阵UU(k,n)分别作为第个多路选择器的输入值;k=1,2.…,M;n=1,2.…,M-K;
所述向向量计算模块AA_gen的输出结果AA(k)作为第个多路选择器的输入值;
个多路选择器的输出值作为第个多路选择器和第个多路选择器的另一个输入值;
所述第个多路选择器和第个多路选择器的输出值分别作为乘法器Mul输入值,经过乘法器Mul的运算后的结果作为加法器Add的一个输入值;
以数值0和加法器Add的输出值作为第个多路选择器的输入值;所述第个多路选择器的输出值作为加法器Add的另一个输入值;
所述乘法器Mul分别从第个多路选择器和第个多路选择器中读取噪声向量矩阵UU(k,n)和输出结果AA(k)并进行计算,获得的结果传递给所述加法器Add进行计算,所述加法器Add的计算结果分别传递给所述(M-K)个寄存器进行存储,所述第个多路选择器的输入端与所述所述(M-K)个寄存器相连;
所述乘法器Mul分别从第个多路选择器和第个多路选择器中读取所述第个多路选择器的输出值并进行计算,获得的结果传递给所述加法器Add进行计算,由所述加法器Add获得计算结果Pmusic并输出;
所述极值检验模块Peak_check包括:12个寄存器、2个存储器、1个多路选择器、1个比较器和1个逻辑“与”运算单元;
以所述计算结果Pmusic作为第三寄存器temp3的输入值;所述第三寄存器temp3的输出值传输至所述第二寄存器temp2中;所述第二寄存器temp2的输出值传输至第一寄存器temp1中;
所述第一寄存器temp1的输出值传输至第一存储器;所述第一存储器的输出值传递给第二存储器;所述第二存储器的输出值传递给中心寄存器temp_core;
个多路选择器的输入端分别与第一存储器的输出端、第二存储器的输出端、第三寄存器temp3的输出端、第二寄存器temp2的输出端、第一寄存器temp1的输出端相连;
所述第个多路选择器的输出端与比较器的输入端相连;所述比较器的另一个输入端与所述中心寄存器temp_core的输出端相连;
所述比较器的输出端分别与8个结果寄存器相连;
所述8个结果寄存器的输出端与所述逻辑“与”运算单元相连,并经过逻辑“与”运算单元的计算后输出极值检验结果peak_vaild。
与现有的技术相比,本发明的有益效果体现在:
1、本发明提出的基于MUSIC算法的谱峰搜索方法,其方向向量是通过实时计算得出,而不是提前固化在存储器中,从而节省了大量的存储资源,随着谱峰搜索精度的提高,尤其是在应用于二维空间谱峰搜索的场合中,优势十分明显;
2、本发明通过方向向量计算模块、空间谱函数计算模块和极值检验模块可以实现流水线操作,极大地缩短了任务的执行时间,实时性很高;
3、本发明的方向向量计算模块,是通过对乘法器实行分时复用,节省了较多的运算资源;
4、本发明的空间谱函数计算模块,是通过对乘法器和加法器实行分时复用,节省了较多的运算资源;
5、本发明是极值检验模块,是通过对比较器实行分时复用,节省了较多的逻辑资源。
附图说明
图1为本发明方向向量计算模块的硬件电路的结构示意图;
图2为本发明空间谱函数计算模块的硬件电路结构示意图;
图3为本发明极值检验模块的硬件电路结构示意图;
图4为本发明谱峰搜索的硬件电路的结构示意图。
具体实施方式
MUSIC算法在实际运用当中,根据阵列天线的排列方式,可以分为圆形阵列和线形阵列;通过算法既可以进行一维空间的方向估计,又可以进行二维空间的方向估计。本实施例中提出的谱峰搜索的硬件电路和实现方法是针对圆形阵列并且搜索空间为二维空间的应用条件,需要估计的参数既包括俯仰角又包括方位角。具体的说,
一种用于MUSIC算法的谱峰搜索方法是按如下步骤进行:
步骤1、利用式(1)获得方向向量AA:
A A ( i , j , m ) = c o s ( 2 &pi; &CenterDot; d r l &CenterDot; s i n ( p i t c h ( j ) ) &CenterDot; c o s ( a z i m u t h ( i ) - 2 &pi; M &CenterDot; ( m - 1 ) ) ) A A ( i , j , m + M 2 ) = s i n ( 2 &pi; &CenterDot; d r l &CenterDot; sin ( p i t c h ( j ) ) &CenterDot; c o s ( a z i m u t h ( i ) - 2 &pi; M &CenterDot; ( m - 1 ) ) ) p i t c h ( j ) = j &CenterDot; s a z i m u t h ( i ) = - 2 &pi; + i &CenterDot; s d r l = r &lambda; - - - ( 1 )
式(1)中,pitch表示输入的俯仰角的弧度值,azimuth表示输入的方位角的弧度值,s表示谱峰搜索步长的弧度值,M表示阵元数目,r表示阵元半径,λ表示波长,drl表示波长半径比;
步骤2、利用式(2)获得空间谱函数Pmusic(i,j):
Pmusic(i,j)=AA(i,j,:)×UU×UUT×AA(i,j,:)T (2)
式(2)中,UU表示输入的噪声向量矩阵,矩阵的规模为M行(M-K)列,K表示信号源个数;
步骤3、利用式(3)对空间谱函数Pmusic(i,j)做极值检验,求得能满足式(3)中所有条件的空间谱函数Pmusic(i,j)的极小值点(i0,j0);从而获得以方向角输入值azimuth(i0)和俯仰角输入值pitch(j0)所构成的谱峰搜索结果:
P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 - 1 , j 0 - 1 ) P m u s i c ( i 0 , j 0 ) < P m u si c ( i 0 - 1 , j 0 ) P m u s i c ( i 0 , j 0 ) < P m u si c ( i 0 - 1 , j 0 + 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 , j 0 - 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 , j 0 + 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 + 1 , j 0 - 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 + 1 , j 0 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 + 1 , j 0 + 1 ) - - - ( 3 ) .
本实施例中,一种用于MUSIC算法中谱峰搜索的硬件电路包括:方向向量计算模块AA_gen、空间谱函数计算模块Pmusic_cal、极值检验模块Peak_check;
方向向量计算模块AA_gen包括:2个加法器、1个乘法器mul、个寄存器、个多路选择器、个减法器和个cordic计算单元;
以常数和寄存器azimuth中存储的数值r0作为第一加法器add_1的输入,经过第一加法器add_1运算后的结果输出至所述寄存器azimuth中进行存储;所述寄存器azimuth将所存储的数值r0分别传输至个减法器的输入端和第一多路选择器的输入端;
以寄存器azimuth将所存储的数值r0和常数作为第1减法器的输入,经过所述第1减法器sub1运算后的结果a1输出至第二多路选择器的输入端;
以寄存器azimuth将所存储的数值r0和常数作为第2减法器的输入,经过所述第2减法器sub2运算后的结果a2输出至第三多路选择器的输入端;
……
以寄存器azimuth将所存储的数值r0和常数作为第减法器的输入,经过所述第减法器运算后的结果输出至第个多路选择器的输入端;
以常数和寄存器pitch中存储的数值r1作为第二加法器add_2的输入,经过所述第二加法器add_2运算后的结果输出至所述寄存器pitch中进行存储;所述寄存器pitch将所存储的数值r1传输至第个cordic计算单元的输入端;经过所述第个cordic计算单元的运算后的结果传输至第个多路选择器的输入端;
个寄存器中分别所存储的数值传递到第个多路选择器中;
个多路选择器和第个多路选择器的输出端与乘法器mul的输入端相连;经过乘法器mul的运算获得的结果r2分别输出给第个多路选择器的另一个输入端以及个多路选择器的另一个输入端;
个多路选择器的输出端分别与个cordic计算单元的输入端相连;
第1个cordic计算单元从所对应的多路选择器中读取数值r0并进行运算后得到计算结果cos(azimuth)并传输至第1个寄存器中;第1个cordic计算单元从所对应的多路选择器中读取结果r2并进行运算后得到两个输出结果和AA(1);
第2个cordic计算单元从所对应的多路选择器中读取数值a1并进行运算后得到计算结果并传输至第2个寄存器中;所述第2个cordic计算单元从所对应的多路选择器中读取结果r2并进行运算后得到两个输出结果和AA(2);
……
个cordic计算单元从所对应的多路选择器中读取数值并进行运算后得到计算结果并传输至第个寄存器中;第个cordic计算单元从所对应的多路选择器中读取结果r2并进行运算后得到两个输出结果AA(M)和
本实施例中,假设搜索步长阵元数M=8,所设计的方向向量计算模块如图1所示,其中包括2个加法器、3个减法器、1个乘法器、6个寄存器、6个多路选择器和5个cordic计算单元,具体运算流程如下:
步骤a、将寄存器azimuth、pitch、cos_r1、cos_r2、cos_r3、cos_r4中存储的数值进行初始化赋值,分别是r0=0、r1=0、R1=0、R 2=0、R 3=0、R 4=0;
步骤b、读取常数和寄存器azimuth中存储的数值r0进入加法器add_1,完成运算,并把运算结果r0输出到寄存器azimuth中;
步骤c、减法器sub1分别读取azimuth中存储的数值r0和常数完成运算并且把运算结果a1输出至第二多路选择器的输入端;
步骤d、减法器sub2分别读取azimuth中存储的数值r0和常数完成运算并且把运算结果a2输出至第三多路选择器的输入端;
步骤e、减法器sub3分别读取azimuth中存储的数值r0和常数完成运算并且把运算结果a3输出至第四多路选择器的输入端;
步骤f、第1到第4个cordic计算单元分别从多路选择器的输出端读取源操作数r0、a1、a2、a3,分别完成运算cos(azimuth)、并把运算结果R1、R2、R3、R4输出到寄存器cos_r1、cos_r2、cos_r3、cos_r4中;
步骤g、读取常数和寄存器pitch中存储的数值r1进入加法器add_2,完成运算,并把运算结果r1输出到寄存器pitch中;
步骤h、从第五多路选择器和第六多路选择器的输出端读取r1和常数π进入乘法器mul,完成运算,并且把运算结果m1输出到第五多路选择器的输入端;
步骤i、从第五多路选择器中读取m1作为乘法器mul的1个输入,依次从第六多路选择器读取R1、R2、R3、R4作为乘法器的另一个输入,依次完成运算,运算结果m2、m3、m4、m5分别输出到第一到第四多路选择器的输入端;
步骤j、第1个cordic计算单元读取源操作数m2,完成运算,运算结果作为方向向量运算的两个输出AA(5)和AA(1);
步骤k、第2个cordic计算单元读取源操作数m3,完成运算,运算结果作为方向向量运算的两个输出AA(6)和AA(2);
步骤l、第3个cordic计算单元读取源操作数m4,完成运算,运算结果作为方向向量运算的两个输出输出AA(7)和AA(3);
步骤m、第4个cordic计算单元读取源操作数m5,完成运算,运算结果作为方向向量运算的两个输出输出AA(8)和AA(4);
步骤n、如果寄存器azimuth中存储的值r0=2π,寄存器pitch中存储的值则方向向量的运算结束,否则进入步骤l;
步骤o、如果寄存器pitch中存储的值则返回步骤b,并且将寄存器pitch中的值置为0;如果则返回步骤d;
具体实施中,空间谱函数计算模块Pmusic_cal包括:1个乘法器Mul、1个加法器Add、(M-K)个寄存器、4个多路选择器;
噪声向量矩阵UU(k,n)分别作为第个多路选择器的输入值;k=1,2.…,M;
向向量计算模块AA_gen的输出结果AA(k)作为第个多路选择器的输入值;
个多路选择器的输出值作为第个多路选择器和第个多路选择器的另一个输入值;
个多路选择器和第个多路选择器的输出值分别作为乘法器Mul输入值,经过乘法器Mul的运算后的结果作为加法器Add的一个输入值;
以数值0和加法器Add的输出值作为第个多路选择器的输入值;第个多路选择器的输出值作为加法器Add的另一个输入值;
乘法器Mul分别从第个多路选择器和第个多路选择器中读取噪声向量矩阵UU(k)和输出结果AA(k)并进行计算,获得的结果传递给加法器Add进行计算,加法器Add的计算结果分别传递给(M-K)个寄存器进行存储,第个多路选择器的输入端与(M-K)个寄存器相连;
乘法器Mul分别从第个多路选择器和第个多路选择器中读取第个多路选择器的输出值并进行计算,获得的结果传递给加法器Add进行计算,由加法器Add获得计算结果Pmusic并输出;
本实施例中,假设阵元数目M=8,信号源数目K=3,设计的谱函数计算模块如图2所示,包括1个乘法器、1个加法器、5个寄存器、3个多路选择器;具体运算流程如下:
步骤a、读取源操作数UU(k,1)和AA(k)进入乘法器Mul,k=1,2,…8,完成运算,并且把运算结果m6输出给加法器Add;
步骤b、从乘法器的输出端读取数值m6和从第个多路选择器的输出端另一个源操作数,完成8次加法运算,将得到的运算结果输出到寄存器ww1中;
步骤c、读取源操作数UU(k,2)和AA(k)进入乘法器Mul,完成运算,并且把运算结果m7输出给加法器Add;
步骤d、从乘法器的输出端读取数值m7和从第个多路选择器的输出端另一个源操作数,完成8次加法运算,将得到的运算结果输出到寄存器ww2中;
步骤e、读取源操作数UU(k,3)和AA(k)进入乘法器Mul,完成运算,并且把运算结果m8输出给加法器Add;
步骤f、从乘法器的输出端读取数值m8和从第个多路选择器的输出端另一个源操作数,完成8次加法运算,将得到的运算结果输出到寄存器ww3中;
步骤g、读取源操作数UU(k,4)和AA(k)进入乘法器Mul,完成运算,并且把运算结果m9输出给加法器Add;
步骤h、从乘法器的输出端读取数值m9和从第个多路选择器的输出端另一个源操作数,完成8次加法运算,将得到的运算结果输出到寄存器ww4中;
步骤i、读取源操作数UU(k,5)和AA(k)进入乘法器Mul,完成运算,并且把运算结果m10输出给加法器Add;
步骤j、从乘法器的输出端读取数值m10和从第个多路选择器的输出端另一个源操作数,完成8次加法运算,将得到的运算结果输出到寄存器ww5中;
步骤k、依次读取寄存器ww1、ww2、ww3、ww4和ww5中存储的值w1、w2、w3、w4和w5进入乘法器Mul,依次完成平方运算w12、w22、w32、w42、w52,运算结果输出到加法器Add中;
步骤l、加法器依次从乘法器Mul的输出端读取w12、w22、w32、w42、w52,完成累加运算Pmusic=w12+w22+w32+w42+w52,作为谱函数计算模块的输出。
极值检验模块Peak_check包括:12个寄存器、2个存储器、1个多路选择器、1个比较器和1个逻辑“与”运算单元;
以计算结果Pmusic作为第三寄存器temp3的输入值;第三寄存器temp3的输出值传输至第二寄存器temp2中;第二寄存器temp2的输出值传输至第一寄存器temp1中;
第一寄存器temp1的输出值传输至第一存储器;第一存储器的输出值传递给第二存储器;第二存储器的输出值传递给中心寄存器temp_core;
个多路选择器的输入端分别与第一存储器的输出端、第二存储器的输出端、第三寄存器temp3的输出端、第二寄存器temp2的输出端、第一寄存器temp1的输出端相连;
个多路选择器的输出端与比较器的输入端相连;比较器的另一个输入端与中心寄存器temp_core的输出端相连;
比较器的输出端分别与8个结果寄存器相连;
8个结果寄存器的输出端与逻辑“与”运算单元相连,并经过逻辑“与”运算单元的计算后输出极值检验结果peak_vaild。
本实施例中,假设搜索步长设计的极值检验模块如图3所示,其中包括12个寄存器、2个存储器、1个多路选择器、1个比较器和1个逻辑与运算单元,具体流程如下:
步骤a、读取谱函数计算模块的输出值Pmusic(i+1,j+1),将其存入寄存器temp_3中;
步骤b、从存储器mem_down中读取谱函数值Pmusic(i,j),并将其存储在寄存器temp_core中,寄存器temp_core作为比较器comp的一个输入端;
步骤b、依次从mem_down中读取谱函数值Pmusic(i,j-1)和Pmusic(i,j+1)进入比较器comp,做比较运算Pmusic(i,j)<Pmusic(i,j-1)和Pmusic(i,j)<Pmusic(i,j+1),比较的结果f1和f2分别存储在寄存器less1和less2中;
步骤c、依次从mem_up中读取谱函数值Pmusic(i-1,j-1)、Pmusic(i-1,j)和Pmusic(i-1,j+1)进入比较器comp,做比较运算Pmusic(i,j)<Pmusic(i-1,j-1)、Pmusic(i,j)<Pmusic(i-1,j)和Pmusic(i,j)<Pmusic(i-1,j+1),比较的结果f3、f4和f5分别存储在寄存器less3、less4和less5中;
步骤d、依次从寄存器temp_1、temp_2和temp_3中读取谱函数值Pmusic(i+1,j-1)、Pmusic(i+1,j)和Pmusic(i+1,j+1)进入比较器comp,做比较运算Pmusic(i,j)<Pmusic(i+1,j-1)、Pmusic(i,j)<Pmusic(i+1,j)和Pmusic(i,j)<Pmusic(i+1,j+1),比较的结果r6、r7和r8分别存储在寄存器f6、f7和f8中;
步骤e、从寄存器less1、less2、less3、less4、less5、less6、less7和less8中读取存储在其中的值f1、f2、f3、f4、f5、f6、f7和f8进入逻辑与运算单元AND,完成逻辑与运算peak_valid=f1 & f2 & f3 & f4 & f5 & f6 & f7 & f8,运算结果peak_valid作为极值检验模块的输出;
步骤f、从存储器mem_down中读取谱函数值Pmusic(i,j-1),将其存储到存储器mem_up中对应的地址空间;
步骤g、从寄存器temp_1中读取谱函数值Pmusic(i+1,j-1),将其存储到存储器mem_down中对应的地址空间;
步骤h、从寄存器temp_2中读取函数值Pmusic(i+1,j),将其存储到存储器寄存器temp_1中;
步骤i、从寄存器temp_3中读取函数值Pmusic(i+1,j+1),将其存储到存储器寄存器temp_2中;
步骤j、如果i=360,j=90,则所有谱函数值的极值检验完成,否则,返回步骤a,继续进行下一个谱函数值的极值检验;
利用方向向量计算模块、谱函数计算模块和极值检验模块设计谱峰搜索的整体硬件电路,读取源操作数UU进入谱峰搜索模块,完成谱峰搜索任务,输出信号源的方位信息,包括方位角和俯仰角;
本实施例中,假设搜索步长设计的谱峰搜索的整体结构示意图如图4所示,它主要包括方向向量计算模块、谱函数计算模块和极值检验模块,具体流程如下:
步骤a、对方位角azimuth和俯仰角pitch的取值进行初始化,即azimuth=-2π,pitch=0;
步骤b、读取源操作数azimuth和pitch,进入方向向量计算模块AA_gen,计算得到方向向量的运算结果AA;
步骤c、读取源操作数AA和UU,进入空间谱函数计算模块,计算得到谱函数值Pmusic;
步骤d、读取源操作数Pmusic,进入步骤4中设计的极值检验模块,进行极值检验,如果极值有效信号拉高,则表明Pmusic为一个极小值点,步骤b中的方位角和俯仰角的取值azimuth和pitch为谱峰搜索的其中一组结果;
步骤e、如果azimuth=2π,则谱峰搜索任务执行结束,否则进入步骤f;
步骤f、如果对方位角和俯仰角重新取值,即pitch=0,之后返回步骤b;如果仅仅对俯仰角重新取值,即之后返回步骤b。
综上所述,本发明提出了一种用于MUSIC算法中谱峰搜索的硬件电路及其实现方法,所设计的硬件电路结构简单,硬件实现的复杂度低并且消耗的存储资源少,任务执行速度快,为谱峰搜索提供了一种高效的硬件实现方法。

Claims (2)

1.一种用于MUSIC算法的谱峰搜索方法,其特征是按如下步骤进行:
步骤1、利用式(1)获得方向向量AA:
A A ( i , j , m ) = c o s ( 2 &pi; &CenterDot; d r l &CenterDot; s i n ( p i t c h ( j ) ) &CenterDot; c o s ( a z i m u t h ( i ) - 2 &pi; M &CenterDot; ( m - 1 ) ) ) A A ( i , j , m + M 2 ) = s i n ( 2 &pi; &CenterDot; d r l &CenterDot; sin ( p i t c h ( j ) ) &CenterDot; c o s ( a z i m u t h ( i ) - 2 &pi; M &CenterDot; ( m - 1 ) ) ) p i t c h ( j ) = j &CenterDot; s a z i m u t h ( i ) = - 2 &pi; + i &CenterDot; s d r l = r &lambda; - - - ( 1 )
式(1)中,pitch表示输入的俯仰角的弧度值,azimuth表示输入的方位角的弧度值,s表示谱峰搜索步长的弧度值,M表示阵元数目,r表示阵元半径,λ表示波长,drl表示波长半径比;
步骤2、利用式(2)获得空间谱函数Pmusic(i,j):
Pmusic(i,j)=AA(i,j,:)×UU×UUT×AA(i,j,:)T (2)
式(2)中,UU表示输入的噪声向量矩阵,矩阵的规模为M行(M-K)列,K表示信号源个数;
步骤3、利用式(3)对空间谱函数Pmusic(i,j)做极值检验,求得能满足式(3)中所有条件的空间谱函数Pmusic(i,j)的极小值点(i0,j0);从而获得以方向角输入值azimuth(i0)和俯仰角输入值pitch(j0)所构成的谱峰搜索结果:
P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 - 1 , j 0 - 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 - 1 , j 0 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 - 1 , j 0 + 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 , j 0 - 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 , j 0 + 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 + 1 , j 0 - 1 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 + 1 , j 0 ) P m u s i c ( i 0 , j 0 ) < P m u s i c ( i 0 + 1 , j 0 + 1 ) - - - ( 3 ) .
2.一种用于MUSIC算法中谱峰搜索的硬件电路,其特征是包括:方向向量计算模块AA_gen、空间谱函数计算模块Pmusic_cal、极值检验模块Peak_check;
所述方向向量计算模块AA_gen包括:2个加法器、1个乘法器mul、个寄存器、个多路选择器、个减法器和个cordic计算单元;
以常数和寄存器azimuth中存储的数值r0作为第一加法器add_1的输入,经过所述第一加法器add_1运算后的结果输出至所述寄存器azimuth中进行存储;所述寄存器azimuth将所存储的数值r0分别传输至个减法器的输入端和第一多路选择器的输入端;
以寄存器azimuth将所存储的数值r0和常数作为第1减法器的输入,经过所述第1减法器sub1运算后的结果a1输出至第二多路选择器的输入端;
以寄存器azimuth将所存储的数值r0和常数作为第2减法器的输入,经过所述第2减法器sub2运算后的结果a2输出至第三多路选择器的输入端;
……
以寄存器azimuth将所存储的数值r0和常数作为第减法器的输入,经过所述第减法器运算后的结果输出至第个多路选择器的输入端;
以常数和寄存器pitch中存储的数值r1作为第二加法器add_2的输入,经过所述第二加法器add_2运算后的结果输出至所述寄存器pitch中进行存储;所述寄存器pitch将所存储的数值r1传输至第个cordic计算单元的输入端;经过所述第个cordic计算单元的运算后的结果传输至第个多路选择器的输入端;
个寄存器中分别所存储的数值R1,R2,…,传递到第个多路选择器中;
所述第个多路选择器和第个多路选择器的输出端与乘法器mul的输入端相连;经过所述乘法器mul的运算获得的结果r2分别输出给所述第个多路选择器的另一个输入端以及个多路选择器的另一个输入端;
所述个多路选择器的输出端分别与个cordic计算单元的输入端相连;
所述第1个cordic计算单元从所对应的多路选择器中读取数值r0并进行运算后得到计算结果cos(azimuth)并传输至第1个寄存器中;所述第1个cordic计算单元从所对应的多路选择器中读取结果r2并进行运算后得到两个输出结果和AA(1);
所述第2个cordic计算单元从所对应的多路选择器中读取数值a1并进行运算后得到计算结果并传输至第2个寄存器中;所述第2个cordic计算单元从所对应的多路选择器中读取结果r2并进行运算后得到两个输出结果和AA(2);
……
所述第个cordic计算单元从所对应的多路选择器中读取数值并进行运算后得到计算结果并传输至第个寄存器中;所述第个cordic计算单元从所对应的多路选择器中读取结果r2并进行运算后得到两个输出结果AA(M)和
所述空间谱函数计算模块Pmusic_cal包括:1个乘法器Mul、1个加法器Add、(M-K)个寄存器、4个多路选择器;
噪声向量矩阵UU(k,n)分别作为第个多路选择器的输入值;k=1,2.…,M;n=1,2.…,M-K;
所述向向量计算模块AA_gen的输出结果AA(k)作为第个多路选择器的输入值;
个多路选择器的输出值作为第个多路选择器和第个多路选择器的另一个输入值;
所述第个多路选择器和第个多路选择器的输出值分别作为乘法器Mul输入值,经过乘法器Mul的运算后的结果作为加法器Add的一个输入值;
以数值0和加法器Add的输出值作为第个多路选择器的输入值;所述第个多路选择器的输出值作为加法器Add的另一个输入值;
所述乘法器Mul分别从第个多路选择器和第个多路选择器中读取噪声向量矩阵UU(k,n)和输出结果AA(k)并进行计算,获得的结果传递给所述加法器Add进行计算,所述加法器Add的计算结果分别传递给所述(M-K)个寄存器进行存储,所述第个多路选择器的输入端与所述所述(M-K)个寄存器相连;
所述乘法器Mul分别从第个多路选择器和第个多路选择器中读取所述第个多路选择器的输出值并进行计算,获得的结果传递给所述加法器Add进行计算,由所述加法器Add获得计算结果Pmusic并输出;
所述极值检验模块Peak_check包括:12个寄存器、2个存储器、1个多路选择器、1个比较器和1个逻辑“与”运算单元;
以所述计算结果Pmusic作为第三寄存器temp3的输入值;所述第三寄存器temp3的输出值传输至所述第二寄存器temp2中;所述第二寄存器temp2的输出值传输至第一寄存器temp1中;
所述第一寄存器temp1的输出值传输至第一存储器;所述第一存储器的输出值传递给第二存储器;所述第二存储器的输出值传递给中心寄存器temp_core;
个多路选择器的输入端分别与第一存储器的输出端、第二存储器的输出端、第三寄存器temp3的输出端、第二寄存器temp2的输出端、第一寄存器temp1的输出端相连;
所述第个多路选择器的输出端与比较器的输入端相连;所述比较器的另一个输入端与所述中心寄存器temp_core的输出端相连;
所述比较器的输出端分别与8个结果寄存器相连;
所述8个结果寄存器的输出端与所述逻辑“与”运算单元相连,并经过逻辑“与”运算单元的计算后输出极值检验结果peak_vaild。
CN201610184994.6A 2016-03-24 2016-03-24 一种基于music算法的谱峰搜索方法及其硬件电路 Active CN105866730B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610184994.6A CN105866730B (zh) 2016-03-24 2016-03-24 一种基于music算法的谱峰搜索方法及其硬件电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610184994.6A CN105866730B (zh) 2016-03-24 2016-03-24 一种基于music算法的谱峰搜索方法及其硬件电路

Publications (2)

Publication Number Publication Date
CN105866730A true CN105866730A (zh) 2016-08-17
CN105866730B CN105866730B (zh) 2017-12-26

Family

ID=56626180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610184994.6A Active CN105866730B (zh) 2016-03-24 2016-03-24 一种基于music算法的谱峰搜索方法及其硬件电路

Country Status (1)

Country Link
CN (1) CN105866730B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007101451A1 (en) * 2006-03-09 2007-09-13 Fundacio Privada Centre Tecnologic De Telecomunicacions De Catalunya Method and system for estimating directions-of-arrival in low power or low sample size scenarios
CN102520389A (zh) * 2011-11-23 2012-06-27 华中科技大学 一种二维空间谱谱峰搜索方法
CN102819007A (zh) * 2012-07-31 2012-12-12 哈尔滨工业大学(威海) 基于music的并行山脊谱峰搜索方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007101451A1 (en) * 2006-03-09 2007-09-13 Fundacio Privada Centre Tecnologic De Telecomunicacions De Catalunya Method and system for estimating directions-of-arrival in low power or low sample size scenarios
CN102520389A (zh) * 2011-11-23 2012-06-27 华中科技大学 一种二维空间谱谱峰搜索方法
CN102819007A (zh) * 2012-07-31 2012-12-12 哈尔滨工业大学(威海) 基于music的并行山脊谱峰搜索方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YUN SUN ET AL.: "The studies and FPGA implementation of spectrum peak search in MUSIC algorithm", 《ANTI-COUNTERFEITING, SECURITY, AND IDENTIFICATION (ASID)》 *
马英英 等: "基于数据插值的二维MUSIC谱峰搜索算法", 《现代电子技术》 *

Also Published As

Publication number Publication date
CN105866730B (zh) 2017-12-26

Similar Documents

Publication Publication Date Title
CN101487888B (zh) 一种空间谱谱峰搜索方法
CN110361691B (zh) 基于非均匀阵列的相干信源doa估计fpga实现方法
CN106842113A (zh) 高采样1比特量化情况下的信号到达角高精度估计方法
CN100592285C (zh) 一种信号处理方法、装置和系统
CN107493106A (zh) 一种基于压缩感知的频率和角度联合估计的方法
CN101833468A (zh) 在高性能计算系统中生成向量处理指令集结构的方法
Alhamed et al. FPGA‐based real‐time implementation for direction‐of‐arrival estimation
CN102866383B (zh) 一种基于空域自适应滤波的波达方向估计方法
Li et al. Hardware acceleration of MUSIC algorithm for sparse arrays and uniform linear arrays
Liu et al. Antenna array signal direction of arrival estimation on digital signal processor (DSP)
CN105608057A (zh) 一种分时复用硬件资源的信号子空间分解的fpga实现模块及其fpga实现方法
CN110531394A (zh) 一种基于格理论和最小二乘法的模糊度快速解算方法及装置
CN105893333B (zh) 一种用于music算法中计算协方差矩阵的硬件电路
CN106814343B (zh) 一种分步估计的空域信号空间谱估计方法
Shen et al. Localization for mixed far-field and near-field sources utilizing improved symmetric nested array
CN105866730B (zh) 一种基于music算法的谱峰搜索方法及其硬件电路
US10145871B2 (en) Systems and methods for joint angle-frequency determination
CN108008665B (zh) 基于单片fpga的大规模圆阵实时波束形成器及波束形成计算方法
CN113253196B (zh) 一种多信号测向方法、装置和电子设备
CN113238184B (zh) 一种基于非圆信号的二维doa估计方法
CN114239646A (zh) 一种基于复数神经网络的辐射源识别系统
CN103616703B (zh) 一种导航接收机的基带数据处理方法及系统
CN105278923B (zh) 一种基于aic信息准则的信号源个数估计硬件电路及其实现方法
Miao Local discrete fractional fourier transform: An algorithm for calculating partial points of DFrFT
CN103914625A (zh) 基于cordic算法的无线信号测向方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210105

Address after: 245000 No. 50, Meilin Avenue, Huangshan Economic Development Zone, Anhui Province

Patentee after: Huangshan Development Investment Group Co.,Ltd.

Address before: Tunxi road in Baohe District of Hefei city of Anhui Province, No. 193 230009

Patentee before: Hefei University of Technology