Content area

Abstract

This paper proposes fast algorithms for odd-time and odd-frequency discrete Hartley transforms (DHTs) with normalization if the size of the input sequence ranges from 2 to 8. Fast algorithms for small-sized inputs can be included as modules in fast algorithms for discrete transforms of large-length input sequences. The existing fast odd-time DHT and odd-frequency DHT algorithms are primarily radix-type algorithms, specifically, radix-2 and prime factor algorithms. However, the algorithms in the literature do not normalize the initial transform. This means that after applying such algorithms, additional N multiplications are required. In this paper, the structural approach is exploited supposing that the starting point to design the fast algorithms is a matrix vector product expression. The factorization of the matrices of DHT coefficients is produced to reduce computational complexity taking into account the repetition and arranging of the matrix entries. The strict mathematical background proves the correctness of the obtained algorithmic solutions. Also, the MATLAB R2023b environment was applied for testing of the performance of the proposed algorithms. The obtained factorizations of the odd-time DHT and odd-frequency DHT matrices allow us to reduce the number of multiplications by 69%, while the amount of additions is decreased by about of 5% for odd-time DHTs and 8% for odd-frequency DHTs if the length of input data is in the range from 2 to 8. A comparison is provided with the direct calculation of the matrix vector product. Additionally, the computational complexity for each obtained solution is compared with the computational complexity of the existing fast algorithms for odd-time DHTs and odd-frequency DHTs. In addition, data flow graphs have been created for the proposed odd-time DHT and odd-frequency DHT algorithms. The modular space–time structure of the resulting data flow graphs is suitable for VLSI implementation.

Full text

Turn on search term navigation

1. Introduction

The DHT is widely applied in digital signal and image processing to obtain the frequency representation of data [1,2,3]. This transform is used in image compression [4], smart grid applications [5], wireless communication [6], audio watermarking [7], digital image watermarking [8,9,10], signal processing [11], and other applications. This transform can successfully supplement the discrete cosine transform (DCT) in different applications due to additional exploiting of the sine transform [1,2,3]. The latter allows for the processing of the signal details at high noise levels with better performance. For example, in [12], the DHT is applied in three-dimensional (3D) medical image compression. X-ray angiogram (XA) and magnetic resonance (MR) data with varied resolutions and with different numbers of frames/slices were processed. Each XA or MR data point was represented by a 3D array which was divided into blocks of size 8 × 8 × 8, and then a 3D DHT and a 3D zigzag scheme were employed. For comparison, the 3D DCT was applied with the corresponding zigzag pattern [13]. In the full 3D DHT-based codec implementation, only the first L zig-zag coefficients are preserved, encoded by entropy coding [14], and then transmitted and/or stored. However, to study the effect of the 3D DHT block, the bitrate in bit per voxel (bpv) must be calculated before entropy coding. As a result, both transforms have shown better performance at compressing XA data than MR data. Compared with the DCT on the XA data [15], approximate versions of the exact 3D DHT and the one proposed in [12] present better performance than the 3D DCT in terms of peak noise–signal ratio for the low bitrate ranging from 1 bpv to 6 bpv.

To increase robustness against various noise disturbances, similar advantages of the DHT are employed in image and audio watermarking [8,9,10]. Additionally, a significant reduction in the multiplicative complexity allows us to increase the computing efficiency and save resources [12].

To date, different DHT types have been exploited, specifically a generalized DHT [16,17], sliding DHT [18], two-dimensional DHT [19,20], 3D DHT [12], etc. However, the traditional DHT is still the most developed and researched transform compared with other types of DHT transforms [21,22,23,24]. In our paper, the odd-time DHT and odd-frequency DHT are considered. The odd-frequency DHT allows for data processing of frequencies that are centred in the range of those employed by the traditional DHT.

Direct computation of the different types of DHTs requires a huge number of arithmetic operations. Specifically, direct computation of the odd-time DHT or odd-frequency DHT of an N-point sequence requires N2 multiplications which are especially time- and resource-consuming. To achieve a reduction in computational complexity, fast DHT algorithms have been designed [23,24,25]. But in articles devoted to the efficient implementation of the odd-time DHT and odd-frequency DHT, large-length inputs are considered [17,25,26,27,28,29,30,31]. It should be noted that more complex fast algorithms can be designed with modules containing odd-time DHT and odd-frequency DHT algorithms for short-length sequences [17]. In particular, in [21], a 2mn-point odd-frequency DHT is used to develop a split algorithm for a 2m-point traditional DHT with reduced arithmetic complexity, where n is changed in the range from 1 to m. Once constructed, odd-time DHT and odd-frequency DHT algorithms for small-size inputs can be successfully exploited in different applications. As such, the development of fast odd-time DHT and odd-frequency DHT algorithms for short-length input sequences is a topical issue, and the appropriate approach for solving the determined parts of a general problem should be selected.

1.1. Related Papers

Most of the fast odd-time DHT and odd-frequency DHT algorithms are designed based on the divide-and-conquer strategy [17], which means obtaining a solution of a large problem via a set of solutions of smaller tasks. Bearing in mind this strategy, radix-type algorithms were developed including radix-2 and prime factor algorithms.

Thus, the radix-2 fast odd-time DHT and odd-frequency DHT algorithms were proposed in [17,26,27,28,29]. In [26,27] the proposed fast algorithms decompose the N-point odd-time DHT into two adjacent N/2-point odd-time DHTs. Such fast odd-time DHT algorithms save from 16% to 24% of the arithmetic operations in comparison with Hu’s algorithm if N varies from 16 to 64 [26].

In [17] the N-point odd-frequency DHT is decomposed into the N/2-point odd-frequency DHT and the N/2-point odd-time odd-frequency DHT. For odd-time DHT similar algorithms are also proposed. As a result, the computational complexity of the N-point odd-time DHT and odd-frequency DHT is reduced. In [28] the odd-frequency DHT of length N = 2m was represented by several 16-point odd-frequency DHTs. Then the 16-point odd-frequency DHT is calculated by first-order moments. As a consequence, a needed number of additions and multiplications is lower than in other existing algorithms.

In [29,30] radix-2 fast algorithms are developed for the VLSI implementation of odd-time DHT and odd-frequency DHT of length N = 2m. The algorithms differ by parallelism as well as regular and simple computational structure with low arithmetic cost.

Developed in [26,27,28,29] the fast odd-time DHT and odd-frequency DHT algorithms apply the decimation-in-frequency approach. However, for real-time applications the fast algorithms based on the decimation-in-time approach are preferable. Presented in [31] the radix-2 fast odd-time DHT algorithm with decimation-in-time substantially saves the arithmetic operations relative to Hu’s algorithm. Also, in [31] a regular signal flow graph is constructed which can be used for odd-time DHT with different lengths of inputs.

In [32] a split-radix algorithm with decimation-in-time splits N-point odd-time DHT into N/2-point odd-time DHT for even indexed samples and two odd-time DHTs of length N/4 for odd-indexed samples. Thus the number of multiplications and additions was reduced up to 29% and 10% respectively in comparison with the radix-2 odd-time DHT algorithm [31].

