Skip to main content
Log in

Parallel Computation of Adaptive Filtering Algorithms on Multi-Core Systems

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

Abstract

The performance of recent CPUs has been rapidly increasing with the help of parallel architectural supports, such as SIMD (Single Instruction Multiple Data) extensions and multi-core architecture. However, efficient use of such parallel supports for adaptive filtering is difficult due to feedback loops that induce the data dependency problem. In this paper, efficient parallel computation of adaptive filters is studied for multi-core architecture with SIMD arithmetic support. Control- and data-level parallel computation methods are considered, where the former finds parallelism in the evaluation of one output sample, while the latter processes multiple output samples at a time to increase the degree of parallelism. The control-level parallel approach frequently utilizes the pipelining technique to uncover the parallelism, whereas the data-level approach employs a parallel computation method for linear recurrence equations to resolve the dependency. Not only adaptive transversal LMS (Least Mean Square) but also gradient adaptive lattice (GAL) and QR-decomposition based least-square lattice (QRD-LSL) filters are implemented on a PC that employs both SIMD and multi-core architecture.

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

Similar content being viewed by others

References

  1. Widrow, B., Glover Jr., J. R., McCool, J. M., Kaunitz, J., Williams, C. S., Hearn, R. H., et al. (1975). Adaptive noise cancelling: Principles and applications. Proceedings of the IEEE, 63(12), 1692–1716.

    Article  Google Scholar 

  2. Qureshi, S. (1985). Adaptive equalization. Proceedings of the IEEE, 73(9), 1349–1387.

    Article  Google Scholar 

  3. Haykin, S. (2002). Adaptive filter theory. Upper Saddle River: Prentice Hall.

    Google Scholar 

  4. Lawrence, V., & Tewksbury, S. (1983). Multiprocessor implementation of adaptive digital filters. IEEE Transactions on Communications, 31(6), 826–835.

    Article  Google Scholar 

  5. Miller, T., Alexander, S., & Faber, L. (1986). An SIMD multiprocessor ring architecture for the LMS adaptive algorithm. IEEE Transactions on Communications, 34(1), 89–92.

    Article  Google Scholar 

  6. Meyer, M., & Agrawal, D. (1990). Adaptive lattice filter implementations on pipelined multiprocessor architectures. IEEE Transactions on Communications, 38(1), 122–124.

    Article  Google Scholar 

  7. Kogge, P., & Stone, H. (1973). A parallel algorithm for the efficient solution of a general class of recurrence equations. IEEE Transactions on Computers, 100(8), 786–793.

    Article  MathSciNet  Google Scholar 

  8. Sung, W., & Mitra, S. (1987). Implementation of digital filtering algorithms using pipelined vector processors. Proceedings of the IEEE, 75(9), 1293–1303.

    Article  Google Scholar 

  9. Sung, W., Mitra, S., & Jeren, B. (1992). Multiprocessor implementation of digital filtering algorithms using a parallel block processing method. IEEE Transactions on Parallel and Distributed Systems, 3(1), 110–120.

    Article  Google Scholar 

  10. Ahn J., Chang, H., Cho, J., & Sung, W. (2009). SIMD processor based implementation of recursive filtering equations. In Proceedings of IEEE workshop on signal processing systems (SiPS) (pp. 87–92).

  11. Intel C+ + compiler user and reference guide [Online]. Available: http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/lin/compiler_c/index.htm.

  12. Intel Nehalem processor white paper [Online]. Available: http://www.intel.com/pressroom/archive/reference/whitepaper_nehalem.pdf.

  13. Burger, D., Goodman, J. R., & Kägi, A. (1996). Memory bandwidth limitations of future microprocessors. ACM SIGARCH Computer Architecture News, 24(2), 78–89.

    Article  Google Scholar 

  14. Griffiths, L. (1977). A continuously-adaptive filter implemented as a lattice structure. In Proceedings of IEEE international conference on acoustics, speech, and signal processing (ICASSP) (pp. 683–686).

  15. Frantzeskakis, E., & Liu, K. (1994). A class of square root and division free algorithms and architectures for QRD-based adaptive signal processing. IEEE Transactions on Signal Processing, 42(9), 2455–2469.

    Article  Google Scholar 

  16. Manolakis, D., Ingle, V., & Kogon, S. (2005). Statistical and adaptive signal processsing. Boston: Artech House.

    Google Scholar 

  17. Intel Core i7-920 processor [Online]. Available: http://ark.intel.com/products/37147?wapkw=i7-920.

  18. Lee, D., & Sung, W. (2010). Multi-core and SIMD architecture based implementation of recursive digital filtering algorithms. In Proceedings of IEEE international conference on acoustics, speech, and signal processing (ICASSP) (pp. 1550–1553).

Download references

Acknowledgements

This work was supported in part by the National Research Foundation (NRF) grant of the Korean government (MEST) (No. 2011-0027502) and also by the Brain Korea 21 Project.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dong-hwan Lee.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lee, Dh., Ahn, J. & Sung, W. Parallel Computation of Adaptive Filtering Algorithms on Multi-Core Systems. J Sign Process Syst 69, 253–265 (2012). https://doi.org/10.1007/s11265-012-0666-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-012-0666-6

Keywords

Navigation