You are on page 1of 32

dce

2011

Chương 5
Biến đổi Fourier rời rạc (DFT)

BK
TP.HCM

©2011, TS. Đinh Đ ức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
dce
2011
Giới thiệu về DFT
• Biến đổi Fourier liên tục
x(n) = 0.8nu(n)
x(n)

Miền thời gian


F Miền tần số


X (ω ) = ∑ x (
n = −∞
n ) e − j ωn

• Vấn đề: X(ω) liên tục theo tần số ω → không thích hợp cho việc tính toán trên máy
tính

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
2
dce
2011
Lấy mẫu miền tần số

X(ω)

Lấy
mẫu

N=10 N=10

X (k ) ≡ X (ω = 2π
N k)

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
3
dce
2011
Lấy mẫu miền tần số

X (ω ) ω = 2πk / N = X ( 2π
N k) = ∑ x ( n )e
n = −∞
− j 2πkn / N
k = 0,1,..., N − 1
−1 N −1 2 N −1

∑ x ( n)e + ∑ x ( n)e ∑ x ( n)e


− j 2Nπ kn − j 2Nπ kn − j 2Nπ kn
X (k ) = + + +
n=− N n =0 n= N
∞ lN + N −1

∑ ∑
− j 2Nπ kn
= x ( n)e
l = −∞ n =lN
N −1
 ∞  − j 2Nπ kn
= ∑  ∑ x(n − lN ) e Thay n bằng (n-lN)
n = 0 l = −∞ 
N −1 ∞
⇒ X ( k ) = ∑ x p ( n )e
− j 2Nπ kn
với x p ( n) = ∑ x(n − lN )
l = −∞
n =0

• T/h xp(n) – lặp chu kỳ của x(n) mỗi N mẫu – t/h tuần hoàn với chu kỳ cơ bản N
N −1
x p (n) = ∑ ck e j 2πkn / N n = 0,1,..., N − 1
k =0
N −1
1
ck =
N
∑ p
x
n =0
( n ) e − j 2πkn / N
k = 0,1,..., N − 1
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
4
dce
2011
Lấy mẫu miền tần số
1
ck = X ( k ) k = 0,1,  , N − 1
N
1 N −1
x p ( n ) = ∑ X ( k )e
j 2Nπ kn
n = 0,1,  , N − 1
N k =0
• Có thể phục hồi t/h xp(n) từ các mẫu của phổ X(ω)

x(n)
 x p ( n) 0 ≤ n ≤ N −1
n x ( n) = 
0 L 0 others
N>L xp(n)

n
0 L N
N<L xp(n) alias
Khi N≥L, x(n) có thể được khôi phục
n
từ các mẫu phổ tần số tại ωk=2πk/N
0 N
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
5
dce
2011
Lấy mẫu miền tần số
• Có thể phục hồi X(ω) từ các mẫu X(k) với k = 0, 1,…, N-1
– Giả sử N ≥ L → x(n) = xp(n) khi 0 ≤ n ≤ N-1
N −1
1
x ( n) =
N
∑ X (
k =0
k ) e j 2πkn / N

∞ N −1
1 N −1
 − jωn
X (ω ) = ∑ x ( n )e
n = −∞
− jωn
= ∑
n =0  N
∑ X ( k )e
k =0
j 2πkn / N
e

N −1
 1 N −1 − j (ω − 2πk / N ) n 
= ∑ X (k )  ∑ e 
k =0  n =0
N 
1 N −1 − jωn 1 1 − e − jωN
P(ω ) = ∑ e =
N n =0 N 1 − e − jω N −1
sin(ωN / 2) − jω ( N −1) / 2 X (ω ) = ∑ X (k ) P (ω − 2Nπ k ) N≥L
= e
N sin(ω / 2) k =0

1 k =0
P( N k ) = 

0 k = 1,2,  , N − 1
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
6
dce
2011
Lấy mẫu miền tần số
N −1
1
∑ X ( k )e
j 2Nπ kn
x(n)
x ( n) =
có chiều dài L≤N N k =0
BĐ F

∞ N −1
X (ω ) = ∑ x ( n )e − j ωn
X (ω ) = ∑ X (k ) P (ω − ωk )
n = −∞ k =0
N −1
1

