CN106919537A - 一种基于FPGA的Jacobi变换的高效实现方法 - Google Patents
一种基于FPGA的Jacobi变换的高效实现方法 Download PDFInfo
- Publication number
- CN106919537A CN106919537A CN201710134036.2A CN201710134036A CN106919537A CN 106919537 A CN106919537 A CN 106919537A CN 201710134036 A CN201710134036 A CN 201710134036A CN 106919537 A CN106919537 A CN 106919537A
- Authority
- CN
- China
- Prior art keywords
- jacobi
- matrix
- conversion
- fpga
- cordic
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明属于信号处理技术领域,具体的说是涉及一种基于FPGA的Jacobi变换的高效实现方法。本发明的方法主要包括:确定Jacobi变换前后矩阵A中元素之间的关系;构建用于Jacobi变换的Cordic模块;采用步骤构建的Cordic模块计算Jacobi变换后矩阵A的元素 本发明的有益效果为:与传统方法相比,本发明的方法使用一种高效的串行控制方案算法,只使用一个Cordic模块实现Jacobi变换的计算,并且在减少硬件资源消耗的同时,完成计算所需要的时间与并行算法一样,即这样的计算方案算法具有计算速度快、节省硬件资源消耗的优点,在实际工程中具有很高的应用价值。
Description
技术领域
本发明属于信号处理技术领域,具体的说是涉及一种基于FPGA的Jacobi变换的高效实现方法。
背景技术
在信号处理中,Jacobi变换是一个应用广泛的矩阵变换,可以用求解矩阵的奇异值分解SVD、求逆等,而这些基本的矩阵分解算法在科学计算、信号处理领域具有广泛的应用,如数据压缩、噪声去除、数值分析,包括近几年兴起的机器学习、深度学习其基本核心操作也包括矩阵奇异值分解与求逆等变换。实现这些矩阵分解算法常用方法有Gauss变换、Householder变换、Jacobi变换等,其中Jacobi变换是精度较高的方法并且很适合在FPGA中实现。因此基于FPGA的Jacobi变换的高效实现技术在实际工程中具有很高的应用价值。
目前工程上多数采用如附图1所示的并行结构来计算Jacobi变换矩阵中的 这四个元素值,其中G为Jacobi旋转矩阵。虽然这样的结构可以使用流水线方式计算但在实际计算过程中,每次变换都会影响矩阵A中第i行、第j行、第i列、第j列的元素,所以需要等待这些元素计算完成才能进行下一次Jacobi变换。并且传统的并行计算方案需要多个CORDIC模块,从输入数据有效到输出数据有效需要进行两次CORDIC计算。因为需要等待其他元素计算完成并不能有效使用这些CORDIC模块的计算能力,所以这样的方案消耗较多的硬件资源,反而却不能很好的利用起并行结构可以进行流水线方式高速计算的优点。同时因为FPGA资源消耗较多,在一些低端的FPGA芯片中,不能实现基于传统并行计算方案实现Jacobi旋转的信号处理算法。
发明内容
本发明所要解决的技术问题是,针对上述问题,提供一种FPGA资源消耗比较小的Jacobi变换技术,可以在资源量比较小的FPGA芯片中实现基于Jacobi变换的信号处理算法,如单基线相位干涉仪等。与传统计算方案相比在完成计算需要时钟数基本不增加的前提下减少了CORDIC模块,减少了FPGA逻辑资源的消耗。
本发明的技术方案是:
一种基于FPGA的Jacobi变换的高效实现方法,其特征在于,包括以下步骤:
a.确定Jacobi变换前后矩阵A中元素之间的关系:
设矩阵A∈Rn×n,单次Jacobi旋转的计算公式如下公式1所示:
其中,G∈Rn×n为Jacobi旋转矩阵,G的对角线元素除了gii=cosθ、gjj=cosθ其他全为1,其非对角线元素除了gij=-sinθ、gji=sinθ外其他全为0:
则完成一次Jacobi变换之后的与A的aii、ajj、aij、aji的关系确定为如下公式2所示:
b.构建用于Jacobi变换的Cordic模块:
构建一个流水线的旋转Cordic模块,输入为(xi,yi,θ),输出为(xo,yo),输入与输出关系如下公式3所示:
c.采用步骤b中构建的Cordic模块计算Jacobi变换后矩阵A的元素
c1.将Jacobi变换前矩阵A的元素(aji,aii,θ)、(ajj,aij,θ)在两个时钟内分别依次输入到Cordic模块中,即依次计算公式4和公式5:
获得中间变量:(x1,y1,x2,y2);
c2.将步骤c1中获得的中间变量组合为(y2,y1,θ)、(x2,x1,θ),并在两个时钟内分别依次输入到Cordic模块中,即依次计算公式6和公式7
得到Jacobi变换后矩阵A的元素完成Jacobi变换。
本发明的有益效果为:与传统方法相比,本发明的方法使用一种高效的串行控制方案算法,只使用一个Cordic模块实现Jacobi变换的计算,并且在减少硬件资源消耗的同时,完成计算所需要的时间与并行算法一样,即这样的计算方案算法具有计算速度快、节省硬件资源消耗的优点,在实际工程中具有很高的应用价值。
附图说明
图1传统并行结构计算Jacobi变换的FPGA实现图;
图2本发明算法流程图;
图3本发明的FPGA实现图。
具体实施方式
下面结合附图和实施例,详细描述本发明的技术方案:
本发明应用于单基线相位干涉仪的FPGA实现,估计信号与噪声对应的特征值,可以减少硬件资源的消耗。
实施例1
实施例1的算法流程如附图2所示,FPGA实现如附图3所示。
考虑一个单基线相位干涉仪,阵元数M=2,N=1个载波为的BPSK调制的远场信号s(n),以γ=5°的入射角,入射到该单基线干涉仪上,且有阵元间距d=0.5λ,λ为信号的波长。阵元接收噪声是零均值的高斯白噪声,噪声功率σ2=1,接收信号信噪比SNR=15dB,快拍数L=512。利用接收信号x(n)的L=512个观测样本,估计信号与噪声对应的特征值。
实施例1估计性能包括计算精度、计算速度和资源消耗,具体用下面指标评价:
1.资源消耗:
(1).寄存器消耗数量Nreg,越小对应寄存器资源消耗越少。
(2).逻辑门消耗数量Nlut,越小对应逻辑门资源消耗越少。
2.计算速度:
(1).计算消耗的时钟数Nclk,越小表示计算消耗时间越少,计算速度越快。
3.计算精度:
(1).特征值计算精度:其中为特征值的估计值,λi为特征值的理论值。εi越小表示计算精度越高。
仿真步骤如下:
a.仿真信号建模:
a1.由下式产生M=2个阵列接收信号X(n)=[x1(n) x2(n)]T:
X(n)=a(γ)s(n)+N(n)
式中,N(n)为2×1均值为0,方差σ2=1的高斯白噪声矢量;s(n)为接收信号,满足a(γ)=[1 e-jπsinγ]T为阵列流型;
a2.计算数据协方差矩阵和平面旋转角度其中aij,i=1,2;j=1,2为A中的元素;
b.应用本发明的FPGA实现,如附图3,对A进行特征值分解,估计信号与噪声对应的特征值:
b1.构建一个流水线的旋转Cordic模块,输入为(xi,yi,θ),输出为(xo,yo):
b2.将(a21,a11,θ)、(a22,a12,θ)在两个时钟内分别依次输入到该Cordic模块中,即依次计算(1)式和(2)式:
b3.将(y2,y1,θ)、(x2,x1,θ)在两个时钟内分别依次输入到该Cordic模块中,即依次计算(3)式和(4)式:
b4.计算结束,得到其中信号对应的特征值噪声对应的特征值
本例性能估计如下:
计算圆盘半径计算精度:其中λi为圆盘半径的理论值;
统计计算消耗的时钟数Nclk、寄存器消耗数量Nreg和逻辑门消耗数量Nlut。
仿真结果:
1.资源消耗:Nreg=1271,Nlut=1324。
2.计算速度:Nclk=49。
3.计算精度:信号对应特征值的估计精度ε1=1.8326×10-5,噪声对应特征值的估计精度ε2=1.1378×10-4。
从以上的结果可以看出来,采用xilinx公司低端系列的FPGA芯片xc6slx4-3tqg144,该芯片一共拥有寄存器4800个,查找表2400个,而本发明所消耗的资源Nreg<4800、Nlut<2400,是可以在该芯片上实现单基线相位干涉仪。同时如果FPGA系统时钟为100MHz,本发明能在秒内就能计算完成。并且计算精度均在10-4数量级,计算精度很高。
实施例2
使用传统方案算法应用应用于单基线相位干涉仪的FPGA实现,估计信号与噪声对应的特征值,作为实施例1的对比例。
实施例2的FPGA实现如附图1所示,其余仿真条件与实施例1的相同,估计信号与噪声对应的特征值。
实施例2的评价标准与实施例1的一致。
仿真结果为:
1.资源消耗:Nreg=4616,Nlut=5024。
2.计算速度:Nclk=46。
3.计算精度:信号对应特征值的估计精度ε1=1.8326×10-5,噪声对应特征值的估计精度ε2=1.1378×10-4。
从以上的结果可以看出来,采用xilinx公司低端系列的FPGA芯片xc6slx4-3tqg144,该芯片一共拥有寄存器4800个,查找表2400个,而传统方案所消耗的资源Nreg<4800、Nlut>2400,在该芯片上是不能实现单基线相位干涉仪。同时如果FPGA系统时钟为100MHz,传统并行方案能在秒内就能计算完成。并且计算精度均在10-4数量级,计算精度和本发明一样。
综上所述,相对于传统方案,本发明在计算速度与计算精度基本一样的情况下,可以减少FPGA资源消耗,可以在低端FPGA芯片(资源比较少)实现基于Jacobi变换的信号处理算法,在实际工程中具有重要意义。
Claims (1)
1.一种基于FPGA的Jacobi变换的高效实现方法,其特征在于,包括以下步骤:
a.确定Jacobi变换前后矩阵A中元素之间的关系:
设矩阵A∈Rn×n,单次Jacobi旋转的计算公式如下公式1所示:
其中,G∈Rn×n为Jacobi旋转矩阵,G的对角线元素除了gii=cosθ、gjj=cosθ其他全为1,其非对角线元素除了gij=-sinθ、gji=sinθ外其他全为0:
则完成一次Jacobi变换之后的与A的aii、ajj、aij、aji的关系确定为如下公式2所示:
b.构建用于Jacobi变换的Cordic模块:
构建一个流水线的旋转Cordic模块,输入为(xi,yi,θ),输出为(xo,yo),输入与输出关系如下公式3所示:
c.采用步骤b中构建的Cordic模块计算Jacobi变换后矩阵A的元素
c1.将Jacobi变换前矩阵A的元素(aji,aii,θ)、(ajj,aij,θ)在两个时钟内分别依次输入到Cordic模块中,即依次计算公式4和公式5:
获得中间变量:(x1,y1,x2,y2);
c2.将步骤c1中获得的中间变量组合为(y2,y1,θ)、(x2,x1,θ),并在两个时钟内分别依次输入到Cordic模块中,即依次计算公式6和公式7
得到Jacobi变换后矩阵A的元素完成Jacobi变换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710134036.2A CN106919537A (zh) | 2017-03-07 | 2017-03-07 | 一种基于FPGA的Jacobi变换的高效实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710134036.2A CN106919537A (zh) | 2017-03-07 | 2017-03-07 | 一种基于FPGA的Jacobi变换的高效实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106919537A true CN106919537A (zh) | 2017-07-04 |
Family
ID=59460993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710134036.2A Pending CN106919537A (zh) | 2017-03-07 | 2017-03-07 | 一种基于FPGA的Jacobi变换的高效实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106919537A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108416311A (zh) * | 2018-03-14 | 2018-08-17 | 电子科技大学 | 一种基于可编程门阵列和坐标旋转处理的方位角获取方法 |
CN110222307A (zh) * | 2019-06-12 | 2019-09-10 | 哈尔滨工程大学 | 基于fpga的实对称矩阵的特征值分解的并行实现方法 |
WO2020206716A1 (zh) * | 2019-04-10 | 2020-10-15 | 浙江大学 | 一种用于FPGA的并行Jacobi计算加速实现方法 |
CN112596701A (zh) * | 2021-03-05 | 2021-04-02 | 之江实验室 | 基于单边雅克比奇异值分解的fpga加速实现方法 |
CN116647428A (zh) * | 2023-07-26 | 2023-08-25 | 高拓讯达(北京)微电子股份有限公司 | 一种信道矩阵的svd分解方法、装置、电子设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060285531A1 (en) * | 2005-06-16 | 2006-12-21 | Howard Steven J | Efficient filter weight computation for a MIMO system |
CN101847086A (zh) * | 2010-05-14 | 2010-09-29 | 清华大学 | 一种基于循环雅克比的实对称阵特征分解装置 |
CN103902764A (zh) * | 2014-03-12 | 2014-07-02 | 广州中国科学院工业技术研究院 | 基于Householder变换的无约束结构静力分析方法 |
-
2017
- 2017-03-07 CN CN201710134036.2A patent/CN106919537A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060285531A1 (en) * | 2005-06-16 | 2006-12-21 | Howard Steven J | Efficient filter weight computation for a MIMO system |
CN101847086A (zh) * | 2010-05-14 | 2010-09-29 | 清华大学 | 一种基于循环雅克比的实对称阵特征分解装置 |
CN103902764A (zh) * | 2014-03-12 | 2014-07-02 | 广州中国科学院工业技术研究院 | 基于Householder变换的无约束结构静力分析方法 |
Non-Patent Citations (2)
Title |
---|
张健: "特征子空间雷达目标一维像识别方法的FPGA实现的关键技术研究", 《中国优秀硕士学位论文全文数据库》 * |
王飞: "实对称矩阵特征值分解高速并行算法的FPGA实现", 《空军工程大学学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108416311A (zh) * | 2018-03-14 | 2018-08-17 | 电子科技大学 | 一种基于可编程门阵列和坐标旋转处理的方位角获取方法 |
WO2020206716A1 (zh) * | 2019-04-10 | 2020-10-15 | 浙江大学 | 一种用于FPGA的并行Jacobi计算加速实现方法 |
CN110222307A (zh) * | 2019-06-12 | 2019-09-10 | 哈尔滨工程大学 | 基于fpga的实对称矩阵的特征值分解的并行实现方法 |
CN110222307B (zh) * | 2019-06-12 | 2022-10-28 | 哈尔滨工程大学 | 基于fpga的实对称矩阵的特征值分解的并行实现方法 |
CN112596701A (zh) * | 2021-03-05 | 2021-04-02 | 之江实验室 | 基于单边雅克比奇异值分解的fpga加速实现方法 |
CN112596701B (zh) * | 2021-03-05 | 2021-06-01 | 之江实验室 | 基于单边雅克比奇异值分解的fpga加速实现方法 |
CN116647428A (zh) * | 2023-07-26 | 2023-08-25 | 高拓讯达(北京)微电子股份有限公司 | 一种信道矩阵的svd分解方法、装置、电子设备及介质 |
CN116647428B (zh) * | 2023-07-26 | 2023-10-10 | 高拓讯达(北京)微电子股份有限公司 | 一种信道矩阵的svd分解方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919537A (zh) | 一种基于FPGA的Jacobi变换的高效实现方法 | |
Carmichael et al. | Deep positron: A deep neural network using the posit number system | |
CN103176767B (zh) | 一种低功耗高吞吐的浮点数乘累加单元的实现方法 | |
Echman et al. | A scalable pipelined complex valued matrix inversion architecture | |
Partzsch et al. | A fixed point exponential function accelerator for a neuromorphic many-core system | |
CN110361691B (zh) | 基于非均匀阵列的相干信源doa估计fpga实现方法 | |
CN106775577B (zh) | 一种高性能非精确冗余二进制乘法器的设计方法 | |
CN110825346B (zh) | 一种低逻辑复杂度的无符号近似乘法器 | |
Yan et al. | Design of high hardware efficiency approximate floating-point FFT processor | |
CN103902762A (zh) | 一种针对正定对称矩阵进行最小二乘方程求解的电路结构 | |
Zhuang et al. | Vlsi architecture design for adder convolution neural network accelerator | |
Thangavel et al. | Intrinsic evolution of truncated Puiseux series on a mixed-signal field-programmable soc | |
Li et al. | FPGA implementation of LSTM based on automatic speech recognition | |
Liu et al. | Design of fully spectral CNNS for efficient FPGA-based acceleration | |
Nambiar et al. | Scalable block-based spiking neural network hardware with a multiplierless neuron model | |
Radhakrishnan et al. | An efficient design for area-efficient truncated adaptive booth multiplier for signal processing applications | |
Uma et al. | Area and time optimized realization of 16 point FFT and IFFT blocks by using IEEE 754 single precision complex floating point adder and multiplier | |
Kim et al. | ROSETTA: A Resource and Energy-Efficient Inference Processor for Recurrent Neural Networks Based on Programmable Data Formats and Fine Activation Pruning | |
Chen et al. | Edge FPGA-based Onsite Neural Network Training | |
Thakare et al. | Low Power 64-Bit Multiplier Design By Vedic Mathematics | |
Acharyya et al. | Hardware reduction methodology for 2-dimensional kurtotic fastica based on algorithmic analysis and architectural symmetry | |
Sujatha et al. | Performance analysis of Anurupye vedic multiplier In FFT Processor | |
Tamuli et al. | Implementation of Jacobi iterative solver in verilog HDL | |
CN113592067B (zh) | 一种用于卷积神经网络的可配置型卷积计算电路 | |
Kumar et al. | Computational Simulation of Square using Low Power Vedic Algorithm and its Implementation on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170704 |
|
WD01 | Invention patent application deemed withdrawn after publication |