If questions look at ECE 310 course notes Labs 0

advertisement
Intro
Monday, 23 January, 2012
13:55
If questions look at ECE 310 course notes
Labs 0-5 then project
Labs 0-5: pick a lab partner in section
Final project: pick someone with similar interest (not necessarily in section)
Will have prelabs and oral quizzes
Final project: propose before spring break, usually 2 people/team, can do with 1 or 3 if like
Have an exam (quiz on lectures) last week of classes
Grading
Labs 1-5
50%
1 prelab
4 code works
5 oral quiz with TA's
Project
45%
10 proposal/design review
20 demonstration
5 project lab
10 written report
Quiz on lectures 5%
Grades on compass
There is a website: courses.ece.uiuc.edu/ece420
Il y a un schedule allí
With weeks and lecture topic (this week: DSP assembly programming) and Lab (Lab 0: HW Intro)
and Due (this week none)
Labs in room 251 EL
Sections on Tuesday, Wednesday, Thursday each 2-3:50
Professor: Andrew Singer, acsinger@illinois.edu, 110 CSL, send email if want to see
TA's: Mijail Gomez (gomez19@illinois.edu) and David Cohen (dmcohen2@illinois.edu)
Office hours will be listed on the website
Notes Page 1
DSP
Monday, 23 January, 2012
14:20
What is a DSP chip?
- DSP means digital signal processing in a university but in industry mean digital signal processor
- A DSP has RAM, CPU, registers and ALU (probably optimized for vector operations)
- Could have a homogeneous multicore processor with many identical CPU's, may have local
memory and shared memory maybe a hard disk - this would be a multicore DSP
- Could also have a heterogeneous system - a smaller number of CPU's and a GPU (with SIMD =
single instruction multiple data) and some sort of ALU/Vector DSP and this would be a DSP
How would you do an inner product on a DSP?
- On a system with one CPU, some registers and some memory
 DSP optimized to do z[n]=sum(nk=0,N-1,h[k]x[n-k])
1) Set 2 counters: i=0,j=0,Acc=0
2) Load h[i++] to A, x[n-j++] to B
3) While i<N
a) MAC
b) Load h[i++] to A and x[n-j++] to B
Number representation
- Often working in fixed point
 Good for integer operations like i++ or sorting or searching
- Maybe have floating point
 Good for multiplications
 Expensive
- Maybe have fractional fixed point
 Good for multiplying
 Won't get overflow, get underflow instead
 Use 1's complement
Could be with reference to something
Notes Page 2
MAC: multiply accumulate
Acc+=A*B
Background material relevant to lab
Monday, 30 January, 2012
13:53
Labs:
T
6 people
W
14 people
R
6 people
Office hours:
Friday 2-4 (DC, David) (either lab or Beckman 1714A)
Friday 1-3 (MG, Mijail) (in lab)
Prelab 1 due this week in lab
The processing of digital signals
Notes Page 3
Notes Page 4
Sampling and multirate
Monday, 06 February, 2012
14:00
Multirate DSP system
- Refer to systems that have discrete time data that have different sampling times
Notes Page 5
Notes Page 6
IIR Filters
Monday, 13 February, 2012
14:01
Can access 310 course notes
courses.illinois.edu/ece310
IIR filters
- Infinite length impulse response filters
- (some textbooks omit "length")
Coefficient quantization
Signal quantization
Notes Page 7
Notes Page 8
Power Spectrum
Monday, 20 February, 2012
14:02
- Spectral analysis
Notes Page 9
Notes Page 10
Final Projects
Monday, 27 February, 2012
13:59
- For proposal (Clearly identified as you (put name on it))
 Title (what trying to do)
 Authors/Members of team
□ 2-3 people is typical
 Introduction
□ Include background material
□ Include references
 OK to include web pages
 Include at least 1 published journal article/book/magazine
◊ Search for tutorial/overview/review
 Methods