Mentioned radix-2 odd-time DHT and odd-frequency DHT algorithms are cost-effective but when the input sequence length is not a power of two the computational overhead frequently arises. Thus the prime factor algorithms are introduced in [17] for sequence lengths N = p × q, where p and q are relatively prime. The first prime factor algorithm decomposes the N-point odd-time DHT into p q-point odd-time DHT and q p-point odd-time DCTs. A similar decomposition also takes place for odd-frequency DHT by replacing odd-time transforms with odd-frequency transforms. However, in this case, irregularity in the index mapping occurs. To implement the in-place computation, which is easily attained by the radix-2 algorithms, the second prime factor algorithm was developed [17]. The N-point odd-time DHT is decomposed into N/q q-point odd-frequency DCTs and q N/q-point odd-time DHTs. The N-point odd-frequency DHT computation is decomposed into q N/q-point odd-frequency DHTs and N/q q-point odd-time DCTs.

Along with the algorithms synthesized based on the divide-and-conquer strategy, the algebraic signal processing is taken into account to develop the fast odd-time DHT and odd-frequency DHT algorithms. Thus, in [33] the polynomial transforms, linear congruencies, and index permutations are applied to design the fast odd-time DHT and odd-frequency DHT algorithms. In [11] fast general-radix algorithms for a wide class of orthogonal trigonometric transforms are provided. This transform class includes the odd-time DHT and odd-frequency DHTs and related algorithms are obtained by manipulating the polynomial algebras instead of manipulating the transform expression.

The short review of existing fast odd-time DHT and odd-frequency DHT algorithms has allowed defining their drawbacks and formulation of unsolved parts of the general problem of reducing computational complexity.

1.2. The Main Contributions of the Paper

After review, we note that the existing fast odd-time DHT and odd-frequency DHT algorithms are developed using polynomial algebras or radix-type approach. However, several papers devoted to fast algorithms for orthogonal trigonometric transforms exploit a structural approach that compares the transform coefficient matrix with matrix patterns [34,35,36,37,38,39]. As an option, these matrix patterns are introduced in [34] based on Winograd’s approach to the fast algorithm development. The advantage of the structural approach is the factorization of the transform matrix on sparse, scaled orthogonal, rotational, or rotational-reflection matrices [38,39]. Moreover, based on the structural approach we can obtain the data flow graphs of odd-time DHT and odd-frequency DHT algorithms with only one multiplication along the critical path [34,35,36,37]. If there is more than one multiplication in the critical path of the algorithm, then this will create additional problems for the implementation of computations.

In [37] based on the structural approach efficient algorithms for small-sized odd-time DHT were developed that do not consider the normalizing coefficients. Many authors do this, naively thinking that the result can be multiplied by the normalizing constants at subsequent stages of data processing and combined with other calculations. However, this trick cannot always be implemented, and then the normalization still has to be introduced leading to the need to perform N additional multiplications. This means that to obtain true quantitative estimates of the computational complexity of the proposed solutions, it is necessary to include N additional multiplications for each N-point algorithm, otherwise such estimates will be incorrect. To avoid such shortcomings, it is necessary to consider the normalizing constants in the original transform matrix at the very beginning.

The article [34] describes a general approach to constructing reduced complexity algorithms for calculating matrix-vector products in those cases where the matrices have certain structures. In the paper, we apply this approach to specific transforms, namely, odd-time DHT and odd-frequency DHT. Taking into account the normalization of these transforms is influenced by the number of arithmetic operations, and in some cases on the matrix structure. As a result, the mentioned approach can also allow us to obtain new interesting solutions if normalization is kept in mind.

Therefore, in this article, we consider the case of factorization of the original transformation matrices, the entries of which are already initially multiplied by the corresponding normalizing constants. This paper aims to reduce the computational complexity of the odd-time DHT and odd-frequency DHT with normalization via developing fast algorithms. We base on the structural approach supposing that input sequence length N is changed from 2 to 8.

The article is organized as follows. The considered problem is introduced and the research subject is formulated in Section 1. Brief mathematical background is provided and the used notations are defined in Section 2. Section 3 is devoted to odd-time DHT and odd-frequency DHT matrix factorizations for different N from 2 to 8 and following obtaining of the fast odd-time DHT and odd-frequency DHT algorithms via the data flow graphs. In Section 4 and Section 5 the computational complexity of the proposed fast odd-time DHT and odd-frequency DHT algorithms is evaluated. In Section 6 the conclusions are provided.

2. Preliminary Background

The traditional DHT is expressed as follows [17]:

(1)yk=n=0N1xncas2πnkN, k=0, 1, , N1,

where casθ = sinθ + cosθ = 2cos(θπ/4);  yk is the output data sequence after the traditional DHT; xn is the sequence of input data; N is the number of signal samples.

The direct generalized DHT can be described by the following expression [17]:

(2)yk=n=0N1xncas(n+n0)(k+k0)2πN, k=0, 1, , N1,

where yk is the output sequence after the direct generalized DHT; n0 is a time shift; k0 is a frequency shift.

Using the expression (2) we have the traditional DHT if n0=0, k0=0, the odd-time DHT if n0=1/2, k0=0, the odd-frequency DHT if n0=0, k0=1/2, the odd-time odd-frequency DHT if n0=1/2, k0=1/2. When for the odd-time DHT with normalization the expression (2) is represented as follows [17]:

(3)yk=1Nn=0N1xncasπ2n+1kN, k=0, 1, , N1,

where yk is the output sequence after the odd-time DHT.

For the odd-frequency DHT with normalization we derive the expression (2) as follows [17]:

(4)yk=1Nn=0N1xncasπ2k+1nN,

where yk is the odd-frequency DHT outputs, k=0, 1, , N1.

The odd-time DHT and odd-frequency DHT can be obtained as a matrix-vector product:

(5)YN×1=CNXN×1,

where CN=c0,0c0,1c0,N1c1,0c1,1c1,N1cN1,0cN1,1cN1,N1, ckn=1Ncasπ2n+1kN for odd-time DHT, and ckn=1Ncasπ2k+1nN for odd-frequency DHT, n, k = 0, …, N − 1; YN×1=y0, y1, , yN1T, XN×1=x0, x1, , xN1T.

Because the generalized DHT with normalization is orthonormal then the matrices of inverse transforms are transposed to the direct ones. That is, for odd-time DHT the inverse is odd-frequency DHT and vice versa. For traditional DHT the inverse transform is the same [40].

In the article the following notations and abbreviations are used [34]:

  • ⊕ is the direct sum of two matrices;

  • IN is an order N identity matrix;

  • ⊗ is a Kronecker product of two matrices;

  • H2 is a 2 × 2 Hadamard matrix;

  • sm(N) is a multiplier;

  • PN is a permutation matrix;

  • WM×N is a block-diagonal matrix of size M × N;

  • WN, DN are block-diagonal and diagonal matrices of size N × N, respectively;

  • an empty cell in a matrix means that it contains zero;

  • DHT is a discrete Hartley transform;

  • VLSI is very large-scale integration;

  • DCT is a discrete cosine transform;

  • XA is a X-ray angiogram;

  • MR is magnetic resonance;

  • 3D is a three-dimensional data.

3. Reduced Complexity Algorithms for Short-Length Odd-Time DHT and Odd-Frequency DHT

3.1. Algorithms for 2-Point Odd-Time DHT and Odd-Frequency DHT

To develop the algorithm for two-point odd-time DHT with normalization we consider the expression:

(6)Y2×1=C2X2×1,

where C2=a2a2a2a2, a2=12cas0=12 0.7071, b3=13casπ3 0.7887, c3=13cas2π3 0.2113, Y2×1=y0, y1T, X2×1=x0, x1T. The expression (6) for two-point odd-frequency DHT with normalization is the same because C2=C2T.

Then the factorization of the odd-time and odd-frequency DHT matrix for N = 2 can be presented as follows:

