0% found this document useful (0 votes)
16 views38 pages

LectureNote DSP IDEC2023

Uploaded by

구찬형
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views38 pages

LectureNote DSP IDEC2023

Uploaded by

구찬형
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

DSP with MATLAB

IDEC Lecture by
Professor Kyung Y. Yoo
Hanyang University, ERICA

Digital Signal Processing with MATLAB: IDEC 2023 1

Contents
1. DT signal and systems 4. Spectral analysis
• Filtering • Resolution
• Non-parametric spectral estimation
• Parametric spectral estimation
2. Multi-rate signal processing • Time-frequency analysis
• Conversion of sample rates
• Applications 5. Realization of digital filters
• Implementation structures
• Fixed-point filter
3. Filter design
• FIR filter design
• IIR filter design
6. Topics in radar
• Radar structures
• Filter design in MATLAB
• Phased array system
• Detection and estimation

Digital Signal Processing with MATLAB: IDEC 2023 2

1
MATLAB Supports
• Documents on each Toolbox
 Getting Started
 User’s Guide
 Reference
• Examples
• Webinars
• MATLAB onramp
• File Exchanges in User Society

Digital Signal Processing with MATLAB: IDEC 2023 3

Discrete-time Signal
• Time-domain Sampling Theorem
 An analog signal 𝑥 (𝑡) could be perfectly reconstructed from the discrete-time signal without
any loss of information, if the sampling rate (frequency) is at least twice of the signal
bandwidth (or the highest frequency component of the signal).
 sampling rate (frequency, 𝐹 [samples/sec] or [Hz])
 sampling period (𝑇 = 1/𝐹 [sec])

 Nyquist rate: Minimum sampling rate of a bandlimited signal


 Single-tone signal, 𝑥 𝑡 = 𝐴 ⋅ cos 2𝜋𝐹 𝑡, 𝐹 = 2𝐹
 Speech signal, 8 [kHz]
 Audio signal, image signal, …
 If the sampling rate is not high enough, aliasing (signal distortion) occurs.

Digital Signal Processing with MATLAB: IDEC 2023 4

2
DT Single-tone Signal
• 𝑥 𝑡 = 𝐴 ⋅ cos 2𝜋𝐹 𝑡 → 𝑥 𝑛 = 𝑥 𝑡 | ← = 𝐴 cos 2𝜋 𝑛 = 𝐴 cos 2𝜋𝑓𝑛

 Discrete-time frequency vs. analog frequency: 𝑓 = or 𝜔 =


 DT sinusoids whose frequencies differ by an integer are identical: i.e., cos 2𝜋𝑓 𝑛 =
cos 2𝜋 𝑓 + 𝑘 𝑛 , for any integer 𝑘.
 Discrete fundamental frequency range (FFR), 𝑓 ∈ [− , ) or 𝜔 ∈ [−𝜋, 𝜋)

 Discrete FFR [− , ) (or [− , )) corresponds to the CT-FFR, − , (or [−𝜋𝐹 , 𝜋𝐹 ))

 Highest DT frequency, 𝑓 = (or 𝜔 = 𝜋) ⇔ 𝐹 = = or Ω = = 𝜋𝐹

Digital Signal Processing with MATLAB: IDEC 2023 5

Digital System: Filter


• LTI (linear time-invariant) system
input Filter output
 Impulse response, ℎ(𝑛)
DT system, 𝑇
 Convolution: 𝑦 𝑛 = ℎ 𝑛 ∗ 𝑥(𝑛) 𝑥(𝑛) 𝑦(𝑛)

 Frequency response, 𝐻 𝑒
𝐻 𝑒 = 𝐻 𝑒 ∠𝐻(𝑒 )
 Magnitude and phase response
𝑌 𝑒 = 𝐻(𝑒 )𝑋(𝑒 )

• Causal and stable LTI system


 All poles of the system function 𝐻(𝑧) reside inside the unit circle.

Digital Signal Processing with MATLAB: IDEC 2023 6

3
Digital Filtering
• Goal
 Remove un-wanted spectral contents from the signal.
 Shape the signal spectrum: Reject some spectral components while preserving others.
 Frequency selective filters
 Pre- or post-processing of signals
 Sampling rate conversion
 Differentiate or integrate signals
 Transform signals
• Concerns
 Spectral characteristics of target signals
 Filter design
 FIR vs. IIR filter
 Pre- and post-processing
 Delay compensation

Digital Signal Processing with MATLAB: IDEC 2023 7

Phase Distortion and Group Delay


• Phase Distortion is due to the frequency dependent delay.
• In FIR filter, linear phase can be attained.
 Symmetric or anti-symmetric: ℎ 𝑛 = ±ℎ(𝑀 − 𝑛)
 Group delay, 𝜏 𝜔 = − Θ(𝑒 )
• For IIR filters, phase distortion is usually highly non-linear.
 IIR filters have small group delay relative to FIR filters (shorter transient response).
 Phase distortion can be eliminate using the zero-phase filter.

 𝐻 𝑧 =𝐻 𝑧 𝐻 𝑧 ↔𝐻 𝑒 = 𝐻 𝑒 … zero phase filter (non-causal)

[b, a] = butter(6, 20/(fs/2))


y_zp = filtfilt(b, a, x); y = filter(b, a, x)
Digital Signal Processing with MATLAB: IDEC 2023 8

4
Discrete Fourier Transform
• Frequency-domain sampling
 DTFT 𝑋(𝑒 ) is a function of continuous (discrete-time) frequency 𝜔.
 In order to compute 𝑋(𝑒 ), we need to discretize the continuous variable 𝜔 ∈ (−𝜋, 𝜋),
while preserving the information in 𝑋(𝑒 ).

 We take samples of 𝑋(𝑒 ) at 𝜔 = 2𝜋𝑘/𝑁, 𝑘 = 0, 1, … , 𝑁 − 1, where 𝑁 is the total


number of samples (DFT size) in frequency domain: Frequency-domain sampling.

TD sampling DTFT FD sampling

𝑥 (𝑡) 𝑥(𝑛) 𝑋(𝑒 ) 𝑋(𝑘)

t n ω k

𝑡=0 0 1 T 0 π 2π 0 2𝜋/𝑁 N-1

Digital Signal Processing with MATLAB: IDEC 2023 9

Discrete Fourier Transform


Frequency-domain Sampling Theorem: The spectrum of an energy signal with finite duration of 𝐿 can be

exactly recovered from spectral samples, 𝑋 𝑒 = 𝑋(𝑘), 𝑘 = 0, 1, … , 𝑁 − 1, only if 𝑁 ≥ 𝐿.

• For a finite duration signal 𝑥(𝑛), the DFT is defined by


𝑋 𝑘 =∑ 𝑥 𝑛 𝑊 𝑥 𝑛 = ∑ 𝑥 𝑛 𝑊 , 0 ≤ 𝑘, 𝑛 ≤ 𝑁 − 1
 𝑊 =𝑒 /… root of unity
 In a matrix form,
𝑋(0) 1 1 … 1 𝑥(0)
𝑋(1) 1 𝑊 … 𝑊 𝑥(1)
= … ⋮
⋮ ⋮ ⋮ ⋮
𝑋(𝑁 − 1) 1 𝑊 … 𝑊 𝑥(𝑁 − 1)
𝑿 𝑾 𝒙

