Next Article in Journal
Scale-Mark-Based Gauge Reading for Gauge Sensors in Real Environments with Light and Perspective Distortions
Next Article in Special Issue
A Diffusion Model Based on Network Intrusion Detection Method for Industrial Cyber-Physical Systems
Previous Article in Journal
Significant Features for Human Activity Recognition Using Tri-Axial Accelerometers
Previous Article in Special Issue
Power Equipment Fault Diagnosis Method Based on Energy Spectrogram and Deep Learning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Low-Latency RDP-CORDIC Algorithm for Real-Time Signal Processing of Edge Computing Devices in Smart Grid Cyber-Physical Systems

1
School of Information Engineering, Southwest University of Science and Technology, Mianyang 621000, China
2
Robot Technology Used for Special Environment Key Laboratory of Sichuan Province, Mianyang 621000, China
3
School of Computer Science and Technology, Southwest University of Science and Technology, Mianyang 621000, China
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(19), 7489; https://doi.org/10.3390/s22197489
Submission received: 2 August 2022 / Revised: 17 September 2022 / Accepted: 28 September 2022 / Published: 2 October 2022
(This article belongs to the Special Issue Edge Computing for Smart Grid Cyber-Physical System)

Abstract

:
Smart grids are being expanded in scale with the increasing complexity of the equipment. Edge computing is gradually replacing conventional cloud computing due to its low latency, low power consumption, and high reliability. The CORDIC algorithm has the characteristics of high-speed real-time processing and is very suitable for hardware accelerators in edge computing devices. The iterative calculation method of the CORDIC algorithm yet leads to problems such as complex structure and high consumption of hardware resource. In this paper, we propose an RDP-CORDIC algorithm which pre-computes all micro-rotation directions and transforms the conventional single-stage iterative structure into a three-stage and multi-stage combined iterative structure, thereby enabling it to solve the problems of the conventional CORDIC algorithm with many iterations and high consumption. An accuracy compensation algorithm for the direction prediction constant is also proposed to solve the problem of high ROM consumption in the high precision implementation of the RDP-CORDIC algorithm. The experimental results showed that the RDP-CORDIC algorithm had faster computation speed and lower resource consumption with higher guaranteed accuracy than other CORDIC algorithms. Therefore, the RDP-CORDIC algorithm proposed in this paper may effectively increase computation performance while reducing the power and resource consumption of edge computing devices in smart grid systems.

1. Introduction

Over the past few years, cloud computing infrastructure has been the dominant solution used to handle heavy computational tasks related to smart grid applications [1]. With the rise of smart grid cyber–physical systems and the growing number of Internet of Things (IoT) devices, cloud computing can no longer satisfy all the computing needs of smart grid applications. Edge computing can move data processing tasks from remote cloud computing centers to devices at the edge of the network. Edge computing technology alleviates network congestion, latency and packet loss in smart grid architectures under cloud computing [2,3]. The architecture of edge-enabled smart grid cyber-physical systems is shown in Figure 1, which consists of an access layer, an edge layer, a network layer, a platform layer, and an application layer. Here, the ability to process intelligent edge data is provided by the edge computing devices at the Edge Layer.
Many scholars have proposed applications of edge computing, which are especially suitable for smart grids. A cloud edge collaborative intelligent method for object detection was proposed in the literature [4], and it is applied to insulator string recognition defect detection in the power IIoT. A fault detection method for pumping units based on edge intelligence, which effectively improves the fault detection accuracy while maintaining low computational requirements, was proposed in [5]. The important features of edge computing applied to smart grid mainly include: support for real-time [6,7,8,9,10] and low power [11,12,13,14,15] consumption. Data processing is the most time-consuming and energy-intensive part of edge computing. Furthermore, since edge computing devices cannot guarantee high-capacity storage, processing these large volumes of data is an important issue to be addressed [16].
Most of the current edge computing devices use an edge computing framework based on heterogeneous computing, as shown in Figure 2. In this framework, the computational power provided by edge devices mainly depends on hardware accelerators, which include Digital Signal Processing (DSP), Application Specific Integrated Circuit (ASIC) and Field Programmable Gate Array (FPGA). In the heterogeneous framework based on CPU+FPGA [17], FPGA has the characteristics of reconfiguration and energy efficiency. The literature [18] appropriately places DSP operators on edge devices, so that the edge layer can reduce the energy consumption of each event by as much as 4%. The edge computing device based on CPU+ASIC structure [19] has a significantly better acceleration ratio than the existing GPU+CPU method, and has the advantages of small size and low power consumption. A signal processing algorithm named CORDIC is often used in hardware to handle complex data computation problems in real-time. It can implement many complex functions and mathematical problems with simple addition, subtraction, and shift operations. Table 1 lists some applications of the CORDIC algorithm, including trigonometric functions [20], hyperbolic functions [21], FFT [22] and singular value decomposition [23]. Nonetheless, the computational speed of the conventional CORDIC algorithm is limited by the number of iterations, i.e., the more iterations of the CORDIC algorithm, the higher the computational accuracy and the longer the time delay. Therefore, reducing the number of iterations of the CORDIC algorithm, while ensuring the computational accuracy of the algorithm, can reduce the computational latency and hardware resource consumption.
In summary, this work aimed to discover a high-performance CORDIC algorithm. As a result, we proposed a RDP-CORDIC algorithm and implemented the hardware design of the algorithm. The RDP-CORDIC algorithm, characterized by fewer iterations, less hardware resource consumption and faster processing speed, can effectively improve the data processing speed and reduce the latency and power consumption of edge computing devices in smart grid cyber-physical systems. The main contributions of this work are as follows:
  • We proposed a rotation direction prediction method of the CORDIC algorithm, which completed the calculation of all the micro-rotation directions by inputting the angle and direction prediction constants, providing the basis for the subsequent merge iteration;
  • A constant compensation algorithm for direction prediction was proposed to achieve higher accuracy of direction prediction, being able to solve the problem of large memory consumption under the condition of high accuracy;
  • The single-stage iterative structure of the CORDIC algorithm was replaced by a three-stage and multi-stage iterative structure. Based on this structure, the CORDIC algorithm design with high accuracy, low latency, and low power consumption was achieved.

2. Related Work

