570 likes | 686 Views
This course, taught by Professor Douglas Lyon at Fairfield University, explores the fundamentals of Voice and Signal Processing, with an emphasis on data processing in multimedia applications. Students will gain a solid understanding of 1D and 2D digital signal processing, including audio and image data. The course includes hands-on programming in Java, covering essential topics such as exceptions, threads, file handling, and GUI development. Pre-requisites include a working knowledge of Java, CS232, and MA172.
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