Lấy mẫu

P (ω ) = e − j ωn
ωk = 2π
N k
N k =0

N −1
X ( k ) = ∑ x ( n )e
− j 2Nπ kn
Phục hồi Phục hồi
n =0

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
7
dce
2011
Lấy mẫu miền tần số
• Ví dụ: x(n) = anu(n), 0<a<1
– Phổ t/h được lấy mẫu tại các tần số ωk = 2πk/N, k=0, 1, …, N-1

1 2πk 1
X (ω ) = ∑ a n e − jωn = X (k ) = X ( )=
n =0 1 − ae − jω N 1 − ae − j 2πk / N


x p ( n) = ∑ x(n − lN )
l = −∞ a=0.8
0
an
= ∑a
l = −∞
n −lN
=
1− aN

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
8
dce
2011
Biến đổi Fourier rời rạc (DFT)
• Chuỗi không tuần hoàn, năng lượng hữu hạn x(n)
• Các mẫu tần số X(2πk/N), k = 0, 1,…, N-1 không đặc trưng cho x(n) khi
x(n) có chiều dài vô hạn
• Nó đặc trưng cho chuỗi tuần hoàn, chu kỳ N xp(n)
• xp(n) là lặp tuần hoàn của x(n) nếu x(n) có chiều dài hữu hạn L ≤ N
• Do đó, các mẫu tần số X(2πk/N), k = 0, 1,…, N-1 đặc trưng cho chuỗi
chiều dài hữu hạn x(n); i.e. X(n) có thể được phục hồi từ các mẫu tần số
{X(2πk/N)}
• x(n) = xp(n) trên một chu kỳ N (được đệm vào N-L zero). Mặc dù L mẫu
của X(ω) có thể tái tạo lại được X(ω), nhưng việc đệm vào N-L zero giúp
việc tính toán DFT N điểm của X(ω) đồng nhất hơn

DFTN −1
IDFT
1 N −1
X ( k ) = ∑ x ( n )e x ( n) = ∑ X ( k )e
− j 2Nπ kn j 2Nπ kn

n =0 N k =0
k = 0,1,  , N − 1 n = 0,1,  , N − 1
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
9
dce
2011
Biến đổi Fourier rời rạc (DFT)
• Ví dụ: xác định DFT N điểm của chuỗi x(n) có độ dài L hữu hạn (N≥L)
1 0 ≤ n ≤ L −1 ∞ L −1
x ( n) =  X (ω ) = ∑ x ( n )e − j ωn
= ∑ e − j ωn
0 others n = −∞ n =0

1 − e − jωL sin(ωL / 2) − jω ( L −1) / 2


= − jω
= e
1− e sin(ω / 2)

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
10
dce
2011
Biến đổi Fourier rời rạc (DFT)

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
11
dce
2011
DFT – BĐ tuyến tính
DFT N −1
IDFT
1 N −1
X ( k ) = ∑ x ( n )e x ( n) = ∑ X ( k )e
− j 2Nπ kn j 2Nπ kn

n =0 N k =0
k = 0,1,  , N − 1 n = 0,1,  , N − 1

WN = e − j 2π / N Nghiệm thứ N của đơn vị

N −1
1 N −1
X ( k ) = ∑ x ( n)W kn
N x( n) = ∑ X (k )WN− kn
n =0 N n =0
k = 0,1,  , N − 1 n = 0,1,  , N − 1

Tính DFT một điểm Tính DFT N điểm


- Nhân phức: N - Nhân phức: N2
- Cộng phức: N-1 - Cộng phức: N(N-1)
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
12
dce
2011
DFT – BĐ tuyến tính
 x(0)   X (0) 
 x(1)   X (1) 
Các mẫu miền Các mẫu miền
xN =   XN = 
   thời gian    tần số
   
 x ( N − 1)   X ( N − 1) 
 1 1 1  1 
 
 1 WN WN2  WNN −1 
Ma trận
WN =  1 W 2
W 4
 WN2 ( N −1) 

N N
 BĐ tuyến tính
     

 1 WNN −1 WN2 ( N −1)  WN( N −1)( N −1) 