𝑿 = 𝑾 𝒙 , where 𝑾 is the DFT matrix: Orthogonal such that 𝑾 = 𝑾

Digital Signal Processing with MATLAB: IDEC 2023 10

5
Circular Convolution
• 𝑌 𝑘 = 𝐻 𝑘 𝑋(𝑘)
𝑥(𝑛) 𝑦(𝑛)
𝑦 𝑛 =∑ ℎ 𝑘 𝑥 𝑛−𝑘 = ℎ 𝑛 ⊕ 𝑥(𝑛) ℎ(𝑛)

 N-point circular convolution 𝐿 𝑀 𝐿+𝑀−1


 Compare to the linear convolution: When 𝑌 𝑧 = 𝐻 𝑧 𝑋(𝑧)
𝑦 𝑛 =ℎ 𝑛 ∗𝑥 𝑛 =∑ ℎ 𝑘 𝑥(𝑛 − 𝑘)

DTFT
𝑌 𝑒 =𝐻 𝑒 𝑋(𝑒 ) 𝑦(𝑛) = ℎ(𝑛) ∗ 𝑥(𝑛) linear
convolution
FD sampling: 𝑁 ≥ 𝐿 + 𝑀 − 1 ?
𝑁-point circular
𝑌(𝑘) = 𝐻(𝑘)𝑋(𝑘) 𝑦 𝑛 = ℎ 𝑛 ⊕ 𝑥(𝑛)
DFT convolution

𝑁-point circular convolution, ℎ 𝑛 ⊕ 𝑥(𝑛), of two sequences with length 𝑀 and 𝐿,


respectively, is the same as the linear convolution, only if 𝑁 ≥ 𝐿 + 𝑀 − 1.
Digital Signal Processing with MATLAB: IDEC 2023 11

G. Strang (MIT Professor) pointed out


Fast Fourier Transform that “FFT is the most important
numerical algorithm of our lifetime.”

• Computational complexity in DFT


𝑋 𝑘 =∑ 𝑥 𝑛 𝑊 𝑥 𝑛 = ∑ 𝑥 𝑛 𝑊 , 0 ≤ 𝑘, 𝑛 ≤ 𝑁 − 1

 For each 𝑘, we need 𝑁-complex multiplications and (𝑁 − 1)-complex additions.


 Since 0 ≤ 𝑘 ≤ 𝑁 − 1, we need 𝑁 -complex multiplications and 𝑁(𝑁 − 1)-complex
additions
 Each complex multiplication requires 4 real multiplications.

• Basic idea: decimation in time (or frequency)


 When 𝑁 = 2 , we can decompose the 𝑁-point DFT into 𝑁/2-number of 2-point DFT’s.
 Two 2-point DFT’s can be put together to get a 4-point DFT.

Digital Signal Processing with MATLAB: IDEC 2023 12

6
Radix-2 FFT Structure
3 stages x(0) V11(0) F1(0) X(0)
x(4) DFT(2) V11(1) F1(1) X(1)
x(0) x(0) x(0)
x(1) x(2) x(4) DFT(4) DFT(8)
x(2) V12(0) F1(2) X(2)
x(2) x(4) x(2) x(6) DFT(2) V12(1) F1(3) X(3)
x(3) x(6) x(6)
x(4) x(1) x(1) x(1) V21(0) F2(0) X(4)
x(5) x(3) x(5) x(5) DFT(2) V21(1) F2(1) X(5)
x(6) x(5) x(3)
DFT(4)
x(7) x(7) x(7) x(3) V22(0) F2(2) X(6)
x(7) DFT(2) V22(1) F2(3) X(7)
1st decimation 2nd
decimation

Digital Signal Processing with MATLAB: IDEC 2023 13

Radix-2 FFT Structure


𝑎 𝐴=𝑎+𝑊 𝑏

𝑊
𝑏 𝐴=𝑎−𝑊 𝑏
-1

• FFT structure is composed of a number of butterflies.


 Each butterfly has a pair of inputs, (𝑎, 𝑏), and outputs (𝐴, 𝐵)
 Each butterfly requires one complex multiplication to compute outputs.
 There are 𝑁/2 butterflies per each stage.
 There are log 𝑁-stages.
 In total, 1 [CM/BF] × 𝑁/2 [BF/stage] × log 𝑁 [stages] = log 𝑁 [CM]

Digital Signal Processing with MATLAB: IDEC 2023 14

7
Filtering of Long Sequence
• In real time applications with FIR filter, the length of input sequence is very long.
 Time-domain vs. frequency-domain approach:
 Linear vs. circular convolution
input data block: L
 Overlap add method
input
1. Divide input sequence into blocks of length-𝐿 and append (𝑀 −
1)-zeros to each block to generate a block 𝑥 (𝑛) of length 𝑁. 𝑥 (𝑛)
(M-1)-zeros
2. Compute the output block in the frequency domain:
𝑥 (𝑛)
( )
𝑌 (𝑘) = 𝐻 𝑘 𝑋 (𝑘), 𝑘 = 0, 1, … , 𝑁 − 1 𝑦 (𝑛)
output 𝑦 (𝑛)
3. Construct the actual output, 𝑦(𝑛), in such a way that last (𝑀 − 1)-
𝑦 (𝑛)
samples from each output block overlapped and added to the first
(𝑀 − 1)-samples of the succeeding block. add (M-1)-samples

Digital Signal Processing with MATLAB: IDEC 2023 15

Filtering in Frequency-domain
• Overlap-add method
 Computational complexity
2 log 𝑁 + 𝑁 = 𝑁 log 2𝑁 [CM/output block]
𝐻(𝑘)

𝑥 (𝑛) 𝑦 (𝑛)
ℎ(𝑛) 𝑥 𝑛 ↔ 𝑋 (𝑘) 𝑦 𝑛 ↔ 𝑌 (𝑘)

𝐿 𝑀 𝑁 =𝐿+𝑀−1 log 𝑁 [CM/block] 𝑁 log 𝑁

 In this approach, the length of FIR filter, 𝑀, is fixed. We can choose input block size 𝐿 to
minimize the computational complexity per each output sample.
( )
𝑐 𝜈 = = [CM/sample]

Digital Signal Processing with MATLAB: IDEC 2023 16

8
Filtering in Time- vs. Frequency Domain
 Suppose an FIR filter with impulse response, ℎ(𝑛), 0 ≤ 𝑛 ≤ 𝑀 − 1
• Filtering in time-domain
 Convolution
𝑦 𝑛 =∑ ℎ 𝑘 𝑥(𝑛 − 𝑘)
 Complexity: 𝑀-[RM/sample]

• Filtering in frequency-domain
( )
 𝑐 𝜈 = = [CM/sample]
 We can choose the block size 𝐿.

• Rule of thumb
 Time-domain filtering for short FIR filter
 Frequency-domain filtering for long FIR filter
Digital Signal Processing with MATLAB: IDEC 2023 17

Multirate Signal Processing


• Motivation
 For many applications, we need to deal with many signals which require different sampling
