FPGA based mp3 player
#1

Submitted by
Himangshu Das
Manash Pratim Hazarika
Sagar Kumar

[attachment=11442]
Abstract:
Digital design using a Field Programmable Gate Array (FPGA) device is a rapidly evolving field. A complete embedded system can be built and programmed into a single FPGA chip for digital signal processing applications. The increasing density and capacity of these devices make it possible to implement an entire embedded system on a single chip. The goal of the project is to design an MPEG Layer III (MP3) player using a “Altera” FPGA board. The system will read an MP3 file from a compact flash memory, decode the MP3 bit stream into 16-bit pulse code modulated (PCM) outputs using a standard MP3 decoding algorithm, and play the output through an external speaker. Hardware description language such as Verilog HDL is used to drive external peripherals, including the stereo Audio codec. The Audio codec converts the digital PCM outputs into an analog sound wave. The software and hardware designs are integrated on the Embedded Development Kit platform. In this project, data compression techniques are used in MP3 encoding and decoding are explored and tested on hardware.
During the last few years the usage of the MPEG-1 layer-III (mp3) audio codec has exploded, and a large part of the global bandwidth consumed is used for transferring layer-III compressed audio data, or in casual language “mp3 files”. During the first years of widespread mp3 usages software decoders were the most common, but during the last couple of years portable and other stand-alone players gained in popularity. This report describes an attempt to create an efficient dedicated mp3 decoder in hardware.
Introduction:
Digital design using a Field Programmable Gate Array (FPGA) is a rapidly evolving field. A complete embedded system can be built and programmed into a single FPGA chip for digital signal processing applications.
The goals of this project are to—
(1) gain an in-depth understanding of hardware/software co-design using an FPGA,
(2) understand the specifications set for encoding and decoding MP3 files., and
(3) build a FPGA-based MPEG Layer III (MP3) system, which implements the MP3 decoding algorithm using VHDL and C language on the Embedded Development Kit (EDK) software platform
System Description:
The inputs to the FPGA MP3 player system will be an MP3 bit stream that is preloaded onto a compact flash memory(CFM) and any user interface control input. Using pushbuttons, the user will be enabled scan through the MP3 file list, and then select, play, pause, and/or stop the song. In addition, volume control is triggered by a change in the on-board rotary encoder dial position.
The outputs of the MP3 decoder, that is, 16-bit pulse code modulated (PCM) outputs and play the audio files through an external speaker. The PCM outputs need to be converted to analog format via the on-board stereo audio codec hardware chip before the audio can be heard with an external speaker that can be attached through the audio jack with a 15 mW amplifier. The system block diagram is as shown below in figure 1.1.
The system includes:
 MP3 Decoder