The CORDIC algorithm was proposed by Volder in 1959 and was later generalized by Walther. Subsequently, some other methods were proposed that aimed to enhance the precision and reduce iterations and resource consumption. Among them, Radix-4 CORDIC algorithms [24] worked on zero hopping technology to reduce the number of iterations for rotation to 50%. Later, a hybrid radix 2–4 CORDIC algorithm with high-performance compensation technique waspresented [25] with reduced number of iterations by 1/4, including scale factor calculation and compensation. Nevertheless, the computation and correction of variable scale factor was a focused issue for higher radix CORDIC algorithms [26,27,28,29] and advanced hybrid CORDIC algorithms [30]. The scale-free CORDIC algorithm [31,32] approximated the sine and cosine functions by the Taylor series, thereby eliminating the need for the scalar factors, except for a limited convergence range and poor accuracy. A new hybrid CORDIC algorithm was proposed [33] to be able to further reduce the latency of CORDIC by reducing the number of iterations equal to (3N/8) + 1. A technique reported in low latency CORDIC algorithm [34] utilized the binaryto-bipolar recoding (BBR) method to reduce the overall iterations to (N + 1)/3, with no scale factor compensation. Similar to [23], the CORDIC algorithms [35,36,37] cut down time and memory at the expense of accuracy. The CORDIC II algorithm proposed in [38] had excellent performance in terms of resource consumption and latency, but its low accuracy held it back. Table 2 lists some important features of the above related CORDIC algorithms, including the rotation radix, prediction of rotation direction and whether the scaling factor is fixed.

3. Conventional CORDIC Algorithm