frequencies.
 For signals with time-varying spectral characteristics, the time-frequency processing are
often preferred.
 Some frequency selective filters could be efficiently designed with the high sampling rate.

• Related Topics
 Down-sampling and decimator
 Up-sampling and interpolator
 Time-frequency analysis
 Filter bank
 Wavelet

Digital Signal Processing with MATLAB: IDEC 2023 18

9
Down-sampling and Decimator
• Case
 An analog signal, bandlimited to frequency 𝐹 , is sampled with a sampling frequency 𝐹 =
4𝐹 (twice oversampling).
 𝑥(𝑛) has redundant samples. Downsampling
TD Sampling ↓2 𝑥 (𝑛)
𝑥 (𝑡) 𝑥(𝑛) 𝐹 = 2𝐹
𝐹 𝐹 = 4𝐹
 𝑥 𝑛 = ↓ 2 𝑥 𝑛 = 𝑥(2𝑛)
 𝑥 (𝑛) takes only even-samples of 𝑥(𝑛).
 It is a discrete-time sampling which reduces the original sampling frequency by half.
 Reduced sampling frequency may cause aliasing.
𝑥 (1) 𝑥(3) 𝑥 (2)
𝑥(2) 𝑥(4)

𝑥(1)
𝑥 (0) 2𝑇
𝑥(0) 𝑥 (𝑡)
𝑡
Digital Signal Processing with MATLAB: IDEC 2023 0 𝑇 2𝑇 3𝑇 4𝑇 5𝑇 19

Decimator
• Down-sampling by 𝑎
 Let 𝑥 𝑛 be discrete-time signal of 𝑥 (𝑡) with the Nyquist sampling frequency 𝐹 .
 𝑥 𝑛 = ↓ 𝑎 𝑥 𝑛 = 𝑥(𝑎𝑛)
 Down-sampling by a factor-𝑎 (integer 𝑎) reduces the sampling frequency by a factor of 𝑎.
 𝑥 (𝑛) could be regarded as the discrete-time signal, sampled from 𝑥 (𝑡) with sampling
frequency 𝐹 /𝑎.

 Due to lack of sampling frequency, 𝑥 (𝑛) would be corrupted by aliases.


 A digital LPF (anti-aliasing filter) should be implemented before down-sampling:
 Decimator is a collection of a LPF and down-sampling.

𝑥(𝑛) 𝑤(𝑛) 𝑥 (𝑛)


𝐻(𝑧) ↑𝑎
LPF(𝜋/𝑎)

Digital Signal Processing with MATLAB: IDEC 2023 20

10
Up-sampling
• Case
 A DT signal with corresponding sampling frequency 𝐹 and DAC (digital-to-analog converter)
working with sampling frequency 2𝐹 .
 𝑥(𝑛) should be upsampled to accommodate the sampling frequency of the DAC.

𝑥 , 𝑛 𝑒𝑣𝑒𝑛
 𝑥 𝑛 = ↑2 𝑥 𝑛 =
0, 𝑛 𝑜𝑑𝑑
 The upsampled sequence 𝑥 𝑛 is obtained by inserting a zero between adjacent
samples of 𝑥(𝑛).
 These zero-filled data should be modified by interpolation (lowpass filtering).

Digital Signal Processing with MATLAB: IDEC 2023 21

Interpolator
• Upsampling by 𝑏
 𝑥 𝑛 = ↑𝑏 𝑥 𝑛
 𝑋 𝑧 =∑ 𝑥 𝑛 𝑧 =∑ 𝑥 𝑛/𝑏 𝑧 = ∑ 𝑥 𝑘 𝑧 = 𝑋(𝑧 )
 𝑋 𝑒 = 𝑋(𝑒 ) … Compression of spectrum

𝑋(𝑒 ) 𝑋 (𝑒 ) 𝑋(𝑒 ( ))
1

𝜔 𝜔

−2𝜋 −𝜔 0 𝜔 2𝜋 −2𝜋 −2𝜋/3 0 2𝜋/3 2𝜋

 Image spectra, produced by the up-sampling, should be removed.

𝑥(𝑛) 𝑥 (𝑛) 𝑦(𝑛)


↑𝑏 𝐻(𝑧)

Digital Signal Processing with MATLAB: IDEC 2023


LPF(𝜋/𝑏) 22

11
Digital Filterbank
• Collection of digital filters with a common input and output.
 Analysis filter bank consists of 𝑀-filters, 𝐻 (𝑧), which splits input signal into 𝑀-subband
signals, 𝑥 (𝑛).
 Synthesis filter bank consists of 𝑀-filters, 𝐹 (𝑧), which combine 𝑀-subband signals, 𝑥 (𝑛)
into a single one.

Digital Signal Processing with MATLAB: IDEC 2023 23

Filter Design
• Filter Types
 FIR vs. IIR
 𝐻 𝑧 =𝑏 +𝑏 𝑧 +⋯+𝑏 𝑧

𝐻 𝑧 = =

 Frequency selective filters


 Low pass, High pass, Band pass, Band stop filters

 Signal specific filters


 Preprocessing of signals: e.g., Compression, Deep neural network

Digital Signal Processing with MATLAB: IDEC 2023 24

12
Filter Design: Specifications
• Specifications in low pass filter
 Passband edge frequency, 𝜔
 Stopband edge frequency, 𝜔
 Passband ripple, 𝐴 [dB]
 Stopband attenuation, 𝐴 [dB]

• Parameters in FIR LPF


 Filter order, 𝑀
 Transition bandwidth
 Passband & stopband ripple size
 These 3 parameters are dependent one another: They cannot be chosen independently.

Digital Signal Processing with MATLAB: IDEC 2023 25

Filter Design in MATLAB


• Filter Response
 Low-pass, high-pass, band-pass, band-stop, …
 Construct a ‘Filter specification object’

• Filter Specification
 Boundary frequencies and Attenuations

• Design Algorithm
 Windowing, Equiripple, Least-squares, …
 Analog prototyping

• Implementation
 Construct ‘Filter implementation object’

Digital Signal Processing with MATLAB: IDEC 2023 26

13
FIR Filter Design in MATLAB
• Design Methods
 Windowing: fir1, fir2, kaiserord
 Approximating the ideal frequency selective filter
 Equiripple: firpm
 Min-max approach
 Least squares: firls

• Tools in MATLAB
 ‘designfilt’ function in command line / ‘filterDesigner’ App (Signal Processing Toolbox)
 ‘fvtool’ function in command line
 ‘fdesign’ function / ‘filterBuilder’ App (with DSP System Toolbox)

Digital Signal Processing with MATLAB: IDEC 2023 27

FIR Filter Design by Approximation


• Given an ideal filter, 𝐻 (𝑒 ), design a causal and stable filter, 𝐻(𝑒 ), such that
𝐻 𝑒 ≅ 𝐻 (𝑒 ), over the frequency bands of interest: Approximation

• Approximation is based on the minimization of the cost functions:


 MSE (mean squared error)

ℇ = ∫ 𝐻 𝑒 −𝐻 𝑒 𝑑𝜔

 Least squares filter ( -norm based)

 Min-max error