• BĐ DFT N điểm
X N = WN x N
x N = WN−1 X N WN−1 = 1
N WN* WN là ma trận
xN = 1
N WN* X N WNWN* = NI N đường chéo
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
13
dce
2011
DFT – BĐ tuyến tính
• Ví dụ: xác định DFT 4 điểm của chuỗi x(n) = {0 1 2 3}
k + N2
WN = −WNk W40W40 W40  1
W40 1 1 1  1 1 1 1 
 0  
W W41
W42 W43  1 W4
1
W42 − W41  1 − j −1 j 
W4 =  40 6
= =
W4 4
W4 W4 W42 1 W42 − W42 W4  1 − 1
2
1 − 1
 0     
W4W46 W49  1 − W4 −1 − j
1
W43 W42 W41  1 j
0   6 
1  − 2 + 2 j 
x4 =   X 4 = W4 x4 =  
 2  −2 
   
 
3  − 2 − 2 j 
• Ví dụ: tính DFT 4 điểm cho x(n) = {1 0 2 1}
3
X ( k ) = ∑ x ( n )e
− j 24π kn − j 32π k
= 1 + 2e − jπk + e
n =0
 4 
 X ( 0) = 1 + 2 + 1 = 4  2e j 34π 
 j 34π X 4 = W4 x4 =  
 X (1 ) = 1 − 2 + j = −1 + j = 2 e  2 
  − j 34π 
 X ( 2) = 1 + 2 − 1 = 2  2e 
 X (3) = 1 − 2 − j = −1 − j = 2e − j 34π
 CuuDuongThanCong.com
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
https://fb.com/tailieudientucntt
14
dce
2011
DFT – Quan hệ với các phép BĐ khác
• Với hệ số Fourier của chuỗi chu kỳ

Chuỗi xp(n) tuần hoàn chu kỳ N DFT N điểm của chuỗi x(n)

N −1 1 N −1
x ( n ) = ∑ X ( k )e
j 2Nπ kn
x p ( n ) = ∑ ck e
j 2Nπ kn

k =0
N n =0
−∞ ≤ n ≤ ∞ n = 0,1,  , N − 1
X(k) = Nck
1 N −1 N −1
ck = ∑ x p ( n )e X ( k ) = ∑ x ( n )e
− j 2Nπ kn − j 2Nπ kn

N n =0 DFT N điểm cho chính xác


n =0
phổ vạch của chuỗi
k = 0,1,  , N − 1 k = 0,1,  , N − 1
tuần hoàn chu kỳ N

• Với BĐ Fourier của chuỗi không chu kỳ


– DFT N điểm cho phổ vạch của chuỗi không chu kỳ x(n) nếu x(n) hữu hạn có
độ dài L ≤ N

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
15
dce
2011
DFT – Biểu diễn tín hiệu

Dạng thẳng Dạng vòng


Chiều dương
Âm Dương
n
n=1
-2 -1 0 1 2
n=0
n=–1
x(n) = {1 2 3 4}
Chiều âm
x(n) x(1)
4
3
2 x(2) x(n) x(0)
1 n
0 1 2 3 x(3)
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
16
dce
2011
DFT – Biểu diễn tín hiệu theo vòng

• Chuỗi tuần hoàn chu kỳ N, mở rộng từ x(n) x p ( n) = ∑ x(n − lN )
n = −∞

• Chuỗi dịch xp(n) đi k mẫu x 'p (n) = x p (n − k ) = ∑ x(n − lN − k )


l = −∞

 x ( n) 0 ≤ n ≤ N − 1
'

• Chuỗi có chiều dài hữu hạn từ x’p(n) x ' ( n) =  p


