2.Chọn độ dài của cửa sổN Sai số xấp xỉ sẽ phụ thuộc rất lớn vào việc chọn độ dài hàm cửa sổ N, hay chính là độ dài N của dãy xn N.. Tuy nhiên, có những trường hợp do dạng cụ thể của dãy
Trang 1
) (
) (
) (
) (
) (
) (
) (
) (
3 , 3 2
, 3 1
, 3 0
, 3
3 , 2 2
, 2 1
, 2 0
, 2
3 , 1 2
, 1 1
, 1 0
, 1
X X
X X
X X
X X
X X
X X
) (
) (
) (
) (
) (
) (
) ( )
(
) ( )
( )
( )
(
) ( )
( )
( )
(
1 5 14
13
1 2
11
1 0 9
8
7 6
5 4
3 2
1 0
X X
X X
X X
X X
X X
X X
X X
X X
Trên đây chỉ là những ví dụ mang tính chất minh họa cho việc thực hiện thuật toán FFT phân chia theo thời gian Để nghiên cứu sâu hơn về các thuật toán FFT, có thể tìm hiểu ở các tài liệu tham khảo 3,6,12 (xem ở cuối sách)
4.6 Một số ứng dụng của DFT
4.6.1 Xấp xỉ hàm tần số của dãy vô hạn hoặc có độ dài rất lớn
DFT thường được sử dụng để nghiên cứu phổ tín hiệu, cũng như tổng hợp bộ lọc số Bằng công thức nội suy [4.2-25] cho phép xác định gần đúng hàm tần số XN (e j ) = FT[x(n) N] qua dãy phức X(k) N = DFT[x(n) N] Tuy nhiên, không thể dùng DFT
để xác định hàm tần số của dãy x(n) vô hạn Nếu dãy x(n) N hữu hạn, nhưng có N rất lớn thì việc tính DFT để tìm X(k) N và
X N (e j ) cũng rất khó khăn do khối lượng và thời gian tính quá lớn Từ đó có yêu cầu xấp xỉ hàm tần số X (e j ) của dãy x(n) vô
hạn hoặc có độ dài N rất lớn bằng hàm tần số XN (e j ) của dãy hữu hạn x(n) N với N không quá lớn Để thực hiện điều đó, cần
"chặt" lấy một đoạn thích hợp của dãy x(n), biến nó thành dãy hữu hạn x(n) N , sau đó tính X(k) N = DFT[x(n) N], từ đó xấp xỉ hàm tần số XN (e j ) bằng công thức nội suy [4.2-25]
4.6.1 a Các yếu tố ảnh hưởng đến sai số xấp xỉ hàm tần số
Việc "chặt" dãy vô hạn x(n) thành dãy hữu hạn x(n - n0) N , tương đương nhân nó với hàm cửa sổ w(n - n0) N có dạng :
)]
1 (
, [ 0
)]
1 (
, [ 0
) (
0 0 0 0
N n n n Khi
n n n Khi n
n
Tức là : x(n n0)N x(n).w(n n0)N
Khi đó phổ rời rạc của dãy hữu hạn x(n- n0) N có thể tìm được bằng DFT :
1
0 0
0
0
1
) (
)
( ]
) (
[ )
(
N
N N
N
n n n
n jk e n n w n x n
n x DFT k
Sai số xấp xỉ hàm tần số X(e j ) của dãy x(n) vô hạn khi dùng hàm cửa sổ w(n - n0) Nvà tính qua DFT sẽ phụ thuộc vào
3 yếu tố sau :
1 Dạng hàm cửa sổ w(n - n0) N
2 Vị trí đặt cửa sổ, tức là giá trị của n0
3 Độ dài của cửa sổ, tức là giá trị của N.
Để giảm sai số xấp xỉ, cần chọn dạng hàm cửa sổ w(n), vị trí đặt cửa sổ n0 và độ dài của cửa sổ N thích hợp
4.6.1b Các phương pháp giảm sai số xấp xỉ hàm tần số
1 Chọn vị trí đặt cửa sổ n 0
Nguyên tắc chung là chọn cửa sổ trùm lên vùng quan trọng của dãy x(n), bỏ qua các vùng ít quan trọng Vì thế, để chọn vị trí đặt cửa sổ n0 , cần biết dạng cụ thể của dãy x(n) Thông thường người ta chọn cửa sổ ở vùng x(n) có giá trị lớn, và
bỏ qua các vùng x(n) có giá trị nhỏ.
Ví dụ với dãy x(n) 2 n u(n)
thì các mẫu có giá trị lớn nằm ở gần gốc tọa độ, vì thế vị trí cửa sổ cần được chọn
với n0 = 0
2.Chọn độ dài của cửa sổN
Sai số xấp xỉ sẽ phụ thuộc rất lớn vào việc chọn độ dài hàm cửa sổ N, hay chính là độ dài N của dãy x(n) N Tất nhiên,
N càng lớn thì sai số xấp xỉ càng nhỏ, nhưng thời gian tính DFT sẽ càng lớn Tuy nhiên, có những trường hợp do dạng cụ thể của dãy x(n) mà việc tăng lớn N sẽ không ảnh hưởng nhiều đến độ chính xác của hàm tần số được xấp xỉ Vì thế, giá trị của N
để xấp xỉ phải được chọn tối ưu theo các yêu cầu sau :
- Sai số cho phép của hàm tần số được xấp xỉ X N (e j ) so với X (e j ).
- Dạng cụ thể của dãy x(n)
- Hạn chế về thời gian tính DFT
3.Chọn hàm cửa sổ w(n)
Dạng hàm cửa sổ ảnh hưởng rất lớn đến độ chính xác của việc xấp xỉ hàm tần số Việc chọn hàm cửa sổ nào để xấp
xỉ hóa hàm tần số, không chỉ phụ thuộc vào độ chính xác yêu cầu, mà còn phụ thuộc vào hạn chế về thời gian tính toán, vì hàm cửa sổ cho độ chính xác càng cao thì việc tính toán sẽ càng phức tạp, và thời gian tính sẽ càng lớn Do đó việc chọn hàm cửa sổ phụ thuộc vào sự tối ưu giữa độ chính xác yêu cầu và thời gian tính
4.6.2 Một số hàm cửa sổ thường dùng
4.6.2a Cửa sổ chữ nhật w R (n) N = rect N (n)
)]
( , [
)]
( , [ )
( )
(
1 0
1 1
0 0 0 0 0
0
N N
n n n Khi
n n n Khi n
n rect n
n
Theo [3.1-9] , đặc tính tần số của cửa sổ chữ nhật wR (n) N có dạng :
Trang 2
).
1 (
2
2 1
1
sin
sin )]
( [ )
(
N N
N R
j j
j
e
e n
rect FT
Các tham số của đặc tính tần số các hàm cửa sổ là bề rộng đỉnh trung tâm và tỷ số giữa biên độ đỉnh trung tâm và đỉnh thứ cấp đầu tiên Đối với cửa sổ chữ nhật có :
- Bề rộng đỉnh trung tâm:
N
R
4
- Tỷ số giữa biên độ đỉnh trung tâm và đỉnh thứ cấp đầu tiên :
2 3 3
sin
sin )
(
) (
3 0
N N
N N
W
W
N R
R R
j j
e
e
Với N = 6 , 4,285 ; Với N = 50 , 4,705 ;
Với N = 9 , 4,5 ; Với N = 100 , 4,711
Khi N thì 4 , 712
2
3
Như vậy, khi N tăng lớn, thay đổi không nhiều và giới hạn của khi N là max = 4,712
Trên thực tế người ta thường tính tham số này theo dexiben (dB) và ký hiệu là :
dB
712 , 4
1 20
1
20 log 10 log 10
Khi N lớn cửa sổ chữ nhật có các tham số :
- R = 4/ N
- R = -13 dB
Đồ thị cửa sổ chữ nhật w R (n)10 và đặc tính biên độ tần số WR (e j )tương ứng trên hình 4.22
w R (n)10
Hình4.22: Đồ thị cửa sổ w R (n)10 và hàm W R (e j ) tương ứng Khi xấp xỉ hàm tần số bằng cửa sổ chữ nhật, độ chính xác ở búp sóng chính cao, nhưng độ gợn sóng của ở cả búp sóng chính và các búp sóng phụ đều lớn
4.6.2b Cửa sổ tam giác w T (n) N
kh¸c mäi
Víi Khi
n n n n
n n
n
w
N N
N T
0
2
|
| 2
)
Cửa sổ tam giác w T (n) N là dãy đối xứng Có thể chứng minh được, cửa sổ tam giác w T (n) N là tích chập của hai cửa sổ chữ nhật :
2 2
2 2
) (
* ) ( )
(
* ) ( )
N
Từ đó tìm được đặc tính tần số của cửa sổ tam giác :
j j j
N W
W N
4
4
2
2
2
2
sin
sin )
( )
( )
Đồ thị của cửa sổ tam giác w T (n - 5)10 với n0 = 5 , N = 10 , và đồ thị đặc tính biên độ tần số WT (e j ) tương ứng trên
hình 4.23
w T (n - 5)10
Hình4.23: Đồ thị cửa sổ w T (n - 5)10 và hàm W T (e j ).
Khi N lớn, cửa sổ tam giác có các tham số :
0 , 8
0 , 6
0 , 4
n
0 , 2
0 , 8
0 , 6
0 , 4
0 , 2
0 1 2 3 4 5 6 7 8 9 1 0 1 1
- 1
1
9
n
0 1 2
- 1 3 4 5 6 7 8
1
Trang 3- T = 8/ N
- T = -26 dB
So sánh hàm biên độ tần số của cửa sổ tam giác và cửa sổ chữ nhật :
- Vì T= 2R nên XT (e j ) có đỉnh trung tâm rộng hơn, với hai sườn ít dốc hơn X R (e j ) Hàm tần số được xấp xỉ
bằng cửa sổ tam giác có sai số ở búp chính lớn hơn dùng cửa sổ chữ nhật
- Vì T= 0,5Rnên XT (e j )có độ gợn sóng ở búp chính và các búp phụ thấp hơn X R (e j ) Hàm tần số được xấp xỉ
bằng cửa sổ tam giác có độ gợn sóng nhỏ hơn dùng cửa sổ chữ nhật
4.6.2 c Cửa sổcosin w C (n) N
kh¸c mäi
Víi Khi
N
0
2
|
| )
( cos )
0
N
n n
n
[4.6-8]
Cửa sổ cosin w C (n) N là dãy đối xứng Khi biểu diễn dãy w C (n) N dưới dạng :
2
.
cos
)
(
n
e n n
w
N
N
C
Theo đó tìm được đặc tính tần số của cửa sổ cosin :
1
sin
2
sin sin
2
sin )
(
2 2
2 2 2
2
2
C
j
e
N
N
N
N W
[4.6-9]
W C (e j ) là xếp chồng của hai cửa sổ chữ nhật W R (e j ) ngược pha nhau.
Đồ thị của cửa sổ cosin w C (n - 5)10 với n0 = 5 , N = 10 , và hàm biên độ tần số WC (e j ) tương ứng trên hình 4.24
w C (N - 5)10
Hình4.24: Đồ thị cửa sổ w C (n - 5)10 và hàm W C (e j) tương ứng
Khi N lớn, cửa sổ cosin có các tham số :
- C = 3/ N
- C = -24 dB
So sánh cửa sổ cosin với cửa sổ tam giác và cửa sổ chữ nhật :
- C< R < T , xấp xỉ hàm tần số dùng cửa sổ cosin có sai số ở búp chính lớn hơn dùng cửa sổ chữ nhật,
nhưng nhỏ hơn dùng cửa sổ tam giác
- Vì T < C < R nên độ gợn sóng của hàm tần số xấp xỉ bằng cửa sổ cosin thấp hơn dùng cửa sổ chữ nhật, lớn hơn
dùng cửa sổ tam giác
6.6.2d Các cửa sổ Hanning w H n (n) Nvà Hamming w Hm (n) N
- Hàm cửa sổ Hamming tổng quát có dạng :
kh¸c n mäi Víi Khi
0
1 0
2
1 ) cos . . ( ) (
)
n
[4.6-10]
- Khi = 1 chính là cửa sổ dạng chữ nhật wR (n) N
Đặc tính biên độ tần số của cửa sổ Hamming tổng quát :
N
N
N
N N
W H e j
2 2
2 2 2
2
2 2 2
2
sin 4
sin 2
) 1 ( sin
4
sin 2
) 1 ( sin
sin )
(
Đặc tính pha tần số của cửa sổ Hamming tổng quát :
2 )
(
N H
j
1 Cửa sổ Hanning w H n (n) N
0 , 8 1
0 , 9 5
0 , 5 9
3
0 , 3 1
7
n
0 , 8 1
0 , 5 9
4
0 , 3 1
8 1
2
0 , 9 5
0 1
Trang 4Theo [4.6-10] khi = 0,5 có cửa sổ Hanning :
kh¸c n mäi Víi Khi
0
1 0
2 5 , 0 5 ,
0 cos . . ( ) )
n
W H n N
[4.6-11]
Đặc tính tần số của cửa sổ Hanning :
1
sin 4
sin sin
4
sin sin
2
sin )
(
2 2
2 2 2
2
2 2 2
H
j j
N
N
N
N N
[4.6-12]
Đồ thị cửa sổ Hanning w H n (n) 10 và hàm biên độ tần số XHn (e j ) tương ứng trên hình 4.25
w H n (n) 10
Hình4.25: Đồ thị cửa sổ w H n (n) 10 và hàm X H n (e j ).
Khi N lớn, cửa sổ Hanning có các tham số :
- H n = 2,3/ N
- H n = -32 dB
So sánh cửa sổ Hanning với cửa sổ tam giác và cửa sổ chữ nhật :
- Vì R< H n <T nên búp chính của cửa sổ Hanning lớn hơn cửa sổ chữ nhật và nhỏ hơn cửa sổ tam giác
- Vì H n > C > R nên độ gợn sóng ở cả búp chính và các búp phụ của cửa sổ Hanning thấp hơn các cửa sổ chữ nhật, tam giác, và cosin.
2 Cửa sổ Hamming w H m (n) N
Theo [4-88] khi = 0,54 có hàm cửa sổ Hamming :
kh¸c n mäi Víi Khi
0
1 0
2 46 , 0 54 ,
0 cos . . ( ) )
n
[4.6-13]
Đặc tính tần số của cửa sổ Hamming : [4.6-14]
1
sin
sin sin
sin sin
sin )
(
2 2
2 2
23 , 0
2 2
2 2
23 , 0
2
2 54
,
H
j j
N
N
N
N N
Đồ thị của cửa sổ Hamming w H m (n) 10 và hàm biên độ tần số XH m (e j )tương ứng trên hình 4.26
w H m ( n )10
Hình4.26: Đồ thị cửa sổ w H m (n) 10 và hàm X H m (e j ).
Khi N lớn, cửa sổ Hamming có các tham số :
- H n = 2,3/ N
- H n = -43 dB
So sánh cửa sổ Hamming với cửa sổ tam giác và cửa sổ chữ nhật :
- Vì R< H m < T nên búp chính của cửa sổ Hamming lớn hơn cửa sổ chữ nhật và nhỏ hơn cửa sổ tam giác
0 , 9 0
4
0 , 6 5
n
1
0 , 1 0
0 , 3 5
0 , 9 0 1
0 , 1 0
0 , 3 5
0 , 6 5
7 3
4
n
1
8 1 0
0 , 4 0
7
0 , 1 7
5
0 , 9 1
3
0 , 4 0
2
1
0 , 6 8
0 , 1 7
0 , 9 1
0 , 6 8
6
Trang 5- Vì H m > H n > R nên độ gợn sóng ở cả búp chính và các búp phụ của hàm tần số được xấp xỉ bằng cửa sổ
Hamming là thấp nhất trong dạng các cửa sổ trên.
Như vậy, cửa sổ chữ nhật cho hàm tần số XN (e j ) gần giống X (e j ) ở búp sóng chính, nhưng gây sai số lớn ở các vùng
biên vì có sóng phụ lớn Cửa sổ tam giác cho hàm tần số XN (e j ) có sai số ở búp sóng chính lớn hơn và sai số ở các búp sóng
phụ nhỏ hơn so với dùng cửa sổ chữ nhật Các cửa sổ Cosin, và Hamming, Hanning đạt được độ chính xác trung hòa của hai cửa sổ chữ nhật và tam giác ở cả vùng búp sóng chính và các búp sóng phụ Độ gợn sóng của cửa sổ Hamming là nhỏ nhất.
4.6.3 a Tìm phản ứng y(n) của hệ xử lý số bằng tích chập vòng của DFT
Xét hệ xử lý số TTBBNQ có đặc tính xung h(n)M hữu hạn, tác động là tín hiệu số x(n) L hữu hạn, với M gần bằng L và
chúng đều không quá lớn Khi đó phản ứng của hệ là dãy y(n) hữu hạn và được tính theo tích chập tuyến tính :
M
L h n n
x n
Theo định lý về quan hệ của tích chập vòng và tích chập tuyến tính, tích chập tuyến tính [4-98] đúng bằng tích chập vòng :
M L
N x n h n n
y( ) ( ) * ( ) với N (LM 1) [4.6-16]
Như vậy, để tìm phản ứng y(n) của hệ xử lý số TTBBNQ, có thể tính qua DFT theo tích chập vòng [4.6-16] , các bước
thực hiện như sau :
1 Tính DFT N điểm của đặc tính xung h(n)M và tác động x(n) L :
1 0
1
) ( )
(
N
M N
n
n jk e n h
k
với N = ( M + L - 1) và
N
1
1 0
1
) ( )
(
N
L N
n
n jk e n x
k
2 Tính DFT của phản ứng :
N N
N X k H k k
Y( ) ( ) ( )
3 Tính IDFT để tìm được phản ứng :
] ) ( ) ( [ ]
) ( [ )
(n N IDFT Y k N IDFT X k N H k N
4.6.3b Tìm phản ứng y(n) bằng phương pháp cộng xếp chồng DFT
Trên thực tế, các hệ xử lý số thường có đặc tính xung h(n) M với độ dài M không lớn, trong khi tác động x(n)Lcó độ dài L rất lớn Khi đó, cần tìm phản ứng y(n) của hệ xử lý số với L >> M
Trong trường hợp đó, việc tìm phản ứng y(n) bằng cách tính tích chập vòng qua DFT như phương pháp đã nêu trên sẽ tốn nhiều thời gian và bộ nhớ của máy tính Hơn nữa, khi đó mẫu đầu tiên của y(n) chỉ nhận được sau khi kết thúc tất cả tính
toán trên toàn bộ độ dài L rất lớn của tác động x(n)L
Để nhận được kết quả tính toán phản ứng y(n) nhanh hơn, người ta thường sử dụng phương pháp cộng xếp chồng
DFT do Stokham đưa ra, trong đó chia việc tính toán phản ứng y(n) thành các phân đoạn nhỏ yi (n), theo các bước như sau :
1 Chia dãy tác động x(n)L thành nhiều phân đoạn x i (n) S
2 Dùng DFT tính các tích chập y i(n)R x i(n)S *h(n)M của phân đoạn i
3 Tổng hợp các phản ứng yi (n) R để nhận được phản ứng y(n).
Dưới đây sẽ trình bầy cụ thể phương pháp này Giả sử cần tìm phản ứng y(n) của hệ xử lý số TTBBNQ có đặc tính xung hữu hạn h(n) M và tác động x(n) L , với M << L và L rất lớn.
Khi đó, coi dãy vào x(n) L là tổng của các dãy con thành phần có độ dài bằng nhau x i (n) S , với S có giá trị gần bằng M
và L/S là số nguyên :
S L
S L
i
i n x n
x
1
) ( )
] 1 1 0
1 1 ) [(
, [
] ) [(
, [ )
( )
(
S S
S S
i i n Khi
i i n Khi n
x n
S
i
Vì thế có thể tìm được phản ứng y i (n) R của mỗi tác động x i (n) S:
1 0
) ( ) ( )
(
* ) ( ) (
R
S M
S M
R
m
i i
Với yi(n) Rcó độ dài : R = M + S - 1
Dãy yi(n) R là phản ứng phân đoạn i của phản ứng y(n) Biểu thức [4.6-18] là tích chập vòng, và được tính qua DFT
như phương pháp và các bước đã được trình bầy ở mục trên Thay [4.6-17] vào [4.6-18] nhận được :
S
L R
S M
S M
R
i m
i
i
y
1
1 0
1
) ( ) ( )
( ) ( )
(
S L
R
i i
y
1
) ( )
Trang 6Từ đó rút ra các bước cụ thể của phương pháp cộng xếp chồng DFT là :
1 Chia dãy tác động x(n)L thành các dãy con xi(n) S có độ dài S
2 Tính các DFT R điểm của đặc tính xung h(n)M và tác động xi (n) S:
1 0
1
) ( )
(
R
M R
n
n jk e n h
k
H với R = ( M + S - 1) và
R
1 0
1
) ( )
(
R
S R
n
n jk i
3 Tính DFT của phản ứng phân đoạn i là Yi (k) R :
R R
k
Y i( ) ( ) ( )
4 Tính IDFT để tìm được phản ứng phân đoạn i là yi (n) R :
] ) ( ) ( [ ]
) ( [ )
5 Sau khi đã tính được tất cả các phản ứng phân đoạn yi (n) R , tìm phản ứng y(n) bằng tổng [4.6-19].
Khi sử dụng phương pháp cộng xếp chồng DFT, việc chọn độ dài phân đoạn S sẽ ảnh hưởng lớn đến khối lượng và tốc độ tính toán vì :
- Nếu S lớn thì số đoạn phải tính sẽ nhỏ, nhưng thời gian tính cho một đoạn sẽ lớn
- Nếu S nhỏ thì số đoạn phải tính sẽ lớn, nhưng thời gian tính cho một đoạn sẽ nhỏ đi
Người ta thường chọn giá trị tối ưu của S căn cứ vào độ dài M của đặc tính xung h(n)M và độ dài R tính DFT theo
bảng Helms(bảng 4.20).
Khi sử dụng phương pháp cộng xếp chồng DFT, nên sử dụng các thuật toán FFT để giảm thời gian tính toán
Để tìm phản ứng y(n) của hệ xử lý số có h(n) M và x(n) L với M << L và L rất lớn, ngoài phương pháp cộng xếp chồng
DFT như đã trình bầy ở trên, còn có một số phương pháp khác nữa, với hiệu quả cũng tương tự
Bảng 4.20 : B ng Helms ảng Helms
Độ dài M
của h(n) M
Độ dài của DFT
R = ( M + S - 1)
Độ dài M
của h(n) M
Độ dài của DFT
R = ( M + S - 1)