Abstract This paper is a report on the analysis to build an equalizer for the DSP kit DSK C6713 using LabVIEW for the front end and the program code written in C and compiled using code composer (CCS) integrated development environment.
Graphical equalizer is a common type of equalizer is which consists of a bank of sliders for boosting and cutting different bands (or frequency ranges) of sound. The number and width of filters depends on the type of application . It allows the users to graphically control different frequency bands individually. Graphical equalizers have different sets of identical amplifiers for each channel in an audio system. In our project we used 5 band equalizer which are used to increase or decrease the gain (volume) based upon the audio signal i.e. which gives different sound variations for different frequencies. There are two types of equalizer techniques graphic equalization and parametric equalization, in our project we use graphic equalizer it is also called constant Q graphic equalizer.
The FIR Band pass filter designed using the coefficients obtained from the MatLab to the center frequencies which are obtained for the equalizer.
We test the project with digital signal processor starter kit (DSK) with TMS320C6713 floating point processor on board with the support for input and output by software using the code composer studio. A board, shown in Figure 1, contains the TMS320C6713 (C6713) floating-point digital signal processor as well as a 32-bit stereo codec for input and output (I/O) support .
In this project we focus on the design and implementation of the audio equalizer with the digital signal processor using LabVIEW for designing front panels which show the graphical equalizers for the user to control the frequencies. The later section describes the design techniques and algorithm designed for digital system implementation to the processor.
The following report gives a solution to task of developing an equalizer (Figure 3) for signal generation using Digital Signal Processor, where the code composer studio (CCS) compiles the C program and generates an assembly program which helps DSK C6713 to generate the desired signals with desired frequency. For Example, Figure 4 shows several windows within CCS for the project sine8_LED (in case one forgets to scan for all the file dependencies) .
Finally we design the model of the equalizer in the code composer studio and implemented with the DSK6713 processor by taking real audio signal as input and observing the output by changing the characteristics of the equalizer.
The equalizer is implemented by studying many methods for filters to design and what kind of equalizer to design and ways to implement using digital signal processor.
A. Designing the Filter
There are five different filters, with different range of values. EQ have 5 frequency bands "250, 1K, 2K, 4K, 16K Hz", real time presentation of the filter characteristic. The design of the filter in this project for the equalizer is done using MATLAB; there is a utility by name FDA tool where we can design and analysis a filter. In this they are different design methods for computing filter coefficients for various types of filters. In our project we use FIR filter because the filtering is simple and less sustainable to introduce noise so the errors will be reduced in the system. The generated coefficients are multiplied with the present samples and number of previous samples and summing all of these outputs from the filter. IIR filters can also be implemented but the reason is that it introduces random circuit noise and glitches which create distortion hence FIR filters output sounds better that IIR
When the audio signal is passed from the band pass filter we can control the tone the filter face response and magnitude frequency response shows the effect of face distortion. If we have two filters which controls the face. The central frequencies are spaced equally in octaves and not in linear frequencies.
B. Designing the System
The setup for the 5-band graphic equalizer consists of the hardware and software where we need TMS320C6713 DSP kit , PC with code composer studio, Lab view, a universal synchronous bus which connects the DSK and the pc, a 5V power supply to connect to DSK, oscillator, signal generator and speaker. The system software consists of two parts the 1) Assembly code that runs on the DSP 2) LabVIEW Code that provides the user interface. Both the portions must be able to communicate with each other, so both components of the system are programmed to communicate using RTDX(Real time Data Exchange) via JTAG interface.
C. TMS320c6713 Digital signal processor.
The TMS320C6713 (C6713) is based on the VLIW architecture, which is very well suited for numerically intensive algorithms. The internal program memory is structured so that a total of eight instructions can be fetched every cycle. For example, with a clock rate of 225 MHz, the C6713 is capable of fetching eight 32-bit instructions every 1/(225 MHz) or 4.44 ns. Features of the C6713 include 264 kB of internal memory (8 kB as L1P and L1D Cache and 256 kB as L2 memory shared between program and data space), eight functional or execution units composed of six arithmetic-logic units (ALUs) and two multiplier units, a 32-bit address bus to address 4 GB (gigabytes), and two sets of 32-bit general-purpose registers.
D. Graphic Equalizer Implementation
The code developed and used in this project is listed in the appendix graphicEQ.c, which implements a five band graphic equalizer. TI's ?oating-point complex radix-2 FFT and IFFT support functions are used in this project . The coefficient ?le, graphicEQcoeff.h contains five sets of coefficients; both the input samples and the five sets of coefficients are transformed into the frequency domain. The ?ltering is performed in the frequency domain based on the overlap-add scheme. Note that the complex multiplication (H)(X), where H represents the transfer function and X the input sample, yields
(HR + jHI )(XR + jXI ) = (HR XR - HI XI ) + j(HR XI + HI XR )
as used in the program, where j = -1, ISR continuously (every sample period Ts) outputs a value from the buffer iobuffer, then inputs a new value until iobuffer is full. At this time a new frame of input data is available. The iobuffer index is initialized and the ?ag is set. The main program waits for this ?ag to be set, and then resets it. Build this project as graphicEQ (use the optimization level -o1). Test this project using an input voice ?le. Verify that the low- and high-frequency components are accentuated, while the midrange frequency components are attenuated. This is because EQ_gain1, EQ_gain2, EQ_gain3, EQ_gain4 scale the ?lter coefficients in the program and EQ_gain5. The slider ?le graphicEQ.gel (on the CD) allows you to control the five frequency bands independently.
The gain is varied by the user with the help of sliders provided at the front end of the Lab view interface. A unified filter is obtained by adding the frequency domain versions of the filters. The algorithm used for the interface between Lab view and the DSK kit is shown as:
In this way, the design and implementation of 5-band pass filter for each center frequency is done and at last outputs of these filters is added and given to the output sample where the equalized controllable output is obtained from the speaker.
D) LabVIEW 2009
LabVIEW is a graphical programming language; it provides a graphical design tool for algorithm development, embedded system design, prototyping, and interfacing with real-world hardware. A program in LabVIEW is called a Virtual Instrument (VI), and acts as an individual function similar to a function defined in the C programming language. The Lab VIEW development environment allows you to develop graphical programs and graphical user interfaces easily and effectively. It has a very good debugging tool. LabVIEW has additional modules introduced to expand the core functionalities of it to real-time operating systems, DSP, and FPGA programming, etc. .
E) Design of Lab VIEW front end
Using DSP Integration add on Tool Kit in LabVIEW, the front end is designed in LabVIEW 2009. The code automatically compiles and runs the assembly code. The LabVIEW front panel has sliders with appropriate frequencies to communicate with the DSK Kit using SubVI's .
Designing and implementing the graphic equalizer makes us familiar with the C6713 DSK. This project gives us knowledge about handling the real time problems while implementing the project using the C6713 DSK. This project involves the design of 5-Band Graphic equalizer using FIR Band pass filter. The algorithms of the filters are designed taking the examples in to consideration available in the reference book "Digital Signal Processing and Applications with the C6713 and C6416 DSK by Rulph Chassaing" and implemented using code composer studio and tested with the TMS320C6713 digital signal processor. The graphic equalizer designed adjusts frequency and gain of the fed input sound file with respect to movement of the sliders in the LabVIEW front panel resulting to the goal of the project.
 Filter design, from Wikipedia, the free encyclopedia. Available: http://en.wikipedia.org/wiki/Filter_design
 How to begin Development Today with the TMS320C6713 Floating-Point DSP, SPRA809, Texas Instruments, Dallas, TX, 2003.
 Digital Signal Processors ET1304, Project, General description of the project in ET1304, Available: https://bth.itslearning.com/Main.aspx?CourseID=1936
 Rulph Chassaing, Digital Signal Processing and Applications with the C6713 and C6416 DSK, Published2005byWiley-InterscienceinHoboken, N.J. pp. 15-16.