0 otherwise
• Quan hệ giữa x(n) và x’(n): dịch vòng x’(n) = x(n-k, MOD N) ≡ x((n-k))N
x(n) 4 xp(n) 4 4 4 xp(n-2) 4 4 4
3 3 3 3 3 3 3
2 2 2 2 2 2 2
1 1 1 1 1 1 1
0 1 2 3 -4 -3 -2 -1 0 1 2 3 4 5 6 7 -2 -1 0 1 2 3 4 5 6 7 8 9
x(1) x’(1)
4 x’(n) 2 4
3
2 x(2) 3 x(n) 1 x(0) x’(2) 1 x’(n) 3 x’(0)
1
0 1 2 3 4 2
x(3) x’(3)
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
17
dce
2011
DFT – Tính đối xứng vòng
• Phép dịch vòng của một chuỗi N điểm tương đương với phép
dịch tuyến tính của chuỗi mở rộng tuần hoàn của nó
• Chuỗi N điểm là chẵn theo vòng nếu nó đối xứng qua điểm 0
trên vòng tròn
– i.e. x(N – n) = x(n), 0 ≤ n ≤ N – 1

• Chuỗi N điểm là lẻ theo vòng nếu nó phản đối xứng qua điểm
0 trên vòng tròn
– i.e. x(N – n) = – x(n), 0 ≤ n ≤ N – 1

• Đảo theo thời gian của chuỗi N điểm: đảo các mẫu của chuỗi
quanh điểm 0 trên vòng tròn
– i.e. x((– n))N = x(N – n), 0 ≤ n ≤ N – 1
– Phép đảo được thực hiện bằng cách vẽ x(n) theo chiều kim đồng hồ

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
18
dce
2011
DFT – Tính đối xứng vòng
• Giả sử x(n) và BĐ DFT X(k) là t/h phức
– x(n) = xR(n) + jxI(n), 0≤n≤N–1
– X(k) = XR(k) + jXI(k), 0≤k≤N–1
 1 N −1
 xR ( n) = N ∑ [X R ( k ) cos N − X I ( k ) sin N ]
 N −1

 X R ( k ) = ∑ [xR ( n) cos N + xI ( n) sin N ]


2πkn 2πkn 2πkn 2πkn

 n =0  k =0
 N −1
 N −1
 X ( k ) = − [x ( n) sin 2πkn − x ( n) cos 2πkn ]
 I ∑ R N I N
 x ( n) = 1
 I ∑ [ X R ( k ) sin 2πNkn + X I ( k ) cos 2πNkn ]
 n =0  N k =0
• Nếu x(n) thực: X(N-k) = X*(k) = X(–k)
X ( N − k ) = X (k ) và ∠X ( N − k ) = −∠X ( k )
• Nếu x(n) thực và chẵn: x(n) = x(N–n) → XI(k) = 0
N −1 N −1
1
X (k ) = ∑ x(n) cos 2πkn
N x ( n) = ∑ X (k ) cos 2πkn
N
n =0 N k =0
• Nếu x(n) thực và lẻ: x(n) = –x(N–n) → XR(k) = 0
N −1 N −1
1
X (k ) = − j ∑ x(n) sin 2πkn
N
x ( n) = j
N
∑ X (k ) sin
k =0
2πkn
N
n =0
• Nếu x(n) thuần ảo: x(n) = jxI(n)
N −1 N −1
X R ( k ) = ∑ xI (n) sin 2πkn
N X I (k ) = ∑ xI (n) cos 2πNkn
n =0 n =0
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
19
dce
2011
DFT – Tính chất
• Tuần hoàn
x ( n) ← → X ( k )
DFTN

 x ( n) = x ( n + N ) ∀n
⇒
 X (k ) = X (k + N ) ∀k
• Tuyến tính

 1
x ( n ) ← → X 1 ( k )
DFTN



 2
x ( n ) ←  → X 2 ( k )
DFTN

⇒ a1 x1 ( n) + a2 x2 ( n) ← → a1 X 1 ( k ) + a2 X 2 ( k )
DFTN

• Tổng chập vòng



 x1 ( n) ←
DFTN
→ X 1 (k )


 2
x ( n ) ← → X 2 ( k )
DFTN

⇒ x1 ( n) ⊗ N x2 ( n) ←
DFTN
→ X 1 (k ) X 2 (k )
N Tổng chập vòng N điểm
N −1
N x2 (n) = ∑ x1 (k ) x2 ((n − k )) N
x1 (n) ⊗ n = 0,1,  , N − 1
k =0
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
20
dce
2011
DFT – Tổng chập vòng

 x1 ( n) ←
