CN113377333A - Hardware computing system and method for solving N root openings of complex numbers based on parabolic synthesis method - Google Patents

Hardware computing system and method for solving N root openings of complex numbers based on parabolic synthesis method Download PDF

Info

Publication number
CN113377333A
CN113377333A CN202110602128.5A CN202110602128A CN113377333A CN 113377333 A CN113377333 A CN 113377333A CN 202110602128 A CN202110602128 A CN 202110602128A CN 113377333 A CN113377333 A CN 113377333A
Authority
CN
China
Prior art keywords
unit
root
calculation
mode
input
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
CN202110602128.5A
Other languages
Chinese (zh)
Other versions
CN113377333B (en
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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN202110602128.5A priority Critical patent/CN113377333B/en
Publication of CN113377333A publication Critical patent/CN113377333A/en
Application granted granted Critical
Publication of CN113377333B publication Critical patent/CN113377333B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

The invention provides a hardware computing system and a method for solving N times of root numbers of complex numbers based on a parabolic synthesis method. The system comprises: the control unit controls the operation flow of the whole system in a state machine mode; the variable-mode circumference CORDIC calculating unit is used for realizing the mutual conversion of input complex numbers between a plane coordinate form and a polar coordinate form; the root-cutting unit is used for calculating N times of root cutting of the modular length in the polar coordinate form of the complex number to be solved; the phase angle calculation unit is used for calculating and obtaining the phase angle in the polar coordinate form of the complex number according to the input k. The parabola synthesis method and the CORDIC method are effectively utilized, so that the calculation precision is guaranteed, and the whole calculation system is enabled to realize ultra-low delay calculation. Second, by changing the input k, N root-forming results that need to be output can be selected. The forward iteration times of the circumference CORDIC module are changed, and the calculation precision can be flexibly adjusted within a certain range. Finally, the area consumption of the whole system is reduced.

Description

Hardware computing system and method for solving N root openings of complex numbers based on parabolic synthesis method
Technical Field
The invention relates to a hardware computing system and a method for solving N root openings of a plurality of numbers, in particular to the technical field of complex number computing.
Background
In the modern times of various microprocessor computing, due to the existence of multipliers and adders, various kinds of related researches are in endless, and many scholars make great efforts and contributions from the aspect of algorithm level and hardware computing architecture in order to improve the algorithm implemented by hardware. But there is also a fresh solution to the optimized calculation of the root-cutting to the N-th power of any complex number.
Complex numbers are widely used in the scientific community for real-time data representation and system modeling, including communication systems, signal processing algorithms, electronic circuits, electromagnetism, and the like, wherein the complex numbers inevitably include N root computations, and although not as frequently as the addition and multiplication, the complex numbers still have wide application scenarios. The n-root computation of complex numbers involves some common operations such as square root and cubic root. Some scholars have made efforts and achieved efforts to find the square root of the complex number, and some have made continuous efforts to find the square root of the real number N. However, neither a square root circuit for determining complex numbers nor an N-th power root circuit for determining real numbers can calculate an arbitrary N-th power root of complex numbers by simple conversion.
In the prior art, the appearance of CORDIC allows the series of complex operations to be alleviated. The CORDIC algorithm typically adds one bit of precision in each iteration. Therefore, the iterative nature of CORDIC tends to be too slow for high speed applications.
Disclosure of Invention
The purpose of the invention is as follows: the hardware computing system and method for solving the N-times root opening number of the complex number based on the parabola synthesis method are provided to solve the problems in the prior art.
The technical scheme is as follows: in a first aspect, a hardware computing system for solving a root number of a complex number N times based on a parabolic synthesis method is provided, which mainly includes: the variable mode circumference CORDIC calculating unit, the root opening unit, the phase angle calculating unit and the control unit are four units.
In some implementations of the first aspect, the variable mode circular CORDIC computation unit: the mode of the control unit is controlled by the control unit, when the calculation mode is a vector mode, the control unit is used for solving the conversion of the input complex numbers from the plane coordinate form to the polar coordinate form, and when the calculation mode is a rotation mode, the control unit is used for solving the conversion of the input complex numbers from the polar coordinate form to the plane coordinate form.
Root cutting unit: determining the cell input rho
Figure BDA0003093366690000021
The power of:
Figure BDA0003093366690000022
the calculation is completed by a logic operation and parabola synthesis module.
A phase angle calculation unit: calculating a phase angle:
Figure BDA0003093366690000023
the calculation is completed by the lookup table, the adder and the multiplier.
A control unit: reading configuration information: and the root number N and the root selection parameter k call each calculation unit through a state machine structure to control the whole operation flow of the hardware calculation system for solving the root number N times.
In some implementations of the first aspect, the root-opening unit further includes:
and the preprocessing unit is used for preprocessing the input data according to the required range.
And the parabola synthesis unit is used for solving the logarithm taking the base 2 and the exponential taking the base 2.
Other component units including lookup tables for intermediate calculations, adders, multipliers, shift registers;
the parabola synthesis unit is controlled by internal logic and is used for solving the logarithm calculation of the input base 2 when the mode is a logarithm mode; when the mode is an exponential mode, the method is used for calculating the exponent with the base 2 of the input.
In some implementations of the first aspect, the calculation principle of the N root openings of the complex number is as follows:
for any complex number there is:
Z=p+jq=ρcosθ+jρsinθ=ρej(2kπ+θ)
wherein:
Figure BDA0003093366690000024
so, the complex number is raised to the power of 1/N:
Figure BDA0003093366690000025
the method can be understood as taking the power of 1/N of the modulus, and dividing the phase angle into N equal parts after adding 2k pi;
then, calculation can be made:
Figure BDA0003093366690000026
wherein
Figure BDA0003093366690000027
It can be calculated from the following equation:
Figure BDA0003093366690000028
in some implementations of the first aspect, the hardware computing system inputs the following 4 variables: the real part p of the complex number is solved; solving an imaginary part q of the complex number; n in the root number of N times; a root selection parameter k; and outputs the following 2 variables: obtaining the real part p _ out of the complex number; obtaining an imaginary part q _ out of a complex number;
in a second aspect, a hardware calculation method for solving N root openings of a complex number based on a parabolic synthesis method is provided, which specifically includes the following steps:
step 1, receiving input configuration information N, k, and receiving input real part p and imaginary part q required by calculation;
step 2, configuring a circular CORDIC calculation unit mode as a vector mode, and calculating the modular length and the phase angle theta of an input vector p + jq;
step 3, using root-opening unit and phase angle calculation unit to calculate N times root-opening and phase angle of input complex number modular length
Figure BDA0003093366690000031
And 4, configuring the mode of the circumference CORDIC calculating unit as a rotation mode, transmitting the output of the root-cutting unit and the phase angle calculating unit to the circumference CORDIC calculating unit, and outputting the result to the outside.
In some realizations of the second aspect, step 2 includes configuring the initial input of CORDIC _ C within the circumferential CORDIC computing units, i.e. X10,Y10,Z10Respectively setting as p, q and 0; according to the output value X1n,Y1n,Z1nConverting the input complex number into a polar coordinate form rho ═ X1nθ=Z1n
In some implementations of the second aspect, step 3 comprises:
step 3-1, configuring the inputs of the preprocessing unit as rho and N, and adopting logical operation to convert the modular length X in the step 2 into the modular length X in order to meet the range requirement of the parabola synthesis method used in the system1nConversion to the range [1,2]Rho of*And operating coefficients a, b;
step 3-2, configuring the input of a parabola synthesis unit as rho*And configuring the calculation mode as a logarithmic mode and the output as log2*);
Step 3-3, using adder, multiplier and lookup table to obtain log2*) And b are calculated to obtain
Figure BDA0003093366690000032
Step 3-4, configuring a parabola comprehensive listThe input of the element is
Figure BDA0003093366690000033
And configuring the calculation mode as an exponential mode and the output as
Figure BDA0003093366690000034
Step 3-5, obtained by shift register pairs
Figure BDA0003093366690000035
And a is calculated to obtain
Figure BDA0003093366690000036
Step 3-6, obtained by a multiplier and a look-up table pair
Figure BDA0003093366690000037
And
Figure BDA0003093366690000038
by multiplication, to obtain
Figure BDA0003093366690000039
3-7, solving by using a multiplier and a lookup table
Figure BDA00030933666900000310
This step is performed during steps 3-1 to 3-6, with simultaneous calculation.
In some implementations of the second aspect, step 4 comprises: reconfiguring the initial input of CORDIC _ C within a circular CORDIC compute unit, namely X10,Y10,Z10Are respectively provided with
Figure BDA00030933666900000311
Its output is X1n,Y1n,Z1nThe unit will end up with the result
Figure BDA00030933666900000312
Outwards facingAnd (6) outputting.
In some realizations of the second aspect, occurring in the calculations
Figure BDA00030933666900000313
2kπ,
Figure BDA00030933666900000314
All are constants, and the values are stored in advance by a lookup table and then are searched.
The application of the hardware calculation method for solving the root number of the complex number for N times based on the parabolic synthesis method in signal processing, electromagnetic simulation and electronic circuit simulation comprises a data calculation process, wherein the data calculation process comprises the step of solving the root number of the complex number for N times.
Has the advantages that: the invention realizes the hardware computing system and method for solving the complex number N times of root numbers based on the parabola synthesis method, ensures the precision by using the parabola synthesis method and the CORDIC method, and ensures that the whole computing system keeps ultra-low time delay. And finally, the CORDIC module and the parabola synthesis module of the system are provided with two modes, so that the area consumption of the whole system is reduced, and the system has wide application in the fields of signal processing, wireless communication and the like.
Drawings
Fig. 1 is a block diagram of a hardware computing system for solving N root openings of a complex number based on a parabolic synthesis method according to the present invention.
FIG. 2 is a schematic diagram of the functions and workflow of the modules of the system.
Fig. 3 is a simulation diagram of the number of forward iterations and the calculation accuracy of the present system.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without one or more of these specific details. In other instances, well-known features have not been described in order to avoid obscuring the invention.
Example one
A hardware computing system for solving N root openings of a complex number based on a parabolic synthesis method is proposed, as shown in fig. 1, the system specifically includes:
the variable mode circular CORDIC calculation unit is arranged to calculate a formal translation between the coordinates according to different control modes.
A root-forming unit arranged to calculate the input rho
Figure BDA0003093366690000041
To the power, i.e.:
Figure BDA0003093366690000042
the method specifically comprises the following steps: the device comprises a pretreatment unit, a parabola synthesis unit and other component units. In the process of realizing calculation, the unit is completed through a logic operation and parabola synthesis module.
A phase angle calculation unit arranged to calculate a phase angle from the look-up table, the adder and the multiplier, i.e.:
Figure BDA0003093366690000043
and the control unit is used for reading the configuration information, calling each calculation unit through the state machine structure and controlling the whole operation flow. The configuration information read by the unit comprises the root-opening times N and a root selection parameter k, and the controlled operation flow is the whole operation flow of the hardware computing system for solving the root-opening number of the plurality of times N.
An input unit configured to receive and store a data vector to be subjected to N root calculations.
And the output unit is arranged to output the data vector subjected to the N-time root number calculation.
Specifically, when the calculation mode is a vector mode, the variable-mode circular CORDIC calculation unit is used for solving the conversion from a plane coordinate form to a polar coordinate form of an input complex number; when the calculation mode is the rotation mode, the method is used for solving the conversion from the polar coordinate form to the plane coordinate form of the input complex number.
And the preprocessing unit is used for preprocessing the input data according to the required range.
And the parabola synthesis unit is used for solving the logarithm taking the base 2 and the exponential taking the base 2. The parabola synthesis unit is controlled by internal logic and is used for solving the logarithm calculation of the input base 2 when the mode is a logarithm mode; when the mode is an exponential mode, the method is used for calculating the exponent with the base 2 of the input.
And other component units including lookup tables for intermediate calculation, adders, multipliers and shift registers.
Example two
Aiming at the hardware calculation of the complex N times of root cutting, a calculation method based on a parabola synthesis method and a CORDIC method is provided, wherein the input-output relation of the calculation method is further described. Specifically, the output and input relationship of each CORDIC model is as follows: let the model input be X, Y, Z, so the output is:
CORIC_C_R:
Xn=K(X·cosZ-Y·sinZ)
Yn=K(Y·cosZ+X·sinZ)
Zn=0
CORIC_C_V:
Figure BDA0003093366690000051
Yn=0
Figure BDA0003093366690000052
the core part of the parabolic synthesis method is approximate calculation: all forg(x) Can be decomposed into products of a series of sub-functions. The decomposition idea is similar to the fourier transform, except that the fourier transform is decomposed into a series of sinusoidsThe equation of the curve, and the parabolic law of integration is decomposed into a series of second-order parabolic curve functions, shaped as forg(x)=s1(x)·s2(x)·...·s(x) In that respect In the approximation process, the accuracy of the decomposition is determined according to the number of sub-functions of the decomposition. Assuming the input is x, the outputs are as follows:
PS_LOG:
y=log2(x)1<x<2
PS_EXP:
y=2x 0<x<1
for the calculation of solving the complex number N times of the root number based on the parabolic synthesis method, if other methods are adopted, a large amount of calculation and a large amount of area and time sequence consumption are required, and in addition, if the convergence domain is not expanded for the CORDIC algorithm, the range of the input complex number is limited, so that the application is limited. The method based on the parabola synthesis method and the CORDIC provided by the invention can be used for inputting and solving the root number for N times in a larger range by using low area consumption under a wide convergence domain, and can be suitable for more practical application scenes, so that the method has certain reference significance and application prospect.
EXAMPLE III
Based on the N-times root opening number hardware computing system for solving complex numbers based on the parabolic synthesis method provided by the first embodiment, the present embodiment provides a complex N-times root opening number computing process based on the system. The hardware computing system for solving the complex number N times of root numbers based on the parabola synthesis method inputs the following 4 variables: the real part p of the complex number is solved; solving an imaginary part q of the complex number; n in the root number of N times; a root selection parameter k; and outputs the following 2 variables: obtaining the real part p _ out of the complex number; the imaginary part q _ out of the complex number is found.
Specifically, for any plural number:
Z=p+jq=ρcosθ+jρsinθ=ρej(2kπ+θ)
wherein the content of the first and second substances,
Figure BDA0003093366690000061
so, the complex number is raised to the power of 1/N:
Figure BDA0003093366690000062
it can be understood that the phase angle is divided into N equal parts, modulo 1/nth, while the phase angle is divided by 2k pi.
Then, calculation can be made:
Figure BDA0003093366690000063
wherein
Figure BDA0003093366690000064
It can be calculated from the following equation:
Figure BDA0003093366690000065
the CORDIC calculation method can complete complex operations such as logarithm operation, division operation, exponential operation and the like by simple addition and shift calculation, and can quickly realize the simple function approximation by combining the parabola synthesis method, thereby completing the calculation process with low time sequence and area consumption of the system.
Example four
A hardware calculation method for solving N root openings of a complex number based on a parabolic synthesis method is proposed, as shown in fig. 2, the method specifically includes the following steps:
step one, inputting configuration information N, k, a real part p to be calculated and an imaginary part q to be calculated;
obtaining output according to a vector mode of the CORDIC in a circular coordinate system;
step three, carrying out input preprocessing on data of the input parabola synthesis method according to the situation, and calculating N times of root cutting and phase angle of the input complex number modular length
Figure BDA0003093366690000071
And step four, reconfiguring the initial input of the CORDIC _ C in the circular CORDIC calculating unit, namely, obtaining the final output by utilizing the rotation mode of the CORDIC in the circular coordinate system.
EXAMPLE five
On the basis of the fourth embodiment, the specific implementation of obtaining the output according to the vector mode of the CORDIC in the circular coordinate system is as follows: using the vector mode of CORDIC in the circular coordinate system, the input is:
x0=p,y0=q,z0=0
obtaining an output:
Figure BDA0003093366690000072
wherein xnThe converted modulus is the length, but the rho is known by the calculation principle of CORDIC0With a scaling factor KnWhere ρ is Knρ0,znThe phase angle after transformation is theta.
EXAMPLE six
On the basis of the fourth embodiment, the input preprocessing of the data of the input parabolic synthesis method is divided into the following three cases to be processed respectively.
Specifically, the case one: if rho is greater than 2;
finding the bit number L of the highest bit with 1 of rho to make the obtained rho 2L<ρ<2L+1Then shift L bits to the right, noted:
ρ*=2-Lρ
in addition, by inputting (L, N) to a and b in the two-dimensional search modulo operation L ═ a × N + b, and b ≦ 0 ≦ b ≦ N-1, since (L, N) are both integers of (1, 10), the lookup table consumes only a small area resource, resulting in the following relationship:
aN<L≤(a+1)N,a≥0
there may be the equation:
L=a×N+b,0≤b≤N-1
case two: if rho is more than 1 and less than 2;
is recorded as:
ρ*=ρ
and a is 0, and b is 0.
Case three: if rho is less than 1;
finding the bit number L of the highest bit with 1 of rho to make the obtained rho 2-L<ρ<2-L+1Then shift L bits to the left, noted:
ρ*=2Lρ
in addition, by inputting (L, N) to a and b in the two-dimensional search modulo operation L ═ a × N + b, and 0 ≦ b ≦ N-1, (L, N) are both integers of 1 to 10, so the area consumed is small, and the following relationship is obtained:
aN<L≤(a+1)N,a≥0
there may be the equation:
L=a×N+b,0≤b≤N-1
after the three cases are respectively treated (a and b are also used in the following), the range requirement of the usable parabola synthesis method is met, and 1 < rho*<2:
Figure BDA0003093366690000081
EXAMPLE seven
On the basis of the fourth embodiment, the data of the input parabola synthesis method is input and preprocessed according to the situation, and N times of root cutting and phase angle of the input complex number modular length are calculated
Figure BDA0003093366690000082
The method further comprises the following specific steps:
and 3.1, preprocessing the input data according to the situation.
Step 3.2, obtain loq2*) And selecting a prestored corresponding parameter by using a parabola synthesis method (Lotargeted hmic PS): the input is as follows: x is rho*The output is: y log2*);
Using a parabolic synthesis method (exponetia PS): the calculation process is the same as the logarithm operation, a parabola synthesis method is used, and corresponding parameters are selected.
The input is as follows: x ═ Zn, the output is:
Figure BDA0003093366690000091
step 3.3, obtaining
Figure BDA0003093366690000092
Loq is obtained by adder2*) + b, finding the fixed point number of 1/N by using the lookup table, and multiplying by using a multiplier to obtain:
Figure BDA0003093366690000093
wherein Zn ranges from (0, 1).
Step 3.4, ask 2(Zn)Using a parabolic synthesis method (exponemental PS): the calculation process is the same as the logarithm operation, a parabola synthesis method is used, and corresponding parameters are selected.
The input is as follows: x ═ Zn, the output is:
Figure BDA0003093366690000094
step 3.5, reduction:
case one, if ρ > 2: will obtain
Figure BDA0003093366690000095
The value is shifted to the left by a bit to obtain
Figure BDA0003093366690000096
Case two, if 1 < ρ < 2: not processing;
case three, if ρ < 1: will obtain
Figure BDA0003093366690000097
Right shifting the value by a bit to obtain
Figure BDA0003093366690000098
Step 3.6, the CORDIC algorithm under the circular coordinate system of the rotation mode is convenient for future use, and the modular length is enlarged by K due to calculation in the CORDICnMultiple, and after a series of operations, the magnification factor is changed to Kn 1/NMultiplied by K, then the CORDIC used in the latter will again expand the result by KnMultiple, so multiplying K here by a multipliern -1-1/NTo obtain
Figure BDA0003093366690000099
Namely:
Figure BDA00030933666900000910
and 3.7, for each complex number, N roots exist after the root number is opened for N times, and if the N roots are selected to be output simultaneously, a large amount of area resources are consumed, so that the design can calculate one needed root every time according to the requirement so as to achieve the purpose of reducing the area consumption. The output of how to select the root is determined according to the input k, that is, the kth root is output, and the phase angle has the relationship:
Figure BDA00030933666900000911
firstly, a lookup table method is utilized to obtain 2k pi + theta, and then a multiplier is used to multiply 1/N and 2k pi + theta to obtain:
Figure BDA00030933666900000912
example eight
On the basis of the fourth embodiment, the specific steps for implementing the fourth step are as follows:
reconfiguring the initial input of CORDIC _ C in the circular CORDIC computing unit, namely, using the rotation mode of CORDIC in the circular coordinate system, using the following inputs:
Figure BDA0003093366690000101
obtaining an output:
Figure BDA0003093366690000102
and (3) final output:
Figure BDA0003093366690000103
example nine
Aiming at the hardware calculation process of solving N times of root opening numbers of complex numbers based on a parabola synthesis method, the method for expanding the convergence domain is provided as follows: and the circumference CORDIC calculating unit expands the original i-0, 1, 2., N into i-2, -1, 0, 1, 2.., N, and the iterative expression is unchanged.
Occurring in the calculation
Figure BDA0003093366690000104
2kπ,
Figure BDA0003093366690000105
And constant values, wherein the values are stored in advance by using a lookup table and then are searched.
The example describes a hardware computing system for solving N root openings of a complex number based on a parabolic synthesis method, wherein a contraction factor is calculated by:
Figure BDA0003093366690000106
where i is the iteration coefficient, starting from-2.
In a specific example in the above embodiment, MATLAB and modelmin are used for simulation, the forward iteration number of CORDIC is set to 17, 10000 times are repeatedly taken for randomly taking points of real parts and imaginary parts of input complex numbers at [ -30, 30], and when N is taken to be 2, relative errors are calculated for the cases where the forward iteration number m is 15-20, and as a result, as shown in fig. 3, it can be seen that the calculation accuracy is continuously improved along with the increase of the forward iteration number m. The method is characterized in that the method is encoded and verified by using a Verilog hardware description language, 31-bit fixed point numbers are adopted in hardware calculation, wherein 1-bit sign bit, 10-bit integer bits and 20-bit decimal bits are shown in a table 1.
Table 1: accuracy verification situation table
Figure BDA0003093366690000107
Figure BDA0003093366690000111
As shown in the schematic diagram of the module function and the work flow of fig. 2, the clock cycle required for each calculation is as follows:
Tall=2×Tcordic+2×TPS+2×Tmul=10Tmul+2(m+2+1)
wherein m is the forward iteration number of the CORDIC, and the phase angle calculating unit and the root-opening unit calculate in parallel, so that the time sequence consumption does not need to be considered. When the forward iteration number m of the CORDIC algorithm is taken as 17, the multiplier calculates T by using 2 cyclesmulWhen 2, Tall=56clocks。
The code is integrated in Design compiler in Linux environment, the Design is integrated under TSMC 40nm technology, the master frequency clock is set to 1GHz, and the obtained result is as follows: the system area is about 19423.05 μm2The power consumption is only 1.2173 mW. When the dominant frequency is set to 1.89GHz for synthesis, the results obtained are: the system area is about 28216.47 μm2The power consumption was only 4.3922mW, as shown in table 2.
Table 2: comprehensive performance index table
Figure BDA0003093366690000112
In summary, in the hardware computing system for solving N root openings of a complex number based on the parabolic synthesis method according to the embodiment of the present invention, as can be seen from fig. 3, the computation accuracy can be flexibly adjusted to a certain extent by increasing the number of forward iterations of the used circular CORDIC computing unit. The accuracy is effectively guaranteed by using the parabola synthesis method and the CORDIC method, the whole computing system is kept at ultralow time delay, and the CORDIC module and the parabola synthesis module of the system both have two modes, so that the area consumption of the whole system is reduced. On the whole, the design can complete hardware calculation of arbitrary plural N times of root opening numbers under the conditions of low area consumption and low time delay, has low calculation complexity, low hardware overhead and high hardware utilization rate, and simultaneously shows great potential for practical application.
As noted above, while the present invention has been shown and described with reference to certain preferred embodiments, it is not to be construed as limited thereto. Various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (10)

