Next Article in Journal
Resolution Improvement of Light Field Imaging via a Nematic Liquid Crystal Microlens with Added Multi-Walled Carbon Nanotubes
Previous Article in Journal
A Modeling and Feasibility Study of a Micro-Machined Microphone Based on a Field-Effect Transistor and an Electret for a Low-Frequency Microphone
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Letter

Fast Recursive Computation of Sliding DHT with Arbitrary Step

1
Department of Computer Science, CICESE, Ensenada 22860, Mexico
2
Department of Mathematics, Chelyabinsk State University, Chelyabinsk 454001, Russia
3
Institute for Information Transmission Problems, Russian Academy of Sciences, Moscow 127051, Russia
Sensors 2020, 20(19), 5556; https://doi.org/10.3390/s20195556
Submission received: 25 August 2020 / Revised: 24 September 2020 / Accepted: 26 September 2020 / Published: 28 September 2020
(This article belongs to the Section Intelligent Sensors)

Abstract

:
Short-time (sliding) transform based on discrete Hartley transform (DHT) is often used to estimate the power spectrum of a quasi-stationary process such as speech, audio, radar, communication, and biomedical signals. Sliding transform calculates the transform coefficients of the signal in a fixed-size moving window. In order to speed up the spectral analysis of signals with slowly changing spectra, the window can slide along the signal with a step of more than one. A fast algorithm for computing the discrete Hartley transform in windows that are equidistant from each other is proposed. The algorithm is based on a second-order recursive relation between subsequent equidistant local transform spectra. The performance of the proposed algorithm with respect to computational complexity is compared with the performance of known fast Hartley transform and sliding algorithms.

1. Introduction

In today’s world, the study of real-life phenomena begins with sensors that convert the description of phenomena into digital signals. Since real sensors are sensitive to internal thermal, electronic, and environmental noise, the sensors’ output must be intelligently processed for subsequent use in a computer system. Short-time signal processing [1] is an appropriate technique for such a system, since it is capable of adaptively filtering long-term stationary (in wide-sense) and quasi-stationary signals. An example of quasi-stationary signal is speech. Frequency components of this signal change over time when the position of tongue and mouth changes, but on a short period of time they might be considered stable because tongue cannot move very quickly. Short-time processing is used in a variety of applications such as radar emitter recognition [2], heart sound classification [3], sensor noise removal [4], gearbox fault diagnosis [5], speech processing and spectral analysis [6], and adaptive linear filtering [7].
Basically, short-time transform is a time series of windowed signal transforms that can be used to perform time-frequency analysis. Local signal processing in a moving window (special case of short-time processing) can be carried out as follows: at each position of the running window, the coefficients of an orthogonal transform of the signal are modified to estimate only the central window element [8]. For time-varying signals, it is preferred that the window length be small enough so that the windowed signal would be approximately stationary. On the other hand, the window size should be large enough to provide a reasonable frequency resolution of the local signal. Typically, with local sliding processing, the window moves with a step of one along the signal. However, if it is necessary to process the signal at a high speed and the signal spectrum changes slowly over time, the window can move with a step of more than one. This approach has recently been proposed to design preview tools for multiresolution signal and image restoration [9].
Discrete Hartley transform (DHT) [10] is used in various practical applications such as speech spectral analysis [11], feature extraction and sea surface modeling [12], data compression [13], and signal interpolation [14]. Four types of DHT are classified [15,16]. Discrete Hartley and Fourier transforms of real signals and their relations with discrete sinusoidal transformations are discussed in detail [17,18]. Note that for real signals, all DHT coefficients can be used in the design of transform domain scalar filters. Representation of a signal in the DHT sliding domain is especially suitable for processing of time-varying, quasi-stationary data. Since calculating the DHT at each position of a running window is an intensive task, recursive algorithms can be used. First-order shift properties were obtained [19]. Since this approach is not very efficient in terms of computational complexity, four types of the sliding DHT were derived based on second-order recursive equations [20].
In this work, a recursive algorithm is proposed for fast computation of the DHT in a window sliding along the signal more than one sample at a time. The main contributions of the work are as follows:
  • Second-order recursive equation between three consecutive equidistant DHT spectra is obtained using the z-transform technique.
  • Efficient sliding DHT algorithm is proposed using the properties of discrete sinusoidal functions and the recursive equation.
  • Computational complexity and running time of the proposed sliding algorithm are compared with the known sliding and fast DHT algorithms.