DFTN
→ X 1 (k ) x ( m) = IDFT { X ( k )}
 N −1

 x2 ( n) ←→ X 2 ( k ) 1
∑ X ( k )e
DFTN
j 2Nπ km
=
N
x( m) ← → X ( k ) = X 1 ( k ) X 2 (k )
DFTN k =0
N −1
1
∑X
j 2Nπ km
= 1 ( k ) X 2 ( k )e
N a =1 N k =0
N −1

∑  N −1 − j 2Nπ kn   − j 2Nπ kl  j 2Nπ km
k N −1 N −1
a = 1
k =0
1 − a N
 a ≠1 =
N
∑ ∑ 1
k =0  n =0
x ( n ) e  ∑ 2
  l =0
x (l ) e e

 1− a
N −1 N −1 N −1
j 2Nπ ( m − n − l ) 1
Trong ñoù a=e ∑ x (n)∑ x (l )∑ e
j 2Nπ k ( m − n −l )
= 1 2
N
a = 1, khi : m − n − l = pN , p ∈ Z n =0 l =0 k =0

a ≠ 1 ⇒ a N = e j 2π ( m − n −l ) = 1 ⇒ 1 − a N = 0
N
N −1 m − n − l = pN ⇔ l = ((m − n)) N
⇒ ∑a =  k

0 otherwise N −1
k =0
x(m) = ∑ x1 (n) x2 ((m − n)) N m = 0,1,  , N − 1
n =0
N −1
x(n) = ∑ x1 (k ) x2 ((n − k )) N n = 0,1,  , N − 1
k =0
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
21
dce 2011
DFT – Tổng chập vòng
• Ví dụ: cho x1(n) ={1^ 2 3 4} và x2(n) ={1^ 0 2 1}. Tính x(n) = x1(n) N x2(n) theo 2
cách
– Dùng công thức định nghĩa
x2(0) = 1 2
– Dùng DFT và IDFT

Dùng định nghĩa x2(3) = 1 x2((1-n))4 x2(1) = 0 3 x1(n)x2((1-n))4 0


N −1
x(m) = ∑ x1 (n) x2 ((m − n)) N m = 0,1,  , N − 1 x2(2) = 2 x(1) = 13 8
n =0
x1(1) = 2 x2(1) = 0 x2(1) = 0 0

x1(2) = 3 x1(n) x1(0) = 1 x2(2) = 2 x2(n) x2(0) = 1 x2(0) = 1 x2((2-n))4 x2(2) = 2 3 x1(n)x2((2-n))4 2

x1(3) = 4 x2(3) = 1 x2(3) = 1 x(2) = 9 4

x2(3) = 1 2 x2(2) = 2 4

x2(2) = 2 x2((-n))4 x2(0) = 1 6 x1(n)x2((-n))4 1 x2(1) = 0 x2((3-n))4 x2(3) = 1 0 x1(n)x2((3-n))4 1

x2(1) = 0 x(0) = 9 0 x2(0) = 1 x(3) = 9 4

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
22
dce
2011
DFT – Tổng chập vòng
Dùng DFT & IDFT X (k ) = X 1 (k ) X 2 (k )
3
X 1 (k ) = ∑ x1 (n)e
− j 24π kn
= 1 + 2e
− j π2 k
+ 3e − jπk + 4e
− j 32π k k = 0,1,2,3
n =0
 X (0) = 40
k = 0,1,2,3  X (1) = (−2 + 2 j )(−1 + j ) = −4 j

 X 1 (0) = 1 + 2 + 3 + 4 = 10 
 X (1) = 1 + (−2 j ) + (−3) + (4 j ) = −2 + 2 j  X (2) = −4
 1  X (3) = 4 j

 X 1 (2) = 1 + (−2) + (+3) + (−4) = −2 1 3
x ( n ) = ∑ X ( k )e
j 24π kn
 X 1 (3) = 1 + (2 j ) + (−3) + (−4 j ) = −2 − 2 j
4 k =0

