Tải bản đầy đủ (.doc) (7 trang)

Xây dựng bộ điều khiển và nhận dạng tiếng nói phần 8

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 (129.71 KB, 7 trang )

GVHD:Thầy Lê Tuấn Anh Biến Đổi Fourier
BIẾN ĐỔI FOURIER
Trong chương này sẽ trình bày về phép biến đổi Fourier với các tín hiệu
liên tục và rời rạc. Đồng thời giới thiệu về thực hiện phép biến đổi nhanh
Fourier FFT trên DSP56002 sử dụng giải thuật phân chia theo thời gian DIT
(decimation-in-time). Đây là công cụ toán học cơ bản chuẩn bò cho việc nhận
dạng tiếng nói ở phần sau.
A . BIẾN ĐỔI FOURIER LIÊN TỤC:
Cho hàm khả tích tuyệt đối f(t) ta có biến đổi Fourier của nó là :


∞−
ω−
= dt.e).t(f)w(F
tj
Biến đổi Fourier ngược là:


∞−
ω
ωω
π
= d.e).(F
2
1
)t(f
tj
Ta ký hiệu biến đổi Fourier và Fourier ngược của nó là:
)(F)t(f ω↔
Các tính chất của biến đổi Fourier
Cho cặp biến đổi Fourier:


)(F)t(f ω↔

)t(f)(F ↔ω

SVTH:Huỳnh Quốc Trâm 7-94
GVHD:Thầy Lê Tuấn Anh Biến Đổi Fourier
Phép biến đổi Fourier có các tính chất sau:
1. Tuyến tính:
)(G)(F)t(g)t(f ωβ+ωα↔β+α
2. Tính đối xứng:
F(t)

2.
)(f. ω−π
3. Tính chất dòch chuyển :
 Nếu tín hiệu trong miền thời gian dòch chuyển một khoảng t
o
thì trong miền tần số tương ứng sẽ bò dòch đi một hệ số
pha:
)(Fe)tt(f
o
tj
o
ω↔−
ω−
 Ngược lại sự dòch chuyển trong miền tần số một
o
ω
thì trong
miền thời gian sẽ nhân với một hệ số pha :

)(Fe)t(f
o
o
tj
ω−ω↔
ω
4. Tính chất co giãn :






ω

a
F
a
1
)at(f
5. Tính chất vi phân và tích phân :
)(F)j(
t
)t(f
n
n
n
ωω↔



ω
ω
↔ττ

∞−
j
)(F
d)(f
t
6. Mômen:gọi
n
m
là mômen cấp n của f(t)


∞−
= dt)t(ftm
n
n
, n=0,1,2,...
Khi đó :
0
n
n
n
n
)(F
m)j(

ω∂

ω∂
=−
, n=0,1,2,...
7. Tích chập :h(t) là tích chập của f(t) và g(t) ,ký hiệu là h(t)
=f(t)*g(t) và h(t) được tính bởi công thức :


∞−
ττ−τ= d)t(g)(f)t(h
Biến đổi Fourier của tích chập :
)(G)(F)t(g*)t(f ωω↔
)(G)(F
2
1
)t(g)t(f ωω
π

SVTH:Huỳnh Quốc Trâm 7-95
GVHD:Thầy Lê Tuấn Anh Biến Đổi Fourier
8. Bất đẳng thức Paserval :phép biến đổi Fourier là một phép biến
đổi trực giao nên nó thỏa mãn tính chất bảo toàn năng lượng theo
biểu thức Paserval:
∫∫

∞−

∞−
ωωω
π
= d)(G)(F

2
1
dt)t(g)t(f
**
Trong trường f(t) = g(t) thì biểu thức trên trở thành:
∫∫

∞−

∞−
ωω
π
= d)(F
2
1
dt)t(f
22
Đây là công thức tính năng lượng tín hiệu qua miền tần số .
B . BIẾN ĐỔI FOURIER RỜI RẠC:
Cho một chuỗi
{ }
Zn
]n[x

biến đổi Fourier rời rạc của nó được cho bởi công
thức:


−∞=
ω−ω

=
n
njj
e]n[x)e(X
(*)
Công thức biến đổi Fourier ngược của nó là:

π
π−
ωω
ω
π
= de).e(X
2
1
]n[x
njj
Điều kiện để biểu thức (*) hội tụ là chuỗi f[n] phải có tổng giá trò tuyệt đối
giới hạn. Giả sử chuỗi f[n] là kết quả lấy mẫu của tín hiệu liên tục f(t) tại những
thời điểm nT:
X[n] = X[nT]
Khi đó mối liên hệ giữa biến đổi Fourier rời rạc X
T
(
ω
) và biến đổi
Fourier liên tục được thể hiện qua biểu thức sau:
∑ ∑

−∞=


−∞=
ω−






π
−ω==ω
n k
c
Tjn
T
t
2
kX
T
1
e).nT(x)(X
C . PHÂN TÍCH BIẾN ĐỔI NHANH FOURIER:
Biến đổi Fourier rời rạc (DFT) được sử dụng rộng rãi trong các ứng dụng của
xử lý tín hiệu số để xác đònh thành phần tần số của tín hiệu và để thực hiện lọc
tín hiệu trong miền tần số. Phương pháp chuyển đổi Fourier nhanh (FFT) là một
thuật giải hữu hiệu, tốc độ cao cho việc tính toán trong chuyển đổi Fourier
(DFT). Nguyên do FFT đạt được tốc độ tính toán cao như vậy là nhờ cách chia
nhỏ tập dữ liệu mẫu ra thành các tập con nhỏ hơn và nhờ đó mà loại bỏ được
các phép tính toán không cần thiết. Hai phương pháp phổ biến trong việc chia
nhỏ tập dữ liệu mẫu là:

1. Thuật giải FFT phân chia mười theo thời gian (decimation-in-time)
2. Thuật giải FFT phân chia mười theo tần số (decimation-in-frequency)
SVTH:Huỳnh Quốc Trâm 7-96
GVHD:Thầy Lê Tuấn Anh Biến Đổi Fourier
Tập lệnh của bộ xử lý DSP56002 cung cấp các ưu điểm của nó cho thuật
giải FFT phân tích lấy một phần mười theo thời gian. Thuật giải FFT phân tích
lấy một phần mười theo tần số cũng ứng dụng được DSP56002 nhưng tốc độ
thực thi thấp hơn. Cho nên ở đây chúng ta chỉ xét thuật giải FFT phân tích lấy
một phần mười theo thời gian.
I. KHÁI QUÁT FFT:
Phép chuyển đổi Fourier rời rạc (DFT) có thể đònh nghóa như sau:
X(k)=


=
1N
0k
nk
N
W).n(x
(7.1)
Trong đó : W
N
= e
N/2j π−
W
nk
N
= e
N/nk2j π−

(7.2)
Đối với một chuỗi tuần tự x(n) rời rạc thời gian thực hay ảo có chiều dài
N, tổng trong phương trình (7.1) cho một X (k) theo tần số có chiều dài N, được
coi là hệ số “twiddle”. Với N=2
m
, trong đó m là một số dương.
FFT có thể được tính toán bằng cách phân tích tập dữ liệu mẫu ra thành
các tập con nhỏ hơn theo thuật giải FFT chia mười theo thời gian. Điều đó có
nghóa là trước tiên phải tách các mẫu trong tổng DFT ra thành hai nhóm, một
nhóm thì chứa các mẫu có n là chẵn, còn một nhóm thì chứa các mẫu có n là
lẻ. Đặt n=2r đối với các mẫu chẵn, còn n=2r+1 cho các mẫu lẻ, lúc đó DFT có
thể được viết lại như sau:
X(k) =
∑∑

=
+

=
++
1)2/N(
or
k)1r2(
N
1)2/N(
0r
rk2
N
W).1r2(xW).r2(x
=

∑∑

=

=
++
1)2/N(
or
rk2
N
k
N
1)2/N(
0r
rk2
N
W).1r2(xWW).r2(x
(7.3)
Vì N là một số nguyên chẵn và
2
N
W
=
2/N
W
= e
N/n4j π−
, phương trình trên
có thể được viết lại:
X

m,1
(k) =
)k(X.W)k(X
1m,2
k
N1m,1 −−
+
(7.4)
X
m,1
(k) = X(k)
Trong đó:


=

=
1)2/N(
0r
rk2
N1m,1
W).r2(x)k(X


=

+=
1)2/N(
0r
rk2

N1m,2
W.k).1r2(x)k(X
Và trong đó mỗi
)k(X
1m,1 −

)k(X
1m,2 −
là một DFT N/2 mẫu.
Tương tự ta có hai DFT N/2 mẫu có thể được viết lại là:
SVTH:Huỳnh Quốc Trâm 7-97
GVHD:Thầy Lê Tuấn Anh Biến Đổi Fourier
)k(X.W)k(X)k(X
2m,2
k2
N2m,11m,1 −−−
+=
)k(X.W)k(X)k(X
2m,4
k2
N2m,31m,2 −−−
+=
Trong đó :
)k(X
2m,1 − ,
)k(X
2m,2 − ,
)k(X
2m,3 − ,
)k(X

2m,4 − là các DFT 4 mẫu.
Quá trình phân tích có thể được tiếp tục cho đến khi có được kết quả là một
nhóm N/2 DFT 2-mẫu (radix-2) đối với cổng đầu tiên của phép tính DFT
N-mẫu, khi đó tổng số cổng m = log
2
(N).
1. Phương pháp tính con bướm:
Phương pháp tính chung cho mỗi nhóm của mỗi cổng của DFT được dựa
trên phép Buterfly. Hai giá trò phức trong cùng một cổng được rút ra từ hai giá
trò phức ở cổng trước đó thông qua phương trình:
]q[X.W]p[X]p[X
1j,i
r
N1j,iij −−
+=
(7.5)
]q[X.W]p[X]q[X
1j,i
2/Nr
N1j,iij −
+

+=
(7.6)
Trong đó i là số nhóm, j là số cổng, p và q là vò
trí bộ nhớ RAM dữ liệu dành cho bướm.
Giá trò của i, p, q và r thay đổi từ cổng này đến cổng khác. Lưu ý rằng
các giá trò
]p[X
j,i


]q[X
j,i
được chứa trên cùng vò trí RAM của các giá trò
]p[X
1j,i −

]q[X
1j,i −
tương ứng. Vì vậy phép thế chỗ của FFT Butterfly tối
thiểu hóa được tổng vò trí RAM cần thiết cho tính toán DFT.
Các hệ số
N
W
của Butterfly luôn là mũ r hay r+N/2 vì
r
N
r
N
j2/N
N
r
N
2/Nr
N
WW.eW.WW −===
π−+


]q[X.W]p[X]p[X

1j,i
r
N1j,iij −−
+=
(7.7)
]q[X.W]p[X]q[X
1j,i
r
N1j,iij −−
−=
(7.8)
Số cổng j thay đổi từ một đến m. Mỗi cổng j có
jm
2

nhóm và mỗi nhóm i
trong mỗi cổng j có
1j
2

con bướm. Khoảng cách vò trí bộ nhớ giữa p và q trong
mỗi con bướm được tham chiếu như là một offset nhóm
o
n
,
1j
o
2n

=

. Sự sai
khác giữa các giá trò của hệ số mũ r trong một nhóm i của cổng j được xem là hệ
số offset
2
n
,
jm
2
2n

=
.
Offset nhóm
1j
o
2n

=
j=1,2,...,m
Hệ số offset
jm
2
2n

=
j=1,2,...,m
Trong tính toán DFT, j được tăng từ 1 đến m, i và
2
n
được giảm từ

1m
2


đến
0
2
, còn
o
n
được tăng từ
0
2
đến
1m
2

.
2. Sắp xếp lại thứ tự dữ liệu nhập “Bit-Reversed”:
Để thực hiện phép thế chỗ (in-place), thì các thành phần của ngỏ nhập
tuần tự x(n) cần phải được sắp xếp lại theo một cách đặc biệt và được lưu vào
các vò trí ô nhớ RAM liên tiếp. Để minh hoạ kỹ thuật này, hãy xem mỗi thành
SVTH:Huỳnh Quốc Trâm 7-98

×