1. A hardware computing system for solving N root openings of a complex number based on a parabolic synthesis method is characterized by comprising the following steps:
an input unit configured to receive and store data vectors to be subjected to N root opening calculations;
a control unit configured to read the data vectors stored in the input unit and to invoke the respective computing units via a state machine structure;
a variable mode circular CORDIC calculation unit configured to calculate a form conversion between coordinates by the control unit according to different control modes;
the root-cutting unit is used for calculating N times of root cutting of the modular length in the polar coordinate form of the complex number to be solved, and further comprises a preprocessing unit, a parabola synthesizing unit and other component units; the other component units comprise lookup tables, adders, multipliers and shift registers for intermediate calculation;
a phase angle calculation unit configured to calculate a phase angle of the complex number in the control unit based on the lookup table, the adder, and the multiplier;
and the output unit is arranged to output the data vector subjected to the N-time root number calculation.
2. The hardware computing system for solving N root openings of a complex number based on a parabolic synthesis method according to claim 1, wherein:
the variable-mode circumference CORDIC calculating unit controls the mode through the control unit, and when the calculating mode is a vector mode, the variable-mode circumference CORDIC calculating unit is used for solving the conversion from a plane coordinate form to a polar coordinate form of an input complex number; when the calculation mode is a rotation mode, the method is used for solving the conversion from the polar coordinate form to the plane coordinate form of the input complex number;
the root-opening unit is further used for solving the input rho of the unit based on a parabola synthesis method
Figure FDA0003093366680000011
The power of:
Figure FDA0003093366680000012
the calculation is mainly completed by a multiplier and a parabola synthesis module;
the phase angle calculation unit is further configured to find a phase angle:
Figure FDA0003093366680000013
the lookup table, the adder and the multiplier are used for completing calculation;
the control unit is further configured to read configuration information: and the root-opening times N and the root selection parameter k are used for scheduling each computing unit through a state machine and controlling the whole operation flow of the hardware computing system for solving the root opening times N.
3. The hardware computing system for solving N root openings of a complex number based on the parabolic synthesis method according to claim 1,
the root cutting unit further comprises:
a preprocessing unit configured to preprocess input data according to a desired range;
a parabolic integration unit configured to base-2 logarithmic calculation and base-2 exponential calculation;
other component units including lookup tables for intermediate calculations, adders, multipliers, shift registers;
the parabola synthesis unit is controlled by internal logic and is used for solving the logarithm calculation of the input base 2 when the mode is a logarithm mode; when the mode is an exponential mode, the method is used for calculating the exponent with the base 2 of the input.
4. The hardware computing system for solving N root openings of a complex number based on the parabolic synthesis method according to claim 1, wherein the 4 variables received by the input unit are as follows: the real part p of the complex number is solved; solving an imaginary part q of the complex number; n in the root number of N times; a root selection parameter k; the 2 variables output by the output unit are as follows: obtaining the real part p _ out of the complex number; the imaginary part q _ out of the complex number is found.
5. A hardware calculation method for solving N times of root opening numbers of complex numbers based on a parabolic synthesis method is characterized by comprising the following steps:
step 1, a control unit receives configuration information N, k stored by an input unit and calculates a required real part p and an imaginary part q;
step 2, configuring a variable-mode circular CORDIC calculation unit mode as a vector mode, and calculating the modular length and the phase angle theta of an input vector p + jq by using an adder, a multiplier and a lookup table;
step 3, calculating N times of root cutting and phase angle of complex modular length in the control unit by using the root cutting unit and the phase angle calculation unit
Figure FDA0003093366680000021
And 4, configuring the mode of the circumference CORDIC calculating unit as a rotation mode, transmitting the output of the root opening unit and the phase angle calculating unit to the circumference CORDIC calculating unit with a variable mode, and outputting the result to the outside through an output unit.
6. The method according to claim 5, wherein the step 2 further comprises: configuring the initial input of CORDIC _ C within the circumferential CORDIC compute units, namely X10,Y10,Z10Respectively setting as p, q and 0; according to the output value X1n,Y1n,Z1nConverting the input complex number into a polar coordinate form rho ═ X1n、θ=Z1n
7. The method according to claim 5, wherein the step 3 further comprises:
step 3-1, configuring the inputs of the preprocessing unit as rho and N, and adopting logical operation to convert the modular length X in the step 2 into the modular length X in order to meet the range requirement of the parabola synthesis method used in the system1nConversion to the range [1,2]Rho of*And operating coefficients a, b;
step 3-2, configuring the input of a parabola synthesis unit as rho*And configuring the calculation mode as a logarithmic mode and the output as log2*);
Step 3-3, using adder, multiplier and lookup table to obtain log2*) And b are calculated to obtain
Figure FDA0003093366680000031
Step 3-4, configuring the input of the parabola synthesis unit as
Figure FDA0003093366680000032
And configuring the calculation mode as an exponential mode and the output as
Figure FDA0003093366680000033
Step 3-5, obtaining by using shift register pairIs/are as follows
Figure FDA0003093366680000034
And a is calculated to obtain
Figure FDA0003093366680000035
Step 3-6, obtained by a multiplier and a look-up table pair
Figure FDA0003093366680000036
And
Figure FDA0003093366680000037
by multiplication, to obtain
Figure FDA0003093366680000038
3-7, solving by using a multiplier and a lookup table
Figure FDA0003093366680000039
This step synchronizes the calculations during the time that steps 3-1 to 3-6 are performed.
8. The hardware calculation method for solving the root number of the complex number of N times based on the parabolic synthesis method according to claim 5, wherein: step 4 further comprises: reconfiguring the initial input of CORDIC _ C within a circular CORDIC compute unit, namely X10,Y10,Z10Are respectively provided with
Figure FDA00030933666800000310
0,
Figure FDA00030933666800000311
Its output is X1n,Y1n,Z1nThe unit will end up with the result
Figure FDA00030933666800000312
Output to outside。
9. The method as claimed in claim 5, wherein the calculation is performed by using a hardware calculation method based on the parabolic synthesis method to calculate the N-times root number of the complex number
Figure FDA00030933666800000313
2kπ,
Figure FDA00030933666800000314
All are constants, and the values are stored in advance by a lookup table and then are searched.
10. The application of the hardware calculation method for solving the N-times root opening number of the complex number based on the parabolic synthesis method in signal processing, electromagnetic simulation and electronic circuit simulation is disclosed in claims 5-9.
CN202110602128.5A 2021-05-31 2021-05-31 Hardware computing system and method for solving complex N times of root opening numbers based on parabolic synthesis method Active CN113377333B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110602128.5A CN113377333B (en) 2021-05-31 2021-05-31 Hardware computing system and method for solving complex N times of root opening numbers based on parabolic synthesis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110602128.5A CN113377333B (en) 2021-05-31 2021-05-31 Hardware computing system and method for solving complex N times of root opening numbers based on parabolic synthesis method

