Linear Algebra Definitions Dot product of vectors A= and B= A B = a 1 *b 1 + a 2 *b 2 + … + a n...

Post on 14-Jan-2016

225 views 1 download

Tags:

Transcript of Linear Algebra Definitions Dot product of vectors A= and B= A B = a 1 *b 1 + a 2 *b 2 + … + a n...

Linear Algebra

Definitions Dot product of vectors A=<a1,a2,…an> and B=<b1,b2, …, bn>

A B = a1*b1 + a2*b2 + … + an * bn

The length of a vector <a1, a2, … , an> is (a12 + a2

2 + … + an2)½

A set of vectors are linearly independent if none of them can be expressed as a linear combination of the others

A set of n vectors is a basis for an n-dimensional space if they are all linearly independent

Vectors are orthogonal if their dot product = 0 (ex: <1/5½,2/5½ >, <-2/5½,1/5½ >) Two orthogonal vectors are orthonormal if their lengths are all unity

<1,0,0>

<0,1,0>

<0,0,1>

Interpretation1.We can represent any vector by a linear combination of an orthogonal set<1/5½,2/5½ > • <4,7> = 18/5½ and <-2/5½,1/5½>• <4,7> = -1/5½

(18/5½)<1/5½,2/5½ > + (-1/5½)<-2/5½,1/5½> = <20/5, 35/5> = <4,7>2.Orthogonal vectors extends the concept of: “perpendicular”

Extends Euclidean space algebra to higher dimensions

Extend Linear Algebra to CalculusTwo functions, f(x) and g(x) and are orthogonal over the interval with weighting function w(x) if

If, in addition, f(x) ≠ g(x) ≠ 0 and w(x) ≠ 0

= 0 , and = 0

the functions f(x) and g(x) are said to be orthornormal

Interpretation: Sets of periodic functions are orthornormal

Fourier Decomposition

• Fourier showed us that we can decompose any time domain signal into a (possibly infinite) series of waves described by a set of orthonormal functions

• Each wave has a well-defined frequency and can vary in amplitude

Fourier Series• An infinite sum of sinusoids modeling a continuous signal is an

example of a Fourier Series• Each point on the Fourier number line represents a particular

sinusoid • Fourier transform: Decompose a signal into Fourier components,

perform processing, and recombine the results to solve an original problem

We use transforms to alter a problem that cannot be solved in one domain into another, where the solution is possible. Many DSP algorithms are able to compute useful results by analyzing a signals component frequencies

Fourier Square Wave Synthesis

Fourier DecompositionExample: decompose a signal into 9 cosine and sine waves

The decomposition models the signal’s phase and amplitude

The Fourier Transform Family• Fourier Series

A possibly infinite decomposed weighted sum of sinusoidal functions that models a periodic signal

• Fourier TransformA linear operation that maps an arbitrary function with into a spectrum of its frequency components

• Discrete Fourier Transform (DFT)A Fourier Transform applied to a discrete periodic series of measurements

• Discrete Time Fourier Transform (DTFT)A Fourier Transform applied to a an aperiodic discrete series of measurements

• Fast Fourier Transform: Fast way to calculate DFT

Orthonormal Sinusoids

OrthonormalAttenuating/Amplifying Sinusoids

Parameters•Frequency of attenuation or amplification•Speed of attenuation or amplification

Alternative Basis Functions

Choosing a Basis Function Set1. Any orthonormal function set works, but all choices are not equal

2. A good choice:a.Has desirable mathematical characteristics. Those with sharp edges fail

b.Represents frequencies, amplitudes, phases. Pure sines and cosines fail

Integral: Cos (πx/3) * cos (2 πx/3)cos (πx/3) and cos (2 πx/3)

Orthonormal Basis Sets (cont.)

• The winners: – Continuous version: e-j2πft = cos(2πft) – j sin(2πft) where t

is point in time, f is a frequency, polar notation models both phase angle and magnitude

– Discrete version: e-j2πfn/N = cos(2πfn/N) – j sin(2π fn/N) where n is a signal measurement, f is one of the N orthonormal functions

• Note: The angular frequency, ωm, measured in radians per second is defined as follows: ωm = 2πfF0 = 2πf/T0 measures how fast a particular basis function oscillates with respect to the fundamental frequency, F0, having period, T0. For every one time F0 rotates about the unit circle, 2πfF0

rotates f times faster.

The Fourier Transform

The Fourier Algorithm

• This Signal has– Two component frequencies: 1Khz, and 2Khz– The second signal has a 1350 phase difference from the first– We measure the signal at N (8) measurements per cycle (fs=8kHz)

• Fourier analysis– Multiply each measurement by the corresponding sin and cosine

values of e-2πfn/N and sum the results

– The resulting frequency array will have non zero elements at indices X[1] and X[2] as we would expect

– The phase angles are relative to the cosine of f0

• X[1] phase is -900 (-π/2) because sin(π/2) = cos(0) and cos(f0) leads by 900

• X[2] phase is +45 (π/4) because cos(2*f0) trails by that amount

• Negative frequencies X[6] and X[7] equal -X[2] and -X[1] respectively

Signal: x(t) = sin(2π*1000t) + 0.5 sin(2*2000πt+3π/4)

Understanding Digital Signal Processing, Third Edition, Richard Lyons(0-13-261480-4) © Pearson Education, 2011.

Understanding Digital Signal Processing, Third Edition, Richard Lyons(0-13-261480-4) © Pearson Education, 2011.