(7)Y2×1=D2H2X2×1,

where D2=diags0(2), s1(2),s0(2)=s1(2)=a2.

We have shown a data flow graph of the algorithm for the 2-point odd-time DHT and odd-frequency DHT in Figure 1. As can be seen, we have 2 additions as well as when using the direct method. The number of multiplication is also 2 against 4 multiplications for the direct matrix-vector product.

3.2. Algorithms for 3-Point Odd-Time DHT and Odd-Frequency DHT

The expression for 3-point odd-time DHT with normalization is as follows:

(8)Y3×1=C3X3×1,

where Y3×1= y0, y1,y2T, X3×1=x0, x1, x2T, C3=a3a3a3b3a3c3c3a3b3 with a3=13cas0=13 0.5774, b3=13casπ3 0.7887, c3=13cas2π3 0.2113. For odd-frequency DHT with normalization we use C3T instead of C3 in Equation (8).

To factorize the C3 matrix we swap the first and second rows. Then we alter the sign of the third row and third column of the resulted matrix C3(a) and decompose it into two components:

(9)C3(a)=C3(b)+C3(c),

where C3(b)=a3a3a3a3a3, C3(b)=b3c3c3b3.

In the second column and second row of the matrix C3(b) we obtained identical entries that differ only in sign. Therefore, the number of operations can be reduced without additional transforms. Next, we eliminate the second row and second column containing only zero entries in matrix C3(c), and matrix C2(a)=b3c3c3b3 was obtained.

We derive the factorization for the 3-point odd-time DHT based on the decomposition of matrix C2(a) [34,37]:

(10)Y3×1=P3W3×4W4D4W4×3W3X3×1,

where D4=diags0(3), s1(3), s2(3), s3(3), s0(3)=(b3+c3)/2, s1(3)=(b3c3)/2, s2(3)=s3(3)=a3,

 W4=(I-2H2) I2, 

P3=111, W3×4=111111, W3=11111, W4×3=1111.

Based on Equation (10) the factorization for the 3-point odd-frequency DHT is obtained as:

(11)Y3×1=W3TW4×3TD4W4TW3×4TP3TX3×1.

A data flow graph of the 3-point odd-time DHT algorithm is shown in Figure 2. Then the amount of multiplications can be reduced from 9 to 3 because s0(3)=0.5. However, the number of additions enlarges from 6 to 7.

A data flow graph of the 3-point odd-frequency DHT algorithm is shown in Figure 3. The number of arithmetic operations remains the same as for 3-point odd-time DHT.

3.3. Algorithms for 4-Point Odd-Time DHT and Odd-Frequency DHT

The four-point odd-time DHT with normalization is defined as follows:

(12)Y4×1=C4X4×1,

where Y4×1=y0, y1,y2, y3T, X4×1=x0, x1, x2, x3T, C4=a4a4a4a4b40b40a4a4a4a40b40b4 with a4=12cas0= 0.5, b4=12casπ4 0.7071. For odd-frequency DHT with normalization we use C4T instead of C4 in Equation (12).

We permutate the rows of C4 according to π4=12133424. The permutation matrix is P4=1111. The obtained matrix C4(a)=a4a4a4a4a4a4a4a4b40b400b40b4 matches the pattern A2A2B2B2 where A2=a4a4a4a4 and B2=b4b4.

Applying the matrix templates from [34,37], we derive the expressions

(13)C4(a)=(A2B2)(H2I2), A2=(a4a4)H2, B2=(b4b4)I2.

Therefore the factorization of the 4-point odd-time DHT matrix is as follows:

(14)Y4×1=P4D4W4(0)W4(1)X4×1,

where W4(0)=H2I2, D4=diags0(4), s1(4), s2(4), s3(4), s0(4)=s1(4)=a4, s2(4)=s3(4)=b4, W4(1)=H2I2.

The data flow graph of the 4-point odd-time DHT algorithm is presented in Figure 4. As one can see, the number of multiplications is reduced from 4 to 2 because s0(4)=s1(4)=a4=0.5, the number of additions is decreased from 8 to 6 compared to direct matrix-vector product.

Taking into consideration the Equation (14), the factorization for the four-point odd-frequency DHT matrix is expressed as

(15)Y4×1=W4(1)TW4(0)TD4P4TX4×1

The algorithm of the 4-point odd-frequency DHT with normalization is provided as a data flow graph in Figure 5. The number of arithmetic operations is the same as for odd-time DHT.

3.4. Algorithms for 5-Point Odd-Time DHT and Odd-Frequency DHT

To develop the algorithm for five-point odd-time DHT with normalization we use the following expression

(16)Y5×1=C5X5×1,

where Y5×1=y0, y1, y2, y3, y4T, X5×1=x0, x1, x2, x3, x4T, a5 = 15 0.4472, b5 = 15casπ50.6247, c5 = 15cas3π5 0.2871, d5 = 15cas2π5 0.5635, e5 = 15cas4π5 0.0989,

C5=a5a5a5a5a5b5c5a5d5e5d5b5a5e5c5c5e5a5b5d5e5d5a5c5b5.

For odd-frequency DHT with normalization in Equation (16) we use C5T instead of C5.

We alter the order of rows and columns of C5 applying the permutations

π5=1223345154, π6=1212345354.

The corresponding permutation matrices are as follows

P5(1)=11111, P5(0)=11111.

Then we decompose the resulting matrix C5(a) into two submatrices:

(17)C5(a)=C5(b)+C5(c),

where C5(b)=a5a5a5a5a5a5a5a5a5 and C5(c)=b5c5e5d5d5b5c5e5 e5d5b5c5c5e5d5b5.

In the third column and third row of the matrix C5(b) it is obtained identical entries that differ only in sign. Therefore, the number of operations can be reduced without additional transforms [36]. We eliminate in matrix C5(c) the row and column with only zero entries. The resulted matrix

C4(d)=b5c5e5d5d5b5c5e5e5d5b5c5c5e5d5b5

matches the matrix template A2(a)B2(a)B2(a)A2(a) where A2(a)=b5c5d5b5, B2(a)=e5d5c5e5.

The factorization of template A2(a)B2(a)B2(a)A2(a) is known from [34], and we represent the matrix C4(d) as

(18)C4(d)=(I-2  I2)(H2  I2)1/2[(A2(a)+B2(a))  (A2(a)B2(a))](H2  I2),

where I-2=1001. The resulting matrices A2(a)+B2(a)=b5+e5c5d5d5c5b5e5 and A2(a)B2(a)=b5e5c5+d5d5+c5b5+e5 match the templates ghhg and pqqp, respectively. Therefore, we obtain the following factorizations from [34]:

(19)A2(a)+B2(a)=I-2H2×diag((g+h)/2, (g h)/2)H2,A2(a)B2(a) =T2×3(4)×diag(p q, p q, q)T3×2(3),

where T2×3(4)=101011, T3×2(3)=100111, g=b5+e5, h=c5d5, p=b5e5, q=c5+d5.

Let us add matrices from decomposition (19) to the left of the diagonal matrix into the matrix  W6×7=(I-2H2) I2  T2×3(4), and to the left of the diagonal matrix into the matrix  W7×6=H2  I2  T3×2(3). Combining the expressions (17), (18), and (19) the matrix factorization for the five-point odd-time DHT with normalization is represented as

(20)Y5×1=P5(1)W5×6W6(1)W6×7D7W7×6W6(0)W6×5P5(0)X5×1

where

