Frequency Domain Adaptive Filtering

Download Report

Transcript Frequency Domain Adaptive Filtering

Frequency Domain Adaptive
Filtering
Project Supervisor
Dr. Edward Jones
Myles Ó Fríl
Adaptive Filters
 Digital Filter
 Adaptive Algorithm
 Convolution
 Time Domain Algorithms
 The LMS Algorithm
Updated Value
of tap-weight
vector
Old Value of
tap-weight
vector
+
Learning
rate
parameter
x Tap-input
vector x
Error
Signal
System Identification
X(n)
Unknown
System
d(n)
+
+
Adaptive
Filter
y(n)
e(n)
Echo Cancellation
Speaker A
Speaker B
Adaptive
Filter
e(n)
Receiver
Common
Line
X(n)
Transmitter
Clean
Signal
Hybrid
X(n)
- Y(n)
+
+
Speaker B
signal + echo of A
Adaptive
Filter
Hybrid
- Y(n)
+
Transmitter
Speaker Echo
Return Paths
+
e(n)
Clean
Signal
Speaker A
signal + echo of B
Receiver
Frequency Domain Filtering
 Discrete Fourier Transform
 Fast Fourier Transform
 N a power of two
 Time Convolution Theorem
 Efficiency
 Overlap Save
Overlap Save Filtering
Input Block Length 2N
N Zeros + Impulse Response
2N point FFT
2N point FFT
Y(f) = X(f) x H(f)
2N point IFFT
Y(n) + circular artifacts
Frequency Domain Adaptive
Filtering Algorithm
 Fast LMS
 Overlap Save Filtering
 Block Diagram of Fast LMS
u(n)
U(k)
FFT
Y(k)
y(n)
X
IFFT
+
Conjugate
Save Last Block
Delay
X
mu
Gradient
Constraint
FFT
Append
Zero Block
Delete Last
Block
IFFT
U*(k)
E(k)
X
FFT
Append
Zero Block
e(n)
+
d(n)
Memory Comparison
 LMS
N inputs + N filter coefficients
= 2N
 Fast LMS
15 N in total
Computational Comparison
 LMS
2N x N
 Fast LMS
15N log2 (2N) + 10N for 5 FFTs
+ 28N
for rest of algorithm
 Cross Over Point

N a power of two
128
LMS V Fast LMS
6
12
Frequency V Time Domain Operations
x 10
Number of operations
10
8
Time Domain
Frequency Domain
6
4
2
0
0
100
400
300
200
Length of impulse Response
500
600
Implementation
Main Program
Write and Read
Values from
the NIDAQ card
 The NIDAQ Card
Start Fast LMS
Thread
 Threads
Y Get more
values
N
End Program
Further Applications
 Adaptive Equalizer
 Training Period
 Decision Maker
 Time Domain
 Frequency Domain
x(n)
Adaptive
Equalizer
Decision
Device
y(n)
e(n)
+
+
d1(n)
d(n)
Training
Sequence
Generator
Summary
 Adaptive Filters
 System Identification
 Frequency Domain Filtering
 Frequency Domain Adaptive Algorithm
 Memory/Computational Comparison
 Implementation
Any Questions?