Tải bản đầy đủ (.ppt) (26 trang)

Biến đổi DFT và FFT (xử lý số tín HIỆU DSP)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.28 MB, 26 trang )

Xử lý số tín hiệu
Biến đổi
DFT và FFT

Chương 8:


Các phép biến đổi Fourier
Miền thời gian

Miền tần số

2.5
2
1.5
1

Periodic

0.5
0
0

1

2

3

4


time, t

5

6

7

8

Continuous

2.5
2

(period T)

Aperiodic

1.5
1

FS

Discrete

FT

Continuous


0.5

T
1
c k = ⋅ ∫ s(t) ⋅ e − j k ω t dt
T
0
− j2 π f t
+∞
S(f) = ∫ s(t) ⋅ e
dt
−∞

0
0

2

4

6

8

time, t

10

12


2.5
2

Periodic

1.5
1
0.5

0

1

2

3

4

time, tk

5

6

7

DFS

Discrete


(period T)

0
8

Discrete
2.5

Aperiodic

2
1.5

DTFT

Continuous

DFT

Discrete

1
0.5
0
0

2

4


time, tk
6

8

10

12

2πkn
N

1

j
1
~
N
ck = ∑ s[n] ⋅ e
N
n=0

+∞
S(f) = ∑ s[n] ⋅ e − j 2 π f n
n= −∞
2πkn
−j
1 N−1
~

N
ck = ∑ s[n] ⋅ e
N
n =0


Chuỗi Fourier (Fourier series-FS)


Tín hiệu x(t) tuần hồn, chu kỳ Tp , tần số F0 = 1/Tp

x (t ) =

+∞

j 2πkF0 t
c
e
∑ k

k = −∞

1
ck =
Tp

− j 2πkF0 t
x
(
t

)
e
dt


Tp

X(f)

x(t)
τ

f
-Tp

0

Tp

t

-F0 F0


Biến đổi Fourier (Fourier transform-FT)


Tín hiệu x(t) khơng tuần hồn

x (t ) =


+∞

∫ X ( F )e

j 2πft

df

−∞

X( f ) =

+∞

− j 2πft
(
)
x
t
e
dt


−∞

X(ω)
x(t)

ω

-τ/2 τ/2

t
-2π/τ

2π/τ


Biến đổi Fourier của một số tín hiệu cơ bản


Biến đổi Fourier thời gian rời rạc
Discrete – Time Fourier Transform (DTFT)


Tín hiệu x(n) rời rạc, khơng tuần hồn

1
x ( n) =

X (ω ) =

jωn
(
)
X
ω
e






+∞

∑ x( n ) e

n = −∞

jωn


Chuỗi Fourier rời rạc
Discrete Fourier Sequence (DFS)


Tín hiệu x(n) rời rạc, tuần hoàn với chu kỳ N
N −1

x ( n) = ∑ ck e j 2πkn / N
k =0

1
ck =
N

N −1

∑ x( n ) e
n =0


− j 2πkn / N


Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)


Tín hiệu x(n) rời rạc, khơng tuần hồn, chiều dài L hữu
hạn  Biến đổi DTFT cho phổ liên tục X(ω)
|X(ω)|

x(n)

0

L-1

n



π ω


Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)


Lặp lại tín hiệu x(n) với chu kỳ N ≥ L  Tín hiệu xp(n)

tuần hoàn chu kỳ N
xp(n)

0

L-1

N-1 N

n

n


Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)


xp(n) tuần hoàn chu kỳ N  Tính DFS của xp(n)  Xp(k)
xp(n)

0

L-1

N-1

N

n


n

|Xp(k)|

-N

0

N

k


Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)
Xp(k) tuần hoàn chu kỳ N  Đặt X(k) = Xp(k), k = 0,..,N-1
x(n)

0

L-1

n

DFT

|X(k)|

0


N-1

k


Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)
Công thức biến đổi DFT N-điểm cho chuỗi chiều dài L:
DFT

L −1

X (k ) = ∑ x( n ) e − j 2πkn / N