[ ]
3
X 2 (k ) = ∑ x2 (n)e
− j 24π kn − jπk − j 32π k 1 jπ n j 3π n
= 1 + 2e +e = 40 − 4 je 2 − 4e jπn + 4 je 2
n =0 4
k = 0,1,2,3 n = 0,1,2,3
 X 2 (0) = 1 + 2 + 1 = 4  x(0) = 9
 X (1) = 1 + (−2) + ( j ) = −1 + j  x(1) = 13
 2 
 
 X 2 (2) = 1 + 2 − 1 = 2  x(2) = 9
 X 2 (3) = 1 + (−2) + (− j ) = −1 − j  x(3) = 9
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
23
dce
2011
DFT – Tính chất
• Đảo vòng theo thời gian
x(n) ← → X (k )
DFTN

⇒ x((−n)) N = x( N − n) ← → X ((−k )) N = X ( N − k )
DFTN

• Dịch vòng theo thời gian


x(n) ← → X (k )
DFTN

⇒ x((n − l )) N ← → X (k )e − j 2πkl / N
DFTN

• Dịch vòng theo tần số


x(n) ← → X (k )
DFTN

⇒ x(n)e j 2πnl / N ← → X ((k − l )) N


DFTN

• Liên hợp phức


x(n) ←→ X (k )
DFTN

 x* (n) ← → X * ((− k )) N = X * ( N − k )
DFTN

⇒ *
 x ((− n)) N = x* ( N − n) ← → X * (k )
DFTN

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
24
dce
2011
DFT – Tính chất
• Tương quan vòng
x(n) ← → X (k )
DFTN

y (n) ← → Y (k )
DFTN
~ N −1
~ ~
với r xy (l ) = ∑ x(n) y * ((n − l )) N
⇒ r xy (l ) ←→ R xy (k ) = X (k )Y (k )
DFTN *
n =0
• Nhân 2 chuỗi

 x1 ( n) ←
DFTN
→ X 1 (k )


 2
x ( n ) ← → X 2 ( k )
DFTN

⇒ x1 ( n) x2 ( n) ← → N1 X 1 ( k ) ⊗
DFTN
N X 2 (k )
• Định lý Parseval
x(n) ← → X (k )
DFTN

y (n) ← → Y (k )
DFTN

N −1 N −1
⇒ ∑ x(n) y * (n) = ∑ X (k )Y * (k )
n =0 k =0
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
25
dce
2011
DFT – Lọc tuyến tính
• Y(ω) = H(ω)X(ω)
– Hàm liên tục theo tần số ω
– Khó thực hiện trên các máy tính số
→ DFT: một cách tính hiệu qủa của tổng chập miền thời gian
• Lọc tuyến tính M −1

– Tín hiệu ngắn


x(n)
h(n)
y(n) y ( n) = ∑ h( k ) x ( n − k )
k =0
x(n) chiều dài = L (n=0,1,…,L-1) y(n) chiều dài N = M+L-1
h(n) chiều dài = M (n=0,1,…,M-1)
Số mẫu phổ (tần số) cần thiết để biểu diễn duy nhất chuỗi y(n) ≥ L+M-1
Y(k) = H(k)X(k), k=0,1,…,N-1
H(k), X(k): DFT N điểm của h(n), x(n)
(các số 0 được đệm vào để tăng kích thước chuỗi lên N)
y(n) = IDFTN{Y(k)} • Tổng chập vòng N điểm của h(n) và x(n)
tương đương với tổng chập tuyến tính của h(n) với x(n)
• DFT có thể được dùng để lọc tuyến tính
(bằng cách đệm thêm các số 0 vào chuỗi tương ứng)
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
26
dce
2011
DFT – Lọc tuyến tính
• Tóm tắt DFTN
x(n) X(k) IDFTN
DFTN x Y(k) = X(k)H(k) y(n)
h(n) H(k)
• Ví dụ: tính đáp ứng y(n) dùng DFT và IDFT
– h(n) = {1^, 0, 1, 2} và x(n) = {1^, 0, 1}
 7



H ( k ) = ∑
n =0
h ( n ) e − j 2πkn / 8
= 1 + e − jπk / 2
+ 2e − j 3πk / 4

 7
(k = 0,1,...,7)
 X (k ) =