D7=diags0(5), s1(5), s2(5), s3(5),s4(5), s5(5), s6(5), s0(5)=(b5+e5+c5d5)/4; s1(5)=(b5+e5c5+d5)/4;s2(5)=a5; s3(5)=a5; s4(5)=(b5e5c5d5)/2; s5(5)=(b5+e5c5d5)/2; s6(5)=(c5+d5)/2; W6(1)=1111111111, W6(0)=1111111111,W6×5=111111111, W5×6=1111111111.

We have added the matrix I2 into the crossing of third and fourth columns and rows of the matrices  W7×6, W6×7, W6(1) and W6(0). This allows the factorizing the matrix C5(b) using W6×5 and W5×6.

Next, we present the algorithm of the five-point odd-time DHT with normalization via the data flow graph in Figure 6. As one can see, the number of multiplications is reduced from 25 to 6 because s1(5)=0.25; the number of additions is enlarged from 20 to 23.

Based on Equation (20), the matrix factorization for the five-point odd-frequency DHT with normalization is represented as

(21)Y5×1=P5(0)TW6×5TW6(0)TW7×6TD7W6×7TW6(1)TW5×6TP5(1)TX5×1

Figure 7 shows a data flow graph of the algorithm for the five-point odd-frequency DHT with normalization. The number of arithmetic operations is the same as for 5-point odd-time DHT with normalization.

3.5. Algorithms for 6-Point Odd-Time DHT and Odd-Frequency DHT

Let us propose an algorithm for six-point odd-time DHT with normalization which is expressed as follows:

(22)Y6×1=C6X6×1,

where Y6×1=y0, y1,y2, y3, y4, y5T, X6×1=x0, x1, x2, x3, x4, x5T,

C6=a6a6a6a6a6a6b6a6c6b6a6c6b6a6c6b6a6c6a6a6a6a6a6a6c6a6b6c6a6b6c6a6b6c6a6b6

with a6=160.4082, b6 = 16casπ6 0.5577, c6 = 16cas2π3 0.1494. For odd-frequency DHT with normalization in Equation (22) we use C6T instead of C6.

Note that c6 =  b6a6, thus we decompose C6=a6C6(a)+C6(b), where

C6(a)=111111011011011011111111110110110110, C6(b)= b6b6b6b6b6b6b6b6 b6b6b6b6b6b6b6b6.

Further the matrix C6(a) is added to factorization immediately as a submatrix of the matrix W8×10:  W8×10=C6(a)  B2×4, B2×4=11111111. The matrix B2×4 is determined by the structure of the matrix C6(b) for which the second and sixth rows, the third and fifth rows are the same except on the sign. The matrices W10×6 and W6×8 will denote the order of the columns and the rows of the matrices C6(a) and B2×4 in resulted factorization. The identity submatrix I6 of W10×6 and W6×8 related to C6(a), and the rest submatrices of W10×6 and W6×8 related to B2×4:

W10×6=1111111111,W6×8=1111111111

Let us introduce s06 =s16=s26=s36=s46 =s56=a6 to multiply the each row of matrix C6(a), and s66=s76=b6 to multiply the each row of B2×4. Then the factorization of the matrix of the 6-point odd-time DHT with normalization can be expressed as [37]

(23)Y6×1=W6×8D8W8×10W10×6X6×1,

where D8=diag(s06, s16, s26, s36, s46, s56, s66, s76).

Figure 8 shows the data flow graph of the algorithm of the 6-point odd-time DHT with normalization. The amount of multiplications and additions can be lessened from 36 to 8 and from 30 to 28, respectively.

Based on Equation (23), the matrix factorization for the 6-point odd-frequency DHT with normalization is expressed as

(24)Y6×1=W10×6TW8×10TD8W6×8TX6×1,

Figure 9 shows the data flow graph of the algorithm implementing the 6-point odd-frequency DHT with normalization. As one can see, the amount of multiplications may be lessened from 36 to 8. Also we decreased the amount of additions from 30 to 24.

3.6. Algorithms for 7-Point Odd-Time DHT and Odd-Frequency DHT

Now we will design the algorithm for 7-point odd-time DHT with normalization using the expression

(25)Y7×1=C7X7×1,

where Y7×1= y0, y1,y2, y3, y4, y5, y6T, X7×1=x0, x1, x2, x3, x4, x5, x6T, a7 = 17 0.3780, b7 = 17casπ7 0.5045, c7 = 17cas3π7 0.4526, d7 = 17cas5π7 0.0598, e7 = 17cas2π7 0.5312, g7 = 17cas6π7 0.1765, f7 = 17cas4π7 0.2844,

C7=a7a7a7a7a7a7a7b7c7d7a7e7f7g7e7g7c7a7f7b7d7c7e7b7a7g7d7f7f7d7g7a7b7e7c7d7b7f7a7c7g7e7g7f7e7a7d7c7b7.

For odd-frequency DHT with normalization in Equation (25) the C7T matrix must be used instead of C7.

Let us define the permutations π7 and π8:

π7=12233456741765, π8=12345671234765.

After permutation of the rows of C7 with π7 and permutation the columns of C7 with π8, we alter the sign of the fifth, sixth, and seventh columns. The corresponding permutation matrices are introduced as

P7(1)=1111111, P7(0)=1111111.

The obtained matrix C7(a) was decomposed into two components:

(26)C7(a)=C7(b)+C7(c),

where

C7(b)=a7a7a7a7a7a7a7a7a7a7a7a7a7, C7(c)=b7c7d7g7f7e7e7g7c7d7b7f7c7e7b7f7d7g7g7f7e7b7c7d7d7b7f7e7g7c7f7d7g7c7e7b7.

We can reduce the number of operations by taking into account the similar entries in the fourth column and fourth row of the matrix C7(b) [36], which differ only in sign. Next, in matrix C7(c) we eliminate the rows and columns with only zero entries. The obtained matrix

C6(d)=b7c7d7g7f7e7e7g7c7d7b7f7c7e7b7f7d7g7g7f7e7b7c7d7d7b7f7e7g7c7f7d7g7c7e7b7

acquires the structure A3B3B3A3 and can be decomposed as [34]:

(27)C6(d)=(H2I3)1/2[(A3+B3)  (A3B3)](H2I3).

Now we will decompose the matrices

A3+B3 =b7g7c7+f7e7+d7e7+d7b7g7(c7+f7)c7+f7(e7+d7)b7g7, A3B3=b7+g7c7 f7d7e7e7d7(b7 +g7)(c7f7)c7f7d7e7b7+g7,

representing them as a circular convolution matrix H3=h0h2h1h1h0h2h2h1h0 [35,36]:

(28)H3=T3(1)T3×4×diag(s0,s1,s2,s3) × T4×3T3(0),

where s0=(h0+h1+h2)/3, s1=h0h2,s2=h1h2, s3=(h0+h12h2)/3; T3(1)=1111111,

T3×4=11111, T4×3=11111, T3(0)=1111111.

We need to modify the matrices (A3+B3), (A3B3) to make them consistent with the expression of the circular convolution for N = 3. For that, in the matrix (A3+B3) the sign of entries in the first column and first row was altered by multiplying left and right on P3(1)=111. In the (A3B3) matrix the sign of the second-row entries was changed by multiplying left on P3(0)=111. As a result, we obtain the matrices:

(A3+B3)(0) =b7  g7(c7+f7)(e7+d7)(e7+d7)b7  g7(c7+f7)(c7+f7)(e7+d7)b7 g7, (A3B3)(0) =b7+g7c7f7d7e7d7e7b7+g7c7f7c7f7d7e7b7+g7.

Let us apply the expression (28) to (A3+B3)(0), (A3 B3)(0). For the matrix (A3+B3)(0) the elements of circular convolution are h0=b7g7, h1=e7d7, h2=c7f7. For the matrix (A3B3)(0) we have h0=b7+g7, h1=e7+d7, h2=c7f7. Further we form the matrices  W10×8=T4×3I2T4×3, W8×10=T3×4  I2  T3×4 to factorize the circular convolutions. The matrices T3(1) and T3(0) were multiplied on P3(1) and P3(0). And we obtained Wa=T3(0)P3(1)=1111111, Wc=P3(1)T3(1)=1111111, Wd=P3(0)T3(1)=1111111

We have added the matrix I2 into direct sum in the matrices  W10×8, W8×10, W8(0) and W8(1). This allows the factorizing the matrix C7(b) using W7×8 and W8×7.

In sum, we derive the factorization of the matrix of the seven-point odd-time DHT with normalization:

(29)Y7×1=P7(1)W7×8W8W8(1)W8×10D10W10×8W8(0)W8W8×7P7(0)X7×1,

where D10=diag(s07,s17,s27, s37, s47, s57, s67, s7(7), s87, s9(7)),

W8(0)=WaI2T3(0), W8(1)=WcI2Wd,s0(7)=(b7g7e7d7c7f7)/6; s1(7)=(b7g7+c7+f7)/2; s2(7)=(e7d7+c7+f7)/2; s3(7)=(b7g7d7e7+2c7+2f7)/6; s4(7)=a7; s5(7)=a7;s6(7)=(b7+g7e7+d7+c7f7)/6; s7(7)=(b7+g7c7+f7)/2; s8(7)=(e7+d7c7+f7)/2; s9(7)=(b7+g7e7+d72c7+2f7)/6;W7×8=11111111111111, W8×7=1111111111111,W8=11111111111111.

To calculate the 7-point odd-time DHT with normalization the fast algorithm is developed and presented in Figure 10 by data flow graph. As a consequence we can reduce the amount of multiplications from 49 to 10, but the amount of additions increased from 42 to 46.

Based on Equation (29), the matrix factorization for the 7-point odd-frequency DHT with normalization is obtained as

(30)Y7×1=P7(0)TW8×7TW8TW8(0)TW10×8TD10W8×10TW8(1)TW8TW7×8TP7(1)TX7×1,

To compute the 7-point odd-frequency DHT with normalization we propose the fast algorithm shown in Figure 11 by data flow graph. The number of arithmetic operations is the same as for 7-point odd-time DHT with normalization.

3.7. Algorithms for 8-Point Odd-Time DHT and Odd-Frequency DHT

Let us develop the algorithm for eight-point odd-time DHT with normalization which is expressed as follows:

(31)Y8×1=C8X8×1,

where Y8×1=y0, y1,y2, y3, y4, y5, y6, y7T, X8×1=x0, x1, x2, x3, x4, x5, x6, x7T,

C8=a8a8a8a8a8a8a8a8b8b8c8c8b8b8c8c8d80d80d80d80b8b8c8c8b8b8c8c8a8a8a8a8a8a8a8a8c8c8b8b8c8c8b8b80d80d80d80d8c8c8b8b8c8c8b8b8

with a8 = 18 0.3536; b8 = 18casπ8 0.4619; c8 = 18cas5π8 0.1913; d8 = 18casπ4= 0.5. For odd-frequency DHT with normalization in (31) the C8T matrix must be used instead of C8.

Let us define the permutation π8=1215345678374268 to change the order of rows of C8. The permutation matrix P8 and the resulted matrix C8(a) can be expressed as

P8=11111111, C8(a)=a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8d80d80d80d800d80d80d80d8b8b8c8c8b8b8c8c8b8b8c8c8b8b8c8c8c8c8b8b8c8c8b8b8c8c8b8b8c8c8b8b8.

The resulted matrix C8(a) acquires the structure:

A4A4B4B4with A4=a8a8a8a8a8a8a8a8d80d800d80d8and B4=b8b8c8c8b8b8c8c8c8c8b8b8c8c8b8b8.

Then using the template from [34] we obtain C8(a)=(A4  B4)(H2  I4). The matrix A4 has the following structure:

A2(b)A2(b)B2(b)B2(b)with A2(b)=diag(a8, a8)H2and B2(b)=d8I2.

Using the decomposition of the extracted submatrices [34], the matrix A4 is represented as

(32)A4=diag(a8, a8, d8, d8)(H2  I2)(H2  I2).

The entries of the diagonal matrix we denoted as s0(8)=a8, s1(8)=a8, s2(8)=d8, s3(8)=d8.

Next we swap the first and second column of the B4 matrix with permutation matrix P2  I2,P2=11. The resulted matrix B4(a)=b8b8c8c8b8b8c8c8c8c8b8b8c8c8b8b8  is similar to the template A2(c)B2(c)B2(c)A2(c) and can be decomposed as

(33)B4(a)=(H2  I2)1/2[(A2(c)+B2(c))  (A2(c)B2(c))](H2  I2),

where 1/2(A2(c)+B2(c))=1/2b8+c8b8+c8b8+c8b8c8 matches the pattern 1/2effe , e=b8+c8, f=b8+c8. It is represented as

(34)1/2(A2(c)+B2(c)) =T2×3(4)× diag(ef, e f, f)T3×2(3),

where T2×3(4), T3×2(3) are defined as in Equation (19). The entries of diagonal matrix we denoted as s4(8)=b8, s5(8)=c8, s6(8)=(b8+c8)/2. The matrix 1/2(A2(c)B2(c)) is similarly decomposed with diagonal matrix entries s7(8)=b8, s8(8)=c8, s9(8)=(b8c8)/2.

Let us add matrices from decomposition (34) to the left of the diagonal matrix into the matrix W8×10=I4 T2×3(4)  T2×3(4), and to the right of the diagonal matrix into the matrix W10×8=I4  T3×2(3)  T3×2(3). Also we added matrices from decompositions (32), (33) to the left of the diagonal matrices into the matrix W8(a)=I4  (H2I2), and to the right of the diagonal matrices into W8(b)=H2  I2  P2  I2,W8(c)=(H2  I2) I4,W8(d)=H2 I4.

In sum, the 8-point odd-time DHT with normalization is factorized as

(35)Y8×1=P8W8(a)W8×10D10W10×8W8(a)W8(b)W8(c)W8(d)X8×1,

where D10=diag(s0(8), s1(8), s2(8), s3(8), s4(8), s5(8), s6(8), s7(8), s8(8), s9(8)).

To compute the 8-point odd-time DHT with normalization the data flow graph of the fast algorithm is designed and presented in Figure 12. As a consequence we can reduce the amount of multiplications from 48 to 8, because s2(8)=s3(8)=0.5, and the amount of additions from 48 to 28.

Based on Equation (35), the matrix factorization for the 8-point odd-frequency DHT with normalization is given as

(36)Y8×1=W8(d)TW8(c)TW8(b)TW8(a)TW10×8TD10W8×10TW8(a)TP8TX8×1,

Figure 13 shows the data flow graph of the algorithm implementing the 8-point odd-frequency DHT with normalization. The amount of arithmetic operations is the same as for 8-point odd-time DHT with normalization.

4. Results

We confirmed the correctness of the odd-time DHT and odd-frequency DHT matrix factorizations obtained in Section 3 by experiment. Using the MATLAB R2023b software it was evaluated the coincidence of the results of the multiplication of factorized matrices by Formulas (7), (10), (14), (20), (23), (29), and (35) with the original odd-time DHT matrices. Also, it was evaluated the similarity of the results of the computing of the matrices of the odd-frequency DHT with the expressions (11), (15), (21), (24), (30), (36) using the MATLAB R2023b environment. The last formulas define the factorizations of the odd-frequency DHT matrices. The obtained coincidence of the factorized matrices with the initial odd-time DHT and odd-frequency DHT matrices for each N indicates the correctness of the developed algorithms.

Next, we evaluated the number of arithmetic operations for the calculation of the odd-time DHT and odd-frequency DHT with normalization via matrix-vector product and for the proposed algorithms. In general, the multiplications on data flow graphs are corresponded to the graph vertices, denoted by circles with factors. The amount of additions was evaluated by the amount of entering of two graph edges in one vertex. One must notice that these operations for zero elements of odd-time DHT and odd-frequency DHT matrices were not counted. In the matrices C4 and C8 we have four and eight zeros, respectively. Also if an element of the odd-time DHT or odd-frequency DHT matrix can be expressed as a power of two then the multiplication by this element can be implemented by a shift and has not counted as a multiplication. The proposed algorithms use the same number of multiplications to both the odd-time DHT and the odd-frequency DHT with normalization. Applying these algorithms we can reduce the number of multiplications required for odd-time or odd-frequency DHTs by nearly 69%, and the amount of additions by nearly of 5% for odd-time DHT and 8% for odd-frequency DHT if the length of input data is in the range from 2 to 8.

Table 1 shows the obtained results. In parentheses, we indicate the difference in the amount of operations in percent. The plus means that the amount of operations has increased relative to the matrix-vector product, and the minus means it has lessened. In Table 2 and Table 3 the number of multiplication and additions is presented for the existing odd-time DHT and odd-frequency DHT algorithms.

5. Discussion of Computational Complexity

Let us compare the number of multiplication and additions for the existing algorithms and for the proposed algorithms of odd-time DHT and odd-frequency DHT with normalization. As for the odd-time DHT, if N = 4 then the proposed algorithm is no different from algorithms known from the literature by the multiplication number. However if the existing algorithms do not include the normalization they require the additional four multiplications. If N = 8 then the amount of multiplications may be lessened with the proposed solution versus Hamood’s algorithms [31,32] by 33%. Relative to the prime factor algorithm [17], the amount of multiplications for N = 8 is the same, and less than for the radix-2 algorithm [27] by 20%. However, the considered existing algorithms of odd-time DHT do not include normalization for N = 8 which requires 8 additional multiplications. The amount of additions for N = 8 has increased by 17% relative to Hamood’s algorithms [31,32] and is the same as for algorithms in [17,27].

As for the odd-frequency DHT, if N = 4 then the obtained algorithm is no different from algorithms known from the literature by the amount of multiplications. However the absence of normalization requires the additional four multiplications. Besides, for N = 4, the proposed algorithm reduces the number of additions significantly (by 40–45%). If N = 8 then the number of multiplications may be significantly lessened with the proposed solution relative to the radix-2 algorithm [28,29] but exceeds by 33% the number of multiplications for the algorithm of the prime factor (N = 2m) without normalization [17,41,42]. The normalization will require 8 additional multiplications.

Due to the evaluation that has been done in [34], we can estimate the reduction of computational complexity of the proposed algorithms by Big O notation. The list represents the number of arithmetic operations that the algorithm performs to obtain the odd-time or odd-frequency DHT of size N. We can use the estimation of template complexity for even N directly. For odd N we have decomposed the initial transform matrix as the sum of two matrices. Therefore we have to add two multiplications and 2(N − 1) additions to the Big O notation of the template complexity. The obtained estimations are summarised in Table 4. Analysing the resulting Big O estimates it should be noted the following. The number of multiplications is reduced two times, in general, although the number of additions is increased by 2(N − 1) if the proposed algorithms are compared to the direct matrix-vector product.

6. Conclusions

In the paper, the fast algorithms for odd-time DHT and odd-frequency DHT with normalization are proposed for input signals of short length. The obtained algorithms for short-length input signals can subsequently be used as readymade modules of algorithms for long-length sequences.

Including the normalization in the fast algorithms for odd-time DHT and odd-frequency DHT allows us to use them directly in applications that involve recovering the processed signals or images, specifically, in image compression, signal and image denoising, image encryption, etc. Normalization ensures the orthonormality of transform and, as a result, the inverse transform matrix is obtained by a transposing of the direct transform matrix. The last property enables the construction of fast algorithms for inverse transform based on the fast algorithms for direct transform easily.

The fast algorithms for odd-time DHT and odd-frequency DHT were developed in the article based on the structural properties of the matrices of the transform coefficients. Optimization of the parameters of the odd-time DHT and odd-frequency DHT is not performed. We have applied the partition of the initial matrix into the submatrices with previous rearranging of the matrix rows and/or columns. The partitioning of the original matrix and rearranging its structure aims to find the factorization which possibly reduces further the computational complexity. Based on the obtained factorizations, we have constructed the fast algorithms presented by the data flow graphs. The critical path of each designed data flow graph has only one multiplication. This is a significant advantage of the proposed solutions. If the critical path of the data flow graph has more than one multiplication, additional difficulties arise with the presentation and further processing of the result of each successive multiplication.

The comparison of the computational complexity of the direct matrix-vector products with the computational complexity of the proposed algorithms has shown a reducing in the number of multiplications by 69% for the input sequence lengths from 2 to 8. At the same time, the amount of additions is lowered by nearly 5% for odd-time DHT and by 8% for odd-frequency DHT for the same range of the input sequence lengths.

The comparison of the designed fast algorithms for odd-time DHT and odd-frequency DHT with the existing algorithms shows that bearing in mind the structure of transform matrices enabled the increase in the fast algorithms’ efficiency against the efficiency of radix-type algorithms. This result enables easier operation in real time because the amount of needed signal processor resources is significantly reduced. Reducing the number of multiplications significantly contributes to the resource- and time-saving of signal processing and enables easier operation in real-time.

Author Contributions

Conceptualization, A.C.; methodology, A.C. and M.P.; software, M.P.; validation, A.C., M.P. and J.S.; formal analysis, A.C., M.P. and J.S.; investigation, M.P. and J.S.; writing—original draft preparation, M.P. and A.C.; writing—review and editing, A.C., M.P. and J.S.; supervision, A.C. All authors have read and agreed to the published version of the manuscript.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Footnotes

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Figures and Tables
View Image - Figure 1. The data flow graph of the proposed algorithm for computation of two-point odd-time DHT and odd-frequency DHT.

Figure 1. The data flow graph of the proposed algorithm for computation of two-point odd-time DHT and odd-frequency DHT.

View Image - Figure 2. The data flow graph of the algorithm for the 3-point odd-time DHT.

Figure 2. The data flow graph of the algorithm for the 3-point odd-time DHT.

View Image - Figure 3. The data flow graph of the algorithm for the 3-point odd-frequency DHT.

Figure 3. The data flow graph of the algorithm for the 3-point odd-frequency DHT.

View Image - Figure 4. The data flow graph of the algorithm for implementation of 4-point odd-time DHT.

Figure 4. The data flow graph of the algorithm for implementation of 4-point odd-time DHT.