, k = 0,1,2,..., N − 1

n =0

IDFT

1
x( n ) =
N

N −1

j 2πkn / N
(
)

X
k
e

k =0

, n = 0,1,2,..., N − 1


Giải thuật biến đổi Fourier nhanh
Fast Fourier Transform (FFT)
Tính trực tiếp DFT N – điểm của x(n):
Tổng quát: X(k) và x(n) là số phức:



2πkn
2πkn 

X R ( k ) = ∑  xR ( n ) cos
+ xI ( n ) sin
N
N 
n =0 
N −1

2πkn
2πkn 

X I ( k ) = −∑  xR ( n ) sin

− xI ( n ) cos
N
N 
n =0 
N −1

Tính trực tiếp cần:

2N2 phép tính hàm lượng giác
• 4N2 phép nhân thực
• 4N(N-1) phép cộng thực

Chi phí tính
tốn lớn


Giải thuật biến đổi Fourier nhanh
Fast Fourier Transform (FFT)


Đặt

WN = e

− j 2π / N

N −1




X ( k ) = ∑ x(n)WNnk
n =0



Tính đối xứng:



Tính tuần hồn:

k+N /2
M

W

k+N
M

W

= −W

=W

k
N

k
N



Giải thuật biến đổi Fourier nhanh
Fast Fourier Transform (FFT)
Xét chuỗi x(n) = {x(0), x(1)}
 FFT 2 điểm của x(n):


X (0) = x(0)W + x(1)W = x(0) + x(1)
0
2

0
2

X (1) = x(0)W + x(1)W = x(0) − x(1)

(Lưu ý: W2 = 1)

0
2

x(0)

1
2

X(0)
1 Bướm
(Butterfly)


x(1)

-1

X(1)


Giải thuật FFT phân chia theo thời gian
(Decimation in time – DIT)


Xét chuỗi x(n) có chiều dài N = 2K
 Đặt g(n) = x(2n)  g(n) = {x(0), x(2), … }
 Đặt h(n) = x(2n + 1)  h(n) = {x(1), x(3), …}



DFT N điểm của x(n):
X (k ) = G (k ) +W H (k )
k
N

N
X (k ) = G (k − ) −W
2


k−


N
2
N

,

N
k = 0,1,..., − 1
2

N
H (k − )
2

N
, k = ,..., N − 1
2

G(k), H(k) : DFT N/2 điểm của g(n), h(n)


Giải thuật FFT phân chia theo thời gian
g(0)

G(0)

g(1)

W


G(1)

W

FFT N/2
điểm
g(N/2 -1)

1
N

G(N/2 -1)
W

h(0)

H(0)

− WN0

h(1)

H(1)

− WN1

FFT N/2
điểm
h(N/2 -1)


0
N

H(N/2 -1)

− WNN / 2−1

N / 2 −1
N

X(0)
X(1)

k =0

N/2 -1

X(N/2-1)

X(N/2)

X(N/2 + 1) k = N/2

N-1
X(N – 1)


Chi phí tính tốn
So với tính trực tiếp: chi phí tính tốn thấp hơn


Number of Operations



2000
1500

DFT ∝ N2

1000

FFT ∝ N log2N

500
0
0

10

20

30

Number of samples, N

40


Ví dụ



FFT 8 điểm phân chia theo thời gian


Ví dụ


FFT 8 điểm phân chia theo thời gian


Ví dụ


FFT 8 điểm phân chia theo thời gian


Ví dụ


FFT 8 điểm phân chia theo thời gian


Ví dụ


Thứ tự chuỗi x(n) trong pp Decimation – in - time
Số thứ tự

Dạng nhị phân


Đảo bit

n

0

000

000

0

1

001

100

4

2

010

010

2

3


011

110

6

4

100

001

1

5

101

101

5

6

110

011

3


7

111

111

7


Ví dụ


FFT 8 điểm phân chia theo tần số (Decimation in freq)


Ví dụ


FFT 8 điểm phân chia theo tần số


×