Publications (2)

Publication Number Publication Date
CN113377333A true CN113377333A (en) 2021-09-10
CN113377333B CN113377333B (en) 2023-08-22

Family

ID=77575002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110602128.5A Active CN113377333B (en) 2021-05-31 2021-05-31 Hardware computing system and method for solving complex N times of root opening numbers based on parabolic synthesis method

Country Status (1)

Country Link
CN (1) CN113377333B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778378A (en) * 2021-09-27 2021-12-10 南京宁麒智能计算芯片研究院有限公司 Device and method for solving complex number N-degree square root

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062540A (en) * 2018-06-06 2018-12-21 北京理工大学 A kind of restructural floating-point operation device based on cordic algorithm

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062540A (en) * 2018-06-06 2018-12-21 北京理工大学 A kind of restructural floating-point operation device based on cordic algorithm

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RUIQI WU: "ow-Latency Low-Complexity Method and Architecture for Computing Arbitrary Nth Root of Complex Numbers", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I: REGULAR PAPERS》, pages 2529 - 2541 *
YUANYONG LUO: "CORDIC-Based Architecture for Computing Nth Root and Its Implementation", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I: REGULAR PAPERS》, vol. 65, no. 12, pages 4183 - 4195, XP011703615, DOI: 10.1109/TCSI.2018.2835822 *
王礼广;熊岳山;蔡放;: "一种适合于迭代求复数根的抛物牛顿法", 湖南师范大学自然科学学报, no. 04, pages 15 - 18 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778378A (en) * 2021-09-27 2021-12-10 南京宁麒智能计算芯片研究院有限公司 Device and method for solving complex number N-degree square root

