Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Digital Signal Processing

alghoniemy@alexu.edu.eg

10/19/2022 1
• Split-Radix FFT (SRFFT)

• Radix-2 DFT of even indexed samples, unlike odd-indexed samples, do not


require complex multiplication by 𝑾𝒌𝑵 ,

• Radix-2 DIT-FFT 𝐲𝐿 𝐅𝑁/2 𝐃𝑁/2 𝐅𝑁/2 𝐱 𝑒𝑣𝑒𝑛


𝐅𝑁 𝐱 = 𝐲 =
𝑈 𝐅𝑁/2 −𝐃𝑁/2 𝐅𝑁/2 𝐱 𝑜𝑑𝑑

𝐲𝐿 𝐈𝑁/2 𝐈𝑁/2 𝐅𝑁/2 𝐱 𝑒𝑣𝑒𝑛


𝐲𝑈 = 𝐈𝑁/2 −𝐈𝑁/2 𝐃𝑁/2 𝐅𝑁/2 𝐱𝑜𝑑𝑑

• Radix-2 DIF-FFT

𝐲𝑒𝑣𝑒𝑛 𝐅𝑁/2 (𝐱𝐿 +𝐱 𝑈 )


𝐲𝑜𝑑𝑑 = 𝐅𝑁/2 𝐃𝑁/2 (𝐱 𝐿 − 𝐱𝑈 )

• Split radix (2/4) uses radix-2 for even-indexed samples, and radix-4 for
odd-indexed samples
10/19/2022 2
Split-Radix FFT (SRFFT)

𝑊80 𝑊80 𝑊80 𝑊80 𝑊80 𝑊80 𝑊80 𝑊80


• Use radix-2 for the even-indexed
𝑊80 𝑊81 𝑊82 𝑊83 𝑊84 𝑊85 𝑊86 𝑊87
samples and radix-4 for the odd-indexed
𝑊80 𝑊82 𝑊84 𝑊86 𝑊80 𝑊82 𝑊84 𝑊86
Samples (radix 2/4)
𝑊80 𝑊83 𝑊86 𝑊81 𝑊84 𝑊87 𝑊82 𝑊85
𝐅8 =
𝑊80 𝑊84 𝑊80 𝑊84 𝑊80 𝑊84 𝑊80 𝑊84
𝑊80 𝑊85 𝑊82 𝑊87 𝑊84 𝑊81 𝑊86 𝑊83
• Define the permutation matrix 𝐏 as: 𝑊 0 𝑊86 𝑊84 𝑊82 𝑊80 𝑊86 𝑊84 𝑊82
8
𝑊80 𝑊87 𝑊86 𝑊85 𝑊84 𝑊83 𝑊82 𝑊81
• 𝐏 = 𝐈𝑁 𝑖𝑛𝑑𝑒𝑥𝑝 , :
𝑊80 𝑊80 𝑊80 𝑊80 𝑊80 𝑊80 𝑊80 𝑊80
𝑖𝑛𝑑𝑒𝑥𝑝 = {0,2,4,6,1,5,3,7}
𝑊80 𝑊82 𝑊84 𝑊86 𝑊81 𝑊85 𝑊83 𝑊87
𝑊80 𝑊84 𝑊80 𝑊84 𝑊82 𝑊82 𝑊86 𝑊86
Permute columns 𝑊 0
𝑊86 𝑊84 𝑊82 𝑊83 𝑊87 𝑊81 𝑊85
8
𝐅෠8 =
• 𝐅෠𝑁 = 𝐅𝑁 𝐏 𝑇 𝑊80 𝑊80 𝑊80 𝑊80 𝑊84 𝑊84 𝑊84 𝑊84
𝑊80 𝑊82 𝑊84 𝑊86 𝑊85 𝑊81 𝑊87 𝑊83
𝑊80 𝑊84 𝑊80 𝑊84 𝑊86 𝑊86 𝑊82 𝑊82
𝑊80 𝑊86 𝑊84 𝑊82 𝑊87 𝑊83 𝑊85 𝑊81

10/19/2022
3
Regroup radix-2 and radix-4 accordingly

𝑊80 𝑊80 𝑊80 𝑊80 𝑊80 𝑊80 𝑊80 𝑊80


𝑊80 𝑊82 𝑊84 𝑊86 𝑊81 𝑊85 𝑊83 𝑊87
𝑊80 𝑊84 𝑊80 𝑊84 𝑊82 𝑊82 𝑊86 𝑊86
0
𝑊8 𝑊86 𝑊84 𝑊82 𝑊83 𝑊87 𝑊81 𝑊85
𝐅෠8 =
𝑊80 𝑊80 𝑊80 𝑊80 𝑊84 𝑊84 𝑊84 𝑊84
Define: 𝑊80 𝑊82 𝑊84 𝑊86 𝑊85 𝑊81 𝑊87 𝑊83
𝑁/4−1 0
• 𝐃𝑁/4 = 𝑑𝑖𝑎𝑔(𝑊𝑁0 , 𝑊𝑁1 , ⋯ , 𝑊𝑁 ) 𝑊8 𝑊84 𝑊80 𝑊84 𝑊86 𝑊86 𝑊82 𝑊82
𝑊80 𝑊86 𝑊84 𝑊82 𝑊87 𝑊83 𝑊85 𝑊81
𝟏 𝟎
• 𝑫𝑵/𝟒 = 𝑫𝟖/𝟒 = 1 1 1 1 1 1 1 1
𝟎 𝑾𝟏𝟖
1 −𝑗 −1 𝑗 𝑊81 −𝑊81 −𝑗𝑊81 𝑗𝑊81
1 −1 1 −1 −𝑗 −𝑗 𝑗 𝑗
1 𝑗 −1 −𝑗 −𝑗𝑊81 𝑗𝑊81 𝑊81 −𝑊81
𝐅෠8 =
1 1 1 1 −1 −1 −1 −1
1 −𝑗 −1 𝑗 −𝑊81 𝑊81 𝑗𝑊81 −𝑗𝑊81
1 −1 1 −1 𝑗 𝑗 −𝑗 −𝑗
1 𝑗 −1 −𝑗 𝑗𝑊81 −𝑗𝑊81 −𝑊81 𝑊81
10/19/2022 4
simplifying

1 1 1 1 1 0 1 1 1 0 1 1
1 −𝑗 −1 𝑗 0 𝑊81 1 −1 0 𝑊83 1 −1
1 −1 1 −1 1 0 1 1 1 0 1 1
−𝑗 𝑗
1 𝑗 −1 −𝑗 0 𝑊81 1 −1 0 𝑊83 1 −1
𝐅෠8 =
1 1 1 1 1 0 1 1 1 0 1 1
− −
1 −𝑗 −1 𝑗 0 𝑊81 1 −1 0 𝑊83 1 −1
1 −1 1 −1 1 0 1 1 1 0 1 1
𝑗 −𝑗
1 𝑗 −1 −𝑗 0 𝑊81 1 −1 0 𝑊83 1 −1

𝐃𝟖/𝟒 𝐅𝟐 𝐃𝟑𝟖/𝟒 𝐅𝟐
𝐅𝟒
−𝐣𝐃𝟖/𝟒 𝐅𝟐 𝑗𝐃𝟑𝟖/𝟒 𝐅𝟐 𝟏 𝟎
𝐅෠8 = , 𝑫𝑵/𝟒 = 𝑫𝟖/𝟒 =
𝟎 𝑾𝟏𝟖
−𝐃𝟖/𝟒 𝐅𝟐 −𝐃𝟑𝟖/𝟒 𝐅𝟐
𝐅𝟒
𝐣𝐃𝟖/𝟒 𝐅𝟐 −𝑗𝐃𝟑𝟖/𝟒 𝐅𝟐

10/19/2022 5
Split-Radix Decimation in Time FFT (DIT-SRFFT)
𝐲 = 𝐅𝑁 𝐱
Permute the columns of the DFT matrix and the input vector

𝑁/4−1
𝐲 = (𝐅𝑁 𝐏 𝑇 )(𝐏𝐱 ) 𝐃𝑁/4 = 𝑑𝑖𝑎𝑔(𝑊𝑁0 , 𝑊𝑁1 , ⋯ , 𝑊𝑁 )
The column-permuted DFT matrix becomes

𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒


𝐅𝑵/𝟐
−𝑗𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝑗𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒
𝐅෠𝑁 = 𝐅𝑁 𝐏 𝑇 =
−𝐃𝑵/𝟒 𝐅𝑵/𝟒 −𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒
𝐅𝑵/𝟐
𝑗𝐃𝑵/𝟒 𝐅𝑵/𝟒 −𝑗𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒
Split-Radix DIT-FFT
𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒
𝐅𝑵/𝟐 𝐱 0,2
𝐲𝐿 −𝑗𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝑗𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒
𝐱1
𝐲𝑈 = −𝐃𝑵/𝟒 𝐅𝑵/𝟒 −𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒
𝐅𝑵/𝟐
𝐱3
𝑗𝐃𝑵/𝟒 𝐅𝑵/𝟒 −𝑗𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒
10/19/2022 6
Split-Radix Decimation in Time FFT (DIT-SRFFT)

• Let 𝐱 0 , 𝐱1 , 𝐱 2 , 𝐱 3 be the 4-phases of the input sequence 𝐱


• 𝐱 0,2 : is the even sequence, 𝐱 𝑒𝑣𝑒𝑛 , which is the same as concatenating the zero
phase, 𝐱 0 , and the second phase 𝐱 2 .
• Let 𝐲 be the output sequence 𝐲 = [𝐲𝑳 ; 𝐲𝑼 ], with 𝐲𝑳 and 𝐲𝑼 has length 𝑁/2
and 𝐲𝐿 = [𝐲𝑳𝑳 ; 𝐲𝑳𝑼 ] and 𝐲𝑈 = [𝐲𝑼𝑳 ; 𝐲𝑼𝑼 ] with 𝐲𝒙𝒙 of length 𝑁/4.

• The split-radix decimation-in-time can be computed as:

𝐈𝑵/𝟒 𝐈𝑵/𝟒
𝑰𝑵/𝟐 𝐅𝑵/𝟐 𝐱 0,2
𝐲𝐿 −𝑗𝐈𝑵/𝟒 𝑗𝐈𝑵/𝟒
𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐱1
𝐲𝑈 = −𝐈𝑵/𝟒 −𝐈𝑵/𝟒
𝑰𝑵/𝟐 𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒 𝐱 3
𝑗𝐈𝑵/𝟒 −𝑗𝐈𝑵/𝟒

𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐱1 + 𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒 𝐱 3


𝐅𝑵/𝟐 𝐱 0,2 +
𝐲𝐿 −𝑗𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐱1 + j𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒 𝐱 3
• OR 𝐲𝑈 = −𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐱1 − 𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒 𝐱 3
𝐅𝑵/𝟐 𝐱 0,2 +
𝑗𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐱1 − 𝑗𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒 𝐱 3
10/19/2022 7
Split-Radix Decimation in Time FFT (DIT-SRFFT) Butterfly
(L-shaped) butterfly

𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐱1 + 𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒 𝐱 3


𝐅𝑵/𝟐 𝐱 0,2 +
𝐲𝐿 −𝑗𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐱1 + j𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒 𝐱 3
𝐲𝑈 = −𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐱1 − 𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒 𝐱3
𝐅𝑵/𝟐 𝐱0,2 +
𝑗𝐃𝑵/𝟒 𝐅𝑵/𝟒 𝐱1 − 𝑗𝐃𝟑𝑵/𝟒 𝐅𝑵/𝟒 𝐱3

𝐱0 𝐲𝐿𝐿
𝑵
𝑭𝑭𝑻
𝟐
𝐱2 𝐲𝐿𝑈
𝑵 𝐃𝑵 /𝟒
𝐱1 𝟒
𝑭𝑭𝑻 𝐲𝑈𝐿
−𝟏
𝑵 −𝒋
𝐱3 𝑭𝑭𝑻 𝐲𝑈𝑈
𝟒 𝒋 −𝟏
𝐃𝟑𝑵 /𝟒

10/19/2022 8
Split-Radix Decimation-in-Frequency FFT (DIF-SRFFT)

𝐲 = 𝐅𝑁 𝐱
• Multiply from the left by the permutation matrix 𝑷
𝑁/4−1
𝐏𝐲 = 𝐏𝐅𝑁 𝐱 𝐃𝑁/4 = 𝑑𝑖𝑎𝑔(𝑊𝑁0 , 𝑊𝑁1 , ⋯ , 𝑊𝑁 )

• The row-permuted DFT matrix

𝐅𝑵/𝟐 𝐅𝑵/𝟐
𝐅෠𝑁 = 𝐏𝐅𝑁 = 𝐅𝑵/𝟒 𝐃𝑵/𝟒 −𝑗𝐅𝑵/𝟒 𝐃𝑵/𝟒 −𝐅𝑵/𝟒 𝐃𝑵/𝟒 𝑗𝐅𝑵/𝟒 𝐃𝑵/𝟒
𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 𝑗𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 −𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 −𝑗𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒
• Split-Radix DIF-DFT

𝐲𝟎,𝟐 𝐅𝑵/𝟐 𝐅𝑵/𝟐


𝐱𝐋
𝐲𝟏 = 𝐅𝑵/𝟒 𝐃𝑵/𝟒 −𝑗𝐅𝑵/𝟒 𝐃𝑵/𝟒 −𝐅𝑵/𝟒 𝐃𝑵/𝟒 𝑗𝐅𝑵/𝟒 𝐃𝑵/𝟒
𝐱𝐔
𝐲𝟑 𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 𝑗𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 −𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 −𝑗𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒

10/19/2022 9
Split-Radix Decimation-in-Frequency FFT (DIF-SRFFT)

• Let 𝐲0 , 𝐲1 , 𝐲2 , 𝐲3 be the 4-phases of the output sequence 𝐲


• 𝐲0,2 : is the even sequence, 𝐲𝑒𝑣𝑒𝑛 , which is the same as concatenating the zero
phase, 𝐲0 , and the second phase 𝐲2 .

• Let 𝐱 be the input sequence 𝐱 = [𝐱 𝑳 ; 𝐱 𝑼 ] , with 𝐱 𝑳 and 𝐱 𝑼 has length 𝑁/2


and 𝐱 𝐿 = [𝐱 𝑳𝑳 ; 𝐱 𝑳𝑼 ] and 𝐱 𝑈 = [𝐱 𝑼𝑳 ; 𝐱 𝑼𝑼 ] with 𝐱 𝒙𝒙 of length 𝑁/4.

• The split-radix decimation-in-frequency can be computed as:

𝐲𝟎,𝟐 𝐅𝑵/𝟐 𝐱 𝑳 + 𝐅𝑵/𝟐 𝐱 𝑼


𝐲𝟏 = 𝐅𝑵/𝟒 𝐃𝑵/𝟒 𝐱 𝑳𝑳 − 𝑗𝐅𝑵/𝟒 𝐃𝑵/𝟒 𝐱 𝑳𝑼 − 𝐅𝑵/𝟒 𝐃𝑵/𝟒 𝐱 𝑼𝑳 + 𝑗𝐅𝑵/𝟒 𝐃𝑵/𝟒 𝐱 𝑼𝑼
𝐲𝟑 𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 𝐱 𝑳𝑳 + 𝑗𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 𝐱 𝑳𝑼 − 𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 𝐱 𝑼𝑳 − 𝑗𝐅𝑵/𝟒 𝐃𝟑𝑵/𝟒 𝐱 𝑼𝑼

𝐅𝑵/𝟐 (𝐱𝑳 + 𝐱 𝑼 )
𝐲𝟎,𝟐
𝐅𝑵 𝐃𝑵 (𝐱𝑳𝑳 −𝐱 𝑼𝑳 − 𝑗 𝐱 𝑳𝑼 − 𝐱 𝑼𝑼 ]
𝐲𝟏 = 𝟒 𝟒
𝐲𝟑 𝐅𝑵 𝐃𝟑𝑵 [ 𝐱 𝑳𝑳 − 𝐱 𝑼𝑳 + 𝑗(𝐱 𝑳𝑼 −𝐱𝑼𝑼 )]
𝟒 𝟒

10/19/2022 10
Split-Radix Decimation-in-Frequency (DIF-SRFFT) Butterlfy
(L-shaped) butterfly

𝐅𝑵/𝟐 (𝐱 𝑳 + 𝐱 𝑼 )
𝐲𝟎,𝟐
𝐅𝑵 𝐃𝑵 (𝐱𝑳𝑳 −𝐱 𝑼𝑳 − 𝑗 𝐱 𝑳𝑼 − 𝐱 𝑼𝑼 ]
𝐲𝟏 = 𝟒 𝟒
𝐲𝟑 𝐅𝑵 𝐃𝟑𝑵 [ 𝐱 𝑳𝑳 − 𝐱 𝑼𝑳 + 𝑗(𝐱 𝑳𝑼 −𝐱 𝑼𝑼 )]
𝟒 𝟒

𝐱 𝐿𝐿 𝐲0
𝑵
𝑭𝑭𝑻
𝐱 𝐿𝑈 𝟐 𝐲2
𝐃𝑵 /𝟒 𝑵
𝐱 𝑈𝐿 𝟒
𝑭𝑭𝑻 𝐲1
−𝟏
−𝒋
𝑵
𝐱 𝑈𝑈 𝑭𝑭𝑻 𝐲3
−𝟏 𝒋 𝟒
𝐃𝟑𝑵 /𝟒

10/19/2022 11
Example: Fill-in the missing multipliers

10/19/2022 12
Complexity Comparison

• https://www.cmlab.csie.ntu.edu.tw/cml/dsp/training/coding/transform/fft.html

10/19/2022 13
Recursive computation of a single frequency bin 𝑿[𝒌]
The Goertzel Algorithm

• Required to compute a single frequency bin 𝑋[𝑘]


• No storage of the 𝑵 complex coefficients 𝑾𝒌𝑵
• Used in DTMF and PSK/FSK modem
• Consider the first-order complex recursive implementation: (derivation in the text)
𝑁−1

𝑋 𝑘 = ෍ 𝑥[𝑛]𝑊𝑁𝑘𝑛
𝑛=0
• The equivalent LCCE difference equation

• 𝑦𝑘 𝑛 = 𝑥 𝑛 + 𝑊𝑁−𝑘 𝑦𝑘 𝑛 − 1 0≤𝑛 ≤𝑁−1

𝑋 𝑘 = 𝑦𝑘 𝑁

1
𝐻𝑘 𝑧 =
1 − 𝑊𝑁−𝑘 𝑧 −1

10/19/2022 14
• 𝑦𝑘 𝑛 = 𝑥 𝑛 + 𝑊𝑁−𝑘 𝑦𝑘 𝑛 − 1 0≤𝑛 ≤𝑁−1

𝑋 𝑘 = 𝑦𝑘 𝑁

One complex multiplication = 4 real multiplications + 2 real additions

Per single bin computation complexity

Real additions, real multiplications 𝟒𝑵, 𝟒𝑵

Complexity for 𝑵 − 𝑫𝑭𝑻 𝓞(𝑵𝟐 )

storage 𝑾−𝒌
𝑵
10/19/2022 15
Modified Goertzel Algorithm

• Multiply both the numerator and the denominator by 1 − 𝑊𝑁𝑘 𝑧 −1

1 − 𝑊𝑁𝑘 𝑧 −1
𝐻𝑘 𝑧 =
1 − 𝑊𝑁−𝑘 𝑧 −1 1 − 𝑊𝑁𝑘 𝑧 −1

1 − 𝑊𝑁𝑘 𝑧 −1
𝐻𝑘 𝑧 =
1 − 2 cos 2𝜋𝑘Τ𝑁 𝑧 −1 + 𝑧 −2

• The output equals to 𝑋[𝑘] at 𝑛 = 𝑁

𝑦𝑘 𝑁 = 𝑋[𝑘]

10/19/2022 16
Modified Goertzel Algorithm
• The DFT computation equations are

𝑣𝑘 −1 = 𝑣𝑘 −2 = 0
𝑣𝑘 [𝑛]

𝑦𝑘 𝑁 = 𝑋[𝑘]

complexity Per single bin computation

Real additions 𝟒(𝑵 + 𝟏)

Real multiplications 𝟐(𝑵 + 𝟐)

storage 𝐜𝐨𝐬 𝟐𝝅𝒌Τ𝑵 , 𝑾𝒌𝑵

The complex multiplication by the constant 𝑾𝒌𝑵 need to be performed only once at
𝒏=𝑵
10/19/2022 17
Sliding/ Running DFT (Recursive DFT)
• We would like to recursively compute the DFT, at frequency bin 𝑘, of a sequence on
a sample-by-sample basis . (real-time spectrum analysis)

• Used in a very-long sequences and in signals with time-varying spectrums

• Direct DFT computations and


FFT computes the DFT for block
of 𝑀 −samples at a time and
is not suitable for a single
frequency bin calculation.

• More efficient than


radix-2 𝑀 − 𝐹𝐹𝑇
if 𝑵 < (𝒍𝒐𝒈𝟐 𝑴)/𝟐

10/19/2022 18
Sliding DFT
• the DFT at frequency bin 𝑘 can be determined as follows:

X n [k ] = e j 2k / N ( X n −1[k ] + x[n ] − x[n − N ])

• 𝑋𝑛 [𝑘]: the value of 𝑋[𝑘] computed using the previous 𝑁 samples starting from
sample-index 𝒏

• 𝑋𝑛−1 [𝑘]: the value of 𝑋[𝑘] computed using the previous 𝑁 samples starting from
sample-index 𝒏 − 𝟏

• Requires only a single complex multiplication by 𝑾−𝒌


𝑵 for each new sample

𝑋𝑛 [𝑘]

𝑋𝑛−1 [𝑘]
10/19/2022 19
Sliding DFT
• Recursive implementation of the DFT at frequency bin 𝑘.

𝑋 𝑘; 𝑛 = 𝑊𝑁−𝑘 𝑋 𝑘; 𝑛 − 1 + 𝑥 𝑛 − 𝑥[𝑛 − 𝑁]

The transfer function of the digital filter structure

𝑘 𝑊𝑁−𝑘 (1 − 𝑧 −𝑁 ) 𝑐𝑜𝑚𝑏 𝑓𝑖𝑙𝑡𝑒𝑟


𝐻𝑆𝐷𝐹𝑇 𝑧 = =
1 − 𝑊𝑁−𝑘 𝑧 −1 𝑝𝑜𝑙𝑒 @ 𝑧 = 𝑒 𝑗2𝜋𝑘/𝑁

𝑋𝑛 [𝑘]

𝑋𝑛−1 [𝑘]

• Complexity/ sample: 1-complex multiplication + 2-complex additions


• Complexity/ N samples: N-complex multiplication + 2N-additions ≈ 𝓞(𝑵)
10/19/2022 20
Zero locations of the comb filter
• 𝐻𝑐𝑜𝑚𝑏 𝑧 = (1 ± 𝑧 −𝑁 )
Antisymmetric Symmetric
𝑯𝒄 𝒛 = 𝟏 − 𝒛−𝑵 𝑯𝒄 𝒛 = 𝟏 + 𝒛−𝑵

𝑻𝒚𝒑𝒆 𝑰𝑰𝑰 𝑻𝒚𝒑𝒆 𝑰

odd length

𝑻𝒚𝒑𝒆 𝑰𝑽 𝑻𝒚𝒑𝒆 𝑰𝑰

even length

10/19/2022 21
• Example: write a Matlab program to determine the DFT at frequency bin
𝑘 = 6, for the sequence 𝑥 𝑛 = {1: 100} based on a sliding window of
length 𝑁 = 10.

10/19/2022 22

You might also like