ℇ = max 𝐻 𝑒 −𝐻 𝑒

 Equi-ripple filter ( -norm based)

Digital Signal Processing with MATLAB: IDEC 2023 28

14
FIR Filter Design by Windowing
• Given an ideal filter, ℎ (𝑛), with infinite length, design a causal and stable filter, ℎ(𝑛), by
choosing only a portion of ℎ (𝑛): Windowing
ℎ 𝑛 = ℎ 𝑛 𝑤(𝑛), 𝑤(𝑛) … window
𝐻 𝑒 =𝐻 𝑒 ∗ 𝑊(𝑒 ) … Convolution in frequency domain

• Effects of Convolution
 Spreading
 Smoothing
 Ringing
 Both spreading and smoothing depend on the mainlobe width of 𝑊(𝑒 ).
 Ringing depends on the levels of the sidelobes.

Digital Signal Processing with MATLAB: IDEC 2023 29

Windows
• Rectangular Window
𝑤 𝑛 = 𝑢 𝑛 − 𝑢(𝑛 − 𝑀)
/ /
𝑊 𝑒 = 𝑒
/

 Zero crossing at 𝜔 = 2𝜋/𝑀


 Mainlobe (null-to-null) width ≔ 4𝜋/𝑀
 As 𝑀 increases, mainlobe becomes narrower: Less
spreading and smoothing.
 1st sidelobe is of −13 [𝑑𝐵] and is independent of the
window size

• Windows are characterized by mainlobe width (null-to-


null or 3 [𝑑𝐵] bandwidth) and sidelobe levels.
 ‘windowDesigner’ app

Digital Signal Processing with MATLAB: IDEC 2023 30

15
IIR Filter Design in MATLAB
• Analog Prototyping
 Butterworth, Chebyshev I & II, Elliptic filters

 Bi-linear Transform: 𝑠 =
 Examples:
[b, a] = butter(5, 0.4); % 5th order Butterworth LPF with cutoff frequency 𝜔 = 0.4𝜋
[b, a] = cheby1(4, 1, [0.4 0.1]) % 4th order Chebyshev Type-I BPF

• Signal specific filter


 Parametric modeling based on the Yule-Walker approach

Digital Signal Processing with MATLAB: IDEC 2023 31

Spectrum Analysis
• Spectral Estimation (Frequency Domain Analysis)
 Estimate the strength of different frequency components (magnitude or power spectrum) of
a time-domain signal

• Limits to the Resolution on Spectrum Analysis


 Noise power
 DFT size
 Limited observation interval and window
 Adjacent spectral components

Digital Signal Processing with MATLAB: IDEC 2023 32

16
Spectrum Analysis: Resolution
• DFT 𝑋(𝑘) are composed of samples of DTFT 𝑋(𝑒 )
 𝑋 𝑘 =𝑋 𝑒 /
, where 𝑁 … DFT size
 If 𝑥(𝑛) has spectral components at 𝜔 and 𝜔 , then they could not be resolved, if |𝜔 −
𝜔 |≤ .

• Limited Observation Interval


 If we could observe the target signal 𝑥 (𝑡) on time interval of length 𝑇 , the frequency
resolution ΔΩ is inversely proportion to 𝑇 .
 In DT signal with sampling period 𝑇, 𝐿-samples corresponds to 𝐿𝑇 [𝑠𝑒𝑐].
 Frequency resolution, Δ𝜔 ∝ .
 We analyze 𝑥 𝑛 = 𝑥 𝑛 ⋅ 𝑤 (𝑛) instead of 𝑥(𝑛) itself.
𝑋 𝑒 =𝑋 𝑒 ∗ 𝑊 (𝑒 )

Digital Signal Processing with MATLAB: IDEC 2023 33

Effect of Window to Spectral Resolution


• Example
 𝑥 𝑛 = cos(𝜔 𝑛) ↔ 𝑋 𝑒 = 𝜋 𝛿 𝜔−𝜔 +𝛿 𝜔+𝜔
 𝑋 𝑒 =𝑋 𝑒 ∗𝑊 𝑒 =𝜋 𝑊 𝑒 +𝑊 𝑒
 Magnitude spectrum 𝑋 𝑒 is not localized to a single frequency. Instead, it is spread
out over the whole frequency range: leakage.

Digital Signal Processing with MATLAB: IDEC 2023 34

17
Resolution of Two-tone Signal
• Example: Two-tone signal, 𝑥 𝑛 = 𝐴 cos(𝜔 𝑛) + 𝐴 cos(𝜔 𝑛)
 If 𝜔 − 𝜔 < or 𝑓 − 𝑓 < , then two adjacent frequency components 𝑊 (𝑒 ( ± ) )
and 𝑊 (𝑒 ( ± ) ) overlap and we cannot resolve two frequency terms from 𝑋 𝑒 .
 If magnitudes 𝐴 , − 13 > 𝐴 , and two frequency terms are close enough, the mainlobe
of 𝑊 (𝑒 ( ) ) will be merged into the 1st sidelobe of 𝑊 (𝑒 ( ) ).

• Rule of thumb: Resolution depends on


(1) Frequency separation,
(2) Mainlobe width, and
(3) 1st sidelobe level

Digital Signal Processing with MATLAB: IDEC 2023 35

Resolution of Two-tone Signal


𝜔 = 0.6𝜋 Δ𝜔 = 4𝜋/𝐿 Δ𝜔 = 2𝜋/𝐿
𝜔 = 𝜔 + Δ𝜔
𝐴 =𝐴 =1 𝐴 =𝐴 =1
𝑘 = 1, … , 4

Δ𝜔 = 𝜋/𝐿 Δ𝜔 = 3𝜋/𝐿
𝐴 =𝐴 =1 𝐴 = 2; 𝐴 = 1

Digital Signal Processing with MATLAB: IDEC 2023 36

18
Spectrum Analysis: Doppler Frequency
 Assume the target range at time 𝑡 = 𝑡 is 𝑅 :
t=t0
Range: 𝑅(𝑡) = 𝑅 − 𝑣(𝑡 − 𝑡 ), where 𝑣 is the target speed.
 Round trip delay: 𝜙(𝑡) = 2𝑅(𝑡)/𝑐
R0
 Received signal v
𝑥 (𝑡) = 𝑥 (𝑡 − 𝜙(𝑡)) = 𝑥 (𝛾𝑡 − 𝜙 ),
where 𝑡 − 𝜙(𝑡) = 𝑡 − (𝑅 − 𝑣𝑡 + 𝑣𝑡 ) = 1 + 𝑡 − (𝑅 + 𝑣𝑡 ) = 𝛾𝑡 − 𝜙
↔ 𝑋 (𝑗Ω) = 𝑋 𝑒 /

𝑏
𝑥 𝑎𝑡 − 𝑏 = 𝑥 𝑎 𝑡 −
𝑎
• Example: 𝑥 (𝑡) = 𝑎 𝑡 cosΩ 𝑡 1 𝑗Ω /
𝑥 (𝑡) = 𝑎 𝛾𝑡 cosΩ 𝛾𝑡 (assuming 𝜙 = 0) ↔ 𝑋 𝑒
𝑎 𝑎
𝑋 𝑗Ω = 𝐹 𝑎 𝛾𝑡 ∗ 𝜋 𝛿 Ω − 𝛾Ω + 𝛿 Ω + 𝛾Ω
= 𝐴 𝑗 −Ω +𝐴 𝑗 +Ω

