16
Mathematical Tools for Neural and Cognitive Science Section 3: Linear Shift-Invariant Systems Fall semester, 2019 Linear shift-invariant (LSI) systems Linearity (previously discussed): “linear combination in, linear combination out” Shift-invariance (new property): “shifted vector in, shifted vector out” These two properties are independent (think of some examples that have both, one, or neither) LSI system Input L + + + As before, express input as a sum of “impulses”, weighted by elements of x

Section 3: Linear Shift-Invariant Systems

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Section 3: Linear Shift-Invariant Systems

Mathematical Tools for Neural and Cognitive Science

Section 3: Linear Shift-Invariant Systems

Fall semester, 2019

Linear shift-invariant (LSI) systems

• Linearity (previously discussed): “linear combination in, linear combination out”

• Shift-invariance (new property): “shifted vector in, shifted vector out”

• These two properties are independent (think of some examples that have both, one, or neither)

LSI system

v

Input

v1 x

v4 x

v3 x

v2 x

L

Output

v1 x

v4 x

v3 x

v2 x+

+

+

+

+

+

As before, express input as a sum of “impulses”, weighted by elements of x

Page 2: Section 3: Linear Shift-Invariant Systems

LSI system

v

Input

v1 x

v4 x

v3 x

v2 x

L

Output

v1 x

v4 x

v3 x

v2 x+

+

+

+

+

+

• Shift-invariance => responses to impulses are shifted copies of each other

• Linearity => response to x is sum of responses to impulses, weighted by elements of x

LSI system

v

Input

v1 x

v4 x

v3 x

v2 x

L

Output

v1 x

v4 x

v3 x

v2 x+

+

+

+

+

+

LSI systems are characterized by their “impulse response”

Convolution matrix

impulseresponse

reversedimpulseresponse

boundaries?

Page 3: Section 3: Linear Shift-Invariant Systems

Convolution

• Sliding dot product

• Structured matrix

• Boundaries? zero-padding, reflection, circular

• Examples: impulse, delay, average, difference

In

Out

+

r1r2r3

+

r0r1r2

y(n) =X

k

r(n� k)x(k)

=X

k

r(k)x(n� k)

In

Out

+

r1r2r3

Feedback LSI system

y(n) =X

k

f(n� k)x(k) +X

k

g(n� k)y(k)

(For this class, we’ll stick to feedforward (FIR) systems)

• Response depends on input, and previous outputs

• Infinite impulse response (IIR) • Recursive => possibly unstable

2D convolution

[figure c/o Castleman]

“sliding window”

Page 4: Section 3: Linear Shift-Invariant Systems

• Outer product • Simple design/implementation• Efficient computation

[figure: Adelson & Bergen 85]

“separable” filter

Discrete Sinusoids

More generally:

“amplitude”“phase” (radians)

“frequency”(radians/sample)

“frequency” (cycles/vectorLength)

, ! = 2⇡k/Ncos(!n)

0 10 20 30−1

0

1

0 10 20 30−2

−1

0

1

2example : A = 1.5, � = 8⇡/32

Shifting Sinusoids

... via a well-known trigonometric identity:

cos(a� b) = cos(a) cos(b) + sin(a) sin(b)

We’ll also need conversions between polar and rectangular coordinates:

A =p

x

2 + y

2, � = tan

�1(y/x)

x = A cos(�), y = A sin(�)

x

y

A

A cos(⇥n� �) = A cos(�) cos(⇥n) + A sin(�) sin(⇥n)

Page 5: Section 3: Linear Shift-Invariant Systems

Shifting Sinusoids

A cos(⇥n� �) = A cos(�) cos(⇥n) + A sin(�) sin(⇥n)

Any scaled and shifted sinusoidal vector can be written as a weighted sum of two fixed {sin, cos} vectors!

A sin φ

φ

A cos φ

A

scale factors: fixed cos/sin vectors:

0 10 20 30−1

0

1

0 10 20 30−1

0

1

0 10 20 30

−1

0

1

A = 1.6, φ = 2π0/12

A cos(⇥n� �) = A cos(�) cos(⇥n) + A sin(�) sin(⇥n)

fixed cos/sin vectors:

0 10 20 30

−1

0

1

A = 1.6, φ = 2π1/12

Shifting Sinusoids

0 10 20 30−1

0

1

0 10 20 30−1

0

1

0 10 20 30−1

0

1

Any scaled and shifted sinusoidal vector can be written as a weighted sum of two fixed {sin, cos} vectors!

0 10 20 30

−1

0

1

A = 1.6, φ = 2π2/12 A = 1.6, φ = 2π3/12

0 10 20 30

−1

0

1

A = 1.6, φ = 2π4/12

0 10 20 30

−1

0

1

A = 1.6, φ = 2π5/12

0 10 20 30

−1

0

1

A = 1.6, φ = 2π6/12

0 10 20 30

−1

0

1

A cos(⇥n� �) = A cos(�) cos(⇥n) + A sin(�) sin(⇥n)

fixed cos/sin vectors:

Shifting Sinusoids

0 10 20 30−1

0

1

0 10 20 30−1

0

1

0 10 20 30−1

0

1

Any scaled and shifted sinusoidal vector can be written as a weighted sum of two fixed {sin, cos} vectors!

Page 6: Section 3: Linear Shift-Invariant Systems

(convolution formula)

L

x(n) = cos(�n)

LSI response to sinusoids(input)

x(n) = cos(�n)

inner product of impulse response with cos/sin, respectively

(trig identity)

LSI response to sinusoids

L

x(n) = cos(�n)

L

LSI response to sinusoids

Page 7: Section 3: Linear Shift-Invariant Systems

x(n) = cos(�n)

A sin φ

φ

A cos φ

A

Rc(�)

Rs(�)

cr(�)

sr(�)(rectangular -> polar coordinates)

LSI response to sinusoids

x(n) = cos(�n)

L“Sinusoid in, sinusoid out” (with modified amplitude & phase)

LSI response to sinusoids

(trig identity, in the opposite direction)

phases addamplitudes multiply

L“Sinusoid in, sinusoid out” (with modified amplitude & phase)

More generally, if input has amplitude and phase ,Ax

�x

then linearity and shift-invariance tell us that

LSI response to sinusoids

Page 8: Section 3: Linear Shift-Invariant Systems

• Frequency multiples of radians/sample, (specifically, )

• Construct an orthogonal matrix of sin/cos pairs, covering different numbers of cycles

The Discrete Fourier transform (DFT)

[details on board...]

• When we apply this matrix to an input vector, think of output as paired coordinates

• Common to plot these pairs as amplitude/phase

• For , only need the cosine part (thus, cosines, and sines)N/2� 1N/2 + 1

k=0 k=1 k=2 k=3

F =

k=N/2

cos ( 2πkN

n) sin ( 2πkN

n) (plotted sinusoids are continuous, N=32)

Fourier Transform matrix

The Fourier family

(we are here)

signal domain

frequ

ency

dom

ain

The “fast Fourier transform” (FFT) is a computationally efficient implementation of the DFT, requiring Nlog(N) operations, compared to the N2 operations that would be needed for matrix multiplication.

Page 9: Section 3: Linear Shift-Invariant Systems

x(n) = cos(�n)

These dot products are the Discrete Fourier Transform of the impulse response, r(m)!

Reminder: LSI response to sinusoids

⇥x L

Fourier & LSI

⇥x L

Fourier & LSI

note: only 3 (of many) frequency components shown

Page 10: Section 3: Linear Shift-Invariant Systems

⇥x L

Fourier & LSI

note: only 3 (of many) frequency components shown

v

Input

v1 x

v4 x

v3 x

v2 x

L

Output