The CORDIC algorithm contains two modes (rotation mode, vector mode) and three coordinate systems (circular coordinates, linear coordinates, hyperbolic coordinates). Different functions can be derived under different modes and different coordinate systems. The CORDIC algorithm rotation mode of the circle coordinate system was taken as an example to construct the simplest vector rotation model, as shown in Figure 3.
Suppose vector v1 is rotated by θ to obtain vector v2, and the coordinates of v1 and v2 are (x0, y0), (xt, yt) respectively, then, the equation of change of vector coordinates can be expressed by Equation (1).
{ x t = x 0 cos θ y 0 sin θ = cos θ ( x 0 y 0 tan θ ) y t = x 0 sin θ + y 0 cos θ = cos θ ( y 0 + x 0 tan θ )
By dividing the single rotation angle of Equation (1) into multiple directed rotations θi = tan−1(2i), each rotation can be expressed by the iterative Equation (2).
{ x i + 1 = cos θ i ( x i d i y i 2 i ) y i + 1 = cos θ i ( y i + d i x i 2 i ) z i + 1 = z i d i θ i i f ( z i > 0 ) d i = 1 e l s e   d i = 1
where zi+1 indicates the remaining angle and di is the direction of rotation. (xi+1, yi+1) indicates the coordinates of (xi, yi) after the next rotation. In the rotation mode, the remaining angle zi+1 value was used as a direction reference, and after n iterations, the zi+1 value tended to zero and the vector vi almost tended to the vector, thus realizing the successive approximation calculation.
Since cos θi in Equation (2) involved multiplication in the iterative calculation process, it can be proposed not to participate in the iterative operation. Let K = i = 0 n cos θ i   =1/[(1 + 2−2i)0.5], 1/K is the scaling factor mentioned above, then the iteration equations of the radix-2 CORDIC algorithm in rotation mode at the (i + 1)th step are as follows:
{ x i + 1 = x i d i y i 2 i y i + 1 = y i + d i x i 2 i z i + 1 = z i d i tan 1 ( 2 i ) i f ( z i > 0 ) d i = 1 e l s e   d i = 1
To facilitate the subsequent verification of the performance of the CORDIC algorithm, the principles for computing the sine and cosine functions are described below. Combining Equation (1) with Equation (3), a formula for the CORDIC algorithm that calculates the sine and cosine functions can be introduced. If given z0 = θ , the coordinates of Equation (3) are (xn, yn) after n iterations of calculation.
( x n y n ) 1 K ( x 0 cos θ y 0 sin θ x 0 sin θ + y 0 cos θ )
From Equation (4), it can be found that taking x0 = K and y0 = 0, after n iterations of calculation, xn and yn will be equal to the values of cos θ and sin θ, respectively. Therefore, the calculation of sine and cosine functions based on the CORDIC algorithm was implemented.

4. RDP-CORDIC Algorithm

The micro-rotation direction of the conventional CORDIC algorithm is determined by the remaining angle after the last iteration, which leads to the problem of high latency. Although the high latency problem may be solved by way of a parallel pipeline structure, it increases the hardware resource overhead, and the most effective way to solve the high latency is to reduce the number of iterations. In this paper, a rotation direction prediction CORDIC (RDP-CORDIC) algorithm was proposed to reduce the number of iterations by calculating all micro-rotation directions in advance, so that the conventional single-stage iterative structure could be changed into a multi-stage iterative structure. The current direction prediction algorithms mainly include the Booth encoding method and the binary-to-bipolar recoding (BBR) method. The Booth encoding method is responsible for predicting the direction of rotation after [N − log23]/3 iterations, thus reducing the number of iterations by about 1/2. The BBR is impressed by decomposing the input angle θ into a combination of a larger angle and several 2i radians so that the direction of rotation is determined by the binary bit value of θ each rotation. Note that, the BBR method requires a ROM to store all the computation results after N/3 − 1 iterations, and the ROM consumption increases as precision gets higher, e.g., 16-bit precision requires a ROM of 26 × 16 × 2 (bit) size.

4.1. Rotation Direction Prediction

Considering that the BBR method allows the binary bit value of angle to represent the direction of micro-rotation, i.e., θ = i = 0 d i 2 i = ( d θ ) 2 , this method fixes the rotation angle as 2i, resulting in large consumption of ROM resources. Therefore, the micro-rotation angle chosen for the RDP-CORDIC algorithm was tan−1(2i), and a new rotation direction prediction method needs to be sought.
The input angle θ [ 0 , π / 4 ] can be expressed as:
θ = i = 0 n = σ i tan 1 ( 2 i )
where,   σ i { 1 , 1 } , i     1 . Let σ i = 2 d i 1 , d i { 0 , 1 } , at which point s = 2, then θ = i = 1 n = ( 2 d i 1 ) tan 1 ( 2 i ) , and Equation (6) could be derived.
θ = i = 1 ( 2 d i 1 ) tan 1 ( 2 i ) = i = 1 ( 2 d i 1 ) ( 2 i 2 3 i 3 + 2 5 i 5 2 7 i 7 + ) = i = 1 ( 2 d i 1 ) ( 2 i ) i = 1 ( 2 d i 1 ) ( 2 3 i 3 2 5 i 5 + 2 7 i 7 ) = 2 d θ 1 + i = 1 ( 2 i tan 1 ( 2 i ) ) 2 i = 1 d i ( 2 i tan 1 ( 2 i ) )
Let ε = i = 1 ( 2 i tan 1 ( 2 i ) ) , λ = i = 1 d i ( 2 i tan 1 ( 2 i )), it came from Taylor Formula that when i [ ( N log 2 3 ) / 3 ] , 2 i tan 1 ( 2 i ) , λ could be reduced to Equation (7), where [*] means to take an integer greater than or equal to *.
λ = i = 1 [ ( N log 2 3 ) / 3 ] d i ( 2 i tan 1 ( 2 i ) )
ε is a constant of about 0.0421115429, the final rotation direction prediction formula is introduced as in Equation (8).
d θ = 0.5 θ + 0.5 0.5 ε + λ = 0.5 θ + λ + 0.478944228537446
From Equation (8), the direction of rotation could be calculated by entering the angle and λ. The binary bit value of the final calculation pointed the direction of rotation. Equation (6) gave the calculation of the value of d1, d2, d3, d4 and d5 in various combinations for 16-bit precision. In order to determine the rules for the value of λ, the cumulative value of the rotation angle corresponding to λ was viewed as the angle reference, which was denoted as θcp. It should be noted that in the calculation, the values for d6~d16 were 0. When calculating θcp, not only the sum of the angles of d1~d5 rotation may be covered, but also the micro-selected rotation angles of d6~d16 should be accumulated. Equation (9) is the calculation of the reference angle value θcp(m).
θ cp ( m ) = i = 1 m ( 2 d i 1 ) tan 1 ( 2 i ) i = m + 1 16 tan 1 ( 2 i )
Looking at the interval range of the input angle size, the redundant data is removed and the final direction prediction constants are shown in Table 3. The final direction calculation result is affected by the accuracy of the direction prediction constants λ and θ. In order to satisfy the accuracy of dθ, it is necessary to make the accuracy of λ higher than that of dθ. For the 16-bit precision of dθ, λ needs 17-bit size precision. Since the integer bits of both λ and θ are 0, each prediction constant in ROM only needs 16 bits in size. Therefore, to implement the RDP-CORDIC algorithm with N bit precision, the size of the prediction constants λ and θ in ROM is also the same as N bit.
The minimum angular reference value λcp5 for different values of λ is given in Table 3. The process of rotation direction prediction can be summarized as follows:
  • Compare the input angle with θcp in the direction prediction constant, and select the value of λ corresponding to a value close to and less than or equal to θcp;
  • The binary value dθ representing the micro-rotation direction was calculated based on λ. Finally, the prediction of the micro-rotation direction in the non-iterative case was performed.

4.2. ROM Resource Optimization

A 14 × 16 × 2 bit ROM resource was required to make the above-mentioned 16-bit precision direction prediction. According to the theory of rotation direction prediction algorithm proposed in Section 4.1, the N bit width accuracy required a ROM of 2[(N−log23)/3] × N bit size, and the ROM consumption increased sharply with the increase of accuracy. The reason for the sharp increase of ROM consumption was that the high accuracy direction prediction asked for more λ values to be selected, leading to an increase in the table of direction prediction constants. It may be useful to analyze the λ expansion and let m = [(N − log23)/3)], then λm and λm+1 are as in Equations (10) and (11), respectively.
λ m = i = 1 m d i ( 2 i tan 1 ( 2 i ) )
λ m + 1 = i = 1 m + 1 d i ( 2 i tan 1 ( 2 i ) ) = λ m + d m + 1 ( 2 m 1 tan 1 ( 2 m 1 ) )
Let μi = 2i − tan−1(2i), and the first 10 iterations of μi are given in Table 4.
Combined with Taylor’s formula, when m ≥ [(N + log2(3/20) − 3)/5], Equation (11) can be reduced to Equation (12)
λ m + 1 = λ m + d m + 1 2 3 μ m
Equation (12) is the relationship between λm+1 and λm, and similarly, the value of λm+i can be calculated from λm. Thus, an accuracy compensation algorithm for λ is proposed, where λ is composed of a fixed λs and an accuracy compensation λc.
λ = λ s + λ c
In Equation (13), s = [(N + log2(3/20) − 3)/5], the accuracy compensation λc is calculated as Equation (14).
λ c = i = s + 1 m d i μ s + 1 2 3 ( i s 1 )
Since the accuracy of the rotation direction that can be derived is equal to s × 3 + log23 > m, di in Equation (14) can be calculated based on λs. To sum up, the ROM consumption of the direction prediction constant was reduced from 2 [ N log 2 3 ] / 3 N   bit to 2 [ N + log 2 ( 3 / 20 ) 3 ] / 5 N bit by using the direction prediction constant accuracy compensation method, which achieved high accuracy and reduced the ROM consumption.

4.3. Iterative Merging

After getting the direction of rotation, the conventional single-stage iterative calculation Equation (3) now can be changed to a three-stage combined iteration, as shown in Equation (15).
{ x i + 3 = x i ( 1 d i d i + 1 2 ( 2 i + 1 ) d i d i + 2 2 ( 2 i + 2 ) d i + 1 d i + 2 2 ( 2 i + 3 ) ) y i j = i i + 2 ( 2 j d j ) + y i d i d i + 1 d i + 2 2 ( 3 i + 3 ) y i + 3 = y i ( 1 d i d i + 1 2 ( 2 i + 1 ) d i d i + 2 2 ( 2 i + 2 ) d i + 1 d i + 2 2 ( 2 i + 3 ) ) + x i j = i i + 2 ( 2 j d j ) x i d i d i + 1 d i + 2 2 ( 3 i + 3 )
When the number of iterations i > [(N − 3)/3], xi 2−(3i+3) and yi 2−(3i+3) dropped to machine zero, Equation (15) removed y i d i d i + 1 d i + 2 2 ( 3 i + 3 ) and x i d i d i + 1 d i + 2 2 ( 3 i + 3 ) two terms, the three-level combined iteration formula became Equation (16).
{ x i + 3 = x i ( 1 d i d i + 1 2 ( 2 i + 1 ) d i d i + 2 2 ( 2 i + 2 ) d i + 1 d i + 2 2 ( 2 i + 3 ) ) y i j = i i + 2 ( 2 j d j ) y i + 3 = y i ( 1 d i d i + 1 2 ( 2 i + 1 ) d i d i + 2 2 ( 2 i + 2 ) d i + 1 d i + 2 2 ( 2 i + 3 ) ) + x i j = i i + 2 ( 2 j d j )
When i > [(N − 1)/2], xi 2−(2i+1) and yi 2−(2i+1) are machine zeros, and the subsequent iterative process can be represented by the multilevel merge iteration of Equation (17).
{ x i + n = x i y i j = i i + n 2 j d j y i + n = y i + x j j = i i + n 2 j d j
In summary, the flow of rotation iteration is as follows:
  • For the number of iterations i ≤ [(N − 3)/3], the three-stage merge iteration Formula (15) was used;
  • When [(N − 3)/3] < i ≤ [(N − 1)/2], the three-stage merge iteration simplified Formula (16) was used;
  • Finally when i > [(N − 1)/2], Formula (16) for multi-stage merge iteration calculation was used.

5. Hardware Design of RDP-CORDIC Algorithm

The main hardware structures for implementing the CORDIC algorithm are loop iterative structures and pipelined iterative structures. The loop iterative structure is simple in design and consumes less hardware, but the computation speed slows down as the accuracy increases. The pipelined iterative structure is more complex and consumes more hardware, but the computation speed is much higher. For edge computing devices used in smart grid cyber-physical systems, the faster pipelined iterative structure is more suitable.

5.1. RDP-CORDIC Algorithm Structure Design

The pipeline structures of the classical optimized CORDIC algorithm and the RDP-CORDIC algorithm are shown in (a) and (b) of Figure 4, respectively. The direction of each rotation of the classical optimized CORDIC algorithm depends on the sign of the remaining angle θn, and the result needs to be iteratively calculated in a [(N − 1)/2] stage pipeline method. The structure of RDP-CORDIC algorithm consists of two parts: the direction prediction part on the left side and the rotation iteration on the right side. The direction prediction module calculates all micro-rotation directions in advance, while the rotation iteration part transforms the single-stage iterative structure into a three-stage and multi-stage iterative structure since all micro-rotation directions are known. The new structure cut off part of hardware overhead and latency compared to the conventional structure.
As shown below, the workflow of the RDP-CORDIC algorithm consists of three steps (Algorithm 1).
Algorithm 1 RDP-CORDIC workflow
1. Directional rough prediction
 (1) Pre-store the direction prediction constants θcp, λs, and μi in a ROM of size 2[(N − (log2(3/20) − 3)/5] bits;
 (2) Use the MSB of the input angle θ as the lookup address of the ROM for reading out θcp;
 (3) Send the sign bit of the value of the input angle θ minus θcp to the selection input port of the multiplexer, and the multiplexer outputs the corresponding value of λs;
 (4) Add up λs, θ, and 0.5 − 0.5ε to get the rough rotation direction prediction value dap.
2. Accurate direction prediction
 (1) Shift and sum up the rough rotation direction prediction ds+1~dm with μs according to Equation (14) to calculate the compensation value λc.
 (2) Calculate the exact direction prediction value dθ by re-summing λ, θ and 0.5 − 0.5ε.
3. Iteration calculation
 (1) In the iterative calculation part uses multiple three-level merge iteration modules and one multi-level merge iteration module;
 (2) Set the input values of the iterative calculation module as x1 = K and y1 = 0;
 (3) The rotation directions d1~d3s−1 are determined by the rough direction value dap, and the rotation directions d3s~dn are determined by the accurate direction value dθ.

5.2. Calculation of Sine and Cosine Function Based on RDP-CORDIC Algorithm

To verify the performance of the RDP-CORDIC algorithm, the RDP-CORDIC algorithm was arranged to calculate the sine and cosine functions. Since the selected initial rotation angle value was tan−1(2i), where i was an integer greater than 0, the calculated angle range was limited to [0, π /4]. The symmetry of trigonometric function were combined with the trigonometric change to expand the input angle range, and the final change relationship is shown in Table 5.
Based on the RDP-CORDIC algorithm, the implementation architecture of sine and cosine function calculation is shown in Figure 5, including an angle interval folding module, a direction prediction module, multiple three-stage iteration modules, a multi-stage merge iteration, and a triangular constant change module. The working principle is that the angle interval folding module transforms the input angle of any size into the interval [0~2 π ] and then sends the 3 bit angle range code to the angle transformation module.The rotation direction prediction module calculates all micro-rotation directions in advance based on the input angle, and then passes the direction values to the back-end iterative calculation module; after three-stage of running iterations and multi-stage of combined iterations, the calculated sine and cosine function values are output. Finally, the sine and cosine signals obtained by simulation with Vivado’s Simulation software are shown in Figure 6.

5.3. More Applications of the RDP-CORDIC Algorithm

As described in the introduction section, the RDP-CORDIC algorithm can also be used in more areas of smart grids. In a smart grid system, the frequency of the power system is an important indicator of power quality and needs to be detected in real time. If there is a problem in a section of the smart grid, the source of the fault can be cut off in time to protect the grid. Based on CORDIC algorithm to implement FFT, it can efficiently measure the higher harmonic and interference noise of power signal. The core of FFT implementation using CORDIC algorithm is to use CORDIC algorithm to implement complex multiplication operations in FFT. The complex multiplication operation in FFT is as in Equation (18).
X k = X 0 W N n k
where X0 = x0 + j × y0, Xk = xk + j × yk, bringing   W N n k = e j 2 π N n k into Equation (18), the imaginary and real parts of Xk after being simplified are as in Equation (19).
{ x k = x 0 cos ( 2 n k π N ) y 0 sin ( 2 n k π N ) y k = y 0 cos ( 2 n k π N ) + x 0 sin ( 2 n k π N )
The multiplication of the complex sequence and the rotation factor can be seen as the vector X0 rotated by θ = −2nkπ/N, Then, using the CORDIC algorithm idea, we can transform Equation (19) into Equation (1). So the complex multiplication of FFT can then be implemented by the RDP-CORDIC algorithm.
In addition, the CORDIC algorithm can also realize singular value decomposition (SVD) for image denoising, data compression, etc. With the increase of matrix dimension, the computation volume of SVD grows exponentially, which has a great impact on the computation real-time of edge computing devices. Taking the 2 × 2 matrix G as an example, its bilateral Jacobi SVD algorithm was calculated as Equations (20) and (21).
[ cos θ L sin θ L sin θ L cos θ L ] [ a b c d ] [ cos θ R sin θ R sin θ R cos θ R ] = [ δ 1 0 0 δ 2 ]
{ θ R + θ L = arctan ( c + b d a ) θ R θ L = arctan ( c b d + a )
In Equation (20), a, b, c, d are the four elements of the second-order matrix G. θR and θL are the left and right rotation angles, calculated by Equation (21). The values of δ 1 and δ 2 are the singular values of the matrix G. In the above operation, both the arc tangent funcion and the sine/cosine function can be implemented by the CORDIC algorithm. The structure of the 2 × 2 SVD module based on the RDP-CORDIC algorithm is shown in Figure 7.

6. Performance Testing and Analysis

The hardware design of the 16-bit fixed-point decimal RDP-CORDIC algorithm was implemented on the Xilinx Kintex7 325T series FPGA hardware platform using Verilog HDL. In the first place, the effect of ROM resource optimization of the predictive direction CORDIC algorithm proposed in Section 4.2 was tested, and the size of RAM resources consumed before and after the optimization was compared. Subsequently, the proposed RDP-CORDIC algorithm was tested and compared with other related CORDIC algorithms in terms of latency, resource consumption, and power consumption. Based on the hardware structure of the RDP-CORDIC algorithm, the maximum absolute value errors of the sine and cosine functions, logarithmic function, square root function, hyperbolic sine, and hyperbolic cosine function were also tested at 16-bit accuracy. Finally, we analyze the time and maximum absolute value errors of the sine and cosine functions computed using the RDP-CORDIC algorithm.

6.1. ROM Optimization Results of the RDP-CORDIC Algorithm

Figure 8 shows the comparison of ROM resource consumption before and after ROM optimization for this algorithm, from which it can be seen that the ROM consumption before the optimization is much higher than that after optimization. For 16-bit precision, the unoptimized algorithm requires a ROM size of 448 bits., while the optimized algorithm requires only 160 bits. for 32-bit precision, the unoptimized algorithm requires a ROM size of 56,320 bits, while the optimized algorithm consumes only 1888 bits. as the data bit width increases, the difference in ROM consumption before and after optimization increases significantly.

6.2. Performance Comparison of CORDIC Algorithms

The test results of the RDP-CORDIC algorithm and other related CORDIC algorithms in terms of latency and resource consumption are shown in Table 6. Apparently, in terms of latency, the R-4 CORDIC, R-8 CORDIC and Mixed-R CORDIC reduced latency but increased ROM consumption and had high hardware complexity. The RDP-CORDIC algorithm had a 70% lower latency compared to the conventional CORDIC algorithm, being parallel to the BBR-CORDIC algorithm. In terms of resource consumption, the RDP-CORDIC algorithm was similar to the CORDIC II algorithm, but the CORDIC II algorithm displayed a larger latency. Although the ROM consumption of the new algorithm was slightly higher than that of the conventional R-2 CORDIC algorithm, the RDP-CORDIC algorithm was clearly more advantageous, exchanging the ultra-small ROM capacity for 70% latency and 40% other resource consumption. In terms of power consumption, the proposed RDP-CORDIC algorithm facilitated an ultra-low power consumption of 28 mW. A comprehensive comparison showed that the RDP-CORDIC algorithm illustrated some advantages over other CORDIC algorithms in terms of latency, resource consumption and power consumption.

6.3. Test of Calculation Error and Calculation Time of Variousfunctions

Figure 9 shows the absolute error curves for the calculation of sine and cosine functions, logarithmic function, sqrt function and hyperbolic sine and hyperbolic cosine functions based on the RDP-CORDIC algorithm at 16-bit data width. The maximum magnitude error of the sine and cosine functions is clearly less than 3.04 × 10−5. The reason for the different errors for each input angle is that the error is 0 only when the accumulated value of the angle of directional rotation is equal to the input angle. However, the direction of rotation is not certain for different input angles, which results in the difference between the totalized rotation value and the input angle value. For other functions, the input test data is limited to a different range due to the characteristic limitations of the CORDIC algorithm. As in Figure 9c–f, the input angles are limited to [0.2, 9.5], [0.03, 2], [−1.12, 1.12] and [−1.12, 1.12], respectively. The test results show that the RDP-CORDIC algorithm performs well on a variety of functions, with maximum absolute errors less than 7.7 × 10−4. Because the computation time of each function is the same through the CORDIC algorithm, the sine and cosine functions are used for the test computation time. The time of the single computation of the sine and cosinefunctions for different CORDIC algorithms are compared in Table 7, and it can be found that the RDP-CORDIC algorithm takes only 60 ns at a system clock of 100 MHz.
Finally, the maximum absolute error of sine and cosine functions realized with each algorithm under different bit widths was tested, and the test results are shown in Figure 10. The results show that the RDP-CORDIC algorithm maintains the optimal performance in various bit width cases, and the error of the RDP-CORDIC algorithm is much lower than that of the CORDIC II algorithm, with similar resource consumption to that of the RDP-CORDIC algorithm. The reason why the RDP-CORDIC algorithm has higher accuracy compared with other algorithms is that the RDP-CORDIC algorithm calculates the rotation direction by formula once before iteration, while other CORDIC algorithms need to calculate the rotation direction each time, and multiple calculations may cause accuracy degradation.

7. Conclusions

Edge computing devices used in smart grid cyber-physical systems require real-time high-speed data processing capabilities with low power requirements. The CORDIC algorithm is widely used as a high-speed real-time numerical computation algorithm in hardware accelerator for edge computing devices. Limited by the excessive number of iterations and resource consumption, conventional CORDIC algorithms are too large to perform well in edge computing of smart grids. In this paper, a RDP-CORDIC algorithm was proposed in attempt to predict all micro-rotation directions in the non-iterative case, and then transform the conventional single-stage iteration structure into three-stage combined iteration and multi-stage combined iteration structure. An accuracy compensation algorithm for the direction prediction constants of the RDP-CORDIC algorithm was also proposed, which reduces the ROM consumption to 0.33% of the original at 16-bit accuracy. Finally, the hardware design of RDP-CORDIC algorithm was implemented on Xilinx Kintex7 325T series FPGA platform, along with the calculation of sine function, cosine functions, logarithmic function and other functions, accordingly. The test results showed that the RDP-CORDIC algorithm was plainly superior to other CORDIC algorithms in terms of latency, resource consumption and power consumption. The time and the maximum absolute error of the sine and cosine functions computed by the RDP-CORDIC algorithm also had some advantages over other CORDIC algorithms. It was experimentally confirmed that the proposed RDP-CORDIC algorithm was able to reduce resource consumption and increase the computational speed while maintaining the computational accuracy compared to other improved CORDIC algorithms. In the edge computing for signal processing of smart grid cyber-physical systems, the RDP-CORDIC algorithm exhibited its potential to effectively improve the speed of real-time data processing and reduce the power consumption of edge computing. The application of the RDP-CORDIC algorithm will be the focus of our future work: to improve the speed of smart grid topology identification and line loss rate calculation. Further efforts will be made with a particular focus on the signal processing capability of edge computing devices in the smart grid cyber-physical system.

Author Contributions

Conceptualization, M.Q. and T.L.; methodology, T.L.; hardware, T.L.; validation, B.H. and Y.Y.; formal analysis, T.L.; investigation, M.Q.; resources, M.Q.; data curation, B.H.; writing—original draft preparation, T.L.; writing—review and editing, T.L. and Y.Y.; visualization, H.S. and Y.G.; supervision, M.Q. and Y.G.; project administration, M.Q.; funding acquisition, M.Q. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China (NSFC), (Grant No. 62261051). This research was also funded by the Sichuan Provincial Science and Technology Department “Research on Key Technologies of Adaptive Communication in Complex Environment”, project number 2019YJ0309.

Acknowledgments

We thank H.W., Q.Z., F.K., Z.Z., Y.L., Z.C., W.Z. and C.G. for the completion of this article. The correspondence author TL especially thanks RR for her support to him. We thank the project “Research on Key Technologies of Adaptive Communication in Complex Environment” (Project No. 2019YJ0309) of the Sichuan Provincial Science and Technology Department for its support of this work.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Gilbert, G.M.; Naiman, S.; Kimaro, H.; Bagile, B. A Critical Review of Edge and Fog Computing for Smart Grid Applications. In IFIP Advances in Information and Communication Technology; Springer: Berlin/Heidelberg, Germany, 2019; pp. 763–775. [Google Scholar] [CrossRef]
  2. Wang, Z.; Jiang, D.; Wang, F.; Lv, Z.; Nowak, R. A Polymorphic Heterogeneous Security Architecture for Edge-Enabled Smart Grids. Sustain. Cities Soc. 2021, 67, 102661. [Google Scholar] [CrossRef]
  3. Qin, M.; Gao, Y.; Hou, B.; Wang, H.; Zhou, W.; Yao, Y. Research on Efficient Channel Decoding Algorithm for Memory Channel and Short Packet Transmission in Smart Grid. Front. Energy Res. 2022, 10, 1014. [Google Scholar] [CrossRef]
  4. Song, C.; Xu, W.; Han, G.; Zeng, P.; Wang, Z.; Yu, S. A Cloud Edge Collaborative Intelligence Method of Insulator String Defect Detection for Power IIoT. IEEE Internet Things J. 2021, 8, 7510–7520. [Google Scholar] [CrossRef]
  5. Song, C.; Liu, S.; Han, G.; Zeng, P.; Yu, H.; Zheng, Q. Edge Intelligence Based Condition Monitoring of Beam Pumping Units under Heavy Noise in the Industrial Internet of Things for Industry 4.0. IEEE Internet Things J. 2022, 1. [Google Scholar] [CrossRef]
  6. Zhang, Y.; Liang, K.; Zhang, S.; He, Y. Applications of edge computing in PIoT. In Proceedings of the 2017 IEEE Conference on Energy Internet and Energy System Integration (EI2), Beijing, China, 26–28 November 2017; pp. 1–4. [Google Scholar]
  7. Hussain, M.; Alam, M.S.; Beg, M.M. Fog assisted cloud models for smart grid architectures-comparison study and optimal deployment. arXiv 2018, arXiv:1805.09254. [Google Scholar]
  8. Pan, X.; Jiang, A.; Wang, H. Edge-Cloud Computing Application, Architecture, and Challenges in Ubiquitous Power Internet of Things Demand Response. J. Renew. Sustain. Energy 2020, 12, 062702. [Google Scholar] [CrossRef]
  9. Albayati, A.; Abdullah, N.F.; Abu-Samah, A.; Mutlag, A.H.; Nordin, R. A Serverless Advanced Metering Infrastructure Based on Fog-Edge Computing for a Smart Grid: A Comparison Study for Energy Sector in Iraq. Energies 2020, 13, 5460. [Google Scholar] [CrossRef]
  10. Kumar, S.; Agarwal, S.; Krishnamoorthy, A.; Vijayarajan, V.; & Kannadasan, R. Improving the response time in smart grid using fog computing. In Proceedings of the 2nd International Conference on Data Engineering and Communication Technology, Pune, India, 15–16 December 2017; Springer: Singapore, 2019; pp. 563–571. [Google Scholar]
  11. Lei, W.; Jiang, Y.; Wen, H.; Xu, A.; Ming, Z.; Hou, W.; Yin, Y. New Features of Automatic Meter Reading System: Based on Edge Computing. In Proceedings of 2019 International Conference on Energy, Power, Environment and Computer Application(ICEPECA 2019)., Wuhan, China, 20–21 January 2019; pp. 364–368. [Google Scholar]
  12. Yu, D.; Ma, Z.; Wang, R. Efficient Smart Grid Load Balancing via Fog and Cloud Computing. Math. Probl. Eng. 2022, 2022, 3151249. [Google Scholar] [CrossRef]
  13. Yang, K.; Jiang, L.; Low, S.; Liu, S. Privacy-Preserving Energy Scheduling for Smart Grid with Renewables. IEEE Access 2020, 8, 132320–132329. [Google Scholar] [CrossRef]
  14. Diamantoulakis, P.D.; Bouzinis, P.S.; Sarigannidis, P.G.; Ding, Z.; Karagiannidis, G.K. Optimal Design and Orchestration of Mobile Edge Computing with Energy Awareness. IEEE Trans. Sustain. Comput. 2022, 7, 456–470. [Google Scholar] [CrossRef]
  15. Song, C.; Han, G.; Zeng, P. Cloud Computing Based Demand Response Management Using Deep Reinforcement Learning. IEEE Trans. Cloud Comput. 2021, 10, 72–81. [Google Scholar] [CrossRef]
  16. Zhu, Z.; Zhang, J.; Zhao, J.; Cao, J.; Zhao, D.; Jia, G.; Meng, Q. A Hardware and Software Task-Scheduling Framework Based on CPU+FPGA Heterogeneous Architecture in Edge Computing. IEEE Access 2019, 7, 148975–148988. [Google Scholar] [CrossRef]
  17. Amarasinghe, G.; de Assunção, M.D.; Harwood, A.; Karunasekera, S. A Data Stream Processing Optimisation Framework for Edge Computing Applications. In Proceedings of the 2018 IEEE 21st International Symposium on Real-Time Distributed Computing (ISORC), Singapore, 29–31 May 2018; pp. 91–98. [Google Scholar] [CrossRef] [Green Version]
  18. Yunzhou, Z.; Mo, Z.; Haoqi, L.; Gang, Z. Innovative Architecture of Single Chip Edge Device Based on Virtualization Technology. Pervasive Mob. Comput. 2019, 52, 100–112. [Google Scholar] [CrossRef]
  19. Kumar, P.A. FPGA Implementation of the Trigonometric Functions Using the CORDIC Algorithm. In Proceedings of the 2019 5th International Conference on Advanced Computing & Communication Systems (ICACCS), Coimbatore, India, 15–16 March 2019; pp. 894–900. [Google Scholar] [CrossRef]
  20. Fu, W.; Xia, J.; Lin, X.; Liu, M.; Wang, M. Low-Latency Hardware Implementation of High-Precision Hyperbolic Functions Sinhx and Coshx Based on Improved CORDIC Algorithm. Electronics 2021, 10, 2533. [Google Scholar] [CrossRef]
  21. Mahdavi, H.; Timarchi, S. Area–Time–Power Efficient FFT Architectures Based on Binary-Signed-Digit CORDIC. IEEE Trans. Circuits Syst. I Regul. Pap. 2019, 66, 3874–3881. [Google Scholar] [CrossRef]
  22. Younes, H.; Ibrahim, A.; Rizk, M.; Valle, M. Efficient FPGA Implementation of Approximate Singular Value Decomposition based on Shallow Neural Networks. In Proceedings of the 2021 IEEE 3rd International Conference on Artificial Intelligence Circuits and Systems (AICAS), Washington DC, USA, 6–9 June 2021; pp. 1–4. [Google Scholar] [CrossRef]
  23. Nguyen, H.-T.; Nguyen, X.-T.; Pham, C.-K. A Low-Latency Parallel Pipeline CORDIC. IEICE Trans. Electron. 2017, E100.C, 391–398. [Google Scholar] [CrossRef]
  24. Villalba, J.; Zapata, E.L.; Antelo, E.; Bruguera, J.D. Radix-4 vectoring cordic algorithm and architectures. J. VLSI Signal Process. Syst. Signal Image Video Technol. 1998, 19, 127–147. [Google Scholar] [CrossRef]
  25. Antelo, E.; Bruguera, J.D.; Zapata, E.L. Unified Mixed Radix 2-4 Redundant CORDIC Processor. IEEE Trans. Comput. 1996, 45, 1068–1073. [Google Scholar] [CrossRef] [Green Version]
  26. Bruguera, J.D.; Antelo, E.; Zapata, E.L. Design of a Pipelined Radix 4 CORDIC Processor. Parallel Comput. 1993, 19, 729–744. [Google Scholar] [CrossRef]
  27. Antelo, E.; Villalba, J.; Bruguera, J.D.; Zapata, E.L. High Performance Rotation Architectures Based on the Radix-4 CORDIC Algorithm. IEEE Trans. Comput. 1997, 46, 855–870. [Google Scholar] [CrossRef] [Green Version]
  28. Parmar, Y.; Sridharan, K. Precomputation-Based Radix-4 CORDIC for Approximate Rotations and Hough Transform. IET Circuits Devices Syst. 2018, 12, 413–423. [Google Scholar] [CrossRef]
  29. Tang, W.; Xu, F. A Noniterative Radix-8 CORDIC Algorithm with Low Latency and High Efficiency. Electronics 2020, 9, 1521. [Google Scholar] [CrossRef]
  30. Changela, A.; Zaveri, M.; Verma, D. Mixed-Radix, Virtually Scaling-Free CORDIC Algorithm Based Rotator for DSP Applications. Integration 2021, 78, 70–83. [Google Scholar] [CrossRef]
  31. Jaime, F.J.; Sanchez, M.A.; Hormigo, J.; Villalba, J.; Zapata, E.L. Enhanced Scaling-Free CORDIC. IEEE Trans. Circuits Syst. I Regul. Pap. 2010, 57, 1654–1662. [Google Scholar] [CrossRef]
  32. Moroz, L.; Taras, M.; Herasym, M. Improved scaling-free CORDIC algorithm. In Proceedings of the 2013 11th East-West Design and Test Symposium (EWDTS), Rostov-on-Don, Russia, 27 September 2013; IEEE Computer Society: Washington, DC, USA, 2013. [Google Scholar]
  33. Shukla, R.; Ray, K.C. Low Latency Hybrid CORDIC Algorithm. IEEE Trans. Comput. 2014, 63, 3066–3078. [Google Scholar] [CrossRef]
  34. Yao, Y.; Feng, Z. BBR-Based Iteration-Free CORDIC Algorithm. J. Circuits Syst. Comput. 2018, 27, 1850076. [Google Scholar] [CrossRef]
  35. Zhang, Y.Y.; Liu, J.R.; Wang, Z.Y.; Mo, J.J.; Yu, F.X. Implementation of direct digital frequency synthesizer based on three-step rotation coordinate rotation digital computer algorithm. J. Zhejiang Univ. Eng. Sci. 2019, 53, 2034–2040. [Google Scholar]
  36. Khurshid, B.; Khan, J.J. An Efficient Fixed-Point Multiplier Based on CORDIC Algorithm. J. Circuits Syst. Comput. 2020, 30, 2150080. [Google Scholar] [CrossRef]
  37. Kumar, A.; Kumar, A.; Singh Tomar, G. Hardware Chip Performance of CORDIC Based OFDM Transceiver for Wireless Communication. Comput. Syst. Sci. Eng. 2022, 40, 645–659. [Google Scholar] [CrossRef]
  38. Garrido, M.; Kallstrom, P.; Kumm, M.; Gustafsson, O. CORDIC II: A New Improved CORDIC Algorithm. IEEE Trans. Circuits Syst. II Express Briefs 2016, 63, 186–190. [Google Scholar] [CrossRef]
Figure 1. Basic Structure of Edge-enabled Smart Grids.
Figure 1. Basic Structure of Edge-enabled Smart Grids.
Sensors 22 07489 g001
Figure 2. Edge computing framework based on heterogeneous computing.
Figure 2. Edge computing framework based on heterogeneous computing.
Sensors 22 07489 g002
Figure 3. Rotation model for CORDIC algorithm.
Figure 3. Rotation model for CORDIC algorithm.
Sensors 22 07489 g003
Figure 4. Structure of the classical optimized CORDIC algorithm and the RDP_CORDIC algorithm: (a) Classical optimized CORDIC algorithm pipeline structure; (b) Structure of RDP-CORDIC algorithm.
Figure 4. Structure of the classical optimized CORDIC algorithm and the RDP_CORDIC algorithm: (a) Classical optimized CORDIC algorithm pipeline structure; (b) Structure of RDP-CORDIC algorithm.
Sensors 22 07489 g004
Figure 5. Implementation of RDP-CORDIC algorithm with sine and cosine functions.
Figure 5. Implementation of RDP-CORDIC algorithm with sine and cosine functions.
Sensors 22 07489 g005
Figure 6. Simulation waveforms of calculated sine and cosine functions.
Figure 6. Simulation waveforms of calculated sine and cosine functions.
Sensors 22 07489 g006
Figure 7. Structure of 2 × 2 SVD module based on RDP-CORDIC algorithm.
Figure 7. Structure of 2 × 2 SVD module based on RDP-CORDIC algorithm.
Sensors 22 07489 g007
Figure 8. ROM resources required at different bit widths before and after optimization.
Figure 8. ROM resources required at different bit widths before and after optimization.
Sensors 22 07489 g008
Figure 9. The various functions calculation error base on RDP-CORDIC algorithm: (a) Absolute error of sine signal value; (b) Absolute error of cosine signal value; (c) Absolute error of ln(x) value; (d) Absolute error of sqrt value; (e) Absolute error of sinh value; (f) Absolute error of cosh value.
Figure 9. The various functions calculation error base on RDP-CORDIC algorithm: (a) Absolute error of sine signal value; (b) Absolute error of cosine signal value; (c) Absolute error of ln(x) value; (d) Absolute error of sqrt value; (e) Absolute error of sinh value; (f) Absolute error of cosh value.
Sensors 22 07489 g009aSensors 22 07489 g009b
Figure 10. Maximum absolute error of sine and cosine signals calculated by various CORDIC algorithms at different bit widths.
Figure 10. Maximum absolute error of sine and cosine signals calculated by various CORDIC algorithms at different bit widths.
Sensors 22 07489 g010
Table 1. Application of CORDIC Algorithm.
Table 1. Application of CORDIC Algorithm.
Application CategoryFunctions Implemented
basic arithmeticmultiplication
division
trigonometric functionsin x
cos x
tan x
inverse trigonometric functionarcsin x
arcsin−1 x
arctan−1 x
hyperbolic functioncosh x
sinh x
tanh x
tanh−1 x
other common functions x
In(x)
ex
other applicationsFast Fourier transform
Matrix eigenvalue estimation
Singular value decomposition
Digital frequency synthesis
Table 2. Features of related CORDIC algorithms.
Table 2. Features of related CORDIC algorithms.
CORDIC AlgorithmRadixRotation Direction PredictionFixed Scaling Factor
R-2 CORDIC [26]R-2×
R-4 CORDIC [24]R-4××
R-8 CORDIC [28]R-8××
scaling-free CORDIC [31]MIX-R×
Mixed-R-scaling-free CORDIC [29]MIX-R×
BBR-CORDIC [34]R-2×
CORDIC II [38]R-2××
RDP-CORDIC [proposed]R-2
Table 3. Prediction constant table for 16-bit precision direction.
Table 3. Prediction constant table for 16-bit precision direction.
{d1,d2,d3,d4,d5}λθcp5
011110.03635239−0.0305780
100000.036362560.03190169
100010.036433580.09425964
100100.036443750.15673931
100110.036997400.21813201
101000.037007560.28061168
101010.037078590.34296963
101100.037088750.40544930
101110.041373730.45937935
110000.041383890.52185901
110010.041454920.58421697
110100.041465080.64669663
110110.042018730.70808934
111000.042028900.77056900
Table 4. Value of μi constants for the first 10 iterations.
Table 4. Value of μi constants for the first 10 iterations.
iμi
10.0363523910
20.0050213369
30.0006450055
48.1190004043 × 10−5
51.0166569732 × 10−5
61.2713795232 × 10−6
71.5893989889 × 10−7
81.9868033028 × 10−8
92.4835211812 × 10−9
103.1044068054 × 10−10
Table 5. Angle interval conversion.
Table 5. Angle interval conversion.
Input Angle Range θeAngle after Conversion θcos θesin θe
[0 ,   π /4)θecos θsin θ
[ π /4 ,   π /2) π /2 − θesin θcos θ
[ π /2 , 3 π /4)θe π /2−sin θcos θ
[ 3 π / 4 ,   π ) π θe−cos θsin θ
[ π , 5 π / 4 )θe π −cos θ−sin θ
[ 5 π / 4 ,   3 π / 2 ) 3 π /2 − θe−sin θ−cos θ
[ 3 π / 2 ,   7 π / 4 )θe 3 π /2sin θ−cos θ
[ 7 π / 4 ,   2 π ]2 π θecos θ−sin θ
Table 6. Performance comparison results of different CORDIC algorithms.
Table 6. Performance comparison results of different CORDIC algorithms.
CORDIC AlgorithmNumber of IterationsLUTs + FFROMPower (mW)
R-2 CORDIC [26]172362071
R-4 CORDIC [24]9188624 × 1666
R-8 CORDIC [28]7156636 × 1665
Mixed-R-scaling-freeCORDIC [29]8177112 × 1653
BBR-CORDIC [34]51643102 × 1682
CORDIC II [38]7143324 × 1632
RDP-CORDIC [proposed]5143812 × 1628
Table 7. Time consumed for the first calculation of the sine and cosine function.
Table 7. Time consumed for the first calculation of the sine and cosine function.
CORDIC AlgorithmTime (ns)
R-2 CORDIC [26]190
R-4 CORDIC [24]100
R-8 CORDIC [28]80
BBR-CORDIC [34]60
CORDIC II [38]90
RDP-CORDIC [proposed]60
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Qin, M.; Liu, T.; Hou, B.; Gao, Y.; Yao, Y.; Sun, H. A Low-Latency RDP-CORDIC Algorithm for Real-Time Signal Processing of Edge Computing Devices in Smart Grid Cyber-Physical Systems. Sensors 2022, 22, 7489. https://doi.org/10.3390/s22197489

AMA Style

Qin M, Liu T, Hou B, Gao Y, Yao Y, Sun H. A Low-Latency RDP-CORDIC Algorithm for Real-Time Signal Processing of Edge Computing Devices in Smart Grid Cyber-Physical Systems. Sensors. 2022; 22(19):7489. https://doi.org/10.3390/s22197489

Chicago/Turabian Style

Qin, Mingwei, Tong Liu, Baolin Hou, Yongxiang Gao, Yuancheng Yao, and Haifeng Sun. 2022. "A Low-Latency RDP-CORDIC Algorithm for Real-Time Signal Processing of Edge Computing Devices in Smart Grid Cyber-Physical Systems" Sensors 22, no. 19: 7489. https://doi.org/10.3390/s22197489

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop