Skip to main content
Log in

A Fast Recursive Algorithm and Architecture for Pruned Bit-reversal Interleavers

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

In this paper, pruned bit-reversal permutations employed in variable-length interleavers and their associated fast pruning algorithms and architectures are considered. Pruning permutations is mathematically formulated as a counting problem in a set of k integers and any subset of \(\alpha \) consecutive integers under some permutation, where integers from this subset that map into indices less than some \(\beta <k\) are to be counted. A solution to this problem using sums involving integer floors and related functions is proposed. It is shown that these sums can be evaluated recursively using integer operations. Specifically, a mathematical treatment for bit-reversal permutations (BRPs) and their permutation statistics are presented. These permutations have been mainly addressed using numerical techniques in the literature to speed up in-place computations of fast Fourier and related transforms. Closed-form expressions for BRP statistics including inversions, serial correlations, and a new statistic called permutation inliers that characterizes the pruning gap of pruned interleavers, are derived. Using the inliers statistic, a recursive algorithm that computes the minimum number of inliers in a pruned BR interleaver (PBRI) in logarithmic time complexity is presented. This algorithm enables parallelizing a serial PBRI algorithm by any desired parallelism factor by computing the pruning gap in lookahead rather than a serial fashion, resulting in significant reduction in interleaving latency and memory overhead. Extensions to 2-D block and stream interleavers are also presented. Moreover, efficient hardware architectures for the proposed algorithms employing simple logic gates are presented. Simulation results of interleavers employed in modern communication standards demonstrate 3 to 4 orders of magnitude improvement in interleaving time compared to existing approaches.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7

Similar content being viewed by others