View Image - Figure 5. The data flow graph of the algorithm for implementation of 4-point odd-frequency DHT.

Figure 5. The data flow graph of the algorithm for implementation of 4-point odd-frequency DHT.

View Image - Figure 6. The data flow graph of the algorithm for the 5-point odd-time DHT.

Figure 6. The data flow graph of the algorithm for the 5-point odd-time DHT.

View Image - Figure 7. The data flow graph of the algorithm for the 5-point odd-frequency DHT.

Figure 7. The data flow graph of the algorithm for the 5-point odd-frequency DHT.

View Image - Figure 8. The data flow graph of the algorithm for the computation of the 6-point odd-time DHT.

Figure 8. The data flow graph of the algorithm for the computation of the 6-point odd-time DHT.

View Image - Figure 9. The data flow graph of the algorithm for the computation of the 6-point odd-frequency DHT.

Figure 9. The data flow graph of the algorithm for the computation of the 6-point odd-frequency DHT.

View Image - Figure 10. The data flow graph implementing the 7-point odd-time DHT.

Figure 10. The data flow graph implementing the 7-point odd-time DHT.

View Image - Figure 11. The data flow graph implementing the 7-point odd-frequency DHT.

Figure 11. The data flow graph implementing the 7-point odd-frequency DHT.

View Image - Figure 12. The data flow graph for the computing of the 8-point odd-time DHT.

Figure 12. The data flow graph for the computing of the 8-point odd-time DHT.

View Image - Figure 13. The data flow graph of the algorithm for the 8-point odd-time DHT.

Figure 13. The data flow graph of the algorithm for the 8-point odd-time DHT.

The computational complexity of the matrix-vector product and the proposed fast algorithms for odd-time and odd-frequency DHTs.

N Matrix-Vector Product Proposed Odd-Time DHT Algorithms Proposed Odd-Frequency DHT Algorithms
Adds. Mults. Adds. Mults. Adds.
2 2 4 2 (0%) 2 (−50%) 2 (0%)
3 6 9 7 (+16%) 3 (−67%) 6 (0%)
4 8 4 6 (−25%) 2 (−50%) 6 (−25%)
5 20 25 23 (+15%) 6 (−76%) 23 (+15%)
6 30 36 28 (−7%) 8 (−78%) 24 (−20%)
7 42 49 46 (+10%) 10 (−80%) 46 (+10%)
8 48 48 28 (−42%) 8 (−83%) 28 (−42%)

The number of operations for the existing odd-time DHT algorithms.

Algorithm Year of Publication, Reference N = 4 N = 8
Mults. Adds. Mults. Adds.
Prime factor 2003, [17] 2 (0%) 10 (−40%) 8 (0%) 28 (0%)
Radix-2 2011, [27] 10 (−20%) 28 (0%)
Radix-2 with decimation-in-time 2016, [31] 2 (0%) 6 (0%) 12 (−33%) 24 (+17%)
Split-radix 2020, [32] 2 (0%) 6 (0%) 12 (−33%) 24 (+17%)
Proposed 2 6 8 28

The number of operations of the existing odd-frequency DHT algorithms.

Algorithm Year of Publication, Reference N = 4 N = 8
Mults. Adds. Mults. Adds.
Radix-2 2011, [28,29] 8 (−75%) 11 (−45%) 16 (−50%) 37 (−24%)
Prime factor, Wang 1992, [41] 2 (0%) 10 (−40%) 8 (0%) 28 (0%)
Prime factor, Hu, Chang, Ersoy 1992, [42] 2 (0%) 10 (−40%) 8 (0%) 28 (0%)
Prime factor, Bi, Zeng 2003, [17] 2 (0%) 10 (−40%) 6 (+33%) 26 (+8%)
Proposed 2 6 8 28

The computational complexity of the proposed algorithms and the direct matrix-vector product in the Big O notation.

N Proposed Algorithms Matrix-Vector Product
Adds. Mults. Adds. Mults.
2, 4, 8 N 2 / 2 N 2 / 2 N ( N   1 ) N 2
3, 5, 7 ( N + 2 ) ( N 1 ) ( N 1 ) 2 / 2 + 2
6 ( N + 2 ) ( N   1 ) N + 2

References

1. Jones, K. The regularized fast Hartley transform. Low-Complexity Parallel Computation of the FHT in One and Multiple Dimensions; 2nd ed. Springer: New York, NY, USA, 2021.

2. Patra, N.; Nayak, S.S. Discrete Hartley transform and its applications—A review. J. Integr. Sci. Technol.; 2022; 10, pp. 173-179.

3. Moraga, C. Generalized discrete Hartley transforms. Proceedings of the 39th International Symposium on Multiple-Valued Logic; Naha, Japan, 21–23 May 2009.