The paper is organized as follows. In Section 2, a second-order recursive equation between three consecutive equidistant DHT spectra is derived. In Section 3, a fast forward algorithm for computing the sliding DHT is suggested. Section 3 also presents a fast inverse sliding DHT algorithm. The performance of the proposed and common DHT algorithms in terms of computational complexity and runtime is given and discussed in Section 4. Finally, our conclusions are presented in Section 5.

2. Second-Order Equation for Recursive Computation of Sliding DHT

We recall here the definition of DHT. The following notations are used: c s N ( r s ) cos ( 2 π N r s ) , s n N ( r s ) sin ( 2 π N r s ) , s n c N ( r s ) s n N ( r s ) s n N ( s ) cas N ( r s ) cos ( 2 π N r s ) + sin ( 2 π N r s ) , cas N ¯ ( r s ) cos ( 2 π N r s ) sin ( 2 π N r s ) , W N s e i 2 π N s = c s N ( s ) + i s n N ( s ) , where the subscript N is the transform order, r is an integer, and s = 0 ,   1 , N 1 . For clarity, the normalization factor 1 / N is disregarded until the inverse transform.
Sliding DHT with a step of p can be defined as follows:
y s ( k p ) = n = N 1 N 2 x ( k p + n ) cas N ( s ( n + N 1 ) ) ,
where { x ( k p ) ; k =…, −N1, −N1 + 1,…, 0, 1,…, N2, N2 + 1….} is a signal to be processed; { y s ( k p ) ,   s = 0 ,   1 , N 1 } are the transform coefficients around time kp; N = N1 + N2 + 1 is the size of the moving window; N1 and N2 are arbitrary integer values.
A recursive relationship between three consecutive sliding spectra is given as [20]:
y s ( k + 2 ) 2 cs N ( s ) y s ( k + 1 ) + y s ( k ) = f s ( k ) ,
where f s ( k ) = ( x ( k + N 2 + 2 ) x ( k N 1 + 1 ) ) c a s N ¯ ( s ) + x ( k N 1 ) x ( k + N 2 + 1 ) .
This is a linear inhomogeneous difference equation defined on k. For fixed s, (2) can be considered as a linear difference equation with constant coefficients. Linear time-invariant systems defined by such equations can be analyzed using the unilateral z-transform [1]. Suppose that we deal with a causal linear system (region of convergence is outside a circle on the z-plane) and nonzero initial conditions y s ( 0 ) and y s ( 1 ) are given. Applying the unilateral z-transform to (2) and using its shift property, we get:
z 2 [ Y s ( z ) y s ( 0 ) z 1 y s ( 1 ) ] 2 cs N ( s ) z [ Y s ( z ) y s ( 0 ) ] + Y s ( z ) = F s ( z ) ,
where Y s ( z ) and F s ( z ) are the z-transforms of y s ( k ) and f s ( k ) , respectively.
We express Y s ( z ) as:
Y s ( z ) = F s ( z ) + y s ( 0 ) z ( z 2 cs N ( s ) ) + y s ( 1 ) z z 2 2 cs N ( s ) z + 1 .
For s 0 , there are two different roots of the denominator; that is, q 1 ( s ) = W N s and q 2 ( s ) = W N s . For s = 0 , the roots are equal to q 1 ( s ) = q 2 ( s ) = 1 . Let us carry out the partial fraction expansion of the equation:
D s ( z ) = z z 2 2 cs N ( s ) z + 1 = { z 1 1 2 cs N ( s ) z 1 + z 2 , s 0 z 1 1 2 z 1 + z 2 , s = 0 ,
and obtain
D s ( z ) = { 1 q 1 ( s ) q 2 ( s ) ( 1 1 q 1 ( s ) 1 z 1 1 1 q 2 ( s ) z 1 ) , s 0 z 1 ( 1 z 1 ) 2 , s = 0 .
The inverse z-transform can be computed as follows [1]:
D s ( z ) Z 1 d s ( k ) = { q 1 k ( s ) q 2 k ( s ) q 1 ( s ) q 2 ( s ) u ( k ) = s n N ( k s ) s n N ( s ) u ( k ) , s 0 k u ( k ) , s = 0 ,
where u ( k ) is the unit-step function defined as 1, for k 0 and 0, for k < 0 .
Using (5), (4) can be represented as follows:
Y s ( z ) = F s ( z ) [ z 1 D s ( z ) ] + y s ( 0 ) [ z D s ( z ) 2 cs N ( s ) D s ( z ) ] + y s ( 1 ) D s ( z ) .
Using the shifting and convolution properties, the inverse transform is given as:
y s ( k ) = i = 0 k d s ( i 1 ) f s ( k i ) + y s ( 0 ) [ d s ( k + 1 ) 2 cs N ( s ) d s ( k ) ] + y s ( 1 ) d s ( k ) .
Substituting (7) into (9) and taking into account that d s ( k ) = 0 for k < 2 , q 1 ( s ) q 1 ( s ) = 1 and 2 cs N ( s ) = q 1 ( s ) + q 2 ( s ) , we arrive at:
y s ( k ) = { r = 1 k 1 f s ( k r 1 ) r y s ( 0 ) ( k 1 ) + y s ( 1 ) k ,   s = 0 r = 1 k 1 s n N ( r s ) f s ( k r 1 ) y s ( 0 ) s n N ( ( k 1 ) s ) + y s ( 1 ) s n N ( k s ) s n N ( s ) ,   s = 1 , N 1 ,
with k 2 .
Given two initial values y s ( 0 ) and y s ( p ) ( p > 1 ) , one can obtain y s ( 1 ) from (10) as:
y s ( 1 ) = { y s ( p ) + y s ( 0 ) ( p 1 ) r = 1 p 1 f s ( p r 1 ) r p , s = 0 y s ( p ) s n N ( s ) + y ( 0 ) s n N ( ( p 1 ) s ) r = 1 p 1 f ( p r 1 ) s n N ( r s ) s n N ( p s ) ,   s = 1 , N 1 .
Substituting (11) into (10), for arbitrary k we obtain:
y s ( k ) = { k p y s ( p ) + k p p ( r = 1 p 1 f s ( r 1 ) r y s ( 0 ) ) + r = p k 1 f s ( r 1 ) ( k r ) , s = 0 s n N ( ( k p ) s ) s n N ( p s ) ( r = 1 p 1 f s ( r 1 ) s n N ( r s ) s n N ( s ) y s ( 0 ) ) + s n N ( k s ) s n N ( p s ) y s ( p ) + r = p k 1 f s ( r 1 ) s n N ( ( k r ) s ) s n N ( s ) , s = 1 , N 1 .
Finally, the DHT at the window position 2p is recursively computed using y s ( 0 ) and y s ( p ) as:
y s ( 2 p ) = { r = 1 p 1 ( f s ( r 1 ) + f s ( 2 p r 1 ) ) r y s ( 0 ) + 2 y s ( p ) + f s ( p 1 ) p , s = 0 r = 1 p 1 ( f s ( r 1 ) + f s ( 2 p r 1 ) ) s n N ( r s ) s n N ( s ) y s ( 0 ) + 2 c s N ( p s ) y s ( p ) + f s ( p 1 ) s n N ( p s ) s n N ( s ) , s = 1 , N 1 .
This equation gives relationship between three consecutive equidistant DHT spectra, computed at times 0 ,   p , and 2 p .

3. Fast Sliding Algorithm for Computing DHT

3.1. Special Values of Discrete Sinusoidal Functions

Given below are special values ( 0 ,   1 , 1 ) of discrete sinusoidal functions used in the performance analysis of the proposed sliding algorithm. Let us consider the following functions: c s N ( r s ) , s n c N ( r s ) , and c a s N ¯ ( s ) with s = 0, 1,…, N − 1. The special values are shown in Table 1. Here, r, l, and N are arbitrary integer values, and the binary variable b takes the values {0, 1}. So, it is necessary to find such values of the variables l and b in order to obtain integer values of s in the range from 0 to N − 1.
The functions are used in the proposed algorithm in the operations of addition and multiplication; that is, when the functions are equal to 0, then the corresponding addition and multiplication operations can be discarded, and when they are equal to either −1 or 1, then the corresponding multiplication operations can be canceled. Therefore, the use of the special values can reduce the computational complexity of the algorithm.

3.2. Design of Forward Sliding Algorithm

Equation (13) for p > 1 can be rewritten as:
y s ( 2 p ) = { r = 1 p ( B ( r ) + A ( r ) ) r y s ( 0 ) + 2 y s ( p ) , s = 0 cas N ¯ ( s ) ( B ( 1 ) + r = 2 p B ( r ) s n c N ( r s ) ) + ( A ( 1 ) + r = 2 p A ( r ) s n c N ( r s ) ) y s ( 0 ) + 2 c s N ( p s ) y s ( p ) , s = 1 , N 1 ,
where { B ( r ) = Δ ( r ) + Δ ( 2 p r ) ; A ( r ) = Δ ( r 1 ) Δ ( 2 p r 1 ) ; B ( p ) = Δ ( p ) ; A ( p ) = Δ ( p 1 ) ; Δ ( r ) = x ( r + N 2 + 1 ) x ( r N 1 ) ; r = 1 , p 1 } . At each window, the number of additions required for calculation of { B ( r ) , A ( r ) ; r = 1 , p } is 3 p 2 , since the coefficients { Δ ( r ) ; r = 0 , p 1 } have already been computed and stored at the position p of the window.
Suppose that N is odd. Let g r , h r + , h r be the greatest common factors of N and r, r + 1, r − 1, respectively. The property of symmetry of the discrete function s n c N ( r s ) is given as follows: { s n c N ( r s ) = s n c N ( r ( N s ) ) ;   s = 1 , N 1 2 ,   r = 2 , p } . Let us compute h r = M A X ( h r + , h r ) . For a fixed r, the quantities of 0 and ± 1 of { s n c N ( r s ) ;   s = 1 , N 1 2 ,   r = 2 , p } are equal to g r 1 2 and h r 1 2 , respectively (see the second row of Table 1). So, the number of multiplications can be estimated as:
C M U L = N 1 + 2 ( ( p 1 ) N + 1 2 r = 2 p g r + h r 2 2 ) + N = N ( p + 1 ) + 3 p r = 2 p ( g r + h r ) 4 .
Let us denote S U M Q ( s ) r = 1 p Q ( r ) s n c N ( r s ) . Using the symmetry property of the functions { S U M A ( s ) = S U M A ( N s ) , S U M B ( s ) = S U M B ( N s ) ; s = 1 , N 1 2 } , the number of additions can be estimated as:
C A D D = 2 ( ( p 1 ) N + 1 2 r = 2 p g r 1 2 ) + 3 N + 3 p 2 = N ( p + 2 ) + 5 p r = 2 p g r 4 .
Additional expenses are required for calculating initial p coefficients.
Suppose that N is even. Equation (14) can be represented as follows:
y s ( 2 p ) = { r = 1 p ( B ( r ) + A ( r ) ) r y s ( 0 ) + 2 y s ( p ) , s = 0 r = 1 p ( B ( r ) + A ( r ) ) ( 1 ) r 1 r y s ( 0 ) + 2 ( 1 ) p y s ( p ) , s = N 2 cas N ¯ ( s ) ( B ( 1 ) + r = 2 p B ( r ) s n c N ( r s ) ) + ( A ( 1 ) + r = 2 p A ( r ) s n c N ( r s ) ) y s ( 0 ) + 2 c s N ( p s ) y s ( p ) , s = 1 , , N / 2 1 , N / 2 + 1 , , N 1 .
Let g ¯ r , h ¯ r + , h ¯ r be the greatest common factors of N 2 and r, r + 1, r − 1, respectively. In this case, the property of symmetry of the discrete function s n c N ( r s ) is given as follows: { s n c N ( r s ) = s n c N ( r ( N s ) ) = ( 1 ) r 1 s n c N ( r ( N 2 ± s ) ) , s n c N ( r N 2 ) = ( 1 ) r 1 r   ;   s = 0 , [ N 4 ] ,   r = 2 , p } , here [ x / y ] is the integer quotient. Let us compute h ¯ r = M A X ( h ¯ r + , h ¯ r ) . For a fixed r, the quantities of 0 and ± 1 of { s n c N ( r s ) ;   s = 1 , [ N 4 ] ,   r = 2 , p } are equal to [ g ¯ r 2 ] and [ h ¯ r 2 ] , respectively (see second row of Table 1). The number of zeros of { c s N ( p s ) ;   s = 1 , N 1 } is equal to 2 g p (see the first row of Table 1). If N / 8 is integer (see the third row of Table 1), then the number of zeros of the function { c a s N ¯ ( s ) ;   s = 1 , N 1 } equals C c a s = 2 , otherwise C c a s = 0 . It means that the zeros of the function can cancel the operations of multiplication and addition in the first term of (17) (see the last line of the equation) at the corresponding frequencies s. The number of ± 1 of the function { c a s N ¯ ( s ) ;   s = 0 , N 1 } is equal to 2 C c a s . Finally, the number of multiplications can be estimated as follows:
C M U L = N 2 + 2 ( ( p 1 ) ( [ N 4 ] + 1 C c a s 2 ) r = 2 p ( [ g ¯ r 2 ] + [ h ¯ r 2 ] ) ) + N 2 g p 2 C c a s = 2 ( N + ( p 1 ) [ N 4 ] r = 2 p ( [ g ¯ r 2 ] + [ h ¯ r 2 ] ) + p g p 2 ) ( p + 1 ) C c a s .
Using the symmetry property of the functions { S U M A ( s ) = S U M A ( N s ) , S U M B ( s ) = S U M B ( N s ) ; s = 1 , N 2 1 } , the number of additions can be estimated as:
C A D D = 3 N 1 + 2 ( ( p 1 ) ( N 2 + 1 C c a s 2 ) r = 2 p [ g ¯ r 2 ] ) 2 g p + 3 p 2 = N ( p + 2 ) 2 r = 2 p [ g ¯ r 2 ] 2 g p + ( p 1 ) ( 5 C c a s ) .
Additional expenses are needed for calculating initial p coefficients.
To more clearly show the design of the algorithm, we provide an example for computing the sliding DHT coefficients. Assume that N1 = 7, N2 = 8, N = 16, p = 2, the DHT is computed at the window position 2p { y s ( 2 p ) ,   s = 0 ,   1 , ...15 } . We borrow from the window position p two coefficients 0 = x 9 x 7 ;   1 = x 10 x 6 , and calculate the following auxiliary data:
2 = x 11 x 5 ; 3 = x 12 x 4
A 1 = Δ 0 + Δ 2 ;   B 1 = Δ 1 + Δ 3
S 0 = 2 Δ 2 ; S 1 = 1 . 84776 Δ 2 ; S 2 = 1 . 41421 Δ 2 ; S 3 = 0 . 76537 Δ 2
C 0 = 2 Δ 1 ; C 1 = 1 . 84776 Δ 1 ; C 2 = 1 . 41421 Δ 1 ; C 3 = 0 . 76537 Δ 1
Q 0 ± = A 1 ± C 0 ; Q 1 ± = A 1 ± C 1 ; Q 2 ± = A 1 ± C 2 ; Q 3 ± = A 1 ± C 3
M 0 ± = B 1 ± S 0 ; M 1 ± = B 1 ± S 1 ; M 2 = B 1 S 2 ; M 3 ± = B 1 ± S 3
F 1 = 0 . 5412 M 1 + ; F 3 = 0 . 5412 M 3 + ; F 5 = 1 . 30656 M 3
F 6 = 1 . 41421 M 2 ; F 7 = 1 . 30656 M 1 .
DHT coefficients are computed as follows:
y 0 ( 2 p ) = M 0 + Q 0 + y 0 ( 0 ) + 2 y 0 ( p )
y 1 ( 2 p ) = F 1 Q 1 + y 1 ( 0 ) + 1 . 41421 y 1 ( p )
y 2 ( 2 p ) = Q 2 + y 2 ( 0 )
y 3 ( 2 p ) = F 3 Q 3 + y 3 ( 0 ) 1 . 41421 y 3 ( p )
y 4 ( 2 p ) = B 1 A 1 y 4 ( 0 ) 2 y 4 ( p )
y 5 ( 2 p ) = F 5 Q 3 y 5 ( 0 ) 1 . 41421 y 5 ( p )
y 6 ( 2 p ) = F 6 Q 2 y 6 ( 0 )
y 7 ( 2 p ) = F 7 Q 1 y 7 ( 0 ) + 1 . 41421 y 7 ( p )
y 8 ( 2 p ) = M 0 Q 0 y 8 ( 0 ) + 2 y 8 ( p )
y 9 ( 2 p ) = F 1 Q 1 y 9 ( 0 ) + 1 . 41421 y 9 ( p )
y 10 ( 2 p ) = Q 2 y 10 ( 0 )
y 11 ( 2 p ) = F 3 Q 3 y 11 ( 0 ) 1 . 41421 y 11 ( p )
y 12 ( 2 p ) = B 1 A 1 y 12 ( 0 ) 2 y 12 ( p )
y 13 ( 2 p ) = F 5 Q 3 + y 13 ( 0 ) 1 . 41421 y 13 ( p )
y 14 ( 2 p ) = F 6 Q 2 + y 14 ( 0 )
y 15 ( 2 p ) = F 7 Q 1 + y 15 ( 0 ) + 1 . 41421 y 15 ( p ) .
The computational complexity of the algorithm is 25 multiplications and 61 additions.

3.3. Design of Inverse Sliding Algorithm

The inverse sliding DHT computes only the element x ( k p ) of the window. The inverse algorithm can be written as follows:
x ( k p ) = 1 N s = 0 N 1 y s ( k p ) c a s N ( N 1 s ) .
where N = N 1 + N 2 + 1 .
If x ( k p ) is the central window element, that is, N = 2 N 1 , then one can simplify the inverse transform to:
x ( k p ) = 1 N s = 0 N 1 y s ( k p ) ( 1 ) s .
Finally, for N 1 = 0 the inverse transform is given as:
x ( k p ) = 1 N s = 0 N 1 y s ( k p ) .
The proposed algorithms require only one multiplication and N − 1 additions.

4. Results and Discussion

In this section, using computer simulation, we analyze the performance of the proposed algorithm with respect to the computational complexity and execution time and compare it with that of fast DHT and conventional recursive algorithms. Among fast DHT algorithms, the most popular are fast radix-2 [21,22]. The recursive sliding (with a step of one) DHT algorithms [19,20] are carried out p times for computing the DHT spectra at equidistant positions kp of the window. Table 2 and Table 3 show the computational complexity in terms of multiplications and additions, respectively, of the proposed, fast radix-2 DHT, and known sliding algorithms at a fixed window position for p = 2 when N varies.
It can be seen that the proposed algorithm for p > 2 outperforms the conventional sliding DHT algorithms. Note that the proposed algorithm is more efficient than the fast and conventional recursive algorithms when the window length increases.
In modern processors, the execution times of floating point multiplication and addition are comparable. So, further we will estimate the computational complexity with respect to flop counts (real additions and multiplications). Table 4 shows the computational complexity of the tested algorithms for N = 256 when p varies.
It can be seen that the proposed algorithm is more efficient than the fast DHT algorithm when the step p < 5 . This boundary value of the step, when the proposed algorithm is still better than the fast DHT algorithm, increases with increasing the window length.
Obviously, the execution time of any algorithm depends on the characteristics of a computer used in a particular implementation of the algorithm. Now, with the help of computer simulation, we want to illustrate how the theoretical computational complexity of the tested algorithms relates to the execution time of the implemented algorithms. Computer simulation was performed on a laptop with an Intel Core i7-2630QM processor with 8 GB of RAM using the MATLAB R2012b. Experiments were carried out 100 times to ensure statistically correct results. Average time results for each algorithm were calculated. Figure 1 shows the performance of the tested algorithms in terms of runtime: DHT is the discrete Hartley transform given by definition, Fast DHT is implemented in Matlab, SDHT is sliding DHT [20], ALG is the proposed algorithm.
It can be seen that the obtained results are in good agreement with the results in Table 4. Only the performance of the fast algorithm implemented in the MATLAB is slightly lower than that of the algorithm [22].
There are four types of DHT [16] that are suitable for the time varying processing of different signal models. In this paper, the second order recursive equation and fast recursive algorithm have been proposed for only one type of discrete Hartley transform (DHT-I). In the future, the same approach can be used to derive recursive equations and design fast recursive algorithms for other types of DHT, which will allow the system to work effectively with various signal models.

5. Conclusions

A second-order recursive equation between three consecutive equidistant DHT spectra was obtained utilizing of the unilateral z-transform technique. Using the properties of discrete sinusoidal functions and the recursive equation, a fast sliding DHT algorithm was proposed. A fast inverse sliding DHT transform was also presented. The computational complexity of the proposed sliding algorithm was compared with the known running and fast DHT algorithms. The proposed algorithm was implemented on a laptop, and it was shown that the theoretical computational complexity and execution time of the implemented algorithm are in good agreement.

Funding

This research received no external funding.

Conflicts of Interest

The author declares no conflict of interest.

References

  1. Oppenheim, A.V.; Schafer, R.W. Discrete-Time Signal Processing, 3rd ed.; Prentice Hall Press: Upper Saddle River, NJ, USA, 2009. [Google Scholar]
  2. Wang, X.; Huang, G.; Zhou, Z.; Tian, W.; Yao, J.; Gao, J. Radar emitter recognition based on the energy cumulant of short time Fourier transform and reinforced deep belief network. Sensors 2018, 18, 3103. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  3. Thalmayer, A.; Zeising, S.; Fischer, G.; Kirchner, J. A robust and real-time capable envelope-based algorithm for heart sound classification: Validation under different physiological conditions. Sensors 2020, 20, 972. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  4. Maciusowicz, M.; Psuj, G. Use of time-dependent multispectral representation of magnetic Barkhausen noise signals for the needs of non-destructive evaluation of steel materials. Sensors 2019, 19, 1443. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  5. Lv, Y.; Pan, B.; Yi, C.; Ma, Y. A novel fault feature recognition method for time-varying signals and its application to planetary gearbox fault diagnosis under variable speed conditions. Sensors 2019, 19, 3154. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  6. Allen, J. Applications of the short time Fourier transform to speech processing and spectral analysis. In Proceedings of the Acoustics Speech and Signal IEEE International Conference on ICASSP, Paris, France, 3–5 May 1982; pp. 1012–1015. [Google Scholar] [CrossRef]
  7. Kober, V. Robust and efficient algorithm of image enhancement. IEEE Trans. Consum. Electron. 2006, 52, 655–659. [Google Scholar] [CrossRef]
  8. Jacobsen, E.; Lyons, R. The sliding DFT. IEEE Signal Process. Mag. 2003, 20, 74–80. [Google Scholar]
  9. Karnaukhov, V.; Kober, V. A fast preview restoration algorithm for space-variant degraded images. In Proceedings of the SPIE’s 61 Annual Meeting: Applications of Digital Image Processing XXXIX, San Diego, CA, USA, 29 August–1 September 2016. [Google Scholar] [CrossRef]
  10. Bracewell, R.N. The Hartley Transform; Oxford Univ. Press: New York, NY, USA, 1986. [Google Scholar]
  11. Agbinya, J.I.; McLean, D.J. Generalised short-time Hartley transforms for speech processing. In Proceedings of the IEEE Conf. ICCS, Singapore, 14–18 November 1994; pp. 893–896. [Google Scholar] [CrossRef]
  12. Varela, J.; Rodriguez, G.; Guedes Soares, C. Comparison study between the Fourier and the Hartley transforms for the real-time simulation of the sea surface elevation. Appl. Ocean Res. 2018, 74, 227–236. [Google Scholar] [CrossRef]
  13. Pattanaik, S.K.; Kamalakanta, M. DHT Based JPEG image compression using a novel energy quantization method. In Proceedings of the IEEE International Conference on Industrial Technology, Mumbai, India, 15–17 December 2006; pp. 2827–2832. [Google Scholar] [CrossRef]
  14. Maharana, G.; Meher, P.K. Algorithm for efficient interpolation of real-valued signals using discrete Hartley transform. Comput. Electr. Eng. 1997, 23, 129–134. [Google Scholar] [CrossRef]
  15. Wang, Z. Fast algorithms for the discrete W transform and for the discrete Fourier transform. IEEE Trans. Acoust. Speech Signal Process. 1984, 32, 803–816. [Google Scholar] [CrossRef]
  16. Hu, N.-C.; Chang, H.-I.; Ersoy, O.K. Generalized discrete Hartley transforms. IEEE Trans. Signal Process. 1992, 40, 2931–2940. [Google Scholar]
  17. Britanak, V.; Rao, K.R. The Fast generalized discrete Fourier transforms: A unified approach to the discrete sinusoidal transforms computation. Signal Process. 1999, 79, 135–150. [Google Scholar] [CrossRef]
  18. Kober, V. Fast algorithms for the computation of sliding discrete sinusoidal transforms. IEEE Trans. Signal Process. 2004, 52, 1704–1710. [Google Scholar] [CrossRef]
  19. Xi, J.; Chicharo, J.F. Computing running Hartley transform and running discrete W transforms based on the adaptive LMS algorithm. IEEE Trans. Syst. II 1997, 44, 257–260. [Google Scholar]
  20. Kober, V. Fast algorithms for the computation of sliding discrete Hartley transforms. IEEE Trans. Signal Process. 2007, 55, 2937–2944. [Google Scholar] [CrossRef]
  21. Bi, G.; Chen, Y.Q.; Zeng, Y. Fast generalized DFT and DHT algorithms. Signal Process. 1998, 65, 383–390. [Google Scholar] [CrossRef]
  22. Grigoryan, A.M. A novel algorithm for computing the 1-D discrete Hartley transform. IEEE Signal Process. Lett. 2004, 11, 156–159. [Google Scholar] [CrossRef]
Figure 1. Performance of the tested algorithms in terms of runtime (milliseconds) per window when N = 256 and p varies from 2 to 10.
Figure 1. Performance of the tested algorithms in terms of runtime (milliseconds) per window when N = 256 and p varies from 2 to 10.
Sensors 20 05556 g001
Table 1. Special values of the discrete sinusoidal functions.
Table 1. Special values of the discrete sinusoidal functions.
FunctionsValues
01−1
c s N ( r s ) s = N 4 r ( 2 l + 1 ) s = N r l s = N 2 r ( 2 l + 1 )
s n c N ( r s ) s = N 2 r l ; s 0 , N 2 s = N 2 ( 2 l + b ) ( r + 2 b 1 ) s = N 2 ( 2 l + b ) ( r 2 b + 1 )
c a s N ¯ ( s ) s = N 8 ( 4 l + 1 ) s = 0 ; s = 3 N 4 s = N 4 ; s = N 2
Table 2. Comparison of the tested algorithms with respect to multiplications for computing sliding DHT with p = 2.
Table 2. Comparison of the tested algorithms with respect to multiplications for computing sliding DHT with p = 2.
AlgorithmsNumber of Operations, N = 2MN-Length of Sliding Window
163264128256512
Fast DHT [22](M − 3)N/2 + 21034982586421538
Ref. [19](2N − 1)p6212625451010222046
Ref. [20](5/4(N − 4)−1)p28681483086281268
Proposed ALGEquation (18)25681483086281268
Table 3. Comparison of the tested algorithms with respect to additions for computing sliding DHT with p = 2.
Table 3. Comparison of the tested algorithms with respect to additions for computing sliding DHT with p = 2.
AlgorithmsNumber of Operations, N = 2MN-Length of Sliding Window
163264128256512
Fast DHT [22](M + 9)N/2-M2 − b3M − 67017842094820824494
Ref. [19](3N − 1)p9419038276615343070
Ref. [20](5N/2 + 2)p8416432464412842564
Proposed ALGEquation (19)6112525350910212045
Table 4. Comparison of the tested algorithms in terms of flops for computing sliding DHT, N = 256.
Table 4. Comparison of the tested algorithms in terms of flops for computing sliding DHT, N = 256.
Algorithmsp-Step of Sliding Window
23456
Fast DHT [22]27242724272427242724
Ref. [19]25563834511263907668
Ref. [20]19122868382447805736
Proposed ALG16492036240327983177

Share and Cite

MDPI and ACS Style

Kober, V. Fast Recursive Computation of Sliding DHT with Arbitrary Step. Sensors 2020, 20, 5556. https://doi.org/10.3390/s20195556

AMA Style

Kober V. Fast Recursive Computation of Sliding DHT with Arbitrary Step. Sensors. 2020; 20(19):5556. https://doi.org/10.3390/s20195556

Chicago/Turabian Style

Kober, Vitaly. 2020. "Fast Recursive Computation of Sliding DHT with Arbitrary Step" Sensors 20, no. 19: 5556. https://doi.org/10.3390/s20195556

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