Doppler frequency shift: Ω = Ω − Ω = 𝛾 − 1 Ω , where 𝛾 − 1 = 2𝑣/𝑐

Digital Signal Processing with MATLAB: IDEC 2023 37

Spectrum Analysis of Random Signal


• Power spectrum estimation: Non-parametric methods
 Periodogram and modified periodogram
 Barlett and Welch method
 Blackmann and Turkey methods

• Parametric methods
 Yule-Walker method for AR-model
𝑃 𝑓 = ⋅ /

 Burg, covariance, and modified covariance methods

• Subspace approaches
 MUSIC algorithm
 ESPRIT algorithm

Digital Signal Processing with MATLAB: IDEC 2023 38

19
Spectrum Analysis of Random Signal
• 𝑥(𝑛) … stationary random process
 Autocorrelation function, 𝛾 = 𝐸 𝑥 𝑛 𝑥∗ 𝑛 + = 𝐸 𝑥∗ 𝑛 𝑥 𝑛 −
 Power spectral density (PSD), Γ 𝑓 = ℱ 𝛾

• Consider a single realization of random process, 𝑥(𝑛)


 Time-averaged ACF, 𝑟 = ∑ 𝑥 𝑛 𝑥 ∗ (𝑛 − ), 0 ≤ ≤𝑁−1
 𝐸 𝑟 = 1− 𝛾 ( ) … biased (asymptotically unbiased) estimate
 𝑣𝑎𝑟 𝑟 ≅ ∑ 𝛾 + 𝛾∗ 𝑛 − 𝛾 𝑛+ → 0, as 𝑁 → ∞ (consistent
estimate)

• PSD estimate, 𝑃 𝑓 = ℱ 𝑟 𝜏 =∑ 𝑟 𝑒 = 𝑋 𝑓 … periodogram.

Digital Signal Processing with MATLAB: IDEC 2023 39

PSD Estimation: Non-parametric Methods


• Bartlett method
 Averaging periodograms
 Divide target signal into non-overlapping 𝑀-point segments
 Compute periodogram on each segment
 Average periodograms to obtain the Bartlett PSD estimates
 Reduced frequency resolution vs. reduced variance on estimates

• Welch method is the same as Bartlett method except


 Segments are allowed to overlap
 Windowing

• Blackmann and Turkey method


 PSD through the autocorrelation of windowed signal

Digital Signal Processing with MATLAB: IDEC 2023 40

20
PSD Estimation: Parametric Methods
• Signal Generation Model
 Model the signal as an output of an LTI system to a white noise input 𝑤(𝑛) 𝑥(𝑛)
 ARMA(𝑝, 𝑞) model 𝐻(𝑧)

𝐻 𝑧 = = ∑

𝑥 𝑛 +∑ 𝑎 𝑥(𝑛 − 𝑘) = ∑ 𝑏 𝑤(𝑛 − 𝑘) … 𝑤(𝑛) … white with 𝛾 =𝜎 𝛿


Γ 𝑓 = 𝐻 𝑓 Γ 𝑓 =𝜎 𝐻 𝑓

 Given observations 𝑥(𝑛), 0 ≤ 𝑛 ≤ 𝑁 − 1, we estimate parameters {𝑎 , 𝑏 } and then


compute 𝐻 𝑓 .

Digital Signal Processing with MATLAB: IDEC 2023 41

PSD Estimation: Parametric Methods


• AR(𝑝) model
 Burg method
 Covariance method
 Modified covariance method
 Yule-Walker (autocorrelation) method
 Levinson-Durbin algorithm
 PSD estimate, 𝑃 𝑓 =

 Applications
 Data with dominant spectral peaks
 Speech signal

Digital Signal Processing with MATLAB: IDEC 2023 42

21
Time-Frequency Analysis
• Spectral analysis for time-varying
(non-stationary)
 Short-time Fourier Transform (STFT)
 Audio signal processing
 Sensor array processing
 Digital communication with
frequency hopping
 Wavelet Transform
 Time-bandwidth product
 Continuous WT (scalogram)
 Multiresolution

Digital Signal Processing with MATLAB: IDEC 2023 43

STFT
• Short-time Fourier transform
 𝑋 𝑒 = 𝐷𝑇𝐹𝑇 𝑥 𝑛 𝑤 𝑛 − 𝑚𝐿 , 𝑤(𝑛) … window of length-𝐿
 DFT of a signal generated by a sliding (possibly with overlap) window
• Spectrogram
 Plot of 𝑋 𝑒 vs. time.

 Narrow window: Good time resolution and poor frequency resolution


 Wide window: Poor time resolution and good frequency resolution

Digital Signal Processing with MATLAB: IDEC 2023 44

22
Wavelet Transform
• Time-frequency resolution
 We want to improve time resolution (narrow window) for signals with high frequency,
whereas to improve frequency resolution (wide window) for signals with low-frequency.
 Variation of window size leads to the introduction of scale-parameter.
• Continuous wavelet transform
 𝑊 𝑎, 𝑏 = ∫𝑥 𝑡 𝜓 𝑑𝑡, where 𝑎 … scale, 𝑏 … shift, and 𝜓(⋅) … mother wavelet
function
 𝑎∝
 𝑎 = 2, 𝜓 … expansion of 𝜓 𝑡
 𝑎 = 1/2, 𝜓 2𝑡 … compression of 𝜓 𝑡
• Discrete wavelet transform
 Choose 𝑎 = 2 and 𝑏 = 𝑘𝑎: 𝜓 = 𝜓(2 − 𝑘)

Digital Signal Processing with MATLAB: IDEC 2023 45

Continuous Wavelet Transform


• CWT
 CWT tiles the time-frequency plane with variable-sized window.
 Narrow window at high frequency, whereas wider window at low frequency.
 CWT is obtained by windowing signal with a wavelet that is scaled and shifted in time.
 CWT is efficient at detecting transients in non-stationary signals, and for signals with slowly
varying events punctuated by abrupt transients.
 CWT makes it possible to analyze signals in different frequency ranges.
 Better time localization for short-duration, high frequency events, and better frequency
localization for low frequency, longer-duration events.
 CWT is superior to the STFT for signals in which the instantaneous frequency grows
rapidly.

• Applications
 Bio-medical signals including ECG and EEG
 Deep learning

Digital Signal Processing with MATLAB: IDEC 2023 46

23
Discrete Wavelet Transform
• DWT and Filterbank
 DWT can be implemented using decimated filterbanks.
 Dilation and wavelet equations
 Refer to cwtfilterbank command in MATLAB

• MRA (multi-resolution analysis)


 It approximates signals at progressively coarser scales while recording the difference
between approximations at consecutive scales using the discrete wavelet transform.
 Octave-band filterbank

Digital Signal Processing with MATLAB: IDEC 2023 47

Issues in Digital System Implementation


• Real-time processing
 A new output sample could be produced as each new input sample is received.
• ADC/DAC selection
 Sampling frequency, over-sampling
• Processor selection
 Word length
 Floating- vs. fixed-point processor
• Filter structure
 FIR vs. IIR filter
 Linear phase
 Stability
 Robust to finite wordlength effect
 Direct, cascade, parallel forms

Digital Signal Processing with MATLAB: IDEC 2023 48

24
Realization of Digital Filters
• A digital system requires a processor to handle data.
Embedded processor General purpose processor
- Runs only limited applications known - Intended to run a general set of
at design time applications
- Fixed run-time constraints - Faster is better, yet not critical
- Emphasis on power consumption, - Emphasis on speed and cost
cost, and speed
- Dedicated for a single program and - Requires complex and multi-purpose
requires simple OS OS
Microprocessors, DSP chips, ARM, … Pentium, Alpha, SPARC

• Microprocessors are used for applications requiring


 Light computational burden with small word length
 low cost as well as lower power
Digital Signal Processing with MATLAB: IDEC 2023 49

Numbers in Digital Processors


• Floating-point Format
 𝑥 = ± 1+𝑓 ×2
 𝑓 ∈ [0,1) … mantissa (fraction) and 𝐸 … exponent
 Double-precision floating-point numbers are stored in 64-bit words, with 1 sign bit , 52
mantissa bits and 11 exponent bits.
• Fixed-point Signed-magnitude Format
 𝑥 = 𝑏 𝑏 𝑏 ⋯𝑏 .𝑏 ⋯𝑏
( )

 𝑏 ∈ {1, −1} sign bit, 𝑏 … MSB

 Range: − ≤𝑥≤− or − 1 − 2 2 ≤𝑥 ≤ 1−2 2

 Resolution: Δ = 2 2 =2
 Tradeoff between range and resolution

Digital Signal Processing with MATLAB: IDEC 2023 50

25
Floating-point vs. Fixed-point Devices
• Fixed-point
 Programmer must select a number format and be conscious of it throughout all programming.
 Numbers should be scaled down before calculation and then scaled back afterward.
 It is faster in computing time.
 Devices are cheaper, smaller and thus less power consuming.
 Speech recognition, digital camera, …

• Floating-point
 Floating-point device offers a convenient and natural representation for decimal values, so
that no scaling is required. Much ease to program.
 It usually represent numbers with many more bits than do fixed-point devices: More bits to
deal, more time consuming.
 Audio and image compression, sonar and radar, robotics, biomedical applications, …

Digital Signal Processing with MATLAB: IDEC 2023 51

Fixed-point Processor
• In fixed-point digital signal processors, numbers have only fractions: i.e., all numbers are
less than unity in magnitude.
 All numbers should be scaled: 𝑥 = 2 𝑥 with 𝑥 ≤1

• Quantization with (𝐵 + 1)-bits


 Resolution (or step size) of uniform quantizer, Δ = 𝑋 2 , for the analog signal with dynamic
range [−𝑋 , 𝑋 ).
 Quantization error, − < 𝑒 ≤ (for rounding) and 𝜎 =
 SQNR ≅ 6𝐵 … 6 [dB] rule
 Overflow error vs. granular noise
 Finite word length effect

Digital Signal Processing with MATLAB: IDEC 2023 52

26
Fixed-point Arithmetic
• Addition and multiplication
 0.1101 + 0.1001 = 01.0110 ↔ 0.8125 + 0.5625 = 1.3750
 0.1101 × 0.1001 = 0.01110101 ↔ 0.8125 × 0.5625 = 0.45703125
 Adding two (𝐵 + 1)-bit numbers results in a (𝐵 + 2)-bit number: Additional bit appear
before the binary point. → Overflow error
 Multiplying two (𝐵 + 1)-bit numbers leads to a (2𝐵 + 1)-bit number: Extra 𝐵-bits
appear a er the binary point. → Granular error

 The most effective way to prevent overflow is proper scaling of numbers to control their
dynamic range and use double length accumulators to store intermediate results.

• The fundamental difference between fixed- and floating-point implementations is what


information is stored about the number and who is responsible for its tracking and manipulation.
 In fixed-point processors, the programmer must take care of all these details: In floating-
point processors, all are managed by the OS.

Digital Signal Processing with MATLAB: IDEC 2023 53

Implementation of LTI DT Systems


• Realization of the system described by its input/output equation, or equivalently by its
impulse response.
𝑦 𝑛 +∑ 𝑎 𝑦(𝑛 − 𝑘) = ∑ 𝑏 𝑥(𝑛 − 𝑘) or

𝐻 𝑧 = ∑
(system function)

 Either software or hardware


 Results in block diagram (or signal flow graph), based on three fundamental build blocks:
adder, delay, and constant multiplier.
 Our concern is to implement an LTI system efficiently.
− Computational complexity: number of arithmetic operations, memory fetch, etc.
− Memory requirement: extent of memory for filter coefficients, past inputs, past
outputs, and internal temporary variables.
− Finite-wordlength effect: quantization effect caused by digital form of filter
coefficients as well as input/output samples.

Digital Signal Processing with MATLAB: IDEC 2023 54

27
Implementation Structures
• Example: 𝑦 𝑛 + 𝑎 𝑦 𝑛 − 1 = 𝑏 𝑥 𝑛 + 𝑏 𝑥(𝑛 − 1)
𝐻 𝑧 = = 𝐻 𝑧 𝐻 (𝑧), where 𝐻 (𝑧) = and 𝐻 𝑧 = 𝑏 + 𝑏 𝑧

𝑥(𝑛) 𝑏 𝑦(𝑛) 𝑥(𝑛) 𝑏 𝑦(𝑛)


 Structures 𝑧 𝑧 𝑧
 Direct form I 𝑏 −𝑎 −𝑎 𝑏

 Direct form II Direct form I Direct form II


 Direct form I Transposed
 Direct form II Transposed
 Lattice structure 𝑥(𝑛) 𝑏 𝑦(𝑛) 𝑥(𝑛) 𝑏 𝑦(𝑛)

𝑧 𝑧 𝑧
−𝑎 𝑏 𝑏 −𝑎

Transposed direct form I Transposed direct form II


Digital Signal Processing with MATLAB: IDEC 2023 55

Implementation of IIR Filters


• Cascade Form

𝐻 𝑧 = ∑
=∏ 𝐻 (𝑧),

where and 𝐾 = and 𝐻 𝑧 = , , ,


, ,

• 2nd-order subsystems (SOS: second-order-sections) are serially connected to construct


the overall system.
𝑥(𝑛) 𝑦(𝑛)
𝐻 (𝑧) 𝐻 (𝑧) 𝐻 (𝑧)

𝑥(𝑛) b1,0 b2,0 𝑦(𝑛)

z-1 z-1
-a1,1 b1,1 -a2,1 b2,1

z-1 z-1
-a1,2 b1,2 -a2,2 b2,2

Digital Signal Processing with MATLAB: IDEC 2023 Cascade form structure (𝐾 = 2) 56

28
Implementation of IIR Filters: Example
. . .
 𝐻(𝑧) =
. . . .
. . .
= 10
. . . .
. . . .
= −8.83 + +
. . . .

x(n) 10 y(n)
z-1
2.54 1 x(n) 10 1 1 y(n)
z-1 z-1 z-1
-3.24 0.9 1.1786 0.1 1.3614 0
z-1 z-1 z-1
2.06 0.81 -.7246 -.7199 -.9109 .8099
z-1
-0.66 -5.83 Cascade form

Cascade form
Digital Signal Processing with MATLAB: IDEC 2023 57

Implementation of IIR Filters: Example

- There is an in-significant degradation due to coefficient quantization for the


cascade realization.
- Zeros in the parallel realization are perturbed sufficiently so that the nulls in the
magnitude response vary or disappear: zeros in parallel form are sensitive to
coefficient quantization.
Digital Signal Processing with MATLAB: IDEC 2023 58

29
Some Implementation Issues
• SOS Cascade Structure
 Pairing and ordering : Jackson’s rule
 Pair the pole which is closest to the unit circle with the zero with which is nearest to it. Repeat this
process until all poles and zeros have been paired.
 Poles close to the unit circle provide gain and as a result they can cause overflow. On the
other hand, zeros provide attenuation and can be used to counter the gain of the poles.
 Order SOS’s obtained according to the closeness of their poles to the unit circle.
• Rule of thumbs in realization
 For FIR filters, each bit of coefficient word length provides approximately 5 [dB] of stop band
attenuation: Minimum 10-bits to represent coefficients.
 For a fixed-point implementation, the cascaded SOS (or biquadratic) structures work better
than direct form structures.
 The cascade structure is preferred to the parallel structure:
 Total output noise power of the parallel form is about the same as that of the cascade form with
best pairing and ordering.
 For sections with zeros on the unit circle, the cascade structure requires fewer multiplications.
 Cascade structure offers more control on the locations of the filter zeros.

Digital Signal Processing with MATLAB: IDEC 2023 59

Phased Array Systems


• Phased array systems use the spatial and temporal characteristics of propagating space-
time wavefields to extract information about any sources of the wavefields.
 By processing data collected over a spatiotemporal aperture using an array of sensors, we
can significantly improve performance over a single sensor, including
 Signal detectability
 Spatial selectivity
 Source identification and localization

waveform Source array environment

target

result Receiver array environment

Digital Signal Processing with MATLAB: IDEC 2023 60

30
Phased Array Systems: Receiver Array
• Temporal processing
 Improve SNR using temporal integration and matched filtering
 Range estimate
Receiver array
 Doppler estimate
• Spatial processing
 Spatial filtering of incoming waveform Temporal Spatial Space-time
Processing Processing Processing
 DOA (Direction of arrival) estimate
• Space-time processing
 Joint angle-Doppler measurements of incident waveforms
 Distinguish moving target from stationary targets

Digital Signal Processing with MATLAB: IDEC 2023 61

Topics in Radar
Receiver array
• Detection and Estimation
 Target detection
 Estimation of Matched Space-time
DOA Filtering Processing
 Target range
 Target position (DOA)
 Target speed Time-varying Pulse
Beamforming Gain Doppler

• Resolution Coherent Non-coherent


 Range resolution Integration Integration
 Angular (spatial) resolution
 Speed resolution NP
Detector

Range
Detection
Digital Signal Processing with MATLAB: IDEC 2023 62

31
Research Areas in Radar
• Radar waveform
 Range resolution and detection probability
 Matched filter
• Radiator and collector of waveforms
 Array
 Beamforming
• Estimation
 Target range
 Angle of arrival
 Target speed
• Resolution
 Range/angular/speed (Doppler) resolutions

Digital Signal Processing with MATLAB: IDEC 2023 63

Range Estimation
• Measure time delay between radar’s transmitted and received signal.
 𝑅= , 𝑅 … range [m], 𝑇 … round-trip propagation time [sec]
 Ambiguity occurs when a target produces an echo later than the pulse repetition interval,
𝑇 .
 Zone-1 (maximum un-ambiguous) target range: 0, 𝑇 [sec] ⇔ 0, [m]
 Maximum range to detect a target without ambiguity
𝑅 = 𝑠 × 𝑐 𝑚/𝑠 = [𝑚]
 Range resolution:
Δ𝑅 ≅ [m]
 Two targets must be separated enough.
 Shorter pulse width, 𝜏 ⇒ wider B/W
⇒ better range resolution

Digital Signal Processing with MATLAB: IDEC 2023 64

32
Range and Velocity Estimation
• Trade-off between range and velocity estimation
 Low PRF: range ambiguity ↓, Doppler ambiguity ↑.
 Longer interval between pulses, narrower spectral line separation, and enhanced longer
range (could be used in detection mode)
 High PRF: range ambiguity ↑, Doppler ambiguity ↓
 In terminal mode (short range with target locking)

• Pulse width vs. Bandwidth: trade-off


 Wide pulse ⇒ more peak energy ⇒ better target detection
 Wide B/W ⇒ better range resolution

• Solution:
 Pulse compression using modulation can increase B/W without increasing pulse width.

Digital Signal Processing with MATLAB: IDEC 2023 65

Radar Waveforms
• Rectangular pulse waveform
1, 0 ≤ 𝑡 ≤ 𝜏
𝑥 𝑡 = 𝑎 𝑡 ⋅ sin 𝜔 𝑡, 𝑎 𝑡 =
0, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
 The longer the duration of a transmitted, the more energy on the pulse and better target
detection capability.
 The shorter the duration of the pulse, the better the range resolution of the radar.
 For a rectangular pulse, the range resolution of the radar and the target detection
capability are coupled in an inverse relationship.
• Pulse compression technique
 Pulse compression techniques enable to decouple the duration of the pulse from its energy
by effectively creating different durations for the transmitted pulse and processed echo.
 Linear frequency modulated pulse waveform
 Stepped FM pulse modulation
 Phase-coded waveforms
• FMCW waveforms

Digital Signal Processing with MATLAB: IDEC 2023 66

33
Radar Waveforms
• Linear FM pulse waveforms
𝑥 𝑡 =𝑎 𝑡 ⋅𝑒 , 𝛽 … bandwidth and 𝜏 … pulse duration
 Instantaneous frequency, = 𝑡
 Time-bandwidth product, 𝛽𝜏 ≥ 1

• FMCW (frequency-modulated continuous-wave) waveform


 It makes possible for a continuous-wave waveform to estimate target range.
 Typically smaller and less expensive
 Common in automotive radar systems.

Digital Signal Processing with MATLAB: IDEC 2023 67

𝑃 [𝑊] : total power captured in receiving antenna


Radar Equation 𝑃 [𝑊] : transmitter power delivered to antenna
𝜎 [𝑚 ] : target’s RCS
𝐴 [𝑚 ] : Antenna effective area
• 𝑃 = 𝑅 [𝑚] : target range
𝐺 [𝑑𝐵] : Antenna gain

/
• Maximum range: 𝑅 =
⋅ _
 Receiver input noise power, 𝑁 = 𝑘𝑇 𝐵, where 𝐵 … receiver operating bandwidth
 Receiver noise figure, 𝐹 = , where 𝑆𝑁𝑅 =

𝑆 = 𝑁 ⋅ 𝐹 ⋅ 𝑆𝑁𝑅 or 𝑆 = 𝑁 ⋅ 𝐹 ⋅ 𝑆𝑁𝑅 _

• Minimum SNR: 𝑆𝑁𝑅 _ =


 Minimum SNR at the receiver output: We can find 𝑃 for a fixed 𝑆𝑁𝑅 _ .

Digital Signal Processing with MATLAB: IDEC 2023 68

34
Uniform Linear Array
• Plane wave model
 Far field propagation model: Signal magnitude along a plane normal to the direction of
propagation is constant.
• Received signal at mth sensor

𝑦 (𝑡) = 𝑦 𝑡− , with 𝑦 (𝑡) = 𝑥(𝑡)


x: bore side 𝑥(𝑡)
• Combined signal

𝑔 𝑡: 𝜃 = ∑ 𝑦 (𝑡) = ∑ 𝑥 𝑡 − 𝑚𝑑
𝐺 𝑗𝜔: 𝜃 = ∑ 𝑒 𝑋(𝑗𝜔) = 𝑊 𝑗𝜔: 𝜃 𝑋 𝑗𝜔 θ
⋅ y
where 𝑎 = [sec], and 𝑚+1 𝑚 𝑚−1
/ / 𝑑
𝑊 𝑗𝜔: 𝜃 = ∑ 𝑒 = 𝑒
/
… Beam pattern
Digital Signal Processing with MATLAB: IDEC 2023 69

ULA and Steering Vector


• Transmitted signal, 𝑥(𝑡) = 𝑒 , received waveform at mth sensor is
 𝑦 𝑡 =𝑒 =𝑒 𝑒
 Sample at 𝑡 = 𝑡 ,
 𝑦 𝑡 =𝑒 exp −𝑗2𝜋 , 𝑚 = 0, 1, … , 𝑁 − 1

• Snapshot at 𝑡 = 𝑡
1
𝑦(0) 1
𝑦(1) exp −𝑗2𝜋
 𝒚= =A =A 𝑒 = 𝐴𝒂𝒔 (𝜃)
⋮ ⋮ ⋮
( ) 𝑒 ( )
𝑦(𝑁 − 1) exp −𝑗2𝜋
 𝑎 = 2𝜋𝑑 sin 𝜃 /𝜆 (spatial frequency), − 2𝜋𝑑/𝜆 ≤ 𝑎𝜃 ≤ 2𝜋𝑑/𝜆 (or − 𝜋 ≤ 𝑎𝜃 ≤ 𝜋,
when 𝑑 = 𝜆/2)
 𝒂 (𝜃) … spatial steering vector, 𝜃 … AOA (angle of arrival), and 𝐴 = 𝑒 .

Digital Signal Processing with MATLAB: IDEC 2023 70

35
Beamforming
• 𝑔 𝜃 = ℎ 𝑦 0 + ℎ 𝑦 1 +⋯+ ℎ 𝑦(𝑁 − 1) = 𝒉 𝒚
• Spatial equivalent of frequency filtering
 All beamformers are designed to emphasize signals coming from some directions
and suppress signals and noise arriving from other directions.
• Conventional (data independent) beamformer
 Weights and parameters define a fixed beam pattern, independently to the array
input data.
 The weights are chosen to produce a specified array response to the signals and
interference in the environment.
 A signal arriving at an array has different times of arrival at each sensor, causing time
delays on each sensor that is a linear function of distance along the array.
 Delay-and-sum beamforming compensates for these delays by applying a reverse delay
to each sensor: If the time delay is accurately computed, the signals from each sensor
add constructively.

Digital Signal Processing with MATLAB: IDEC 2023 71

Adaptive Beamformer
• Adaptive (data-dependent) beamformer
 Optimal beamformers choose weights that are determined by optimizing some quantity.

• MVDR (minimum variance distortionless response) beamformer


 It determines the beamforming weights by maximizing the signal-to-noise plus interference
ratio of the array output.
 Pros
 Incorporates the noise and interference into an optimal solution.
 Higher spatial resolution than a conventional beamformer.
 Beamformer puts nulls in the direction of any interference sources.
 Sidelobes are smaller and smoother.
 Cons
 Sensitive to errors in either the array parameters or arrival direction.
 Computationally expensive.

Digital Signal Processing with MATLAB: IDEC 2023 72

36
Detection: Matched Filter
• Objective: Maximize the output SNR at time 𝑡 = 𝑡 , when 𝑤(𝑡) is a AWGN.
 Matched filter, 𝐻(𝑒 ) = 𝑋 ∗ 𝑒 𝑒 ↔ ℎ 𝑡 = 𝑥 ∗ (𝑡 − 𝑡)
 Output of matched filter
𝑦 𝑡 =ℎ 𝑡 ∗𝑥 𝑡 =∫ 𝑥 𝛼 𝑥 ∗ 𝛼 + 𝑇 − 𝑡 𝑑𝛼
 Auto-correlation 𝑅 (𝜏) of 𝑥 𝑡 at lag 𝜏 = 𝑡 − 𝑡
antenna rx
signal rcvr output
ℎ(𝑡)
𝑥(𝑡) + 𝑤(𝑡) 𝑦(𝑡)

• Example: LFM, 𝑥 𝑡 = cos( ), 0 ≤ 𝑡 < 𝜏


 Instantaneous frequency, 𝑓 (𝑡) = = [Hz], 𝛽 > 0
 Time-bandwidth product: = 𝛽𝜏 ≫ 1

Digital Signal Processing with MATLAB: IDEC 2023 73

Detection: ROC
• Binary decision problem
 Two types errors in binary decision problem:
 Decide 𝑑 , when 𝑚 is true (target absent): False alarm probability, 𝑝 𝑑 𝑚
 Decide 𝑑 , when 𝑚 is true (target exist): Miss probability, 𝑝 𝑑 𝑚
 Detection probability, 𝑝(𝑑 |𝑚 )

• Neyman-Pearson Hypothesis Testing


 Given a fixed false alarm probability, 𝑝 𝑑 𝑚 = 𝛼 , maximize the detection probability,
𝑝 𝑑 𝑚 .
𝑧𝑚 >
 NP decision rule: Λ 𝑧 = 𝜆, where 𝑧 … observation
𝑧𝑚 <

• Receiver Operating Characteristics (ROC)


 Plot of 𝑝 𝑑 𝑚 vs. 𝑝 𝑑 𝑚
Digital Signal Processing with MATLAB: IDEC 2023 74

37
Speed Estimation
• Doppler frequency
• Doppler estimation is a spectrum estimation process:
 First, generate the Doppler spectrum from the received
signal
 Doppler processing processes the data across the Radar data cube
pulses (slow time): If we are using 𝑁-pulses, there are
𝑁-samples available for Doppler processing.
 There is one sample from each pulse. ⇒ Sampling
frequency for the Doppler samples is PRF.
 The maximum un-ambiguous Doppler shift a
pulse radar can detect is half of its PRF. This also
translates to the maximum un-ambiguous speed
a radar system can detect.
 The number of pulses also determines the
resolution in the Doppler spectrum, which
determines the resolution of speed estimates.

Digital Signal Processing with MATLAB: IDEC 2023 75

38

You might also like