JSIP  Vol.3 No.1 , February 2012
Efficient Hardware/Software Implementation of LPC Algorithm in Speech Coding Applications
Abstract: The LPC “Linear Predictive Coding” algorithm is a widely used technique for voice coder. In this paper we present different implementations of the LPC algorithm used in the majority of voice decoding standard. The windowing/autocorrelation bloc is implemented by three different versions on an FPGA Spartan 3. Allowing the possibility to integrate a Microblaze processor core a first solution consists of a pure software implementation of the LPC using this core RISC processor. Second solution is a pure hardware architecture implemented using VHDL based methodology starting from description until integration. Finally, the autocorrelation core is then proposed to be implemented using hardware/software (HW/SW) architecture with the existing processor. Each architecture performances are compared for different data lengths.
Cite this paper: M. Atri, F. Sayadi, W. Elhamzi and R. Tourki, "Efficient Hardware/Software Implementation of LPC Algorithm in Speech Coding Applications," Journal of Signal and Information Processing, Vol. 3 No. 1, 2012, pp. 122-129. doi: 10.4236/jsip.2012.31016.

[1]   U. M. Baese, “Digital Signal Processing with Field Programmable Gate Arrays,” 2nd Edition, Springer-Verlag, Berlin, 2004.

[2]   Spartan-3 FPGA Starter Kit Board User Guide, UG130 (v1.2), 2008.

[3]   H. M. Zhang and P. Duhamel, “Doubling Levinson/Schur Algorithmand its Implementation,” Proceedings of International Conference on Acoustics, Speech, and Signal Processing, Glasgow, 23-26 May 1989, pp. 1115-1118. doi:10.1109/ICASSP.1989.266628

[4]   B. S. Atal and M. R. Schroder, “Linear Prediction Analysis of Speech Based on Pole Zero Representation,” Journal of Acoustic Society of America, Vol. 64, No. 5, 1978, pp. 1310-1328. doi:10.1121/1.382117



[7]   P. Delsarte and Y. Genin, “The Split Levinson Algorithm,” IEEE Transactions on Acoustics, Speech and Signal Processing, Vol. 34, No. 3, 1986, pp. 470-478. doi:10.1109/TASSP.1986.1164830

[8]   R. Hagen and P. Hedelin, “Spectral Coding by LSP Frequencies—Scalar and Segmented VQ-Methods,” IEE Proceedings-I, Communications, Speech and Vision, Vol. 139, No. 2, 1992, pp. 118-122. doi:10.1049/ip-i-2.1992.0017

[9]   N. Sugamora and F. Itakura, “Speech Analysis and Synthesis Methods Developed at ECL in NTT—From LPC to LSP,” Speech Communication, Vol. 5, No. 2, 1986, pp. 199-215.

[10]   R. Salami, C. Laflamme, J-P. Adoul and A. Kataoka, “Design and Description of CS-ACELP: A Toll Quality 8 Kb/s Speech Coder,” IEEE Transactions on Speech and Audio Processing, Vol. 6, No. 2, 1998, pp. 116-130. doi:10.1109/89.661471

[11]   P. Zador, “Asymptotic Quantization Error of Continuous Signals and the Quantization Dimension,” IEEE Transactions on Information Theory, Vol. 28, No. 2, 1982, pp. 139-149. doi:10.1109/TIT.1982.1056490

[12]   F. Sayadi, E. Casseau, M. Atri, M. Marzougui, R. Tourki and E. Martin, “G729 Voice Decoder Design,” The Journal of VLSI Signal Processing, Vol. 42, No.2, 2006, pp. 173-184. doi:10.1007/s11265-005-4180-y

[13]   ITU-T, “Coding of Speech at 8 kbit/s Using Conjugate Structure Algebraic Code Excited Linear Prediction (CS-ACELP),” ITU-T Recommendation G729 (03/96).

[14]   EDK Concepts, Tools & Techniques, XTP013 EDK, 2008.

[15]   Microblaze Processor Reference Guide (01/17/08).

[16]   M. Maaref, “Creating an OPB IPIF-Based IP and Using It in EDK,” Xilinx, XAPP967 (v1.1), 2007.

[17]   E. Casseau and D. Degrugillier, “A Linear Systolic Array for LU decomposition,” Proceedings of the 7th International Conference on VLSI Design, Calcutta, 1994, pp. 353-358.

[18]   C. Tayou, P. Quinton, S. V. Rajopadhye and T. Risset, “Derivation of Systolic Algorithms for the Algebraic Path Problem by Recurrence Transformations,” Parallel Computing, Vol. 26, No. 11, 2000, pp. 1429-1445. doi:10.1016/S0167-8191(00)00039-9

[19]   Virtual Socket—VSIA Alliance,