A Biproportional Construction Algorithm for Correctly Calculating Fourier Series of Aperiodic Non-Sinusoidal Signal ()
1. Introduction
The Fourier series (FS) was proposed by Jean Baptiste Joseph Fourier (1768-1830, a French mathematician and physicist) to solve the heat equation in a metal plate in 1807. The FS since then has been continually developed and perfected by many mathematicians, such as Dirichlet, Dini, Gibbs, Kolmogorov [1] , Carleson [2] , and Iserles [3] . The FS is a branch of Fourier analysis nowadays. The FS has been applied to almost all disciplines, including physics [4] [5] , architectonics [6] [7] , electronics [8] [9] , electrical engineering [10] [11] [12] , and signal processing [13] [14] [15] .
The FS applies to a periodic non-sinusoidal function satisfying the Dirichlet conditions: The function must have a finite number of maxima, minima, and discontinuities in one period, and be absolutely integrable over a period. However, the being-processed function
in practical applications is usually an aperiodic non-sinusoidal signal defined as follows.
is aperiodic for
, and is T-periodic and satisfies the Dirichlet conditions for
, where
, t is time, and m is a sufficiently small positive integer like 1 or 2. For instance,
is illustrated in Figure 1, where
is aperiodic for
, and is periodic and satisfies the Dirichlet conditions for
.
According to the FS, the FS of the being-processed function
can be expressed as
(1)
where
(2)
and
(3)
Figure 1. An aperiodic non-sinusoidal signal
.
In Equations (1)-(3),
,
, and
are all called the Fourier coefficients (FCs) of
; T is the period of
, and
; and
.
From the FS, a precondition for Equation (1) is that
is a periodic non-sinusoidal function satisfying the Dirichlet conditions.
When
is periodic and satisfies the Dirichlet conditions, the precondition for Equation (1) is satisfied, and thus it is correct that
is expressed as Equation (1). Hence,
and
are correctly calculated by Equations (2) and (3), respectively, and thus its FS is correctly calculated by Equation (1). However, when
is aperiodic, the precondition for Equation (1) is not satisfied, and thus it is not correct that
is expressed as Equation (1). Therefore,
and
are not correctly calculated by Equations (2) and (3), respectively, and thus its FS is not correctly calculated by Equation (1). At present, how to calculate its FS correctly when
is aperiodic is still a problem necessary to solve.
The FS of
is correctly calculated if the FCs of
are. Therefore, numerous methods have been researched and reported as follows: many methods and algorithms for calculating the FCs [15] - [22] , some estimates of the FCs [23] [24] , a few methods for determining the FCs of the particular functions [25] [26] , various formulae for computing the FCs of the special functions [27] [28] [29] , and other methods. Each of these methods has its own applicability and merits, whereas how to calculate its FS correctly when
is aperiodic is still a challenging problem.
In practical applications, myriad signals in various disciplines (like the nonlinear load current in electrical engineering) can be considered as the being-pro- cessed function defined above. The being-processed function is denoted by
unless a specific description is given in this article. Although its FS is correctly calculated when
is periodic and satisfies the Dirichlet conditions, its FS is not correctly calculated when
is aperiodic. Nowadays, how to calculate its FS correctly when
is aperiodic is an important engineering calculation problem difficult to solve, and also an interesting mathematical- physical problem. The problem has to be solved because of numerous practical applications. To solve the problem, we will achieve the following main contributions:
1) Four basic concepts will be correctly defined.
2) A direct calculation algorithm, a constant iteration algorithm, and an optimal iteration algorithm will be derived.
3) A biproportional construction theory will be built, and then a biproportional construction algorithm will be proposed from the theory.
4) An algorithm for determining the states of
based on the variable iteration step will be presented.
The proposed biproportional construction algorithm correctly calculates its FCs whether
is periodic or aperiodic, and thus its FS. Therefore, the problem is solved. The rest of this article will be organized as follows. Section 2 will define four basic concepts and prove one theorem. In Sections 3-5, a direct calculation algorithm, a constant iteration algorithm, and an optimal iteration algorithm will be derived, respectively. A biproportional construction theory, a biproportional construction algorithm, and an algorithm for determining the states of
based on the variable iteration step will be proposed in Section 6. The proposed biproportional construction algorithm will be validated by the simulation results and the experimental results. Finally, Section 7 will summarize the main conclusions.
2. Definitions and Theorem
It is assumed that
samples of
and those of
are defined as
and
, respectively, for
in any three consecutive periods
, where
.
Definition 2.1. If
for all t in the period
,then
changes periodically in the period. That is,
is in stable states in
the period. Thus,
in the
period.
Definition 2.2. If
for any t in the period
, then
changes nonperiodically in the period. That is,
is in unstable states in the period.
Definition 2.3. If
is in stable states in the period
and if
, then
changes periodically at the sampling time
. That is,
is in a stable state at the sampling time. Thus,
, where
denotes
of
at the sampling time.
Definition 2.4. If
is in stable states in the period
and if
, then
changes nonperiodically at the sampling time
. That is,
is in an unstable state at the sampling time.
Thus,
.
Definitions 2.1-2.3 are correctly defined from the FS of
. Besides,
is in stable states in the period
and
. Thus, we infer that
should change in the same proportion
for all t in the period
. For this reason, Definition 2.4 is defined above.
Theorem 2.1. If
is a periodic non-sinusoidal function satisfying the Dirichlet conditions, then
attains its absolute minimum at
for
, where T is the period of
and
.
Proof. It is assumed that
. Then, it follows from
and Equation (2) that
Moreover,
and
for
. Therefore,
attains its absolute minimum at
for
. Thus, Theorem 2.1 is proved.
3. Direct Calculation Algorithm
3.1. Direct Calculation Algorithm
It is assumed that
. Then, it is obtained
from
that
(4)
At the sampling time
,
is calculated by Equation (4), and then
. Similarly, at the next sampling time,
. …. This algorithm is designated as a direct calculation algorithm for calculating
because ak is directly calculated by Equation (4).
Similarly, a direct calculation algorithm for calculating
can be derived. The direct calculation algorithm for calculating
and that for calculating
are collectively designated as a direct calculation algorithm for calculating the FS of
, or a direct calculation algorithm for short.
3.2. Calculation Complexity Analysis
Although the FS of
consists of infinite terms, it is only necessary to calculate one or a few of the infinite terms in practical applications. Thus, taking calculating the term
as an example, we conduct the calculation complexity analysis, calculation accuracy analysis, simulation, and experiment.
From the direct calculation algorithm for calculating
, it is appropriate to utilize a DSP (digital signal processing) to implement it. Its calculation complexity is much reduced by using space in exchange for time. The block diagram of the memory cells and calculation process of this algorithm is presented in Figure 2. At the beginning, N consecutive memory cells from 0 to
, having the same number of words, store
for
, respectively. A first product pointer points to Memory cell 0.
, and
. The calculation process
of this algorithm is as follows. When the present samples
and
arrive,
is obtained by multiplying
by
,
by
Figure 2. The block diagram of the memory cells and calculation process of the direct calculation algorithm for calculating
.
adding
and
, a1 by dividing
by
, and
by multiplying
by a1. Finally,
is obtained by subtracting the product, stored in the memory cell being pointed to by the first product pointer, from
. Then,
is stored in the memory cell, and the pointer points to the next memory cell. If the pointer is pointing to Memory cell N, then it points to Memory cell 0 immediately. Moreover,
is a constant because N is. Thus, its calculation complexity per
iteration is one addition operation, one subtraction operation, two multiplication operations, and one division operation. Therefore, it is very low and does not change with N.
3.3. Calculation Accuracy Analysis
When
changes periodically, the precondition for Equation (1) is satisfied. Thus, the larger N, the higher the accuracy of the calculated a1, according to the direct calculation algorithm for calculating
, the FS of
, and the sampling theorem. For this reason, the calculated a1 is correct within an allowable error because N can be large enough because of the very low calculation complexity of this algorithm and the very high calculation speed of existing DSPs.
When
changes nonperiodically, the precondition for Equation (1) is not satisfied. Thus, the calculated a1 is not correct, and its accuracy depends on the tracking performance of this algorithm. From the following simulation results and experimental results, the calculated a1 tracks
smoothly.
3.4. Simulation Results and Experimental Results
The experimental system block diagram is shown in Figure 3, where, the system consists of a zero-crossing comparator, an UA206, and a computer.
The zero-crossing comparator is implemented by an operational amplifier
Figure 3. The experimental system block diagram.
OP07, its input is
, and its output is a square-wave signal acting as
. The UA206 is an A/D data acquisition board, developed by a company in Beijing; and it has sixteen 16-bit A/D converters. Its highest sampling frequency is 500 kHz, and its analog input signals range up to ±10 V. Moreover, a VB source code framework demonstrating that signals are sampled and displayed is provided by the company. Thus, from the framework and the direct calculation algorithm for calculating
, the experimental program is easily designed. When the experiments are done, the two analog signals
and
are the inputs of the UA206 and are converted into two digital signals by two of the A/D converters. Then, the two digital signals are sent to the computer via its PCI port. When the experimental program is executed,
,
, the calculated a1, and the computed
are displayed on the computer screen. Thus, it is convenient to observe and record the experimental waveforms.
To validate the direct calculation algorithm for calculating
, the simulations and the experiments are carried out. The simulation results are depicted in Table 1 and Figure 4, and the experimental results in Figure 5. In
Table 1,
and
; and a1 and
are
calculated by Equations (4) and (2), respectively. Table 1 indicates that the calculated a1 is correct within an allowable error when
changes periodically and when N is large enough. In Figure 4, MATLAB 7.0 is applied,
, and
. In Figure 5,
and
. Figure 4 and Figure 5 indicate that the calculated a1 is a constant and thus correct, when
changes periodically. The calculated a1 tracks
smoothly and thus is not correct, and all response times are 0.02 s (one period), when
changes nonperiodically. Particularly, the calculated a1 has a considerably large error when
step changes. In addition, the further experiments indicate that this algorithm is stable and reliable, and its calculation results are very slightly affected by small changes in the frequency of
.
3.5. Brief Summary
We have derived a direct calculation algorithm. This algorithm correctly calculates its FCs when
changes periodically, but not when
changes nonperiodically. Particularly, this algorithm has a considerably large calculation error when
step changes. Thus, it is necessary to find a method for correctly calculating its FCs, when
changes nonperiodically.
Table 1. The datasheet of N, a1, and
.
Figure 4. (a)-(c) The simulation results of the direct calculation algorithm for calculating
with a step increase, a linear increase, and an exponential decrease, respectively, in
.
4. Constant Iteration Algorithm
4.1. Constant Iteration Algorithm
It is assumed that
denoting
,
of
at the sampling time
, has been calculated iteratively; and that
denoting
,
of
at the next sampling time, will be calculated iteratively. On the basis of
,
will approach
when
changes periodically, and track when
changes nonperiodically. However, whether
cannot be determined; thus, a tentative comparison is adopted to determine the iterative calculation direction according to Theorem 2.1.
It is assumed that hk represents the iteration step. Then, it follows from Theorem 2.1 that
(5)
(6)
Figure 5. (a)-(c) The experimental results of the direct calculation algorithm for calculating
with no change, a slow decrease, and a step decrease, respectively, in
.
and
(7)
From Equations (5)-(7), it is obtained that
(8)
(9)
and
(10)
In Equations (8)-(10),
(11)
and
(12)
According toEquations (8), (11), and (12), Ak00 and Ak12 have the same sign;and fromthe signsofAk00, Ak10, and Ak20, the absolute minimumisdetermined. Thus,from Theorem 2.1, analgorithm for calculating
is obtained and illustratedin Figure 6.
At the sampling time
,
is calculated by the algorithm illustrated in Figure 6 , and then
. Similarly, at the next sampling time,
. …. This algorithm is designated as a constant iteration algorithm for calculating
because it has the constant iteration step hk.
Similarly, a constant iteration algorithm for calculating
can be derived. The constant iteration algorithm for calculating
and that for calculating
are together designated as a constant iteration algorithm for calculating the FS of
, or a constant iteration algorithm for short.
4.2. Calculation Complexity Analysis
From the constant iteration algorithm for calculating
, its calculation complexity depends mainly on calculating A100 and A110, or A100 and A120. The calculation complexity of A110 is the same as that of A120. Moreover, 2h1, −2h1,
, and
are constants because h1 and N are. Thus,
similarly, from the calculation complexity analysis of the direct calculation algorithm for calculating
, the calculation complexity of A100 is one addition operation, one subtraction operation, and two multiplication operations. That of A110 is one addition operation and one multiplication operation. Thus, its main calculation complexity per iteration is two addition operations, one subtraction operation, and three multiplication operations. Therefore, it is very low and does not change with N.
4.3. Calculation Accuracy Analysis
When
changes periodically, the precondition for Equation (1) is satisfied.
Figure 6. The constant iteration algorithm for calculation
.
Thus, the larger N and the smaller h1, the higher the accuracy of the calculated a1, according to the constant iteration algorithm for calculating
, the FS of
, and the sampling theorem. For this reason, the calculated a1 is correct within an allowable error because h1 can be small enough and N large enough because of the very low calculation complexity of this algorithm and the very high calculation speed of existing DSPs.
When
changes nonperiodically, the precondition for Equation (1) is not satisfied. Thus, the calculated a1 is not correct, and its accuracy depends on the tracking performance of this algorithm. From the following simulation results, the calculated a1 tracks
smoothly.
4.4. Simulation Results
To validate the constant iteration algorithm for calculating
, the simulations are done, and the simulation results are presented in Figure 7. In Figure 7,
,
, and
. Figure 7 indicates that the calculated a1 is a constant and thus correct, when
changes periodically. The calculated a1 tracks
smoothly and thus is not correct, and all response times are about 0.02 s (one period), when
changes nonperiodically. Besides, h1 gravely affects the calculation performance of this algorithm, and should be selected appropriately.
Figure 7. (a)-(c) The simulation results of the constant iteration algorithm for calculating
with a step increase, a linear increase, and an exponential decrease, respectively, in
.
4.5. Brief Summary
We have derived a constant iteration algorithm. This algorithm has the constant iteration step seriously affecting its calculation performance. Therefore, the constant iteration step should be neither too large nor too small, and be selected appropriately. This algorithm does not perform as well as the direct calculation algorithm does; however, it provides an idea of determining the states of
. The idea may have significant applications in further research.
5. Optimal Iteration Algorithm
5.1. Optimal Iteration Algorithm
The iteration step of the constant iteration algorithm for calculating
is the constant hk, and thus cannot accurately reflect the actual conditions. Under the actual conditions, the iteration step should be large when
is large, and small when
is small. Then, how do we determine the optimal iteration step hk-opt?
In Figure 6, if
, then
; and Ak10 can be regarded as a function of hk, according to Equation (9). If it is assumed that
, then
attains its absolute minimum at
. Thus, the optimal iteration step is
.
Similarly, the optimal iteration step is
, according to Equation (10).
Thus, from Figure 6, an algorithm for calculating
is obtained and depicted in Figure 8.
At the sampling time
,
is calculated by the algorithm depicted in Figure 8 , and then
. Similarly, at the next sampling time,
. …. This algorithm is designated as an optimal iteration algorithm for calculating
because it has the optimal iteration step hk-opt.
Figure 8. The optimal iteration algorithm for calculating
.
Similarly, an optimal iteration algorithm for calculating
can be derived. The optimal iteration algorithm for calculating
and that for calculating
are collectively designated as an optimal iteration algorithm for calculating the FS of
, or an optimal iteration algorithm for short.
5.2. Brief Summary
We have derived an optimal iteration algorithm. This algorithm is essentially consistent with the direct calculation algorithm. It has the optimal iteration step, and thus performs better than the constant iteration algorithm does. Besides, this algorithm, like the constant iteration algorithm, provides an idea of determining the states of
. The idea may be important in discovering an algorithm for determining the states of
.
6. Biproportional Construction Algorithm
6.1. Biproportional Construction Theory
If
is in stable states in the period
, then
calculated by Equation (4) equals
within an allowable error when N is large enough, according to Definition 2.1.
If
is in a stable state at the sampling time
:
, then it follows from Equation (4) that
(13)
From Definition 2.3,
within an allowable error when N is large enough. On the contrary, if
is in an unstable state at the sampling time
:
, then
cannot be ensured within an allowable error even though N is large enough. However,
is constructed from
,
, and
in stable states in the period
. The constructed
in the period satisfies
(14)
That is,
is proportional to
in the period. If it is assumed that N discrete values of
are defined as
, then
from Equation (14), for
. Thus, it is obtained from Equation (4) that
(15)
According to Equation (15) and Definition 2.4,
within an allowable error when N is large enough. This discovery is designated as a first proportional construction theory discovered with the aims of calculating
and ensuring that
within an allowable error when N is large enough.
At the sampling time
, the precondition for the first proportional construction theory correctly calculating
is that
is in stable states in the period
. Here, the term “stable states” mean that
is in “stable states” in the period if
calculated by Equation (4) equals
within an allowable error when N is large enough.
When the next sample
arrives,
is in unstable states in the period
. Thus, the precondition for correctly calculating
,
of
at the sampling time
, does not exist. For this reason, although
denoting
can be calculated similarly to
,
cannot be ensured within an allowable error even though N is large enough. Nevertheless,
is constructed from
,
, and
in unstable states in the period
. The constructed
in the period fulfils
(16)
That is,
is proportional to
in the period. If it is assumed that N discrete values of
are defined as
, then
from Equation (16), for
. Thus, from Equations (4), (13), and (16), and the first proportional construction theory, it is deduced that
(17)
From Equation (17),
is in stable states in the period
. Therefore, the period is considered as the period in front of
, and thus a precondition for correctly calculating
is created. This discovery is designated as a second proportional construction theory discovered with the goal of creating the precondition.
The first and the second proportional construction theory are together designated as a biproportional construction theory for calculating
, which correctly calculates
even though
is in an unstable state.
Similarly, a biproportional construction theory for calculating
can be obtained, which correctly calculates
even though
is in an unstable state. The biproportional construction theory for calculating
and that for calculating
are collectively designated as a biproportional construction theory for calculating the FCs of
, or a biproportional construction theory for short. The biproportional construction theory correctly calculates its FCs even though
is in an unstable state.
6.2. Biproportional Construction Algorithm
It is assumed that
corresponding to
represent the data processed by the biproportional construction theory for calculating
for
; and that the calculated
equals
within an allowable error at the sampling time
.
The direct calculation algorithm for calculating
is used to calculate
accurately when
changes periodically, and the biproportional construction theory for calculating
when
changes nonperiodically. Therefore, an algorithm for calculating
is obtained and shown in Figure 9 .
At the sampling time
,
is calculated by the algorithm shown in Figure 9 , and then
. Similarly, at the next sampling time,
. …. This algorithm is designated as a biproportional construction algorithm for calculating
because it is based on the biproportional construction theory for calculating
.
Similarly, a biproportional construction algorithm for calculating
can be obtained. The biproportional construction algorithm for calculating
and that for calculating
are together designated as a biproportional construction algorithm for calculating the FS of
, or a biproportional construction algorithm for short.
6.3. Algorithm for Determining the States of f(t)
From the biproportional construction algorithm for calculating
, it
Figure 9. The biproportional construction algorithm for calculating
.
is required to determine the states of
accurately. Thus, how to determine the states of
accurately is certainly a key problem that has to be solved.
In the optimal iteration algorithm for calculating
, at the sampling time
,
may be in a stable state when
, and must be in an unstable state when
. Thus, this algorithm provides an idea
of determining the states of
. From the idea, an algorithm for determining the states of
based on the optimal iteration algorithm is obtained; and the algorithm for determining the state of
at the sampling time
is illustrated in Figure 10.
The constant hk is the iteration step of the algorithm, and thus must seriously affect its determination accuracy. For this reason, hk should be selected appropriately to determine the states of
accurately, whereas it is very difficult to do so. Therefore, it is necessary to find the variable iteration step that can help in accurately determining the states of
and that can change with
.
The computation formulae of
,
, Ak0, Ak1, and Ak2 are Equations (4), (13), (5), (6) and (7), respectively. If
is in a stable state at the sampling time
, then
and
. From
and
, it follows that
(18)
and
(19)
respectively. If
is in an unstable state at the sampling time
, then
or
. From
and
, it is obtained that
(20)
Figure 10. The algorithm for determining the state of
at the sampling time
based on the optimal iteration algorithm.
and
(21)
respectively.
From inequalities (18)-(21),
must be a critical value to determine the states of
, where
.
In the algorithm for determining the states of
based on the optimal iteration algorithm, if it is assumed that
,
, or
, then a function of
can be studied. To discover the function, the simulations are conducted. The simulation results indicate that
is in stable states at all sampling times when
, and in stable states at some sampling times and in unstable states at the others when
. Fortunately, this algorithm accurately determines the states of
when
.
It is assumed that
, where
. Then, substituting hk-va for hk in Equations (9) and (10) yields
(22)
and
(23)
respectively.
From the algorithm for determining the states of
based on the optimal iteration algorithm, an algorithm for determining the states of
based on the variable iteration step hk-va is obtained. The algorithm for determining the state of
at the sampling time
is presented in Figure 11.
6.4. Calculation Complexity Analysis
According to the biproportional construction algorithm for calculating
,
Figure 11. The algorithm for determining the state of
at the sampling time
based on the variable iteration step.
its main calculation complexity per iteration depends on that the N data are updated. That is,
,
,
, and
. Thus, it is N multiplication operations.
The calculation complexity of this algorithm is much higher than that of the direct calculation algorithm or the constant iteration algorithm for calculating
. However, it is relatively low compared to the very high calculation speed of existing DSPs. Therefore, this algorithm can be implemented because N can be large enough.
6.5. Calculation Accuracy Analysis
From the biproportional construction algorithm for calculating
, the direct calculation algorithm for calculating
correctly calculates
when
changes periodically. The biproportional construction theory for calculating
correctly computes
when
changes nonperiodically. Thus, this biproportional construction algorithm correctly calculates
whether
changes periodically or nonperiodically.
Figure 12. (a)-(c) The simulation results of the biproportional construction algorithm for calculating
with a step increase, a linear increase, and an exponential decrease, respectively, in
.
6.6. Simulation Results and Experimental Results
To validate the biproportional construction algorithm for calculating
, the simulations and the experiments are conducted. The simulation results are depicted in Figure 12, and the experimental results in Figure 13. In Figure 12,
,
, and
. In Figure 13,
,
, and
. In Figure 12 and Figure 13, s represents the state of
:
signifies that
is in a stable state, and
that
is in an unstable state. Figure 12 and Figure 13 indicate that the calculated
is a constant and thus correct, when
changes periodically. All response times are 0 s and thus the calculated
is also correct, when
changes nonperiodically. In addition, this algorithm accurately determines the states of
.
Figure 13. (a)-(c) The experimental results of the biproportional construction algorithm for calculating
with no change, a slow decrease, and a step decrease, respectively, in
.
6.7. Brief Summary
We have built a biproportional construction theory, and then proposed a biproportional construction algorithm from the theory. From this biproportional construction algorithm, the direct calculation algorithm correctly calculates its FCs when
changes periodically, and the biproportional construction theory when
changes nonperiodically. Therefore, this biproportional construction algorithm correctly calculates its FCs whether
changes periodically or nonperiodically, and thus its FS.
7. Conclusions
The FS applies to a periodic non-sinusoidal function satisfying the Dirichlet conditions, whereas the being-processed function
in practical applications is usually an aperiodic non-sinusoidal signal. When
is aperiodic, its calculated FS is not correct, being still a challenging problem today.
To resolve the problem, we have correctly defined several basic concepts, such as
in a stable state,
in an unstable state, the FCs of
in a stable state, and the FCs of
in an unstable state. In particular, the definition of the FCs of
in an unstable state is of great significance in correctly calculating these FCs.
We have derived a direct calculation algorithm, a constant iteration algorithm, and an optimal iteration algorithm. The direct calculation algorithm correctly calculates its FCs when
changes periodically. Both the constant iteration algorithm and the optimal iteration algorithm provide an idea of determining the states of
. From the idea, we have obtained an algorithm for determining the states of
based on the optimal iteration algorithm. In the algorithm, the variable iteration step is introduced, and thus we have presented an algorithm for determining the states of
based on the variable iteration step. The presented algorithm accurately determines the states of
.
On the basis of the definitions and algorithms, we have built a biproportional construction theory. The biproportional construction theory consists of a first and a second proportional construction theory. The first proportional construction theory correctly calculates the FCs of
at the present sampling time. The second proportional construction theory creates a precondition for correctly calculating the FCs of
at the next sampling time. From the biproportional construction theory, we have proposed a biproportional construction algorithm. The proposed biproportional construction algorithm correctly calculates its FCs whether
is periodic or aperiodic, and thus its FS. Therefore, the problem is solved.
The biproportional construction theory and the biproportional construction algorithm extend the application range of the FS, and have considerable theoretical and practical significance.
Acknowledgements
This work was supported by the Priority Academic Program Development of Jiangsu Higher Education Institutions (PAPD). The authors would like to thank the editors and referees for their valuable advice for the improvement of this article.