Also Published As

Publication number Publication date
CN113377333B (en) 2023-08-22

Similar Documents

Publication Publication Date Title
CN112486455B (en) Hardware computing system for solving complex N times of root numbers based on CORDIC method and computing method thereof
CN117933327A (en) Processing device, processing method, chip and electronic device
CN108021781A (en) The FFT IP core designs and optimization method of a kind of parameterisable
CN111443893A (en) N-time root calculation device and method based on CORDIC algorithm
CN112051980A (en) Non-linear activation function computing device based on Newton iteration method
CN113377333A (en) Hardware computing system and method for solving N root openings of complex numbers based on parabolic synthesis method
CN112799634B (en) Based on base 2 2 MDC NTT structured high performance loop polynomial multiplier
CN113837365A (en) Model for realizing sigmoid function approximation, FPGA circuit and working method
Nguyen et al. High-speed NTT Accelerator for CRYSTAL-Kyber and CRYSTAL-Dilithium
Hwang et al. A 400-MHz processor for the conversion of rectangular to polar coordinates in 0.25-μm CMOS
CN113612559A (en) Reconfigurable channel fading simulation device and fading twinning method thereof
Wu et al. Low-latency low-complexity method and architecture for computing arbitrary Nth root of complex numbers
Mopuri et al. Low-complexity and high-speed architecture design methodology for complex square root
Kumar et al. Complex multiplier: implementation using efficient algorithms for signal processing application
CN113778378A (en) Device and method for solving complex number N-degree square root
Ramesha et al. A novel Architecture of FBMC Transmitter using Poly phase Filtering and its FPGA implementation
Shashikala et al. Efficient Implementation of Radix-2 FFT Architecture using CORDIC for Signal Processing Applications
Osorio Pipelined FPGA implementation of numerical integration of the Hodgkin-Huxley model
Ghosh et al. FPGA implementation of MAC unit for double base ternary number system (DBTNS) and its performance analysis
Sun et al. An FPGA-Based Efficient NTT Accelerator for Post-Quantum Cryptography CRYSTALS-Kyber
Hussain et al. An area-efficient and high throughput hardware implementation of exponent function
Lyu et al. An optimized hardware implementation of the CORDIC algorithm
Elango et al. Design of unsigned 2n+ 1 parallel residue arithmetic multiplier
Bharathi et al. Efficiency Evaluation of Scalable Multiply and Accumulate Architectures in DSP: A Comparative Study of LUT Based and LUT-Less Based Approaches
Balachandar et al. Design of a Vedic Multiplier based 64-bit Multiplier Accumulator Unit

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
GR01 Patent grant
GR01 Patent grant