Self-Calibrating Self-Calibrating Audio Signal Audio Signal Equalization Equalization
Greg BurnsGreg BurnsWade LindseyWade Lindsey
Kevin McLanahanKevin McLanahanJack SametJack Samet
2Group 15 - Wade Lindsey
Project ScopeProject Scope
In any closed room, standing waves exist In any closed room, standing waves exist that change the way audio signals arrive that change the way audio signals arrive at the ear.at the ear.
Variations in amplifier design, speaker Variations in amplifier design, speaker efficiency, and room geometry affect the efficiency, and room geometry affect the frequency response, degrading it from frequency response, degrading it from flat-band operation.flat-band operation.
The goal of this project is to automatically The goal of this project is to automatically calibrate an audio signal to compensate calibrate an audio signal to compensate for these effects.for these effects.
3Group 15 - Wade Lindsey
Audio FundamentalsAudio Fundamentals
Pink Noise is a randomly generated Pink Noise is a randomly generated signal that exhibits a constant voltage signal that exhibits a constant voltage per octave.per octave.
A spectrum analyzer can be used to A spectrum analyzer can be used to obtain the actual frequency response of obtain the actual frequency response of an audio signal when placed in a test an audio signal when placed in a test position in a room.position in a room.
A graphic equalizer can then be used to A graphic equalizer can then be used to adjust the amplifier input to compensate adjust the amplifier input to compensate for any deviations off flat-band responsefor any deviations off flat-band response
4Group 15 - Wade Lindsey
Block DiagramBlock Diagram
Spectrum Analyzer
PICMicrocontroller
Pink Noise Generator
Audio Preamp
MUX
Equalizer
Sensor Array
5Group 15 - Wade Lindsey
Block DiagramBlock Diagram
Spectrum Analyzer
PICMicrocontroller
Pink Noise Generator
Audio Preamp
MUX
Equalizer
Sensor Array
6Group 15 - Wade Lindsey
Equalizer SpecificationsEqualizer Specifications
10 Bands (32, 64, 128, 256, 512, 10 Bands (32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384 Hz)1024, 2048, 4096, 8192, 16384 Hz)
Filters, input, and output Filters, input, and output constructed using LM351 op-ampsconstructed using LM351 op-amps
Discrete components and 10kΩ Discrete components and 10kΩ DS1803 digital potentiometersDS1803 digital potentiometers
7Group 15 - Wade Lindsey
10-Band Equalizer 10-Band Equalizer CircuitCircuit
8Group 15 - Wade Lindsey
Built EqualizerBuilt Equalizer
9Group 15 - Wade Lindsey
Equalizer ResponseEqualizer Response
Frequency response of equalizer with varying resistances tested with HP VEE.
10Group 15 - Kevin McLanahan
Block DiagramBlock Diagram
Spectrum Analyzer
PICMicrocontroller
Pink Noise Generator
Audio Preamp
MUX
Equalizer
Sensor Array
11Group 15 - Kevin McLanahan
Block DiagramBlock Diagram
Spectrum Analyzer
PICMicrocontroller
Pink Noise Generator
Audio Preamp
MUX
Equalizer
Sensor Array
12Group 15 - Kevin McLanahan
Pink Noise SpecificationsPink Noise Specifications
Creates pseudorandom digital noise Creates pseudorandom digital noise for white noise in first stage at for white noise in first stage at 3dB/dec3dB/dec
Second stage pink noise filter at -Second stage pink noise filter at -3dB/dec3dB/dec
Frequency response 20 Hz – 20 kHzFrequency response 20 Hz – 20 kHz 33-bit resolution in shift register for 33-bit resolution in shift register for
pseudorandom number generationpseudorandom number generation Line level output at 150mV rmsLine level output at 150mV rms
13Group 15 - Kevin McLanahan
Pink Noise GenerationPink Noise Generation Equal voltage per octave across audio band.
FFT of Pink Noise viewed on oscilloscope.
14Group 15 - Kevin McLanahan
Block DiagramBlock Diagram
Spectrum Analyzer
PICMicrocontroller
Pink Noise Generator
Audio Preamp
MUX
Equalizer
Sensor Array
15Group 15 - Kevin McLanahan
Block DiagramBlock Diagram
Spectrum Analyzer
PICMicrocontroller
Pink Noise Generator
Audio Preamp
MUX
Equalizer
Sensor Array
16Group 15 - Kevin McLanahan
Spectrum AnalyzerSpectrum Analyzer
Samples input signal from microphoneSamples input signal from microphone Performs an FFT (Fast Fourier Performs an FFT (Fast Fourier
Transform) algorithm to extract Transform) algorithm to extract frequency componentsfrequency components
Compares relative frequency levels to Compares relative frequency levels to optimal flat-band responseoptimal flat-band response
Samples microphone input at 19.2 μsSamples microphone input at 19.2 μs Sample length of 256 data points at 8-Sample length of 256 data points at 8-
bit resolutionbit resolution
17Group 15 - Kevin McLanahan
FFT ExplainedFFT Explained
Implementing Cooley/Tukey FFT algorithm.Implementing Cooley/Tukey FFT algorithm. Has Big O of N log NHas Big O of N log N Takes Fourier matrix of power 2 (2Takes Fourier matrix of power 2 (288 in our in our
case)case) Breaks into 2 log N matrices and performs Breaks into 2 log N matrices and performs
multiplications on roots of unity (emultiplications on roots of unity (e2πihk/N2πihk/N)) Ultimate result returns a vector with Ultimate result returns a vector with
frequency, phase, and magnitude frequency, phase, and magnitude information.information.
18Group 15 - Greg Burns
Block DiagramBlock Diagram
Spectrum Analyzer
PICMicrocontroller
Pink Noise Generator
Audio Preamp
MUX
Equalizer
Sensor Array
19Group 15 - Greg Burns
Block DiagramBlock Diagram
Spectrum Analyzer
PICMicrocontroller
Pink Noise Generator
Audio Preamp
MUX
Equalizer
Sensor Array
20Group 15 - Greg Burns
Microcontroller SoftwareMicrocontroller Software
Initialization Mode
Calibration Mode
Operation Mode
Sets all initial variables and default settings.
Outputs pink noise signal through speakers, receives spectral data from analyzer,
and adjusts equalizer to compensate.
Resets MUX to audio source and selects current room location to compensate.
21Group 15 - Greg Burns
Initialization ModeInitialization Mode
Sets system timers and interruptsSets system timers and interrupts Configures input and output pinsConfigures input and output pins Defaults variables to initial Defaults variables to initial
conditionsconditions Initializes IInitializes I22C transfersC transfers Sets digital pots to a predetermined Sets digital pots to a predetermined
ideal flat-band responseideal flat-band response
22Group 15 - Greg Burns
Calibration ModeCalibration Mode
Gathers data from spectrum analyzer Gathers data from spectrum analyzer outputoutput
Compares current frequency response Compares current frequency response peaks to ideal responsepeaks to ideal response
Adjusts digital potentiometers based upon Adjusts digital potentiometers based upon previous comparisonprevious comparison
Repeats until current frequency response Repeats until current frequency response and ideal response fall within 5% toleranceand ideal response fall within 5% tolerance
Calibrates for every room positionCalibrates for every room position
23Group 15 - Greg Burns
Operation ModeOperation Mode
Switches audio source from pink Switches audio source from pink noise to preampnoise to preamp
Sets digital pots to specific values Sets digital pots to specific values corresponding to room locationcorresponding to room location
Monitors Sensor Arrays for room Monitors Sensor Arrays for room location variationslocation variations
24Group 15 - Jack Samet
Block DiagramBlock Diagram
Spectrum Analyzer
PICMicrocontroller
Pink Noise Generator
Audio Preamp
MUX
Equalizer
Sensor Array
25Group 15 - Jack Samet
Future ImprovementsFuture Improvements
Increased number of frequency Increased number of frequency bands on EQbands on EQ
Use of DSP processor for improved Use of DSP processor for improved FFT performanceFFT performance
Use of audio-grade tolerance Use of audio-grade tolerance componentscomponents
Allow for wide variety of sensor Allow for wide variety of sensor array configurationsarray configurations
26Group 15 - Jack Samet
ConclusionsConclusions
Economically feasible and marketableEconomically feasible and marketable Modular design allows for easy Modular design allows for easy
implementation, innovation, and implementation, innovation, and reproductionreproduction
Compatible with most modern stereo Compatible with most modern stereo systemssystems
Overall a universally usable product Overall a universally usable product from personal to commercial from personal to commercial applicationsapplications
27Group 15
Questions?Questions?
28Group 15
FinFin