□ Block diagram, indication of what each block does
□ Specify the algorithm for each block
 Goal
□ What is it you're trying to do?
□ Why are you doing it?
□ Describe it to your mom
Markov speech recognition
Email submission to Prof/TA
- Pdf/word/google docs
Pretty much whatever you want
If going to use something other than standard platform, let them know
Examples
- Speech recognition
- Speech synthesis
- d
Face recognition
Music related
- Synthesizer
Digital communication link
(modem)
Acoustic noise cancellation
Notes Page 11
Monday, 05 March, 2012
13:59
Design review:
- First week of April (2-6 April)
- Presentations 4 weeks later - May 1,2,3
What are lectures now?
- Next week ST/ARM people come
- Will do special topics and questions about stuff
Notes Page 12
ST Micro: ARM based STM32F4 MCU for DSP Applications
Monday, 12 March, 2012
13:59
Based of M4
Program in C
FPU
Keil IDE
Also IAR templates
Templates on V drive
Notes Page 13
Speaker:
Speech recognition
Monday, 26 March, 2012
13:58
1.
2.
3.
4.
Minimum probability error
Pronunciation model = HMM
Acoustic model = Gaussian
Acoustic features = Cepstrum
Goal: minimize the probability of error
W = [w1,w2,…wN]
Words spoken
X = acoustic signal
Words said from the available w's
What = estimate of W
Goal: minimize probability that What != W given X
Maximum a posteriori
Notes Page 14
2. Pronunciation model
a. How do we find p(X|W)?
b. Suppose W = ["three"]
Step 1: Break down words into phonemes
Step 2: Break down words to senones (states)
Senone is approximately 1/3 of a phoneme
This is a universal instantaneous tongue/lip/glottis position
Approximately a universal instant spectrum
Usually break down w= ["three"] into phoneme sequence Q = [θ1,θ2,θ3,r1,r2,r3,i1,i2,i3]
So What=argmax(p(X|W) = argmax(p(X|Q(w))
Getting P(X|Q) is done with a Hidden Markov Model
Q = [q1,q2…qN]
X = [x 1,x2…x T]
Define intermediate probabilities:
aij = p(q(t)=qj|q(t-1)=qi) This is a transition probability
Now as long as N<= T
bj(x t)=p(x(t)=xt|q(t)=qj) This is an observation probability
Notes Page 15
1. Why log?
a. Avoid floating point underflow. aij<1
i. Generally (aij)T underflows but T.log(aij) might not
1) Generally get negative numbers
2) Generally bj's are given as probability densities so not necessarily negatives
2. Why dynamic programming?
a. Naïve optimization from N senomes to T time steps is on the order of O(NT) which is unreasonably
large. With the DP algorithm it is O(N2T) which is much better
i. N equations with a maximization over N possibilities times T steps
3. Where do you get aij and bj(x) from?
a. Estimate using Baum-Welch algorithm
b. Can estimate by hand
i. Estimate aij's very approximate with very little loss. Can say a ii=0.8 and ai,i+1=0.2 for a
reasonable starting point.
3. Acoustic model: bj(x)
a. A senome is a universal setting of articulators (lips/tongue/glottis) = repeatable compact set of
spectra
4. Acoustic features
a. Goal: bj(x t) = p(xt|q(t)=j) is compact
i. That is actually a pdf
Notes Page 16
Clues:
- Humans are insensitive to phase shift
- Humans sensitive to loudness is proportional :
- log|X[k]| is correlated with log|X[k-1]|
 Need to remove this correlation
 Can be done by taking another Fourier transform
Cepstrum:
Step 1: short time F.T.
O(N log(N))
Step 2: inverse
Notes Page 17
Communications-inspired ICs
Monday, 09 April, 2012
14:01
Naresh Shanbhag
Probabilistic Logics and the Synthesis of Reliable Organisms from Unreliable Components
Notes Page 18
Download