v1 x

v4 x

v3 x

v2 x+

+

+

+

+

+

LSI systems are characterized by their frequency response, specified by the Fourier Transform of their impulse response

⇥x L

Fourier & LSI

ei� = cos(�) + i sin(�)

n

n

real part:

imaginary part:

[on board: reminders of addition/multiplication of complex numbers]

Complex exponentials: “bundling” sine and cosine

(Euler’s formula)

Aei!n= A cos(!n) + iA sin(!n)

Page 11: Section 3: Linear Shift-Invariant Systems

ei�n L

Complex exponentials: “bundling” sine and cosine

F.T. of impulse response!

ei�n L

F.T. of impulse response!

L

Note: the complex exponentials are eigenvectors!

Complex exponentials: “bundling” sine and cosine

convolve with

The “convolution theorem”

Page 12: Section 3: Linear Shift-Invariant Systems

convolve with

Four

ier T

rans

form

inverse Fourier Transformpointwise multiply by

The “convolution theorem”

The “convolution theorem”

convolve with

Four

ier T

rans

form

inverse Fourier Transformpointwise multiply by

L

FT F

(diagonal matrix)

) F

T~y = R̃F

T~x

Recap…• Linear system

- defined by superposition

- characterized by a matrix

• Linear Shift-Invariant (LSI) system

- defined by superposition and shift-invariance

- characterized by a vector, which can be either:» the impulse response» the frequency response (amplitude and phase).

Specifically, the Fourier Transform of the impulse response specifies an amplitude multiplier and a phase shift for each frequency.

Page 13: Section 3: Linear Shift-Invariant Systems

Discrete Fourier transform (with complex numbers)

where ⇥k =2�k

N

(inverse)

k

rn =1

N

N�1X

k=0

r̃k ei!kn

[on board: why minus sign? why 1/N?]

Visualizing the (Discrete) Fourier Transform

• Two conventional choices for frequency axis:- Plot frequencies from k=0 to k=N/2

(in matlab: 1 to N/2-1)

- Plot frequencies from k=-N/2 to N/2-1 (in matlab: use fftshift)

• Typically, plot amplitude (and possibly phase, on a separate graph), instead of the real/imaginary (cosine/sine) components

Some examples

• constant

• sinusoid (see next slide)

• impulse

• Gaussian - “lowpass”

• DoG (difference of 2 Gaussians) - “bandpass”

• Gabor (Gaussian windowed sinusoid) - “bandpass”

[on board]

Page 14: Section 3: Linear Shift-Invariant Systems

Example for k=2, N=32 (note indexing and amplitudes):

0 10 20 30−1

0

1

0 10 20 30

−10010

0 10 20 30−1

0

1

−10 0 10

−10010

k

−10 0 10

−10010

k0 10 20 30

−10010

(real part)

(imag part)

=>

e�i!n= cos(!n)� i sin(!n)

What do we do with Fourier Transforms?

• Represent/analyze periodic signals

• Analyze/design LSI systems. In particular, how do you identify the nullspace?

Retinal ganglion cells (1D)

Enroth-Cugell and Robson (1984)

Page 15: Section 3: Linear Shift-Invariant Systems

Sampling causes “aliasing”

“Aliasing” - one frequency masquerades as another [on board]

Sampling process is linear, but many-to-one (non-invertible)

Given the samples, it is common/natural to assume, or enforce, that they arose from the lowest compatible frequency...

Effect of sampling on the Fourier Transform:Sum of shifted copies

|X(!)|

|Xs(!)|

Real-worldaliasing

downsample by 2

“Moiré pattern”

Page 16: Section 3: Linear Shift-Invariant Systems

Pre-filtering to avoid spectral overlap (“aliasing”)

L(!)

L(!)

lowpass filter, cutoff at ⇡/�

|X(!)|

|Xs(!)|

Real-worldaliasing

, with pre-filtering

downsample by 2