A MP3 decoder runs on the FPGA that will decode the selected MP3 stream with the sampling frequency specified in the MP3 header. A typical sampling frequency is 44.1 kHz. The software and hardware designs are integrated on the Xilinx Embedded Development Kit platform.
External Peripherals:
Verilog HDL is used to drive all external peripherals. Most applications utilize devices by means of high-level device-generic commands. Driver software accept these generic high-level commands and break them into a series of low-level device-specific commands.
User Interface
The user interface provides the inputs to control the MP3 player, such as selecting, playing, pausing, and stopping the MP3 files. It will also allow outputting related information on the LED.
Compact Flash Memory Card
The 2 Gb capacity compact flash memory(CFM) supplies the preloaded MP3 files for the MP3 decoder system in the FPGA. MP3 files are loaded onto to the CFM using a PC and memory card reader.
Onboard Stereo Audio Codec
The Audio codec is used to convert the PCM format signal from the MP3 decoder into an audio signal, which is fed into an external speaker through an audio jack.
System functional requirements and performance specifications:
Input MP3 bit stream requirements:
The MP3 player will decode MP3 inputs with various bit rates (from 128 kbps to 320 kbps) and different sampling frequencies (32 kHz, 44.1 kHz or 48 kHz)
Decoding speed:
The ultimate objective of decoding speed is to process MP3 files in real-time. The execution time of the MP3 decoding will be profiled and measured. If the real-time specification can not be met, further optimization will be needed.
Background information on the MP3 format:
The need to reduce the size of audio files without any noticeable quality loss was stated in the 1980ies by the International Organization for Standardization (ISO). A working group within the ISO known as the Moving Pictures Experts Group (MPEG), developed a standard that contained several techniques for both audio and video compression. The audio part of the standard included three modes with increasing complexity and performance, as shown in Figure 6-1. The third mode, called Layer III, manages to compress music by a factor of 12 with almost no audible degradation. This technique is known as MP3 and has become very popular and widely used in applications today.
Overview of MP3 Encoding Process:
MP3 encoding involves representing a song as a bit stream (an array of 0’s and 1’s) that can be recovered by a MP3 decoder (player). The high percentage compression involved in MP3 encoding allows songs to be stored and shared rather easily and quickly on computers and through the internet without losing any perceptible quality. This lossy compression works by first masking inaudible frequency components to the human ear, and then using several data compression techniques that remove data redundancies.
First the analog audio is sampled at a specific sampling rate, typically at 44.1 kHz. This is due to Nyquist frequency’s rule, in which the sampling rate must be at least two times greater than the largest possible frequency component present in the data. And since the range of audible frequencies to the human ear is roughly 20 Hz to 22 kHz, this sampling rate is usually chosen. The signals are quantized using pulse code modulation, where each sample amplitude is represented by 16 bits.
To remove redundancies and compress data, frequency analysis techniques are used. The PCM samples are filtered for 32 equal frequency spectrums, called subbands using a polyphase architecture that yields in a higher computational efficiency. A discrete cosine transformation is then applied to remove low energy signals from high frequency components.
Further compression is achieved by using a lossless compression technique known as Huffman encoding that is based on statistical behavior of data. Finally, the bit stream is arranged into frames that the MP3 decoder will analyze to reconstruct the MP3 sound.
MP3 decoding:
MP3 decoding is the reverse process of MP3 encoding. Fortunately, decoding is not nearly as complex, since it does not require a psychoacoustic model (a virtual model of the human ear and how it perceives different frequencies). The MP3 decoder’s role is to recover the original audio by analyzing certain sections of a frame to gain information about encoding parameters used and then use reverse procedures to reconstruct PCM samples.
Each frame consists of exactly 1152 PCM samples and contains at least two sections:
A header section that contains important encoding parameters, such as bit rate and sampling frequency used and an audio data section that holds the encoded bit stream. Some MP3 bit streams contain an optional ID3 tag frame that can be used to store MP3 related information including the title and author of the song.
Reply

Important Note..!

If you are not satisfied with above reply ,..Please

ASK HERE

So that we will collect data for you and will made reply to the request....OR try below "QUICK REPLY" box to add a reply to this page
Popular Searches: mp3 player with atmega64, dvd karaoke player, wwwmultimediamultimedia player, future scope of lpc2148 based mp3 player, android media player application report, multimedia player, vianix masc a10a codec,

[-]
Quick Reply
Message
Type your reply to this message here.

Image Verification
Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.
Image Verification
(case insensitive)

Possibly Related Threads...
Thread Author Replies Views Last Post
  DSP Enhanced FPGA smart paper boy 2 1,206 30-11-2011, 10:37 AM
Last Post: seminar addict
  VISION BASED PROCESSING FOR REAL TIME 3-D DATA ACQUISITION BASED CODE STRUCTURED LIGH computer science crazy 7 4,758 26-09-2011, 02:34 PM
Last Post: seminar addict
  Real Time Image Segmentation using watershed algorithm on FPGA smart paper boy 0 867 28-07-2011, 12:07 PM
Last Post: smart paper boy
Thumbs Down Implementation of stepper motor control using VHDL on FPGA electronics seminars 4 7,233 28-07-2011, 09:36 AM
Last Post: faiyaz13
  FAST FPGA-BASED PIPELINED DIGIT-SERIAL/PARALLEL MULTIPLIERS smart paper boy 0 1,085 21-07-2011, 12:32 PM
Last Post: smart paper boy
  MODIFIED BOOTH'S ALGORITHM on the FPGA KIT project topics 0 1,489 09-06-2011, 10:31 AM
Last Post: project topics
  FPGA Based Step Motor Driving seminar-database 0 1,465 21-05-2011, 08:08 AM
Last Post: seminar-database
  FPGA BASED DESIGN AND VERIFICATION OF IMAGE SEGMENTATION FOR MEDICAL SYSTEMS AND DATA seminar class 0 1,515 11-05-2011, 04:06 PM
Last Post: seminar class
  PC to PC communication using FPGA seminarsense 1 2,896 09-05-2011, 05:04 PM
Last Post: 73FRI
  Biometric Encryption using Fingerprint Fuzzy Vault for FPGA-based Embedded Systems seminar class 0 1,513 09-05-2011, 12:43 PM
Last Post: seminar class

Forum Jump: