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?