4. Vimal Kumar, C.; Raghavendra, D.; Eshwarappa, M.N. Design and implementation of VLSI DHT algorithm for image compression. Int. J. Eng. Trends Technol.; 2015; 23, pp. 218-223. [DOI: https://dx.doi.org/10.14445/22315381/IJETT-V23P241]

5. de Oliveira Nascimento, F.A. Hartley transform signal compression and fast power quality measurements for smart grid application. IEEE Trans. Power Deliv.; 2023; 99, pp. 1-11. [DOI: https://dx.doi.org/10.1109/TPWRD.2023.3302188]

6. Anoh, K.; Tanriover, C.; Ribeiro, M.V.; Adebisi, B.; See, C.H. On the fast DHT precoding of OFDM signals over frequency-selective fading channels for wireless applications. Electronics; 2022; 11, 3099. [DOI: https://dx.doi.org/10.3390/electronics11193099]

7. Budiman, G.; Suksmono, A.B.; Danudirdjo, D.; Pawellang, S. QIM-based audio watermarking with combined techniques of SWT-DST-QR-CPT using SS-based synchronization. Proceedings of the 6th International Conference on Information and Communication Technology (ICoICT); Bandung, Indonesia, 3–4 May 2018.

8. Lipinski, P.; Puchala, D. Digital image watermarking using fast parametric transforms. Bull. Pol. Acad. Sci. Tech. Sci.; 2019; 67, pp. 463-477. [DOI: https://dx.doi.org/10.24425/bpasts.2019.129646]

9. Kasban, H. A spiral-based image watermarking scheme using Karhunen–Loeve and discrete Hartley transforms. Multidimens. Syst. Signal Process.; 2017; 28, pp. 573-595. [DOI: https://dx.doi.org/10.1007/s11045-015-0361-4]

10. Zhang, X.; Su, Q. A spatial domain-based colour image blind watermarking scheme integrating multilevel discrete Hartley transform. Int. J. Intell. Syst.; 2021; 36, pp. 4321-4345. [DOI: https://dx.doi.org/10.1002/int.22461]

11. Voronenko, Y.; Puschel, M. Algebraic Signal Processing Theory: Cooley-Tukey Type Algorithms for Real DFTs. IEEE Trans. Signal Process.; 2009; 57, pp. 205-222. [DOI: https://dx.doi.org/10.1109/TSP.2008.2006152]

12. Coutinho, V.A.; Cintra, R.J.; Bayer, F.M. Low-complexity three-dimensional discrete Hartley transform approximations for medical image compression. Comput. Biol. Med.; 2021; 139, 105018. [DOI: https://dx.doi.org/10.1016/j.compbiomed.2021.105018]

13. Bozinovic, N.; Konrad, J. Scan order and quantization for 3D-DCT coding. Proc. SPIE Vis. Commun. Image Process.; 2003; 5150, 1205.

14. Rao, K.R.; Yip, P. The Transform and Data Compression Handbook; 1st ed. CRC Press LLC: Boca Raton, FL, USA, 2001.

15. Rao, K.R.; Yip, P. Discrete Cosine Transform: Algorithms, Advantages, Applications; 2nd ed. Academic Press: Cambridge, UK, 2014.

16. Prots’ko, I. Algorithm of efficient computation of generalised discrete Hartley transform based on cyclic convolutions. IET Signal Process.; 2014; 8, pp. 301-308. [DOI: https://dx.doi.org/10.1049/iet-spr.2013.0204]

17. Bi, G.; Zeng, Y. Transforms and Fast Algorithms for Signal Analysis and Representations; 1st ed. Birkhäuser: Boston, FL, USA, 2004.

18. Kober, V. Fast recursive computation of sliding DHT with arbitrary step. Sensors; 2020; 20, 5556. [DOI: https://dx.doi.org/10.3390/s20195556]

19. Jiang, L.; Shu, H.; Wu, J.; Wang, L.; Senhadji, L. A novel split-radix fast algorithm for 2-D discrete Hartley transform. IEEE Trans. Circuits Syst. I Regul. Pap.; 2010; 57, pp. 911-924. [DOI: https://dx.doi.org/10.1109/TCSI.2009.2028639]

20. Wu, J.; Shu, H.; Senhadji, L.; Luo, L.M. Radix-3x3 algorithm for the 2-D discrete Hartley transform. IEEE Trans. Circuits Syst. Part 2 Analog Digit. Signal Process.; 2008; 55, pp. 566-570.

21. Grigoryan, A.M. Novel algorithm for computing the 1-D discrete Hartley transform. IEEE Signal Process. Lett.; 2004; 11, pp. 156-159. [DOI: https://dx.doi.org/10.1109/LSP.2003.819876]

22. Hamood, M. New efficient algorithm for the discrete Hartley transform. IOP Conf. Ser. Mater. Sci. Eng.; 2020; 978, 012013. [DOI: https://dx.doi.org/10.1088/1757-899X/978/1/012013]

23. Chiper, D.F. A novel VLSI DHT algorithm for a highly modular and parallel architecture. IEEE Trans. Circuits Syst. II Express Briefs; 2013; 60, pp. 282-286. [DOI: https://dx.doi.org/10.1109/TCSII.2013.2251974]

24. Pyrgas, L.; Kitsos, P.; Skodras, A.N. An FPGA design for the two-band fast discrete Hartley transform. Proceedings of the IEEE International Symposium on Signal Processing and Information Technology (ISSPIT); Limassol, Cyprus, 12–14 December 2016.

25. Yang, X.; Megson, G.M.; Xing, Y.; Evans, D.J. A novel radix-3/9 algorithm for type-III generalized discrete Hartley transform. J. Circuits Syst. Comput.; 2006; 15, pp. 301-312. [DOI: https://dx.doi.org/10.1142/S0218126606003064]

26. Shu, H.; Wang, Y.; Senhadji, L.; Luo, L. Direct computation of type-II discrete Hartley transform. IEEE Signal Process. Lett.; 2007; 14, pp. 329-332. [DOI: https://dx.doi.org/10.1109/LSP.2006.888362]

27. Chiper, D.F. Fast radix-2 algorithm for the discrete Hartley transform of type II. IEEE Signal Process. Lett.; 2011; 18, pp. 687-689. [DOI: https://dx.doi.org/10.1109/LSP.2011.2170166]

28. Hua, X.; Liu, J. A novel fast algorithm for discrete Hartley transform of type-III base on the split-radix and first-order moments. Proceedings of the SPIE Eighth International Symposium on Multispectral Image Processing and Pattern Recognition; Wuhan, China, 26–27 October 2013.

29. Chiper, D.F. Radix-2 fast algorithm for computing discrete Hartley transform of type III. IEEE Trans. Circuits Syst. II Express Briefs; 2012; 59, pp. 297-301. [DOI: https://dx.doi.org/10.1109/TCSII.2012.2190863]

30. Chiper, D.F. An improved algorithm for the VLSI implementation of type II generalized DHT that allows an efficient incorporation of obfuscation technique. Proceedings of the 45th International Conference on Telecommunications and Signal Processing (TSP); Prague, Czech Republic, 13–15 July 2022.

31. Hamood, M.T. Fast algorithm for computing the discrete Hartley transform of type-II. Indones. J. Electr. Eng. Inform.; 2016; 4, pp. 120-125. [DOI: https://dx.doi.org/10.11591/ijeei.v4i2.220]

32. Hamood, M.T. Direct split-radix algorithm for fast computation of type-II discrete Hartley transform. Telecommun. Comput. Electron. Control; 2020; 18, pp. 3067-3072. [DOI: https://dx.doi.org/10.12928/telkomnika.v18i6.16100]

33. Huang, Y.-M.; Wu, J.-L. Polynomial transform based algorithms for computing two-dimensional generalized DFT, generalized DHT, and skew circular convolution. Signal Process.; 2000; 80, pp. 2255-2260. [DOI: https://dx.doi.org/10.1016/S0165-1684(00)00110-9]

34. Cariow, A. Strategies for the synthesis of fast algorithms for the computation of the matrix-vector product. J. Signal Process. Theory Appl.; 2014; 3, pp. 1-19. [DOI: https://dx.doi.org/10.7726/jspta.2014.1001]

35. Cariow, A.; Papliński, J. Algorithmic structures for realizing short-length circular convolutions with reduced complexity. Electronics; 2021; 10, 2800. [DOI: https://dx.doi.org/10.3390/electronics10222800]

36. Polyakova, M.; Witenberg, A.; Cariow, A. The design of fast type-V discrete cosine transform algorithms for short-length input sequences. Electronics; 2024; 13, 4165. [DOI: https://dx.doi.org/10.3390/electronics13214165]

37. Polyakova, M.; Cariow, A. Fast Type-II Hartley Transform Algorithms for Short-Length Input Sequences. Appl. Sci.; 2024; 14, 10719. [DOI: https://dx.doi.org/10.3390/app142210719]

38. Perera, S.M. Signal flow graph approach to efficient and forward stable DST algorithms. Linear Algebra Its Appl.; 2018; 542, pp. 360-390. [DOI: https://dx.doi.org/10.1016/j.laa.2017.05.050]

39. Perera, S.M.; Lingsch, L. Sparse matrix-based low-complexity, recursive, radix-2 algorithms for discrete sine transforms. IEEE Access; 2021; 9, pp. 141181-141198. [DOI: https://dx.doi.org/10.1109/ACCESS.2021.3120051]

40. Paraskevas, I.; Barbarosou, M.; Chilton, E. Hartley transform and the use of the whitened Hartley spectrum as a tool for phase spectral processing. J. Eng.; 2015; 2015, pp. 95-101. [DOI: https://dx.doi.org/10.1049/joe.2014.0350]

41. Wang, Z. A prime factor fast W transform algorithm. IEEE Trans. Signal Process.; 1992; 40, pp. 2361-2368. [DOI: https://dx.doi.org/10.1109/78.157241] [PubMed: https://www.ncbi.nlm.nih.gov/pubmed/18425179]

42. Hu, N.C.; Chang, H.I.; Ersoy, O.K. Generalized discrete Hartley transforms. IEEE Trans. Signal Process.; 1992; 40, pp. 2931-2940.

© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.