Digital Equalizer Functional description

Description:
The system will be a digital equalizer. The user will be able to change the volume control and the relative weights of frequency bands. Both of these characteristics of the input sound will be controlled by a rotary switch. The user can also display either a oscilloscope or spectrum analyzer display to analyze the input waveform. The user can also select between percent increments or decibel increments in gain, as well as putting the equalizer in pass through mode. Finally, the user can select a preset programmed in memory.

Input:
The input of the system will be sound waveform, from either a microphone or music player, going through a stereo jack. The user will input commands through the rotary switches to increase the gain of a specific band of frequency. There will be frequency selecting buttons to determine which frequency band will have its gain changed. Turning a knob will increase or decrease the weight of a frequency band or the volume. The user can also alternate control between the left channel and right channel if the input is stereo. The selection of menu items will also be done via push buttons.

 

User Interface

On power up, the digital equalizer will start in the 'on' mode. Once activated, the equalizer's volume control and frequency band controls will take effect, manipulating the input signal as the user wishes:

Rotary switches actions

Valid in Which menus

Description of Turn Action

Volume control

All menus, when the volume band is selected

The user can vary the volume of the output from 0% to 100%, or -20 dB to +20dB (relative to some set output level). The volume level will increase or decrease in increments of 5% or 1 dB. Clockwise increases, while Counterclockwise decreases.

Frequency band control

All menus, when one of the frequency bands is selected

The user can vary the weight of the frequency band from 0% to 100%, or -20 dB to +20dB (relative to some set weight). The frequency band weight will increase or decrease in increments of 5% or 1 dB. Clockwise increases, while Counterclockwise decreases.

Key Switch

 

Description of Key Action

<Up>

All menus

Move the cursor up to the previous menu, if not already at the top menu item. If the cursor is at the top of the menu, then the cursor will not be moved.

<Down>

All menus

Move the cursor down to the next menu, if not already at the bottom menu item. If the cursor is at the bottom of the menu, then the cursor will not be moved.

<Select>

 

Change the settings of the current sub-menu

<Left>

All menus, except the Presets menu.

Selects a band (including volume) to the left of the one currently selected. It will not select anything to the left of the volume band. In the presets menu, this option will select one of the presets.

<Right>

All menus, except the Presets menu.

Selects a band (including volume) to the right of the one currently selected. It will not select anything to the right of the volume band. In the presets menu, this option will select one of the presets.

 

 

Menu

Options

Description

Channel

Left, Right

In the menu, the select button toggles the equalizer control between the left channel and right channel. When the equalizer is controlling the left channel, the rotary control and the channel selecting controls will affect the volume and frequency weights of the left channel. When the equalizer is controlling the right channel, the rotary control and channel selecting controls will control the volume and frequency weights of the right channel.

Equalizer

On, Off

In the menu, the select button toggles the equalizer between the on/off modes. When the equalizer is on, the volume control and frequency band controls will take effect. In the off mode, the system simply acts as a pass through system.

Analyzer

Spectrum analyzer, Oscilloscope

In the menu, the select button toggles the analyzer between spectrum mode and scope mode. In the spectrum analyzer mode, the display will display the frequency response at various frequencies. In the scope analyzer mode, the display will show the output waveform.

Increments select

Percent, Decibel

In the menu, the select button toggles the increments between percent increments and decibel increments. The percent increments change the gain for everything in increments of 5%. The decibel increments change the gain for everything in increments of 1 dB.

Presets

Default, High pass, Low pass

In the menu, the menu button now selects the default preset (where every frequency badn is passed evenly). The left button selects the high pass preset (high frequencies are passed). The right button selects the low pass preset (low frequencies are passed).

Frequency bands

Set at 60, 170, 310, 600, 1k, 3k, 6k, 12k, >12k (all in Hz)

The frequency band for the selected channel is selected by the left and right push buttons.Turning the rotary knob for t frequency band will change value for that band on the display, and increment/decrement the weighting of the band by the option chosen in the increments menu.

Volume Control

-

Same controls as the frequency bands

 

For additional details, see User Manual.

 

Additional Software Functional specifications:

As described by the top proposal page, the system convolutions and frequency responses will be done by:

,

respectively. Given the volume and frequency controls, software will display the appropriate value for controls on the displays. Given the frequency responses (i.e. the H[z] above), software will display appropriate length bars on the display.

 

The scope mode will display the waveform directly.

 

 

Output:

The display for the system will be a Federal Express Surplus graphical LCD (128 x 480 pixels). The screen will display:

  • The menu system described above.
  • The current status of the volume and frequency controls (the percentage weight will be displayed) for both the left and right channel.
  • The response in each frequency band (in spectrum analyzer mode) or the waveform (in scope mode) will be displayed. The spectrum analyzer will be in bar chart form for both the left and right channel. This will be refreshed as fast as the LCD refresh rate, or as fast as the samples come in. The scope analyzer will be in line graph form, and will be updated just as fast.

 

Return values: None (only power down for the stand alone system)

 

Arguments: None

 

Error Handling:

If there is a power failure the system will be reset to the start state, where it will be a pass-through system.

 

Algorithms:

  • DFT (discrete Fourier Transform) algorithm (Appendix A)
  • Signal convolution algorithm(Appendix B)

 

Data structure:

  • Every control will have a percentage associated with it, and displayed on the screen.
  • Every line on the bar chart of the frequency response will represent a certain percentage weight on the display.
  • The samples will be in 24-bit form.

 

Limitations:

  • RAM size (4k usable program memory, 2k of X and Y usable processing memory)
  • ROM size (4k x 24 bits of program memory space on DSP = 12k x 8 bits on ROM)
  • The sampling will be conducted at 56kHz. If this is the Nyquist frequency, then maximum frequency allowed in the system is 28kHz. The anti-aliasing filter in the A/D should take care of this.
  • sampling resolution of 24 bits
  • resolution of display: 1 line on the frequency response chart represents some percentage.
  • The plot pixel time of the LCD hinders the rate at which the display can be plotted. Because the read and write times to the LCD are extremely long, their cycles sometimes overruns the receive and transmit interrupts. This is dealt with in software.

Documentation (combined version here):

  1. Table of Contents
  2. User Manual
  3. Circuit Description
  4. Block Diagram
  5. Schematics
  6. PCB layout
  7. File List
  8. Fully Documented DSP Code
  9. Fully Documented Lattice Code
  10. Timing Diagrams
  11. Appendix A: Discrete-Time Fourier Transform
  12. Appendix B: Convolution
  13. Appendix C: Equalizer Presets

Data Sheets for understanding:

  1. Motorola DSP56303 User Manual
  2. Assembler Manual (Motorola Assembly)
  3. Linker manual
  4. JTAG interface for Motorola DSP
  5. Atmel AT28BV256 256K EEPROM
  6. Texas Instruments cd74ac153.pdf (4:1 Multiplexer)
  7. Cirrus Logic cs4341 (24-bit stereo D/A converter)
  8. Cirrus Logic cs5333 (24-bit stereo A/D converter)
  9. Cypress CY7C1399B (8-bit SRAM)
  10. Texas Instrument SN74AC241 (8-bit buffer)
  11. Texas Instrument SN74CBT3345 (8-bit bus switch)
  12. LCD
  13. VRAM
Currently hosted at: http://yyg.stanford.edu