References

  1. Mansour, M.M. (2012). A recursive algorithm for pruned bit-reversal permutations. In Proc. IEEE int. conf. on acoustics, speech, and signal, processing. Kyoto, Japan.

  2. Parsons, A. (2009). The symmetric group in data permutation, with applications to high-bandwidth pipelined FFT architectures. IEEE Signal Processing Letters, 16(6), 477–480.

    Article  Google Scholar 

  3. Cooley, J., & Tukey, J. (1965). An algorithm for the machine calculation of complex Fourier series. Mathematics of Computation, 19(90), 297–301.

    Article  MathSciNet  MATH  Google Scholar 

  4. Burrus, C. (1988). Unscrambling for fast DFT algorithms. IEEE Transactions on Acoustics, Speech, and Signal Processing, 36(7), 1086–1087.

    Article  MATH  Google Scholar 

  5. Skodras, A., & Constantinides, A. (1991). Efficient input reordering algorithms for fast DCT. Electronics Letters, 27(21), 1973–1975.

    Article  Google Scholar 

  6. Evans, D. (1987). An improved digit-reversal permutation algorithm for the fast Fourier and Hartley transforms. IEEE Transactions on Acoustics, Speech, and Signal Processing, 35(8), 1120–1125.

    Article  Google Scholar 

  7. Kim, K. (1999). Shuffle memory system. In Int. symp. on parallel and distributed proc. (pp. 268–272).

  8. Portnoff, M. (1999). An efficient parallel-processing method for transposing large atrices in place. IEEE Transactions on Image Processing, 8(9), 1265–1275.

    Article  Google Scholar 

  9. Verbauwhede, I. et al. (1991). In-place memory management of algebraic algorithms on application specific ICs. The Journal of VLSI Signal Processing, 3, 193–200.

    Article  Google Scholar 

  10. Ramsey, J. (1970). Realization of optimum interleavers. IEEE Transactions on Information Theory, 16(3), 338–345.

    Article  MathSciNet  MATH  Google Scholar 

  11. Forney, Jr. G. (1971). Burst-correcting codes for the classic bursty channel. IEEE Transactions on Communication Technology, 19(5), 772–781.

    Article  Google Scholar 

  12. Berrou, C., Glavieux, A., Thitimajshima, P. (1993). Near Shannon limit error-correcting coding and decoding: Turbo codes. In Proc. IEEE conf. on comm., Geneva, Switzerland (pp. 1064–1070).

  13. Zehavi, E. (1992). 8-PSK trellis codes for a Rayleigh channel. IEEE Transactions on Communications, 40(5), 873–884.

    Article  MATH  Google Scholar 

  14. Bingham, J. (1990). Multicarrier modulation for data transmission: an idea whose time has come. IEEE Communications Magazine, 28(5), 5–14.

    Article  MathSciNet  Google Scholar 

  15. Garello, R. et al. (2001). Interleaver properties and their applications to the trellis complexity analysis of turbo codes. IEEE Transactions on Communications, 49(5), 793–807.

    Article  MATH  Google Scholar 

  16. 3GPP TS 36.212. Modulation and channel coding. Tech. Rep., Evolved Universal Terrestrial Radio Access (EUTRA), (Release 8).

  17. 3rd Generation Partnership Project 2 (3GPP2) (2008). IEEE standard for local and metropolitan area networks part 20: Air interface for mobile broadband wireless access systems supporting vehicular mobility - physical and media access control layer specification. IEEE Std 802.20-2008.

  18. IEEE standard for local and metropolitan area networks part 16: Air interface for broadband wireless access systems (2009). IEEE Std 802.16-2009 (Revision of IEEE Std 802.16-2004).

  19. Sun, J., & Takeshita, O. (2005). Interleavers for turbo codes using permutation polynomials over integer rings. IEEE Transactions on Information Theory, 51(1), 101–119.

    Article  MathSciNet  Google Scholar 

  20. Polge, R., Bhagavan, B., Carswell, J. (1974). Fast computational algorithms for bit reversal. IEEE Transactions on Computers, C-23(1), 1–9.

    Article  MathSciNet  Google Scholar 

  21. Rodriguez, J. (1988). An improved bit-reversal algorithm for the fast Fourier transform. In Int. conf. on acoustics, speech, and signal proc. (Vol. 3, pp. 1407–1410).

  22. Elster, A. (1989). Fast bit-reversal algorithms. In Int. conf. on acoustics, speech, and signal proc. (Vol. 2, pp. 1099–1102).

  23. Biswas, A. (1991). Bit reversal in FFT from matrix viewpoint. IEEE Transactions on Signal Processing, 39(6), 1415–1418.

    Article  Google Scholar 

  24. Yong, A. (1991). A better FFT bit-reversal algorithm without tables. IEEE Transactions on Signal Processing, 39(10), 2365–2367.

    Article  Google Scholar 

  25. Orchard, M. (1992). Fast bit-reversal algorithms based on index representations in GF(2b). IEEE Transactions on Signal Processing, 40(4), 1004–1008.

    Article  Google Scholar 

  26. Jeong, J., & Williams, W. (1992). A unified fast recursive algorithm for data shuffling in various orders. IEEE Transactions on Signal Processing, 40(5), 1091–1095.

    Article  Google Scholar 

  27. Rius, J., & De Porrata-Doria, R. (1995). New FFT bit-reversal algorithm. IEEE Transactions on Signal Processing, 43(4), 991–994.

    Article  Google Scholar 

  28. Drouiche, K. (2001). A new efficient computational algorithm for bit reversal mapping. IEEE Transactions on Signal Processing, 49(1), 251–254.

    Article  MathSciNet  Google Scholar 

  29. Prado, J. (2004). A new fast bit-reversal permutation algorithm based on a symmetry. IEEE Signal Processing Letters, 11(12), 933–936.

    Article  Google Scholar 

  30. Pei, S.-C., Chang, K.-W., Efficient bit and digital reversal algorithm using vector calculation (2007). IEEE Transactions on Signal Processing, 55(3), 1173–1175.

    Article  MathSciNet  Google Scholar 

  31. Mansour, M.M. (2009). A parallel pruned bit-reversal interleaver. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 17(8), 1147–1151.

    Article  Google Scholar 

  32. MacMahon, P. (1915). Combinatory analysis (Vol. 1–2). Cambridge, Cambridge: Cambridge University Press (Reprinted by Chelsea, New York, 1955).

    Google Scholar 

  33. Divsalar, D., & Pollara, F. (1995). Multiple turbo codes. In Military communications conference. MILCOM ’95, Conference Record, IEEE (Vol. 1, pp. 279–285).

  34. Knuth, D. (1998). The art of computer programming—seminumerical algorithms, 3rd Edition. Reading, MA: Addison-Wesley.

    Google Scholar 

  35. Mansour, M.M. (2009). Parallel lookahead algorithms for pruned interleavers. IEEE Transactions on Communications, 57(11), 3188–3194.

    Article  Google Scholar 

  36. Ferrari, M., Scalise, F., Bellini, S. (2002). Prunable S-random interleavers. In Proc. IEEE conf. on comm., U.S.A. (Vol. 3, pp. 1711–1715).

  37. Dinoi, L., & Benedetto, S. (2005). Design of fast-prunable S-random interleavers. IEEE Transactions on Wireless Communications, 4(5), 2540–2548.

    Article  Google Scholar 

  38. Eroz, M., & Hammongs, Jr. A. (1999). On the design of prunable interleavers for turbo codes. In Proc. IEEE vehicular tech. conf. (Vol. 2, pp. 1669–1673).

  39. IEEE Standard for Information technology–Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications Amendment 5: Enhancements for Higher Throughput (2009). IEEE Std 802.11n-2009.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammad M. Mansour.

Additional information

Part of this work has been presented in [1].

Appendices

Appendix

We start by proving the following lemma that will be used in subsequent proofs:

Lemma 13

Let k be even and \(-k< c<k\) . Then for \(x=0,\cdots ,k/2-1\) , we have

$$ \begin{array}{rll}\label{eq50} \Lambda&\triangleq&\left(\left(\frac{2x+c}{k}\right)\right) - \left(\left(\frac{2x+c+1}{k}\right)\right)\\ &=& \left\{ \begin{array}{ll} -\frac{1}{k} + {\frac{1}{2}}\delta\left( \frac{2x+c+1}{k} \right), & c\; odd; \\ -\frac{1}{k} + {\frac{1}{2}}\delta\left( \frac{2x+c}{k} \right), & c\; even. \end{array} \right.\end{array} $$
(37)

Proof

First write \(\Lambda =-\frac {1}{k}-\left \lfloor \frac {2x+c}{k} \right \rfloor +\left \lfloor \frac {2x+c+1}{k} \right \rfloor +{\frac {1}{2}}\delta \left ( \frac {2x+c}{k} \right )-{\frac {1}{2}}\delta \left ( \frac {2x+c+1}{k} \right )\). Case c odd: Then \(2x+c\neq 0\) (odd) and \(2x+c+1\neq 0\) (even). If \(2x+c+1<k\) or \(2x+c+1>k\), then \(\left \lfloor \frac {2x+c}{k} \right \rfloor =\left \lfloor \frac {2x+c+1}{k} \right \rfloor \), so \(\Lambda =-1/k\). Otherwise if \(2x+c+1=k\), then \(\Lambda =-1/k+1/2\). Therefore, \(\Lambda =-\frac {1}{k} + {\frac {1}{2}}\delta \left ( \frac {2x+c+1}{k} \right )\). Case 2 c even: Then \(2x+c+1\neq 0\). If \(2x+c= 0\) or \(2x+c=k\), then \(\Lambda =-1/k+1/2\). Otherwise, if \(2x+c<k\) and \(2x+c\neq 0\), or \(2x+c>k\), then \(\left \lfloor \frac {2x+c}{k} \right \rfloor =\left \lfloor \frac {2x+c+1}{k} \right \rfloor \), so \(\Lambda =-1/k\). Therefore, \(\Lambda =-\frac {1}{k} + {\frac {1}{2}}\delta \left ( \frac {2x+c}{k} \right )\). □

Proof of Lemma 6

From Eq. 17, it is obvious that if \(c=0\) or \(b=0\), then \(T(k,b,c)=0\). Hence in the following we assume \(c\neq 0, b\neq 0\). Using the following property of bit-reversal permutations

$$ \pi_n(j) = \left\{ \begin{array}{ll}2\pi_{n-1}(j), & j=0,1,\cdots,k/2-1; \\2\pi_{n-1}(j)+1, & j=k/2,\cdots,k-1, \end{array} \right.$$
(38)

we can split \(T(k,b,c)\) into two sums and then apply Eq. 37 with \(c=0\) to obtain

$$ \begin{array}{rll}T(k,b,c) &=& 4k\sum\limits_{j=0}^{k/2-1}\left[\left(\left(\frac{j-b}{k}\right)\right)-\left(\left(\frac{j}{k}\right)\right) \right] \left[\left(\left(\frac{2\pi_{n-1}(j)-c}{k}\right)\right)-\left(\left(\frac{2\pi_{n-1}(j)-c+1}{k}\right)\right) -\left\{ -\frac{1}{k} + {\frac{1}{2}}\delta\left( \frac{2\pi_{n-1}(j)}{k} \right) \right\} \right]\\ && + 4k\sum\limits_{j=0}^{k/2-1} \left[\left(\left(\frac{2(j-b)}{k}\right)\right)- \left(\left(\frac{2j}{k}\right)\right)\right] \left[\left(\left(\frac{2\pi_{n-1}(j)-c+1}{k}\right)\right) - \left\{ \left(\left(\frac{2\pi_{n-1}(j)}{k}\right)\right) +\frac{1}{k}-{\frac{1}{2}}\delta\left( \frac{2\pi_{n-1}(j)}{k} \right)\right\} \right]\end{array} $$

Denote by \(T_1\) the first sum, and by \(T_2\) the second.

Case 1: When c is odd, applying Eq. 37 again, \(T_1\) and \(T_2\) reduce to \(T_1=2k\left [\left (\left (\frac {c^*-b}{k}\right )\right ) - \left (\left (\frac {c^*}{k}\right )\right ) +\left (\left (\frac {\vphantom {c^*}b}{k}\right )\right ) \right ]\) and \(T_2=2T(k/2,b,(c-1)/2) - 2k\left (\left (\frac {\vphantom {c^*}2b}{k}\right )\right )\), where \(c^*=\pi _{n-1}((c-1)/2)\). Adding the two and using Eq. 14, we obtain \(T(k,b,c) = 2T(k/2,b,(c-1)/2) + 2k\left [ \left (\left (\frac {c^*-b}{k}\right )\right ) - \left (\left (\frac {c^*}{k}\right )\right ) -\left (\left (\frac {\vphantom {c^*}b}{k}+{\frac {1}{2}}\right )\right ) \right ]\). Simplifying the saw functions using Eq. 11, the first equation in Eq. 18 follows. Moreover, it is easy to show that these saw functions evaluate to either \(-4b,-4b+k,-4b+2k,-4b+3k,-4b+4k\) depending on \(c^*\) and b. Case 2: When c is even, \(T_1\) still simplifies as shown above but with \(c^*=\pi _{n-1}(c/2)\), while \(T_2\) becomes \(T_2=-2k\left [\left (\left (\frac {2(c^*-b)}{k}\right )\right )-\left (\left (\frac {2c^*}{k}\right )\right )+\left (\left (\frac {\vphantom {c^*}2b}{k}\right )\right ) \right ] + 2T(k/2,b,c/2)\). Hence \(T(k,b,c) = 2T(k/2,b,c/2) -2k\left [\left (\left (\frac {c^*-b}{k}+{\frac {1}{2}}\right )\right ) - \left (\left (\frac {c^*}{k}+{\frac {1}{2}}\right )\right ) + \left (\left (\frac {\vphantom {c^*}b}{k}+{\frac {1}{2}}\right )\right ) \right ]\). Again, simplifying the saw functions, the second equation in Eq. 18 follows. Moreover, it is easy to show that these saw functions evaluate to either \(0,k,2k\) depending on \(c^*\) and b. □

Proof of Lemma 7

We split \(U(k)\) using Eq. 38 with respect to both j and b, and then apply Eq. 37 to get

$$ \begin{array}{rll} U(k) &=& \sum\limits_{b=0}^{k/2-1}\left\{ \sum\limits_{j=0}^{k/2-1}\left[\left(\left(\frac{j-b}{k}\right)\right)-\left(\left(\frac{j}{k}\right)\right) \right] \left[\left(\left(\frac{2\pi_{n-1}(j)-\pi_n(b)}{k}\right)\right)-\left(\left(\frac{2\pi_{n-1}(j)-\pi_n(b)+1}{k}\right)\right) -\left\{ -\frac{1}{k} + {\frac{1}{2}}\delta\left( \frac{2\pi_{n-1}(j)}{k} \right) \right\} \right]\right.\\ && +\left. \sum\limits_{j=0}^{k/2-1} \left[\left(\left(\frac{2(j-b)}{k}\right)\right)- \left(\left(\frac{2j}{k}\right)\right)\right] \left[\left(\left(\frac{2\pi_{n-1}(j)-\pi_n(b)+1}{k}\right)\right) - \left\{ \left(\left(\frac{2\pi_{n-1}(j)}{k}\right)\right) +\frac{1}{k}-{\frac{1}{2}}\delta\left( \frac{2\pi_{n-1}(j)}{k} \right)\right\} \right]\right\} \\ &&+\sum\limits_{b=k/2}^{k-1}\left\{ \sum\limits_{j=0}^{k/2-1}\left[\left(\left(\frac{j-b}{k}\right)\right)-\left(\left(\frac{j}{k}\right)\right) \right] \left[\left(\left(\frac{2\pi_{n-1}(j)-\pi_n(b)}{k}\right)\right)-\left(\left(\frac{2\pi_{n-1}(j)-\pi_n(b)+1}{k}\right)\right) -\left\{ -\frac{1}{k} + {\frac{1}{2}}\delta\left( \frac{2\pi_{n-1}(j)}{k} \right) \right\} \right]\right.\\ &&\left. + \sum\limits_{j=0}^{k/2-1} \left[\left(\left(\frac{2(j-b)}{k}\right)\right)- \left(\left(\frac{2j}{k}\right)\right)\right] \left[\left(\left(\frac{2\pi_{n-1}(j)-\pi_n(b)+1}{k}\right)\right) - \left\{ \left(\left(\frac{2\pi_{n-1}(j)}{k}\right)\right) +\frac{1}{k}-{\frac{1}{2}}\delta\left( \frac{2\pi_{n-1}(j)}{k} \right)\right\} \right]\right\}\\ &= &\sum\limits_{b=0}^{k/2-1}\left\{ U_1 + U_2 \right\} + \sum\limits_{b=k/2}^{k-1}\left\{ U_3 + U_4 \right\}\end{array} $$
(39)

For \(b=0,\cdots ,k/2-1\), then \(\pi _n(b)\) is even. Therefore \(c_{\text {even}}^* \triangleq \pi _{n-1}\left ( \pi _n(b)/2 \right )= b\). On the other hand, for \(b=k/2,\cdots ,k-1\), then \(\pi _n(b)\) is odd. Therefore \(c_{\text {odd}}^* \triangleq \pi _{n-1}\left ( (\pi _n(b)-1)/2 \right )= b - k/2\). Applying Eq. 37 when \(\pi _n(b)\) is even for \(U_1\) and \(U_2\), we get \(U_1=0\) and \(U_2=\sum _{j=0}^{k/2-1}\left [\left (\left (\frac {j-b}{k/2}\right )\right )- \left (\left (\frac {j}{k/2}\right )\right )\right ] \left [\left (\left (\frac {\pi _{n-1}(j)-\pi _n(b)/2}{k/2}\right )\right ) - \left (\left (\frac {\pi _{n-1}(j)}{k/2}\right )\right ) \right ]\). Next, applying Eq. 37 when \(\pi _n(b)\) odd for \(U_3\), and rearranging terms in \(U_4\), we get \(U_3=\frac {1}{4} - \frac {1}{4}\delta \left ( \frac {b-k/2}{k} \right )\) and \(U_4=\sum _{j=0}^{k/2-1} \left [\left (\left (\frac {j-b}{k/2}\right )\right )- \left (\left (\frac {j}{k/2}\right )\right )\right ] \left [\left (\left (\frac {\pi _{n-1}(j)-(\pi _n(b)-1)/2}{k/2}\right )\right ) -\left (\left (\frac {\pi _{n-1}(j)}{k/2}\right )\right )\right ] - {\frac {1}{2}}\left (\left (\frac {\vphantom {\pi _{n-1}(j)}2b}{k}\right )\right )\). After substituting for \(U_1,U_2,U_3,U_4\) in Eq. 39, applying Eq. 38 on \(\pi _n{(b)}\), and simplifying terms, \(U(k)\) reduces to \(U(k)=2U(k/2) + \frac {k}{8} - \frac {1}{4}\). Solving this recurrence with initial condition \(U(1)=0\), the result in Eq. 19 follows. □

Proof of Lemma 8

When \(p=0\), we have \(C(k,0) = k^2\sum _{j=0}^{k-1}\left (\left (\frac {\pi _{n}(j)}{k}\right )\right )\left (\left (\frac {\pi _n(j)}{k}\right )\right ) =k^2\sum _{j=0}^{k-1}\left (\left (\frac {\vphantom {\pi _{n}(j)}j}{k}\right )\right )\left (\left (\frac {\vphantom {\pi _{n}(j)}j}{k}\right )\right ) = \frac {k(k-1)(k-2)}{12}\), where the second equality follows the first since the two sum the same elements but in a different order. When \(p=k/2\), we split \(C(k,k/2)\) and apply Eq. 38 to obtain \(C(k,k/2)=8(k/2)^2\sum _{j=0}^{k/2-1}\left (\left (\frac {\pi _{n-1}(j)}{k/2}\right )\right )\left (\left (\frac {\pi _{n-1}(j)}{k/2}\right )\right )=8C(k/2,0)=\frac {k(k-2)(k-4)}{12}\). When \(1\leq p<k/2\), we split \(C(k,p)\) and apply Eq. 38 to \(\pi _n(j)\) and \(\pi _n(j+p)\). For simplicity, let \(q=j+p\). Then

$$ C(k,p) = k^2\sum\limits_{j=0}^{k/2-1}\left(\left(\frac{2\pi_{n-1}(j)}{k}\right)\right)\left(\left(\frac{2\pi_{n-1}(q)}{k}\right)\right)+ k^2\sum\limits_{j=k/2-p}^{k/2-1}\left(\left(\frac{2\pi_{n-1}(j)}{k}\right)\right) \left[\left(\left(\frac{2\pi_{n-1}(q)+1}{k}\right)\right)- \left(\left(\frac{2\pi_{n-1}(q)}{k}\right)\right)\right] $$
(40)
$$ + k^2\sum\limits_{j=0}^{k/2-1}\left(\left(\frac{2\pi_{n-1}(j)+1}{k}\right)\right)\left(\left(\frac{2\pi_{n-1}(q)+1}{k}\right)\right)+ k^2\sum\limits_{j=k/2-p}^{k/2-1}\left(\left(\frac{2\pi_{n-1}(j)+1}{k}\right)\right) \left[\left(\left(\frac{2\pi_{n-1}(q)}{k}\right)\right)- \left(\left(\frac{2\pi_{n-1}(q)+1}{k}\right)\right)\right] $$
(41)

In Eq. 40, the terms of the first sum when \(\pi _n(j+p)=2\pi _{n-1}(j+p)\) are subtracted and replaced by \(\pi _n(j+p)=2\pi _{n-1}(j+p)+1\) for \(j=k/2-p,\cdots ,k/2-1\) in the second sum. Similarly in Eq. 41. Combining Eqs. 40 and 41, applying Eq. 37 four times, multiplying out terms, and simplifying the resulting expressions, \(C(k,p)\) reduces to \(C(k,p) = 8C(k/2,p) + k^2/2 - p - k\left [ \pi _{n-1}(k/2-p) + \pi _{n-1}(p) \right ]\). Let \(v\) denote the position of the least significant one bit in the binary representation of \(p\). Then

$$ \begin{array}{rll}\label{eq53} \pi_{n-1}(k/2-p) + \pi_{n-1}(p) &=& 2^{n-v-1} + 2^{n-v-2} - 1\\ &=& 3k/2^{v+2} - 1 \end{array}$$
(42)

Substituting back in \(C(k,p)\) we get \(C(k,p) = 8C(k/2,p) +\left (1 - \frac {3}{2^{v+1}}\right )\frac {k^2}{2} +k - p\). Finally, when \(k/2<p<k-1\), following a similar derivation as above, we obtain \(C(k,p) = 8C(k/2,p) +\left (1 - \frac {3}{2^{v+1}}\right )\frac {k^2}{2} + p\). □

Proof of Lemma 9

Assume \(a,b\) are both even. The proof for other cases is similar. Splitting the summation, applying Eq. 38 to split \(\pi _n(j)\) and \(\pi _n(j+1)\), then adjusting missing terms for \(j=k/2-1\) and \(j=k-1\), we obtain

$$ \begin{array}{rll} V(k,a,b) &=& k^2\sum\limits_{j=0}^{k/2-1}\left(\left(\frac{2\pi_{n-1}(j)-a}{k}\right)\right)\left(\left(\frac{2\pi_{n-1}(j+1)-b}{k}\right)\right) + k^2\left[\left(\left(\frac{a+1}{k}\right)\right) - \left(\left(\frac{a+2}{k}\right)\right) \right] \left[\left(\left(\frac{b}{k}\right)\right) - \left(\left(\frac{b-1}{k}\right)\right) \right]\\ && + k^2\sum\limits_{j=0}^{k/2-1}\left[\left(\left(\frac{2\pi_{n-1}(j)-a}{k}\right)\right)+\frac{1}{k}-{\frac{1}{2}}\delta\left( \frac{2\pi_{n-1}(j)-a}{k} \right)\right]\left[ \left(\left(\frac{2\pi_{n-1}(j+1)-b}{k}\right)\right)+\frac{1}{k}-{\frac{1}{2}}\delta\left( \frac{2\pi_{n-1}(j+1)-b}{k} \right) \right],\end{array}$$

where Lemma (Eq. 13) is applied twice. Next, multiplying out terms and using property 16, the above expression simplifies to

$$\begin{array}{rll}\hspace*{-1pt} V(k,a,b) &=& 2k^2\sum\limits_{j=0}^{k/2-1} \left(\left(\frac{2\pi_{n-1}(j)-a}{k}\right)\right)\left(\left(\frac{2\pi_{n-1}(j+1)-b}{k}\right)\right) + k^2\left[\left(\left(\frac{a+1}{k}\right)\right) - \left(\left(\frac{a+2}{k}\right)\right) \right] \left[\left(\left(\frac{b}{k}\right)\right) - \left(\left(\frac{b-1}{k}\right)\right) \right]\\&&- \frac{k^2}{2}\left(\left(\frac{2\pi_{n-1}(\pi_{n-1}(b/2)-1)-a}{k}\right)\right) -\frac{k^2}{2}\left(\left(\frac{2\pi_{n-1}(\pi_{n-1}(a/2)+1)-b}{k}\right)\right) - \frac{k}{2} +\frac{k^2}{4}\delta\left( \frac{2\pi_{n-1}(\pi_{n-1}(a/2)+1)-b}{k} \right) \end{array}$$

which is equivalent to Eq. 23 with \(a'=a,b'=b,a'' = 2\pi _{n-1}(\pi _{n-1}(a/2)+1)-b, b'' = 2\pi _{n-1}(\pi _{n-1}(b/2)-1)-a\), and \(e=1\). □

Proof of Lemma 10

Assume \(a,b\) are both even. The proof for other cases is similar. Proceeding similar to Lemma 9, we obtain

$$\begin{array}{rll}W(k,a,b) &=& 8W(k/2,a/2,b/2) + \frac{k^2}{4}\left[\delta\left( \frac{2\pi_{n-1}(\pi_{n-1}(a/2)+1)-b}{k} \right) - \delta\left( \frac{2\pi_{n-1}(\pi_{n-1}(a/2)+1)}{k} \right) - \delta\left( \frac{k/2-b}{k} \right)\right]\\ &&-\frac{k^2}{2} \left[\left(\left(\frac{2\pi_{n-1}(\pi_{n-1}(b/2)-1)-a}{k}\right)\right)-\left(\left(\frac{2\pi_{n-1}(\pi_{n-1}(b/2)-1)}{k}\right)\right) \right.\\&&\left. +\, \left(\left(\frac{2\pi_{n-1}(\pi_{n-1}(a/2)+1)-b}{k}\right)\right) -\left(\left(\frac{2\pi_{n-1}(\pi_{n-1}(a/2)+1)}{k}\right)\right) \right]\\ &&+ \frac{k^2}{2}\left[\left(\left(\frac{k/2-b}{k}\right)\right)-\left(\left(\frac{a+2}{k}\right)\right) +\frac{2}{k}-{\frac{1}{2}}\right] + k^2\left[\left(\left(\frac{a+2}{k}\right)\right)-\left(\left(\frac{a+1}{k}\right)\right)-\frac{1}{k} \right] \left[\left(\left(\frac{b-1}{k}\right)\right)-\left(\left(\frac{b}{k}\right)\right)+\frac{1}{k}-\frac{1}{2} \right]\end{array} $$

Simplifying the saw-fractions using Eq. 11, and noting that \(\delta \left ( \frac {2\pi _{n-1}(\pi _{n-1}(a/2)+1)}{k} \right )= \delta \left ( \frac {a+2}{k} \right )\) since both give 1 when \(a=k-2\), expression 25 follows with \(e_a=e_b=0,e=1,a'=a,b'=b,a''= 2\pi _{n-1}\left (\pi _{n-1}\left (a/2\right )+1\right ), b'' = 2\pi _{n-1}\left (\pi _{n-1}\left (b/2\right )-1\right )\). □

Proof of Theorem 1

First write Eq. 3 as \(\#\text {INL}_{\alpha ,\beta } = \sum _{j=0}^{k-1} \left (\left \lfloor \frac {j-\alpha }{k}\right \rfloor -\right . \left . \left \lfloor \frac {j}{k}\right \rfloor \right )\) \(\left ( \left \lfloor \frac {\pi _n(j)-\beta }{k} \right \rfloor - \left \lfloor \frac {\pi (j)}{k} \right \rfloor \right )\), then replace the floor functions with \(\left (\left (\cdot \right )\right )\). Multiplying out terms in the summation and using Eq. 15, Eq. 16 we obtain \(\#\text {INL}_{\alpha ,\beta } = \frac {\alpha \beta }{k} + \sum _{j=0}^{k-1}\left (\left (\frac {\vphantom {\pi (j)}j-\alpha }{k}\right )\right ) \left (\left (\frac {\pi (j)-\beta }{k}\right )\right )-\sum _{j=0}^{k-1}\left (\left (\frac {\vphantom {\pi (j)}j-\alpha }{k}\right )\right ) \left (\left (\frac {\pi (j)}{k}\right )\right ) - \sum _{j=0}^{k-1}\left (\left (\frac {\vphantom {\pi (j)}j}{k}\right )\right ) \left (\left (\frac {\pi (j)-\beta }{k}\right )\right )+ \sum _{j=0}^{k-1}\left (\left (\frac {\vphantom {\pi (j)}j}{k}\right )\right ) \left (\left (\frac {\pi (j)}{k}\right )\right ) + K_{\text {INL}}(\alpha ,\beta )\), where

$$\begin{array}{rll}K_{\text{INL}}(\alpha,\beta) &\triangleq& - {\frac{1}{2}}\left(\left(\frac{\beta'-\alpha}{k}\right)\right)-{\frac{1}{2}}\left(\left(\frac{\vphantom{\beta}\alpha}{k}\right)\right) + {\frac{1}{2}}\left(\left(\frac{\beta'}{k}\right)\right) \\ &&- {\frac{1}{2}}\left(\left(\frac{\pi(\alpha) -\beta}{k}\right)\right)+ {\frac{1}{2}}\left(\left(\frac{\pi(\alpha)}{k}\right)\right) \\&&+\, \frac{1}{4}\delta\left( \frac{\pi(\alpha) - \beta}{k} \right) -\frac{1}{4}\delta\left( \frac{\pi(\alpha)}{k} \right)\\ &&- {\frac{1}{2}}\left(\left(\frac{\beta}{k}\right)\right) - \frac{1}{4}\delta\left( \frac{-\beta}{k} \right) + \frac{1}{4}\end{array}$$
(43)

and \(\beta '=\pi ^{-1}(\beta )\). Equation 43 can be further simplified by expanding \(\left (\left (\cdot \right )\right )\) in terms of floor functions, resulting in Eq. 27. The condition \(\pi (0)=0\) slightly simplifies the expression for the constant \(K_{\text {INL}}\) but does not make the result less general. □

Proof of Corollary 2

We have \(\sum _{j=0}^{k-1}\left \lfloor \frac {j-\alpha }{k} \right \rfloor \left \lfloor \frac {\pi _n(j+1)-\beta }{k} \right \rfloor = \sum _{j=1}^{k}\left \lfloor \frac {j-(\alpha +1)}{k} \right \rfloor \) \(\left \lfloor \frac {\pi _n(j)-\beta }{k} \right \rfloor \) after change of variables. The kth term of the second sum is 0 since \(\alpha \neq 0\). Adding and subtracting the 0th term, \(\left \lfloor \frac {-\beta }{k} \right \rfloor =-1\) (since \(\beta \neq 0\)), the result follows. □

Proof of Theorem 5

$$\begin{array}{rll} \text{Cov}(X_i,X_{i+p}) &=& \frac{1}{k}\sum\limits_{j=0}^{k-1}\left(\pi_n(j)-\text{E}\left[ X_{j} \right]\right)\\ &&\times \left(\pi_n(j+p)-\text{E}\left[ X_{j+p} \right]\right) \\ &=& k\sum_{j=0}^{k-1}\left[\frac{\pi_n(j)}{k}-{\frac{1}{2}}+\frac{1}{2k}\right]\\&&\times\left[\frac{\pi_n(j+p)}{k}-{\frac{1}{2}}+\frac{1}{2k}\right]\end{array} $$

for \(0<p<k\). Writing the summand terms using \(\left (\left (\cdot \right )\right )\), multiplying out terms, and using \(C(k,p)\) in Eq. 20, the above sum reduces to \(\text {Cov}(X_i,X_{i+p})=\frac {1}{k}C(k,p)-\frac {1}{4} +\frac {k}{2} -\frac {1}{2}\left [\pi _n(k-p) + \pi _n(p)\right ]\). Let \(0\leq v<n\) be the position of the least-significant one-bit in the binary representation of \(p\) (starting from 0). Substituting \(\pi _n(k-p) + \pi _n(p)=3k/2^{v+1}-1\) similar to Eqs. 42, 35 follows. □

Proof of Theorem 6

We first derive bounds on \(T(k,\alpha ,\beta )\) in Eq. 17. Table 2 lists the first few terms of the minimum (\(T_{\text {min}}(k)\)) and maximum values (\(T_{\text {max}}(k)\)) of \(T(k,\alpha ,\beta )\) empirically. It is easy to show by induction that \(T_{\text {min}}(k)\) and \(T_{\text {max}}(k)\) satisfy the recursions \(T_{\text {min}}(k) = 2T_{\text {min}}(k/2) - ((2+\sqrt {2})\pm (2-\sqrt {2}))\sqrt {k} + 4\) and \(T_{\text {max}}(k) = 2T_{\text {max}}(k/2) + 4(k\mp 4)/3\) for \(k>2\) with initial conditions \(T_{\text {min}}(2)=2\) and \(T_{\text {max}}(2)=2\), where \(\pm \) and \(\mp \) represent cases when n is even/odd. Solving the recursions, we obtain the bound:

$$ \begin{array}{rll}&&\label{eq:Tmin_max_bound}-3k - 4 + ((4+3\sqrt{2})\pm(4-3\sqrt{2}))\sqrt{k} ~\leq~ T(k,\alpha,\beta)\\&&\quad\leq (12n-11)k/9 \mp 16/9\end{array} $$
(44)
Table 2 Minimum and maximum values of \(T(k,{\alpha },{\beta })\).

Let \(\Delta ^{(t)}\) be the minimum integer added to \(\alpha \) in Algorithm 3 at iteration \(t\). Then at iteration \(t+1\), \(\Delta ^{(t+1)} = \#\text {OUL}_{\alpha +\Delta ^{(t)},\beta } = (\alpha +\Delta ^{(t)})-\#\text {INL}_{\alpha +\Delta ^{(t)},\beta } = (\alpha +\Delta ^{(t)})-(\alpha +\Delta ^{(t)})\beta /k-T(k,\alpha +\Delta ^{(t)},\beta )/4k - K_{\text {INL}}\)from Eqs. 2, 28. Substituting the maximum and minimum values from Eq. 44 in this equation, and using the maximum and minimum values of \(K_{\text {INL}}\) in Eq. 29, we obtain

$$\begin{array}{rll}\label{eq:delta_t+1_bound} && (\alpha+\Delta^{(t)})(1-\beta/k) + W_l ~\leq~ \Delta^{(t+1)} \\ &&\leq (\alpha+\Delta^{(t)})(1-\beta/k) + W_u,\end{array} $$
(45)

where \(W_l=(11-12n)/36 \pm 4/9k -3/4\) and \(W_u =1-\) \(((1+3\sqrt {2}/4)\pm (1-3\sqrt {2}/4))/\sqrt {k}+1/k\). To determine the convergence rate, we study the convergence of the bounds in Eq. 45. The solution of the lower-bound recursion \(\Delta _l^{(t+1)} =(\alpha +\Delta _{l}^{(t)})(1-\beta /k) + W_l\) is the sum of a geometric series \(\Delta _{l}^{(t)} = \alpha \left (\left (1-\left (1-\beta /k\right )^{t+1}\right )k / \beta -1\right ) +\left (1-\left (1-\beta /k\right )^{t}\right )W_l k / \beta \) which converges to \(\Delta _l^* \triangleq \lim _{t\rightarrow \infty }\Delta _{l}^{(t)} = \alpha (k/\beta -1)+W_lk/\beta \) at a rate \(\left | \Delta _l^{(t+1)} - \Delta _l^* \right |/\left | \Delta _{l}^{(t)} - \Delta _l^* \right | = 1-\beta /k\). Similar equations hold for the upper bound recursion \(\Delta _{u}^{(t)}\) and \(\Delta _u^*\) with all subscripts l replaced by \(u\). Hence \(\Delta ^{(t)}\) converges at a rate \(1-\beta /k\). □

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mansour, M. A Fast Recursive Algorithm and Architecture for Pruned Bit-reversal Interleavers. J Sign Process Syst 71, 201–219 (2013). https://doi.org/10.1007/s11265-012-0721-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-012-0721-3

Keywords

Navigation