∑ x(n)e − j 2πkn / 8 = 1 + e − jπk / 2 Y (0) = 8
n =0 Y (1) = 2(1 − j )
 H (0) = 4  X ( 0) = 2 
  X (1) = 1 − j Y ( 2) = 0
 H (1) = (1 − 2 ) − (1 + 2 ) j  
 H ( 2) = 2 j  X (2) = 0 Y (3) = 2( 2 + j )
  Y ( 4) = 0

 H (3) = (1 + 2 ) + (1 − 2 ) j  X (3) = 1 + j 
  Y (5) = 2( 2 − j )
 H ( 4) = 0  X (4) = 2 
 H (5) = (1 + 2 ) + ( 2 − 1) j  X (5) = 1 − j Y (6) = 0
  
Y (7) = 2( − 2 + j )
 H (6) = −2 j  X (6) = 0
  X (7 ) = 1 + j
7

 H (7) = (1 − CuuDuongThanCong.com
2 ) + (1 + 2 ) j
DSP – Biến đổi DFT
 ∑ Y (k )e j 2πkn / 8 (n = 0,1,...,7)
y (n) =https://fb.com/tailieudientucntt
k = 0©2011, Đinh Đức Anh Vũ 27
dce
2011
DFT – Lọc tuyến tính
• Tín hiệu nhập dài: chia nhỏ x(n) thành từng
block có độ dài cố định
– Overlap-Save
– Overlap-Add

• Giả thiết
– Bộ lọc có h(n): chiều dài M
– T/h nhập x(n): được chia nhỏ thành từng block có
chiều dài L >> M

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
28
dce
2011
Lọc tuyến tính – Overlap-Save
• DFTN và IDFTN với N = L+M–1
• Mỗi block dữ liệu được xử lý bao gồm (M – 1) điểm của block trước và L
điểm mới của t/h nhập
– M-1 điểm của block đầu tiên được set bằng 0
• Đáp ứng xung của bộ lọc được đệm thêm (L – 1) số 0 để tăng chiều dài
lên N
– DFT của N điểm của h(n) được tính một lần duy nhất

Input
Add M-1 zeros M-1 L L L
x1(n) M-1 L
x2(n) M-1 L
x3(n) M-1 L

Output M-1 L
M-1 L
Discard M-1 L
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
29
dce
2011
Lọc tuyến tính – Overlap-Add
• Đệm thêm (M-1) số 0 vào mỗi block dữ liệu đầu vào

Input

x1(n) L M-1 zeros


x2(n) L M-1
x3(n) L M-1

Output L M-1
+
L M-1
+
L M-1

Phương pháp hiệu quả hơn dùng để xác định bộ lọc tuyến tính
được trình bày trong chương 6
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
30
dce
2011
DFT – Phân tích tần số
• T/h ngắn
– Tính DFT từ x(n)
• T/h dài
– Cửa sổ hoá
x(n): t/h cần phân tích
Giới hạn chiều dài chuỗi một khoảng L mẫu Hàm cửa sổ có chiều dài L
⇔ Nhân chuỗi với cửa sổ chiều dài L chỉ phân biệt được
nếu các tần số cách nhau
xw(n) = x(n)w(n) ít nhất một đoạn
w(n): hàm cửa sổ
∆ω = 2π
L

Cửa sổ chữ nhật Cửa sổ Hanning

1 0 ≤ n ≤ L −1  12 (1 − cos L2−π1 n) 0 ≤ n ≤ L − 1
w(n) =  w(n) = 
0 otherwise 0 otherwise
DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ
CuuDuongThanCong.com https://fb.com/tailieudientucntt
31
dce
2011
DFT – Phân tích tần số
• Ví dụ 1 0 ≤ n ≤ L −1
x(n) = cos ω1n + cos ω 2 n w(n) = 
0 otherwise
[W (ω − ω1 ) + W (ω − ω 2 ) + W (ω + ω1 ) + W (ω + ω 2 )]
^
X (ω ) = 1
2

ω1 = 0.2π L=25 L=50


ω2 = 0.22π

Rò rỉ công suất

L=75 L=100

DSP – Biến đổi DFT ©2011, Đinh Đức Anh Vũ


CuuDuongThanCong.com https://fb.com/tailieudientucntt
32

You might also like