570 likes | 680 Views
Voice and Signal Processing. CR310 ECE410 SW511. Professor Douglas Lyon Lyon@docjava.com Fairfield University http://www.docjava.com. Two Course Texts!. Java for Programmers Available from: http://www.docjava.com. Java Digital Signal Processing. Java for Programmers Available from:
E N D
Voice and Signal Processing CR310 ECE410 SW511 • Professor Douglas Lyon • Lyon@docjava.com • Fairfield University • http://www.docjava.com
Two Course Texts! • Java for Programmers • Available from: • http://www.docjava.com
Java Digital Signal Processing • Java for Programmers • Available from: • http://www.docjava.com
Grading • Midterm: 1/3 • Homework: 1/3 • Final: 1/3 • Midterm and Final – Take home!
Email • Please send me an e-mail asking to be placed on the CR310 List • E-mail: lyon@docjava.com
Pre-reqs • You should have CS232 and MA 172 • OR permission of the instructor • You need a working knowledge of Java!
What do I need to learn this? • Basic multimedia programming • It helps implement interesting programs • It enables active learning • It requires a good background in Java programming
Preliminary Java Topics • exceptions (ch11) • nested reference data types (ch 12) • threads (ch13)
Preliminary IO Topics • files (ch14) • streams(15) • readers (16) • writers (17)
Preliminary GUI Topics • Swing (ch 18) • Events (ch 19)
What is Voice and Signal Processing? • 1D data processing • input sound • output sound • a time varying functions are used as both input and output.
What is Digital Signal Processing? • A kind of data processing. • Typically numeric data processing • Look at kind and DIMENSION of data. • 1D in, 1D out -> DSP. • 2D in, 2D out -> Image Processing • 2D in, symbols out -> computer vision • 3D in, 2D out -> computer graphics
What are some DSP examples? • If the input is images and the output is images we call it image processing • If the input is images and the output is symbols we call it pattern recognition or machine vision • If the input is text and the output is voice we call it voice synthesis. • If the input is voice and the output is text we call it voice recognition • If the input is images and geometry and the output is images we call it image warping
What are some 1D DSP applications? • Analysis • weak variables -> strong variables • Systhesis • Strong variables - > weak variables
What are some kinds of 1D data? • Any form of energy that can be digitized. • Any source of data (a function in 1D). • Voice data • Sound data • Temperature data • Range, blood pressure, EEG (brain stuff), EKG (heart stuff), weight, age…..
non-physical phenomena and DSP • Anything that can produce a digital stream of data is suitable for DSP • i.e., financial data, • statistical data, • network traffic, etc.
What is Audio? • Pressure wave that moves air. • Human auditory system (ear). • Audio is a sensation.
What is digitzation? A low-pass filter removes high frequencies ADC samples the signal and quantizes it Parallel to serial converter is a shift-register
Quantization • 1 part of digitization • input v(t) • ouput Vq(t) • let N = the number of quantization levels. • Suppose minimum voltage is 0 vdc • Suppose max voltage is 1 vdc • What is the min quantization step?
Computing the quantization step • maximum voltage / total number of steps. • For example, a CD has 16 audio sampling. • N = 2**16 = 65536 • Voltage of quantization = 1/ 65536=0.00002 • For AU files, N = 2 ** 8 = 256 • Voltage of quantization = 1/256=.003
What is the noise relative to the signal? • SNR = signal to noise ratio • Log(Signal power / noise power) to base 10. • This is named after Alexander Grahm Bell • It is called the decibel (dB). • 10Log(65536/0.00002) = 95 db • Usually about 6 dB per bit.
The role of the low-pass filter • anti-aliasing filter • Nyquest frequency = sample freq /2 • only pass freqs below Nyquest Frequency
Digitizing Voice: PCM Waveform Encoding • Nyquist Theorem: sample at twice the highest frequency • Voice frequency range: 300-3400 Hz • Sampling frequency = 8000/sec (every 125us) • Bit rate: (2 x 4 Khz) x 8 bits per sample • = 64,000 bits per second (DS-0) • By far the most commonly used method CODEC PCM 64 Kbps = DS-0
In 1D, DSP Is… • 1D Digital signal processing is a kind of data processing that operates on 1D PCM data.
Harmonics • The fundamental frequency of a sound is said to be the component of strongest magnitude. • Few sounds are just sine waves. • The extra waves in a sound refer to the harmonic content or timbre.
Harmonic formula • A harmonic is a numeric multiple of pitches. • If 440 Hz is the 1st harmonic then • 880 Hz is the 2nd harmonic • Individual sine waves are called partials.
Harmonic Motion • The frequency of the oscillations is given by
How do I model Spectra? • Suppose the continuous signal is v(t) • Let the Fourier coefficients be denoted: Spectra show harmonic content
Sawtooth Wave Form K=10
Model of a Saw Wave Let k go to infinity write out first 3 terms. What do you get?
Example: a 4 voice synthesizer • Design a program that can: • Play sound • Provide a GUI for determining the amplitudes of up to 7 harmonics • Enable the user to alter the frequency for the fundamental tone. • Enable the playing of 4 voices • Enable the control of the overall volume.
Building an Oscillator in software • //the period of the wave form is • lambda = 1 / frequency in seconds • //The number of samples per period is • samplesPerCycle = sampleRate * lambda; • sampleRate = 8000 samples/ second
How do you compute the Fourier Coefficients? • Use the Fourier transform!
Recall Euler’s identity • Complex numbers have a real and imaginary part:
Correlation • Fourier coefficients, are found by correlating the time dependent function, x(t), with a Nth harmonic sine-cosine pair:
Average Power Periodic signal avg power
PSD (Power Spectral Density) • is the power at a specific frequency, .
Linear combinations in the time domain become linear combinations in the frequency domain
Delay in the time domain causes a phase shift in the frequency domain
Scale change in the time domain causes a reciprocal scale change in the frequency domain