Understanding Digital Signal Processing, Third Edition, Richard Lyons(0-13-261480-4) © Pearson Education, 2011.

Second Example

• Comparisons with the first example– Same signal: x(t) = sin(2π*1000t) + 0.5 sin(2*2000πt+3π/4)

– Sampling starts three time units later (see above figure)

• Fourier results (We apply the same Fourier algorithm)

– The same frequency components have non zero magnitudes

– The cosine and sine sums are different, but the magnitudes are the same

– The phase of X[1] from -90 and +45; the third sample moves 1350 forward.

– The phase of X[2] goes from +45 to -45 because the third sample, because each sample is π /2 apart, and starting with the 3π/4, the third sample starts with 3 * (π /2) + 3π/4 = 9 π /4, π /2 ahead of the basis function

Understanding Digital Signal Processing, Third Edition, Richard Lyons(0-13-261480-4) © Pearson Education, 2011.

Example Resultsf First Example Second Example

M ϕ Real Imag M ϕ Real Imag

0 0 0 0 0 0 0 0 0

1 4 -90 0.000 -4.000

4 +45 2.8284

2.8284

2 2 +45 1.414 1.414 2 -45 1.4142

-1.4142

3 0 0 0 0 0 0 0 0

4 0 0 0 0 0 0 0 0

5 0 0 0 0 0 0 0 0

6 2 -45 1.414 -1.414

2 +45 1.4142

1.4142

7 4 +90 0.000 4.000 4 -45 2.8284

-2.8284

NotesThe results are scaled by N/2 (4 + 2 + 2 +4 = 12

The frequency domain is symmetrical about point N/2X[0] = X[4] in this example, but not generally

DFT Properties• The DFT is a linear transformation:

c1DFT(x1[n])+c2DFT(x2[n]) = DFT(c1x[n] + c2x2[n])

• The resulting magnitudes are amplified by N/2 (8/2 in this case). This means the 4 should be 1 and the 2 should be ½.

• A shift in the measurements correspond to a shift in the DFT phase calculations (as seen in the examples)

• The frequency domain is symmetric.

DFT Symmetry• The resulting frequency domain is symmetric

– X[n-k] = X[n+k] when k ≠N/2 and k ≠0,

– The upper frequencies represent negative frequencies (the extension of the signal if moving back in time)

– X[0] represents zero DC bias, a non oscillating constant

– X[N/2] represents the component fs/2

Negative Frequencies Positive Frequencies

DFT and its Inverse

• Definition: Continuous Fourier Transform and Inverse– Transform: X(w) = ∫-∞, ∞ x(t)e-iwtdt

– Inverse: x(t) = (1/2π)∫ -∞, ∞ X(w)eiwtdw

• Discrete Fourier Transform and Inverse– Transform: X[k] = ∑n=0,N-1 x[n] e-i2πkn/N

– Inverse: x[k] = (1/N)∑n=0,N-1 X[k] ei2 πkn/N

• Note: We can change the scale factor if we want the transform and its inverse to be completely symmetric

• Conclusion: We can use DFT to go back and forth between the time and frequency domains

DFT Correlation Algorithmpublic double[] DFT( double[] time){ int N = time.length;

double fourier[] = new double[2*N], real, imag;for (int k=0; k<N; k++){ for (int i=0; i<N; i++) { real = Math.cos(2*Math.PI*k*i/N); imag = -Math.sin(2*Math.PI*k*i/N); fourier[2*k] += time[i]*real; fourier[2*k+1]+= time[i]*imag;} }return fourier;

}

Note: even indices = real part, odd indices = imaginary part

Complexity: O(N2) because of the double loop of N eachExample: For 512 samples, loops 262144 timesEvaluation: Too slow, but FFT is O(N lg N)

Relation to Speech• For analysis we breakup

signal into overlapping windows

• Why? – Speech is quasi-periodic,

not periodic– Vocal musculature is

always changing– Within a small window of

time, we assume constancy, and process as if the signal were periodic

Typical Characteristics10-30 ms length1/3 to 1/2 overlap

DFT Issues• Implementation difficulties

– Impact: Algorithm runs too slow, especially for real time processing– Solution: FFT algorithm

• Spectral Leakage: Occurs when a signal has frequencies that fall between those of the DFT basis functions– Result: Magnitude leaks over the entire spectrum– Solutions: Windowing and DFT padding

• Inadequate frequency resolution– Impact: DFT magnitudes represent wide ranges of frequencies– Solution: DFT zero padding

• Signal rough edges: – Impact: Inaccuracies because windows don’t have smooth transistions– Solution: Windowing

DFT Zero Padding

• Each frequency domain bin represents a range of frequencies • Assume sampling rate fs = 16000, N = 512• Frequency domain 3, contains magnitudes for frequencies

between 16000/512*3 (93.75) to 16000/512*4 (125)• Each frequency bin models a range of 31.25 frequencies

• Padding the time domain frame with zeroes adds high frequency components, but does not negatively impact the result, or impact the lower frequencies of the spectrum

DFT Zero Padding

Understanding Digital Signal Processing, Third Edition, Richard Lyons(0-13-261480-4) © Pearson Education, 2011.

FFT zero padding can increase SNR

Definition: SNR = 10log( Psignal/Pnoise

Understanding Digital Signal Processing, Third Edition, Richard Lyons(0-13-261480-4) © Pearson Education, 2011.