Hàm cổng này và biến đổi Fourier được vẽ trong hình 5.16a và b. Để xác định giá trị
thời khoảng lấy mẩu T, trước hết ta cần quyết định băng thông cơ bản B. Trong hình
5.16b, ta thấy F(w) giảm hơi chậm theo w. Do đó, băng thông cơ bản hơi lớn hơn. Thí dụ,
tại B = 15,5 Hz (97,39 rad/s), F(w) = - 0,1643, vào khoảng 2% giá trị đỉnh tại F(0). Do
đó, băng thông cơ bản hơi cao hơn 16 Hz nếu ta dùng tiêu chuẩn 1% để tính toán băng
thông cơ bàn. Tuy nhiên, ta cố tình chọn B = 4 vì hai lý do: (1) để thấy ảnh hưởng của
trùm phổ và (2) dùng B > 4 sẽ cho số mẩu khổng lồ, không hiển thị được trên kích cở
giấy của sách mà không bị mất các thông tin cơ bản. Do đó, ta chấp nhận yếu tố xấp xỉ để
làm rõ ý niệm DFT trên đồ thị.
37 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2872 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Lấy mẫu tín hiệu - Chương 7, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tín hiệu chỉ có hai giá trị) là tín hiệu rất
hấp dẫn do tính đơn giản, kinh tế và dễ sử dụng trong kỹ thuật. Ta có thể chuyển đổi tín
hiệu L – phân thành tín hiệu nhị phân dùng phương pháp mã hóa xung. Hình 5.11b vẽ mã
trong trường hợp L = 16. Mã này, dùng biểu diễn nhị phân của hệ octal từ 0 đến 15, được
gọi là mã nhị phân tự nhiên (NBC: natural binary code). Còn có nhiều phương pháp
khác để mã hóa nhị phân. Mỗi mức trong 16 mức được truyền đi với một mã nhị phân 4
bit. Để truyền dữ liệu nhị phân này, ta cần định nghĩa các dạng xung riêng biệt để chỉ thị
các trạng thái nhị phân. Một khả năng là dùng dạng xung âm cho bit 0 và xung dương
cho bit 1 để các mẩu có thể được truyền đi thành nhóm 4 bit nhị phân, như vẽ trong hình
5.11b. Tín hiệu có được là tín hiệu PCM. Tín hiệu analog f(t) được chuyển đỗi thành tín
hiệu số (nhị phân). Tín hiệu nhị phân được gọi là bit, hiện đang là dạng viết tắt trong
chuẩn công nghiệp.
Băng thông của tín hiệu âm thanh vào khoảng 15kHz, nhưng nhiều thử nghiệm cho
thấy tín hiệu phát âm rõ (nghe được rõ) không bị ảnh hưởng nếu các thành phần tần số
cao hơn 3400Hz bị loại bỏ. Do mục tiêu của thông tin điện thoại là nghe được rõ chứ
không trung thực (hi-fi), nên các thành phần có tần số cao hơn 3400Hz được lọc bỏ
dùng bộ lọc thông thấp. Tín hiệu sau đó được lấy mẩu với tốc độ 800 mẩu trong một giây
(8 kHz). Tốc độ này cố tình cao hơn tốc độ Nyquist là 6,8 kHz để tránh phải có các mạch
lọc không thực hiện được khi khôi phục tín hiệu. Sau cùng mỗi mẩu được lượng tử thành
256 mức (L = 256), cần có nhóm 8 xung nhị phân để mã hóa các mẩu (28=256). Do đó,
tín hiệu điện thoai số hóa gồm 8 x 8000 = 64000 hay 64 kbits/s dữ liệu, cần có 64.000
xung nhị phân trong một giây khi truyền.
Đĩa CD là ứng dụng của PCM. Đây là tình huống dùng cho tín hiệu âm thanh hi-fi
có băng thông 15 kHz. Dù tốc độ lấy mẩu Nyquist chỉ là 30 kHz, hiện người ta dùng tốc
độ lây mẩu 44,1 kHz như lý do đã trình bày trước đây. Tín hiệu được lượng tử với số
lượng lớn các mẩu (L = 65.536) nhằm giảm sai số do lượng tử. Các mẩu được mã hóa nhị
phân rồi ghi vào CD.
Ưu điểm của tín hiệu số
Một số ưu điển của tín hiệu số so với tín hiệu analog được liệt kê dưới đây:
1. Truyền tín hiệu số ưu việt hơn so với tín hiệu analog do tín hiệu số có tính chống
nhiễu kênh truyền và méo tốt hơn nhiều (khi nhiễu và méo nằm trong giới hạn). Bản
tin tín hiệu số (nhị phân) trong hình 5.12a bị méo dao kênh truyền, như vẽ trong hình
5.12b. Nếu méo nằm trong giới hạn, ta có thể khôi phục dữ liệu mà không bị lỗi do
chỉ cần có quyết định nhị phân khi nhận được xung dương hay xung âm. Hình 5.12c
vẽ cùng dữ liệu với méo do kênh truyền và nhiễu. Trường hợp này dữ liệu có thể
được khôi phục chính xác bao lâu mà méo và nhiễu kênh truyền cón nằm trong giới
hạn. Điều này khác với trường hợp tín hiệu analog, khi với nhiễu hay méo dạng bất
kỳ, sẽ làm sái dạng tín hiệu thu được.
2. Tuy nhiên, ưu điểm lớn nhất của truyền dẫn tín hiệu số so với truyền dẫn analog là
khả năng tái tạo lại tín hiệu. Khi truyền dẫn analog, một tín hiệu bản tin khi truyền
qua kênh (đường truyền), tín hiệu ngày càng yếu đi, trong khi nhiễu kênh truyền và
méo dạng tín hiệu, ngày càng tích lủy và tăng mạnh dần. Tín hiệu sau cùng bị áp đảo
do nhiễu và méo dạng càng bị tổn thất lớn. Khuếch đại chỉ giúp rất ít do đồng thời
tăng cường tín hiệu và nhiễu theo cùng tỉ lệ. Do đó, cự ly truyền bản tin analog bị giới
hạn bởi công suất truyền. Khi truyền đủ dài, méo kênh truyền và nhiễu tích lủy đủ để
áp đảo tín hiệu kể cả tín hiệu số. Có thể khắc phục bằng cách thiết lập các trạm lặp
(repeater) dọc theo đường truyền với cự ly đủ ngắn để có thể phát hiện xung tín hiệu
trước khi nhiễu và méo dạng có thể tích lủy đủ lớn. Mỗi trạm xung phát hiện xung là,
sạch xung và truyền tiếp đến trạm lặp kế tiếp, để thực hiện lại các bước vừa nêu. Nếu
nhiễu và méo vẫn còn nằm trong giới hạn (điều này thực hiện được do các trạm được
đặc tương đối gần nhau), xung sẽ được phát hiện chính xác. Theo phương cách này,
bản tin tín hiệu số có thể được truyền trên cự ly dài với độ tin cậy cao. Ngược lại, bản
tin analog không thể làm sạch tín hiệu một cách tuần hoàn, nên truyền dẫn có độ tin
cậy thấp hơn. Trong PCM thì sai số có ý nghĩa nhất là sai số lượng tử. Sai số này có
thể được giảm thiểu bằng cách gia tăng mức lượng tử, với giá phải trả là làm băng
thông lớn hơn trong môi trường truyền dẫn (kênh truyền).
3. Thiết lập phần cứng số rât mềm dẽo và cho phép dùng vi xử lý, các máy tính mini,
chuyển mạch số, và mạch tích hợp cở lớn LSI.
4. Tín hiệu số có thể được mã hóa để có mức sai số thấp nhất và độ trung thực cao, cũng
như tinh bảo mật cao. Đồng thời ta cũng có thể dùng những thuật toán tinh vi để xử lý
tín hiệu số.
5. Phương pháp ghép kênh (multiplex) nhiều tín hiệu số thường dễ dàng và hiệu quả.
6. Phương thức lưu trữ tín hiệu số thường tương đối dễ và ít tốn kém. Ngoài ra còn có
khả năng tìm kiếm và chọn lọc thông tín từ xa.
7. Việc tái tạo bản tin số thường có độ tin cậy cực lớn mà không bị xấu đi. Bản tin
analog như bản photocopy hay phim, suy giảm chất lượng sau mỗi bước của nhiều
bước khôi phục, và quá trình di chuyển từ nơi nay đến nơi khác thường tốn kém.
8. Giá các phần cứng số giảm nửa sau hai hay ba năm, trong khi tính năng và dung
lượng tăng đôi với cùng thời gian này. Hiện nay các bước phát triển của công nghệ số
ngày càng nhanh và càng tinh vi. Trong những năm gần đây, ta đã thấy đĩa CD, là
thiết bị số đã làm cáo chung kỹ thuật ghi âm analog; báo chí truyền hình ảnh được
scan theo dạng số; và ngày nay đã làm nước Mỷ phải hướng về các tiêu chuẩn mới
cho truyền hình độ nét cao đối chọi lại với các chuẩn truyền hình analog từ Nhật và
Châu Âu (?!!). Ngược lại thì công nghệ analog như giấy in, viđêo, âm thanh, và phim
vẫn chưa có bước giảm giá nhanh. Dù gì đi nữa thì hiện nay công nghệ số đã và đang
thống trị các lĩnh vực như công nghệ thông tin và công nghệ lưu trữ.
Như đã nói trên, tín hiệu số có thể được tạo ra từ nhiều nguồn khác nhau. Một số
nguồn tín hiệu như máy tính đã là số. Một số nguồn là analog, nhưng đã được chuyển đổi
thành dạng số theo nhiều kỹ thuật khác nhau thí dụ như PCM.
r Bài tập E5.2
Mã ASCII (American Standard Code for Information Interchange) có 128 ký tự dạng
nhị phân. Một máy tính tạo ra 100.000 ký tự/giây. Chứng tõ là
(a) Cần có 7 bit đễ mã hóa từng ký tự
(b) Cần có 700.000 bit/giây để truyền ngõ ra của máy tính. s
5.1-3 Đối ngẫu của phép lấy mẩu theo thời gian: Định lý lấy mẩu phổ
Tương tự như các trường hợp khác, định lý lấy mẩu cũng có phần đối ngẫu. Trong
phần 5.1, ta đã thảo luận về định lý lấy mẩu theo thời gian, và đã chứng tõ được là tín
hiệu với băng thông giới hạn B Hz có thể được khôi phục từ tín hiệu được lấy mẩu với
tốc độ Fs > 2B mẩu/giây. Chú ý là phổ tín hiệu tồn tại trong tầm tần số từ – B đến B Hz.
Do đó, 2B là độ rộng phổ (không phải là băng thông, là B) của tín hiệu. Điều này có
nghĩa là tín hiệu f(t) có thể được khôi phục từ các mẩu được lấy với tốc độ Fs lớn hơn độ
rộng phổ (tính bằng Hz) của tín hiệu.
Đối ngẫu của định lý lấy mẩu theo thời gian là định lý lấy mẩu theo tần số. Định lý
này áp dụng cho các tín hiệu có thời gian giới hạn, là đối ngẫu của tín hiệu có băng thông
giới hạn. Ta tiếp tục chứng tõ là phổ F(w) của tín hiệu có thời gian giới hạn là t giây có
thể được khôi phục từ mẩu của F(w) được lấy với tốc độ R > t (độ rộng của tín hiệu)
mẩu/Hz.
Hình 5.13a vẽ tín hiệu f(t) có thời gian giới hạn t giây cùng biến đổi Fourier F(w)
của nó. Mặc dù F(w) thường có dạng phức, nhưng ta chỉ chứng minh cho trường hợp
F(w) là hàm thực là đủ.
òò -
¥
¥-
- ==
t www
0
)()()( dtetfdtetfF tjtj (5.12)
Tạo fTo(t) là tín hiệu tuần hoàn tạo ra bằng cách lặp lại f(t) mỗi T0 giây (T0 > t), như
trong hình 5.13b. Tín hiệu tuần hoàn này có thể được biểu diễn theo chuỗi Fourier mủ
å
¥
-¥=
=
n
tjn
nT eDtf
0
0
)( w
0
0
2
T
pw =
Trong đó (giả sử t < T0)
ò ò -- ==
0
00
0 0
00
)(
1
)(
1 T tjntjn
n dtetfT
dtetf
T
D
t ww
Phương trình (5.12) cho
)(
1
0
0
wnF
T
Dn =
Kết quả này cho thấy là các hệ số của chuỗi Fourier của fTo(t) là (1/T0) lần các giá trị mẩu
của phổ F(w) lấy tại các khoảng w0. Điều này tức là phổ của tín hiệu tuần hoàn fTo(t) là
phổ F(w) được lấy mẩu, như vẽ trong hình 5.13b. Bao lâu mà t còn < T0, chu kỳ kế tiếp
của f(t) xuất hiện trong fTo(t) không bị trùng lắp, nên có thể khôi phục f(t) từ fTo(t). Khôi
phục này gián tiếp hàm ý là F(w) có thể được khôi phục từ các mẩu của mình. Các mẩu
này phân cách với tần số cơ bản F0 =1/T0 Hz của tín hiệu tuần hoàn fTo(t). Điều kiện để
khôi phục là T0 ³ t; tức là
F0 £ (1/t) Hz
Do đó, để có thể khôi phục phổ F(w) từ các mẩu của F(w), thì các mẩu cần được lấy
với khoảng tần số không lớn hơn F0 = (1/t) Hz. Nếu R là tốc độ lấy mẩu (mẩu/Hz) thì
R = (1/F0) ³ t mẩu/Hz (5.13)
Nội suy phổ
Phổ F(w) của tín hiệu f(t) giới hạn theo thời gian t giây có thể được khôi phục từ các
mẩu của F(w), Trong trường hợp này, dùng tính đối ngẫu của công thức nội suy tín hiệu
trong phương trình (5.10). ta có công thức nội suy phổ
å ÷
ø
ö
ç
è
æ -=
n
ncnFF pwtww
2
sin)()( 0 t
pw 20 = (5.14)
¢ Thí dụ 5.4
Phổ F(w) của tín hiệu có độ rộng đơn vị f(t) được lấy mẩu tại các khoảng 1 Hz hay 2p
rad/s (tốc độ Nyquist). Các mẩu là:
F(0) = 1 và F(±2pn) = 0 (n = 1, 2, 3, . . . )
Dùng công thức nội suy (5.14) để xây dựng F(w) từ các mẩu của mình. Do tất cả trừ
một mẩu Nyquist đều là zêrô, chỉ còn một thừa số (tương ứng với n = 0) trong tổng bên
vế phải của phương trình (5.14). Do đó, với F(0) = 1 và t = 1, ta có
÷
ø
ö
ç
è
æ=
2
sin)(
ww cF (5.15)
Với tín hiệu có độ rộng đơn vị thì chỉ có một phổ với giá trị mẩu là F(0) = 1 và
F(±2pn) = 0 (n ¹ 0 ). Các phổ khác không thỏa các điều kiện này. ¢
5.2 Tìm biến đổi Fourier bằng phương pháp số - Biến đổi Fourier rời rạc DFT
Tính toán số biến đổi Fourier của f(t) cần giá trị các mẩu của f(t) do máy tính số chỉ
có thể xử lý các dữ liệu dạng rời rạc (chuỗi các số hạng). Do đó, máy tính chỉ có thể tính
F(w) tại các giá trị rời rạc của w [mẩu của F(w)]. Do đó cần có các mẩu của F(w) để lấy
mẩu f(t). Công việc này được thực hiện dùng kết quả của hai định lý đã phát triển trong
phần 5.1.
Bắt đầu với tín hiệu hữu hạn theo thời gian f(t) (hình 5.14a) và các phổ F(w) (hình
5.14b). Do f(t) bị giới hạn theo thời gian, nên F(w) không có giới hạn về băng thông. Để
thuận tiện, ta cho các phổ đều là hàm của biến tần số F (tính theo Hz) thay vì theo w.
Theo định lý lấy mẩu, thì phổ )(wF của tín hiệu đã lấy mẩu )(tf gồm có F(w) được lặp
lại theo Fs (Hz) với Fs = 1/T. Điều này được vẽ trong hình 5.14c và 5.14d. Bước tiếp
theo, tín hiệu đã lấy mẩu trong hình 5.14c được lặp lại tuần hoàn mỗi T0 giây, như vẽ
trong hình 5.14e. Định lý lấy mẩu phổ đòi hỏi phải lấy mẩu phổ với tốc độ T0 mẩu/Hz.
Tốc độ này tức là các mẩu cách nhau F0 = 1/T0 Hz , như vẽ trong hình 5.14f.
Phần thảo luận trên cho thấy là khi tín hiệu f(t) được lấy mẩu và lặp lại theo chu kỳ
thì phổ tương ứng cũng được lấy mẫu và lặp lại theo chu kỳ. Ta cần tìm quan hệ giữa tốc
độ lấy mẩu của f(t) với tốc độ lấy mẩu của F(w).
Số lượng mẩu
Hình 5.14e và 5.14f cho thấy điều thú vị là số mẩu N0 của tín hiệu trong một chu kỳ
T0 tại hình 5.14e giống hệt số mẩu /0N của phổ trong một chu kỳ Fs tại hình 5.14f. Lý do
là:
N0 = (T0/T) và /0N = (Fs/ F0) (5.16a)
Nhưng, do
Fs= 1/T và F0= 1/T0 (5.16b)
N0 = (T0/T) = (Fs/ F0) =
/
0N (5.16c)
Trùm phổ và rò phổ khi tính toán số
Hình 5.14f cho thấy sự hiện diện của trùm phổ trong các mẩu của phổ F(w). Sai số
trùm phổ có thể giảm thiểu được bằng cách tăng tần số lấy mẩu Fs (giảm khoảng lấy mẩu
T = 1/ Fs). Tuy nhiên, không thể loại trừ hoàn toàn trùm phổ của tín hiệu có thời gian giới
hạn f(t), do có phổ F(w) không giới hạn băng thông. Nếu ta đã bắt đầu với tín hiệu có phổ
bị giới hạn về băng thông F(w), thì chúng không bị trùm phổ trong phổ ở hình 5.14f.
Điều không may là tín hiệu không bị giới hạn về thời gian và các phần lặp lại (trong hình
5.14e) sẽ làm tín hiệu bị chồng khớp (trùm phổ trong miền thời gian). Trong trường hợp
này, ta sẽ đấu tranh với sai số khi lấy mẩu tín hiệu. Nói cách khác, khi tính toán biến đổi
Fourier trực tiếp hay biến đổi nghịch bằng phương pháp số, ta có thể giảm sai số tủy ý,
nhưng không bao giờ có thể loại trừ được sai số. Đây là điều thực tế khi tính toán số biến
đồi Fourier thuận và nghịch, bất chấp phương pháp nào được dùng. Thí dụ, nếu xác định
biến đổi Fourier bằng cách lấy trực tiếp tích phân bằng phương pháp số, dùng phương
trình (4.8), thì sai số do khoảng lấy tích phân rt không bao giờ có thể là zêrô. Chú ý
tương tự cho trường hợp tìm biến đổi nghịch với phương pháp số. Do đó, ta cần luôn nhớ
về bản chất của sai số này trong kết quả của mình. Trong phần thảo luận (hình 5.14) của
mình, ta đã giả sử f(t) là tín hiệu có giới hạn về thời gian. Nếu f(t) không bị giới hạn về
thời gian, ta cần phải giới hạn thời gian do tính toán số chỉ hoạt động được với dữ liệu
hữu hạn mà thôi. Hơn nữa, việc cắt cụt dữ liệu tạo sai số do việc trãi phổ (nhòe phổ) và rò
phổ, như trình bày trong phần 4.9. Rò phổ cũng tạo ra trùm phổ. Có thể giảm thiểu rò phổ
bằng cách cắt cụt tín hiệu bằng cửa sổ hình nón. Nhưng lựa chọn này làm tăng yếu tố trãi
phổ hay nhòe phổ. Trãi phổ có thể được giảm thiểu bằng cách tăng độ rộng cửa sổ (tức là
cho nhiều dữ liệu hơn), điều này làm tăng T0, và làm giảm F0 (tăng độ phân giải tần số
hay phổ).
Ảnh hưởng hàng rào (picket fence effect)
Phương pháp tính toán số chỉ cho các giá trị mẩu đồng đều của F(w) [hay f(t)]. Dùng
phương pháp này giống như việc nhìn tín hiệu các phổ của nó qua một ‘hàng rào”. Các
đỉnh chủ yếu có thể nằm giữa hai mẩu và vẫn có thể không xuất hiện, tình hình này tạo
một hình ảnh sai về thực tế. Các kết quả sai lệch này có thể tránh được khi dùng số lượng
mầu N0 đủ lớn, làm tăng độ phân giải. Ta còn có thể dùng công thức nội suy phổ (phương
trình 5.14) để xác định giá trị của F(w) giữa hai mẫu.
Tìm biến đổi Fourier rời rạc (DFT: Discrete Fourier Transform)
Nếu f(kT) và F(rw0) lần lượt là các mẩu thứ k và thứ r, ta định nghĩa các biến mới fk
và Fr như sau
)()(
0
0 kTf
N
T
kTTffk == (5.17a)
Và )( 0wrFFr = (5.17b)
Trong đó
w0 = 2pF0 = (2p/T0) (5.17c)
Ta sẽ chứng minh fk và Fr quan hệ với nhau theo các phương trình sau:
å
-
=
W-=
1
0
0
0
N
k
kjr
kr efF (5.18a)
å
-
=
W=
1
00
0
0
1 N
k
kjr
rk eFN
f
0
00
2
N
T
pw ==W (5.18b)
Các phương trình này định nghĩa biến đổi Fourier rời rạc thuận và nghịch (DFT), với
Fr là biến đổi Fourier rời rạc trực tiếp (DFT) của fk, và fk là biến đổi Fourier rời rac
nghịch (IDFT: Inverse Fourier Transform) của Fr. Ý niệm
fk Û Fr
còn được dùng để cho thấy fk và Fr là cặp DFT. Xin nhớ rằng fk là (T0/N0) nhân với mẩu
thứ k của Fr là mẩu thứ r của F(w). Biết giá trị mẩu của f(t), ta có thể tính được giá trị
mẩu của F(w) – và ngược lại – dùng DFT. Tuy nhiên, chú ý là fk là hàm của k (k = 0, 1,
2, . . . , N0 – 1) chứ không phải của t và Fr là hàm của r (r = 0, 1, 2, . . . , N0 – 1) thay vì
w. Hơn nữa, cả fk và Fr là chuỗi tuần hoàn với chu kỳ N0 (Các hình 4.14e và 5.14f). Các
chuỗi này được gọi là chuỗi tuần hoàn N0. Việc chứng minh quan hệ DFT trong
phương trình (5.18) lấy trực tiếp từ kết quả của định lý lấy mẩu. Tín hiệu được lấy mẩu
)(tf (hình 5.14c) có thể viết thành
å
-
=
-=
1
0
0
)()()(
N
k
kTtkTftf d (5.19)
Do d(t – kT) ó e– jkwT , biến đổi Fourier của phương trình (5.19) cho
å
-
=
-=
1
0
0
)()(
N
k
TjkekTfF ww (5.20)
Nhưng từ hình 5.1e (hay phương trình 5.4), rõ ràng là trong khoảng 2sww £ , với )(wF là
biến đổi Fourier cỉa )(tf là TF )(w , giả sử trùm phổ có thể bỏ qua, thì
å
-
=
-==
1
0
0
)()()(
N
k
TjkekTfTFTF www
2
sww £
Và
å
-
=
-==
1
0
0
0
0)()(
N
k
Tjkr
r ekTfTrFF
ww (5.21)
Nếu ta đặt 00 W=Tw , thì từ phương trình (5.16a) và (5.16b)
==W T00 w 2pF0T = (2p/N0) (5.22)
Đồng thời, từ phương trình (5.17a),
Tf(kT) = fr
Do đó, phương trình (5.21) trở thành
å
-
=
W-=
1
0
0
0
N
k
kjr
rr efF
0
0
2
N
p
=W (5.23)
Quan hệ của biến đổi nghịch (5.18b) có thể được tìm dùng phương pháp tương tự
với vai trò của t và w được đảo ngược lại, nhưng ở đây là dùng cách chứng minh trực tiếp
hơn. Để chứng minh quan hệ nghịch trong phương trình (5.18b), ta nhân hai vế của
phương trình (5.23) với ejmW0r , rồi lấy tổng trong khoảng r theo
å åå
-
=
W
-
=
W-
-
=
W
ú
û
ù
ê
ë
é
=
1
0
1
0
1
0
0
0
0
0
0
0
N
r
rjm
N
k
kjr
r
N
r
rjm
r eefeF
Bằng cách thay đổi thứ tự lấy tổng bên vế phải
å åå
-
=
-
=
W-
-
=
W
ú
û
ù
ê
ë
é
=
1
0
1
0
)(
1
0
0 0
0
0
0
N
r
N
k
krmj
rk
N
r
rjm
r effeF
Phụ chương 5.1 cho thấy tổng bên trong của vế phải là zêrô với k ¹ n và tổng là N0
khi k = m. Do đó, tổng bên ngoài sẽ chỉ có một thừa số khác zerô khi k = m, và là
mk fNfN 00 = . Do đó thường ta xác định Fr trong tầm (0, N0 – 1) hơn là trong tầm
( 1, 22
00 -- NN ).
Chọn T, T0 và N0.
Khi tính DFT, đầu tiên cần chọn giá trị thích hợp cho T, T0 và N0. Nhằm mục đích
này, đầu tiên phải tìm băng thông cơ bản B (Hz) của tín hiệu. Tần số lấy mẩu Fs ít nhất
phải bằng 2B; tức là,
(Fs/2) ³ B (5.25a)
Hơn nữa, khoảng lấy mẩu T = 1/ Fs , (phương trình 5.16b), và
T £ 1/2B (5.25b)
Khi đã chọn xong B, ta có thể chọn T từ phương trình (5.25b). Đồng thời
F0 =1/T0 (5.26)
Với F0 là độ phân giải tần số [mức phân biệt giữa các mẩu của F(w)]. Do đó, nếu đã có
F0 , ta có thể chọn T0 theo phương trình (5.26). Biết được T0 và T, ta xác định N0 từ:
N0 = T0/T (5.27)
Các điểm gián đoạn (discontinuity)
Nếu f(t) có bước nhảy gián đoạn tại điểm lấy mẩu, thì nên lấy giá trị mẩu là trung
bình các giá trị hai bên của điểm gián đoạn do biểu diễn Fourier tại điểm gián đoạn hội tụ
tại trị trung bình.
Đệm zêrô (Zero padding)
Nhắc lại khi quan sát Fr thì giống như quan sát phổ F(w) qua “ hàng rào”. Nếu
khoảng tần số lấy mẩu F0 không đủ nhỏ, ta có thể bị mất một số chi tiết quan trọng và có
được hình ảnh bị nhòe. Để có số mẩu cao hơn, ta cần giảm F0 . Do F0 = 1/T0, là số mẩu
cao nhất cần có để tăng giá trị của T0, chu kỳ lặp lại của f(t). Chọn lựa này làm tăng N0,
số mẩu của f(t), bằng cách thêm một số mẩu đệm có giá trị zêrô. Việc thêm các mẩu đệm
này được gọi là đệm zêrô. Do đó, các zêrô đệm này làm tăng số mẩu và có thể trợ giúp để
có thêm ý tưởng tốt hơn về phổ F(w) từ các mẩu Fr.
Các zêrô đệm không cải thiện tính chính xác hay độ phân giải.
Có một điểm cần được hiểu rõ là đệm zêrô thường chỉ cho ta thêm mẩu mà không
cải thiện được tính chính xác của các giá trị mẩu này. Đệm zêrô sẽ chỉ hữu ích hơn nếu
thời khoảng lấy mẩu đủ nhỏ để có thể bỏ qua sai số trùm phổ. Đệm zêrô không bao giờ
có thể cải thiện tính chính xác hay độ phân giải tần số theo nghĩa thực. Chỉ có thể tăng
tính chính xác bằng cách giảm trùm phổ (aliasing), điều này đòi hỏi giảm khoảng lấy mẩu
tín hiệu T (T < 1/2B, với B là băng thông hiệu quả của tín hiệu).
¢ Thí dụ 5.5
Tín hiệu f(t) có độ rộng 2 ms và băng thông cơ bản là 10 kHz. Mong muốn có độ
phân giải tần số là 100 Hz khi dùng DFT (F0 = 100). Tìm N0.
Độ rộng hiệu quả của tín hiệu T0 là
T0 = (1/ F0) = 1/100 = 10ms
Do độ rộng tín hiệu chỉ có 2ms, ta cần đệm zêrô trong khoảng 8 ms. Đồng thời, với
B = 10.000, nên Fs = 2B = 20.000 và T = 1/ Fs = 50ms. Vậy:
N0 = Fs/ F0 = 20.000/100 = 200
Thuật toán biến đổi Fourier nhanh (FFT: Fast Fourier Transform) (thảo luận trong phần
5.3), đã chứng minh là sẽ tiện (dù không phải là cần thiết) để chọn N0 là số mủ lủy thừa 2;
tức là N0 = 2n (n: số nguyên). Ta hảy chọn N0 =256. Tăng N0 từ 200 đến 256 có thể được
dùng làm giảm sai số trùm phổ (do giảm T), để cải thiện độ phân giải tần số (bằng cách
giảm T0), hay kết hơp cả hai.
(i) Giảm sai số trùm phổ: Ta duy trì cùng T0 để F0 = 100, do đó
Fs = N0F0 = 256 x 100 =25 600 và T = 1/ Fs =39ms
Do đó, tăng N0 từ 200 đến 256 cho phép ta giảm khoảng lấy mẩu T từ 50ms đến 39ms
mà vẫn duy trì cùng độ phân giải tần số (F0 = 100).
(ii) Cải thiện độ phân giải: Ở đây, ta duy trì cùng T = 50ms, làm
T0 = N0T = 256(50 x 10
– 6) = 12,8 ms và F0 = 1/T0 = 78,125Hz
Do đó, tăng N0 từ 200 đến 256 có thể cải thiện độ phân giải tần số từ 100 đến
78,125Hz mà vẫn duy trì cùng sai số trùm phổ (T = 50ms).
(iii) Kết hơp hai lựa chọn
Ta có thể chọn T = 45ms và T0 = 11, 5ms để có F0 = 86,96 Hz. ¢
¢ Thí dụ 5.6
Dùng DFT để tính biến đổi Fourier của e–2tu(t). Vẽ phổ Fourier tương ứng.
Đầu tiên ta xác định T và T0. Biến đổi Fourier của e–2tu(t) là 1/(jw+2). Mạch lọc
thông thấp này không có băng thông giới hạn. Trong phần 4.6, ta dùng tiêu chuẩn năng
lượng để tính băng thông cơ bản của tín hiệu. Ở đây, ta giới thiệu một tiêu chuẩn năng
lượng khác, đơn giản nhưng dễ thực hiện hơn. Băng thông cơ bản của tín hiệu sẽ được
lấy tại tần số mà )(wF giảm còn 1% giá trị đỉnh của mình. Trong trường hợp này, trị
đỉnh xuất hiện tại w = 0, với )0(F = 0,5. Quan sát thấy
ww
w 1
4
1
)(
2
»
+
=F 2>>w
Đồng thời 1% của trị đỉnh là 0,01 x 0,5 = 0,005. Do đó, băng thông cơ bản B là tại
w =2pB, trong đó
HzB
B
F
pp
w 100005,0
2
1
)( =Þ=»
Và từ phương trình (5.25b),
015708,0
2002
1
==£
p
B
T
Ta đã dùng 1% tiêu chuẩn năng lượng để xác định băng thông cơ bản, theo phương pháp
đã dùng trong thí dụ 4.16, ta có B = 20,26, hơi bé hơn giá trị vừa tìm được bằng 1% tiêu
chuẩn biên độ.
Điểu thứ hai là xác định T0. Do tín hiệu không có thời gian giới hạn, ta phải cắt gọn
tín hiệu tại T0 sao cho f(T0) << 1. Một lựa chọn phù hợp là T0 =4 do f(4) = e –8 =
0,000335 << 1. Kết quả là N0 = T0/T =254,6 không phải là lủy thừa của 2. Do đó, ta
chọn T0 = 4 và T =0,015625 = 1/64, và có kết quả N0 =256, là lủy thừa của 2.
Chú ý là có sự mềm dẽo lớn khi chọn T và T0, tùy theo độ chính xác mong muốn và
khả năng tính toán sẵn có. Ta vừa đã chọn T = 0,03125 và có N0 = 128, cho dù chọn lựa
này cho sai số trùm phổ hơi cao.
Do tín hiệu có bước nhảy gián đoạn tại t = 0, nên mẩu thứ nhất (tại t = 0) có giá trị là
0,5, là trung bình các giá trị hai bên của gián đoạn, Ta tính Fr (DFT) từ các mẩu của
)(2 tue t- từ phương trình (5.18a). Chú ý là Fr là mẩu thứ r của F(w), và các mẩu này được
cách quảng tại F0 = 1/T0 =0,25 Hz (w0 = p/2 rad/s).
Do Fr là tuần hoàn N0, Fr = F(r+256) sao cho F256 = F0. Do đó, ta cần vẽ Fr trong tầm
r = 0 đến 255 (không phải 256). Hơn nữa, do tính chu kỳ này, nên F-r = F(-r+256) và các
giá trị của Fr trong tầm r = – 127 đến – 1 giống hệt với các giá trị trong tầm từ r = 129
đến 255. Do đó, F127 = F129, F-129 = F130 . . . F-1 = F255. Hơn nữa, do tính đối xứng liên
hợp của biến đổi Fourier, F–r = Fr*, nên F–1 = F1*, F–2 = F2*, . . . , F–128 = F*128. Do đó,
ta chỉ cần Fr trong tầm r =0 đến N0/2 (trường hợp này là 128).
Hình 5.15 vẽ đồ thị của ½Fr½ và ÐFr và phổ biên độ và pha chính xác (vẽ bằng
đường liên tục) để so sánh. Chú ý là hầu như có thỏa thuận hoàn hảo giữa hai tập phổ. Ta
đã vẽ hai đồ thị chỏ với 28 điểm thay vì 128 điểm để hình ảnh rõ ràng. Các điểm này nằm
tại các khoảng 1/T0 =1/4 Hz hay w0 =1,5708 rad/s. Do đó 28 mẩu này, biểu diễn đồ thị
trong tầm w = 0 đến w = 28(1,5708) » 44 rad/s hay 7 Hz.
Trong thí dụ này, ta biết trước F(w) nên có thể có lựa chọn thông minh về B (hay
tần số lấy mẩu Fs). Trong thực tế, ta thường chưa biết trước được F(w). Thực ra, đây là
vấn đề ta phải cố xác định. Trong trường hợp này, cần dự đoán một cách thông minh về B
hay Fs từ các bằng chứng chi tiết. Bắt đầu giảm giá trị của T và tính toán lại phép biến đổi
cho đến khi có kết quả ổn định trong vòng số hạng cần có. Chương trình MATLAB, có
các thiết lập DFT dùng thuật toán FFT, được trình bày trong thí dụ C5.1. ¢
• Thí dụ dùng máy tính C5.1
Dùng DFT (được thiết lập dùng FFT, thuật toán biến đổi Fourier nhanh) để tính biến
đổi Fourier của e –2tu(t).
T = 0.015625; T0 = 4; N0 = T0/T;
t = 0:T:T*(N0 – 1); t = t’;
f = T*exp( - 2*t);
f(1) = T*0.5;
F = fft(f);
[Fp, Fm] =cart2pol(real(F), imag(F));
k = 0:N0 – 1; k = k’;
w =2*pi*k/T0;
subplot(211), plot (w(1:128),Fm(1:128))
subplot(212), plot (w(1:128),Fp(1:128)) •
¢ Thí dụ 5.7
Dùng DFT đẻ tìm biến đổi Fourier của 8rect (t).
Hàm cổng này và biến đổi Fourier được vẽ trong hình 5.16a và b. Để xác định giá trị
thời khoảng lấy mẩu T, trước hết ta cần quyết định băng thông cơ bản B. Trong hình
5.16b, ta thấy F(w) giảm hơi chậm theo w. Do đó, băng thông cơ bản hơi lớn hơn. Thí dụ,
tại B = 15,5 Hz (97,39 rad/s), F(w) = - 0,1643, vào khoảng 2% giá trị đỉnh tại F(0). Do
đó, băng thông cơ bản hơi cao hơn 16 Hz nếu ta dùng tiêu chuẩn 1% để tính toán băng
thông cơ bàn. Tuy nhiên, ta cố tình chọn B = 4 vì hai lý do: (1) để thấy ảnh hưởng của
trùm phổ và (2) dùng B > 4 sẽ cho số mẩu khổng lồ, không hiển thị được trên kích cở
giấy của sách mà không bị mất các thông tin cơ bản. Do đó, ta chấp nhận yếu tố xấp xỉ để
làm rõ ý niệm DFT trên đồ thị.
Việc lựa chọn B = 4 đưa đến thời gian lấy mẩu là T = 1/2B = 1/8. Nhìn lại lần nữa
phổ trong hình 5.16b, ta thấy việc lựa chọn độ phân giải tần số F0 = ¼ Hz là hợp lý.
Chọn lựa này cho ta bốn mẩu trong mổi búp của F(w). Trường hợp này T0 =1/ F0 = 4 giây
và N0 =T0/4 = 32. Độ rộng của f(t) chỉ có 1 giây. Ta phải làm lại mỗi 4 giây (T0 = 4), như
vẽ trong hình 5.16c, và lấy mẩu trong mỗi 1/8 giây. Chọn lựa này cho 32 mẩu (N0 =32).
Đồng thời,
)(
8
1
)( kTfkTTffk ==
Do f(t) =8 rect(t), các giá trị của fk là 1, 0 hay 0,5 (tại các điểm gián đoạn) như vẽ
trong hình 5.16c. Trong hình, fk được vẽ minh họa là hàm theo t cũng như k, cho thích
hợp.
Khi tìm DFT, ta giả sừ f(t) bắt đầu tại t = 0 (hình 5.14a), và lấy N0 mẩu trong
khoảng (0, T0). Tuy nhiên, trong trường hợp này thì f(t) lại bắt đầu tại t = -1/2. Khó khăn
này được giải quyết dễ dàng khi ta thực hiện DFT theo phương pháp này thực ra là DFT
của fk được lặp lại tuần hoàn mổi T0 giây. Hình 5.16c rõ ràng cho thấy việc lặp lại tuần
hoàn các đoạn trong khoảng từ - 2 đến 2 giây thì giống hệt việc lặp lại các đoạn của fk
trong khoảng từ 0 đến 4 giây. Do đó, bất chấp điểm xuất phát của f(t), ta luôn có thể các
mẩu của f(t) và phần mở rộng tuần hoàn trong khoảng từ 0 đến T0. Trong thí dụ này, các
giá trị 32 mẩu là
ï
î
ï
í
ì
=
££
££££
=
28,45,0
2750
3129301
k
k
kandk
fk
Quan sát thấy mẩu cuối nằm tại t = 31/8, chứ không phải tại 4, do tín hiệu lặp lại bắt
đầu từ t = 4, và mẩu tại t = 4 giống với mẩu tại t = 0. Lúc này, N0 = 32 và W0 = 2p/32 =
p/16. Do đó [xem phương trình (5.18)]
å
=
-=
31
0
)16/(
k
kjr
kr efF
p
Giá trị của Fr được tính từ phương trình trên và vẽ trong hình 5.16d.
Các mẩu Fr cách nhau bởi F0 = (1/10) Hz. Trong trường hợp T0 = 4, nên độ phân
giải tần số F0 là (¼) Hz, như mong muốn. Tần số gấp Fs/2 = B = 4Hz tương ứng với
r = N0/2 =16. Do Fr là tuần hoàn N0 (N0 = 32), các giá trị của Fr khi r = - 16 đến n = - 1
thì giống như khi r = 16 đến n = 31. Thí dụ, F17 = F-15, F18 = F-14 , và tiếp tục. DFT cho
ta các mẩu của phổ F(w).
Để so sánh, hình 5.16d còn vẽ đường tô bóng của đặc tuyến 8sinc(w/2), chính là
biến đổi Fourier của 8rect(t). Các giá trị của Fr được tính từ phương trình DFT cho thấy
có sai số trùm phổ, thấy rõ khi ta so sánh hai đồ thị vẽ chồng nhau. Sai số của F2 vào
khoảng 1,3%. Tuy nhiên, sai số trùm phổ tăng nhanh theo r. Thí dụ, sai số của F6 vào
khoảng 12% và sai số của F10 vào khoảng 33%. Sai số của F14 lên đến 72%. Sai số phẩn
trăm tăng nhanh gần tần số gấp (r =16) do f(t) có bước nhảy gián đoạn, làm F(w) giảm
chậm theo 1/w. Do đó, ở gần tần số gấp, đuôi của phần nghịch (do trùm phổ) tự thân đã
rất gần F(w). Hơn nữa, giá trị cuối cùng là sai biệt giữa giá trị chính xác và giá trị gấp lại
(rất gần với trị chính xác). Do đó, sai số phần trăm gần tần số gấp (trường hợp này là r
=16) là rất cao, cho dù sai số tuyệt đối thì rất bé. Rõ ràng, với tín hiệu có bước nhảy gián
đoạn, sai số trùm phổ gần tần số gấp sẽ luôn luôn cao (theo nghĩa phần trăm), bất chấp
cách lựa chọn N0. Để đảm bảo bỏ qua được sai số trùm phổ tại trị r bất kỳ, ta phải chắc
chắn là N0 >> r. Điều này luôn có giá trị với mọi tín hiệu có bước nhảy gián đoạn. ¢
• Thí dụ dùng máy tính C5.2
Dùng DFT (được thiết lập dùng thuật toán FFT) tính biến đổi Fourier của 8rect(t). Vẽ
phổ Fourier.
Chương trình MATLAB để thiết lập phương trình DFT dùng thuật toán FFT sẽ được
trình bày ở phần dưới. Đầu tiên ta viết chương trình MATLAB để tại 32 mẩu của fk, rồi
tiếp đến tính DFT.
% (c52.m)
N0 = 32; k =0:N0 – 1;
f = [ones(1,4) 0.5 zeros(1,23) 0.5 ones(1,3)];
Fr =fft(f);
subplot(2,1,1), stem(k,f)
xlabel(‘k’); ylabel(‘fk’);
subplot(2,1,2), stem(k,Fr)
xlabel(‘r’); ylabel(‘Fr’); •
5.2-1 Một số đặc tính của DFT
Biến đổi Fourier rời rạc về cơ bản là biến đổi Fourier của tín hiệu đã lấy mẩu được
lặp lại tuần hoàn. Do đó, các đặc tính của biến đổi Fourier cũng dùng được cho DFT.
1. Tính tuyến tính
Nếu rk Ff Û và rk Gg Û , thì
rrkk GaFagafa 2121 +Û+ (5.28)
Phần chứng minh dễ dàng
2. Tính đối xứng liên hợp
*- = rrN FF 0 (5.29)
Dựa vào đặc tính đối xứng liên hợp của biến đổi Fourier (Fr* =F–r) và đặc tính tuần hoàn
của DFT (F–r = FN0–r), nên ta chỉ cần tính phân nửa DFT khi fk là thực, phần còn lại là
lượng liên hợp.
3. Dời theo thời gian (Dời vòng)
njrrnk eFf 0
W-
- Û (5.30)
Chứng minh:
Dùng phương trình (5.18b), tìm DFT nghịch của njrreF 0W- là
åå
-
=
-
-W
-
=
WW- ==
1
0
)(
0
1
00
0
0
0
00
11 N
r
nk
nkjr
r
N
r
kjrnjr
r feFN
eeF
N
4. Dời theo tần số
mr
mjk
k Fef -
W Û0 (5.31)
Chứng minh: tương tự như trường hợp đặc tính dời theo thời gian trừ việc ta bắt đầu với
phương trình (5.18a)
5. Tích chập vòng (còn gọi là tích chập tuần hoàn)
fk Ä gk ó FrGr (5.23a)
và fk gk ó (1/N0) FrÄ Gr (5.32b)
Hai chuỗi tuần hoàn N0 là fk và gk có tích chập vòng được định nghĩa theo
fk Ä gk = åå
-
=
-
-
=
- =
1
0
1
0
00 N
n
nkn
N
n
nkn fggf (5.33)
Để chứng minh (5.32a), ta tìm DFT của tích chập vòng của fk Ä gk là
åå åå å
-
=
W-
-
=
W-
-
=
-
W-
-
=
-
=
==÷÷
ø
ö
çç
è
æ
=÷÷
ø
ö
çç
è
æ 1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0 0
)(
N
n
rr
njr
rn
N
k
kjr
N
n
nkn
kjr
N
k
N
n
nn GFeGfegfegf
Dùng phương pháp tương tự để chứng minh (5.32b)
Trường hợp chuỗi không tuần hoàn, tích chập có thể được xem theo hai chuỗi,
trong đó có một chuỗi cố định và chuỗi kia thì nghịch và di chuyển qua chuỗi cố định,
mỗi lần một số hạng. Nếu hai chuỗi đều tuần hoàn N0, cấu hình lặp lại sau khi chuỗi dời
N0. Rõ ràng là tích chập fk Ä gk trở thành tích tuần hoàn N0 (tích vòng N0) (N0 - periodic),
và dạng tích chập này được quan sát dễ dàng như vẽ trong 5.17 cho trường hợp N0 = 4.
Chuỗi trong (inner sequence) fk theo chiều kim đồng hồ và cố định. Chuỗi ngoài gk là
nghịch nên ngược chiều kim đồng hồ. Chiều này quay theo chiều kim đồng hồ mỏi lần
một đơn vị. Ta nhân các số trùng lặp (overlapping) và cộng lại. Thí dụ, giá trị fk Ä gk tại
k = 0 là (hình 5.17)
f0g0 + f1g3 + f2g2 + f3g1
và giá trị của fk Ä gk tại k = 1 là (hình 5.17)
f0g1 + f1g0 + f2g3 + f3g2
và tiếp tục
Ứng dụng của DFT
DFT không chỉ hữu ích khi tính biến đổi Fourier trực tiếp và biến đổi Fourier nghịch,
mà còn dùng được trong các ứng dụng khác như tích chập, tương quan và lọc. Việc dùng
thuật toán FFT hiệu quả được thảo luận trong phần 5.3 càng làm tăng thêm tính hấp dẫn
của DFT.
Phép tích chập tuyến tính
Gọi f(t) và g(t) là hai tín hiệu cần làm tích chập. Thông thường, các tín hiệu này có
độ độ rộng theo thời gian khác nhau. Để thực hiện phép tích chập từ các mẩu, ta cần lấy
mẩu chúng với cùng tốc độ lấy mẩu (không thấp hơn tốc độ Nyquist của một trong hai tín
hiệu). Gọi fk (0 £ k £ N1 – 1) và gk (0 £ k £ N2 – 1) là chuỗi rời rạc biểu diễn các mẩu
này, thì
c(t) = f(t) * g(t)
và nếu ta định nghĩa ba chuỗi này là fk = Tf(kT), gk = Tg(kT) và ck = Tc(kT), thì
ck = fk * gk
với định nghĩa tổng chập tuyến tính của hai chuỗi fk và gk là
å
-¥=
-=*
n
nknkk gfgf
Từ đặc tính chất về độ rộng của tích chập, ck tồn tại với 0 £ k £ N1+N2 – 1. Để dùng
được kỹ thuật DFT của tích chập vòng, ta cần chắc chắn là tích chập vòng sẽ có cùng kết
quả với tích chập tuyến tính. Nói cách khác, tín hiệu có được của phép tích chập vòng
phải có cùng độ dài (N1 +N2 – 1) như của tín hiệu có từ phép tích chập tuyến tính. Bước
này có thể thực hiện bằng cách cộng thêm N2 – 1 mẩu giả (dummy) có giá trị zêrô vào gk
(đệm zêrô). Phương pháp này thay đổi độ dài của fk và gk thành N1+N2 – 1. Vậy tích chập
vòng giống hệt tích chập tuyến tính trừ việc lặp lại tuần hoàn với chu kỳ N1+N2 – 1. Phần
10.6-3 sẽ chứng minh nghiêm ngặt tính chất này.
Ta có thể dùng DFT để tính tích chập fk * gk theo ba bước sau:
1. Tìm các DFT là Fr và Gr tương ứng với fk và gk được đệm zêrô thích hơp.
2. Nhân Fr với Gr.
3. Tìm IDFT của Fr Gr. Phương pháp tích chập này được thiết lập dùng thuật toán
biến đổi Fourier nhanh (sẽ thảo luận sau), được gọi là tích chập nhanh.
Lọc
Ta thường nghĩ đến lọc theo ý nghĩa là giải pháp thiết lập phần cứng (cụ thể là, xây
dựng mạch với các phần tử RCL và mạch khuếch đại thuật toán). Tuy nhiên còn có giải
pháp phần mềm [thuật toán từ máy tính nhằm tạo ngõ ra y(t) từ ngõ vào cho trước f(t)].
Mục tiệu này có thể thực hiện dùng DFT. Nếu f(t) là tín hiệu cần lọc, thì tìm được Fr, là
DFT của fk. Phổ của Fr được định dạng (lọc) như mong muốn bằng cách nhân Fr với Hr,
là các mẩu của hàm truyền mạch lọc H(w) [Hr = H(rw0)]. Sau cùng, ta lấy IDFT của Fr Hr
để có ngõ ra mạch lọc yk [yk = Ty(kT)]. Phương pháp này được minh họa trong thí dụ sau.
¢ Thí dụ 5.8
Tín hiệu f(t) trong hình 5.18a đi qua mạch lọc thông thấp lý tưởng có hàm truyền
H(w) vẽ trong hình 5,18b. Dùng DFT tìm ngõ ra mạch lọc.
Ta đã tìm được DFT 32 điểm của f(t) (xem hình 5.16d). Tiếp đến ta nhân Fr với Hr.
Để tìm Fr, ta dùng F0 = ¼ khi tính DFT 32 điểm của f(t). Do Fr là tuần hoàn 32, nên Hr
cũng là tuần hoàn 32 với các mẩu cách nhau ¼ Hz. Điều này có nghĩa là Hr phải lặp lại
từng 8 Hz hay 16p rad/s (xem hình 5.18c). 32 mẩu của Hr trong khoảng (0 £ w £ 16p)
như sau:
ï
î
ï
í
ì
=
££
££££
=
24,85,0
2390
3125701
r
r
randr
Hr
Ta nhân Fr với Hr. Các mẩu tín hiệu ngõ ra mong muốn yk tìm bằng cách biến đổi nghịch
DFT của Fr Hr. Tín hiệu ngõ ra được vẽ trong hình 5.18d. Bảng 5.1 ghi các giá trị fk , Fr,
Hr , Yr và yk . ¢
• Thí dụ dùng máy tính C5.3
Giải thí dụ 5.8 dùng MATLAB
Đoạn chương trình MATLAB trong thí dụ C5.2, ta đã có Fr 32 điểm, được lưu trong
file ‘c52.m’. Ta có thể nhập Fr trong môi trường MATLAB dùng lệnh ‘c53.m’
C52;
N0 = 32; k = 0; N0 – 1;
H = [ones(1,8) 0.5 zeros(1,15) 0.5 ones(1,7)];
Yr = H.*Fr;
yk = ifft(Yr);
stem(k, yk) •
5.3 Biến đổi Fourier nhanh (FFT)
Có thể giảm thiểu đáng kể số lượng các tính toán cần cho DFT dùng thuật toán do
Tukey và Cooley đề ra năm 1965. Thuật toán này được gọi là biến đổi Fourier nhanh
(FFT: Fast Fourier Transform), giảm số lượng tính toán từ bậc N02 thành N0logN0. Để
tính các mẩu Fr từ phương trinh (5.18a), ta cần N0 phép nhân phức tạp và N0 - 1 phép
cộng phức tạp. Để tính N0 cho các giá trị (Fr với r = 0, 1, . . . , N0 - 1), ta cần có tổng là
N0
2 phép tính nhân phức tạp và N0(N0 – 1) phép cộng phức tạp. Khi N0 lớn, các phép tính
này tiêu tốn rất nhiều thời gian, ngay cả với các máy tính mạnh đi nửa.
N0 fk Fr Hs FrHs yk
0 1 8.000 1 8.000 .9385
1 1 7.179 1 7.179 1.009
2 1 5.022 1 5.027 1.090
3 1 2.331 1 2.331 .9123
4 0.5 0.000 1 0.000 .4847
5 0 -1.323 1 -1.323 0.08884
6 0 -1.497 1 -1.497 -.05698
7 0 -.8616 1 -.8616 -.01383
8 0 0.000 0.5 0.000 .02933
9 0 .5803 0 0.000 .004837
10 0 .6642 0 0.000 -.01966
11 0 .3778 0 0.000 -.002156
12 0 0.000 0 0.000 .01534
13 0 -.2145 0 0.000 .0009828
14 0 -.1949 0 0.000 -.01338
15 0 -.06964 0 0.000 -.0002876
16 0 0.000 0 0.000 .01280
17 0 -.06964 0 0.000 -.0002876
18 0 -.1989 0 0.000 -.01338
19 0 -.2145 0 0.000 .0009828
20 0 0.000 0 0.000 .01534
21 0 .3778 0 0.000 -.002156
22 0 .6682 0 0.000 -.01966
23 0 .5803 0 0.000 .004837
24 0 0.000 0.5 0.000 .3933
25 0 -.8616 1 -.8616 -.01383
26 0 -1.497 1 -1.497 -.05698
27 0 -1.323 1 -1.323 .08884
28 0.5 0.000 1 0.000 .4847
29 1 2.331 1 2.331 .9123
30 1 5.027 1 5.027 1.090
31 1 7.179 1 7.179 1.090
Tuy có nhiều biến thể từ thuật toán Tukey – Cooley, nhưng có thể chia thành hai
nhóm chính: decimation theo thời gian và decimation theo tần số. Thuật toán được đơn
giản hóa nếu ta chọn N0 theo lủy thừa bậc 2, cho dù lựa chọn này không bị bắt buột. Để
thuận tiện, định nghĩa
00
0
)/2( W-- == jNjN eeW
p (5.34)
Sao cho
å
-
=
=
1
0
0
0
N
k
kr
Nrr WfF 10 0 -££ Nr (5.35a)
Và å
-
=
-=
1
00
0
0
1 N
r
kr
Nrr WFN
f 10 0 -££ Nk (5.35b)
Thuật toán decimation theo thời gian
Ở đây ta chia chuỗi dữ liệu N0 điểm fk thành hai chuỗi (N0/2) điểm bao gồm các
mẩu có số thứ tự lần lượt chẵn và lẻ, như sau:
444 344 21 L444 3444 21 L
kk hchuôi
N
gchuôi
N ffffffff 15311420 00 ,,,,,,,, --
Vậy, từ phương trình (5.35),
åå
-
=
+
+
-
=
+=
1
2
0
)12(
12
1
2
0
2
2
0
0
0
0
N
k
rk
Nk
N
k
kr
Nkr WfWfF (5.36)
Đồng thời, do
2
2
00 NN
WW = (5.37)
Ta có
r
r
Nr
N
k
kr
Nk
N
k
r
N
kr
Nkr HWGWfWWfF 0
0
0
0
00
1
2
0 2
12
1
2
0 2
2 +=+= åå
-
=
+
-
=
10 0 -££ Nr (5.38)
Trong đó Gr và Hr là các DFT (N0/2) điểm của các chuỗi số chẵn và số lẻ lần lượt là gk và
hk. Đồng thời, Gr và Hr đã là DFT (N0/2) điểm, cũng là tuần hoàn (N0/2). Do đó
rN
r
GG =
÷
ø
ö
ç
è
æ+
2
0
và rN
r
HH =
÷
ø
ö
ç
è
æ+
2
0
(5.39)
Hơn nữa
rN
r
N
jr
N
N
N
N
r
N WWeWWW 000
0
0
0
0
22 -=== -
÷
ø
ö
ç
è
æ+
p (5.40)
Từ phương trình (5.38), (5.39) và (5.40), ta có
r
r
NrN
r
HWGF
00
2
-=
÷
ø
ö
ç
è
æ+
(5.41)
Đặc tính này có thể dùng để giảm thiểu số lượng tính toán. Ta có thể tính (N0/2) điểm
đầu tiên (0£ n £ (N0/2) – 1) của Fr dùng phương trình (5.38) và tính (N0/2) điểm cuối
dùng phương trình (5.41) là:
r
r
Nrr HWGF 0+= 12
0 0 -££
N
r (5.42a)
r
r
NrN
r
HWGF
00
2
-=
÷
ø
ö
ç
è
æ+
1
2
0 0 -££
N
r (5.42b)
Do đó, có thể tính DFT N0 điểm bằng cách hai DFT (N0/2) điểm, như phương trình
(5.42). Các phương trình này có thể được biểu diễn một cách thuận tiện dùng graph tín
hiệu như vẽ trong hình 5.19. Câu trúc này được gọi là bướm (butterfly). HÌnh 5.20a cho
thấy thiết lập của phương trình (5.39) cho trường hợp N0 = 8.
Bước kế tiếp là tính các DFT (N0/2) điểm Gr và Hr. Ta lặp lại các bước này bằng
cách chia gk và hk thành hai chuỗi (N0/2) điểm tương ứng với các mẩu thứ tự chẵn và lẻ.
Tiếp đến ta tiếp tục các bước này cho đến khi có được DFT một điểm. Các hình 5.20a,
5.20b, và 5.20c cho thấy là các DFT hai điểm thì không cần phép nhân.
Để đếm số phép tính cần có trong bước đầu tiên, giả sử ta đã biết Gr và Hr. Phương
trình (5.42) chỉ rõ là để tính tất cả N0 điểm của Fr, ta cần N0 phép cộng phức tạp và (N0/2)
phép nhân phức tạp (tương ứng với rrN HW 0 ).
Trong bước thứ hai, để tiếp tục tính DFT (N0/2) điểm Gr từ DFT (N0/4), ta cần (N0/2)
phép cộng phức tạp và (N0/4) phép nhân phức tạp. Ta cần cùng số lượng tính toán cho Hr.
Do đó, trong bước thứ hai, ta có N0 phép cộng phức tạp và (N0/2) phép nhân phức tạp. Số
lượng tính toán cần thiết trong mỗi bước là giống nhau. Do cần có tổng là log2N0 bước để
đạt được DFT một điểm, ta cần có tổng là N0log2N0 phép cộng phức tạp và (N0/2)log2N0
phép nhân phức tạo, để tính được DFT N0 điểm.
Phương pháp tìm IDFT giống hệt như khi tìm DFT trừ việc dùng )/2( 0
0
Nj
N eW
p= thay
vì )/2( 0Nje p- (ngoài ra, bộ nhân là 1/N0). Một thuật toán FFT khác, là thuật toán
decimation theo tần số, tương tự như thuật toán decimation theo thời gian. Chỉ có một
khác biệt là thay vì chia fk thành hai chuỗi thứ tự chẵn và lẻ, ta chia fk thành thành hai
chuỗi tạo từ (N0/2) số đầu và (N0/2) số cuối, xử lý với cùng phương pháp cho đến khi
một điểm đơn DFT đạt cá bước log2N0. Tổng số phép tính trong thuật toán này giống như
trường hợp decimataion theo thời gian.
Đối ngẫu của định lý lấy mẩu cho rằng các tín hiệu có thời gian giới hạn t giây thì
có thể khôi phục phổ F(w) của chúng từ các mẩu của F(w) lấy tại các khoảng đồng đều
không lớn hơn 1/t Hz. Nói cách khác, phổ có thể được lấy mẩu với tốc độ không nhỏ hơn
t mẩu/Hz.
5.4 Phụ chương 5.1
Ta chứng minh
å
-
=
W
î
í
ì ±±=
=
1
0
000
0
0
0
,2,,0N
k
kjm
otherwise
NNmN
e
L
(5.43)
Nhắc lại W0N0 = 2p và 10 =W kjme với m = 0, ±N0, ±2N0, . . ., sao cho
åå
-
=
-
=
W ==
1
0
0
1
0
00
0 1
N
k
N
k
kjm Ne với m = 0, ±N0, ±2N0, . . .,
Để tính tổng của các giá trị khác của m, ta chú ý là tổng của vế trái của phương trình
(5.43) là chuỗi hình học với công sai là 0W= jmea . Do đó (xem phần B.7-4)
0
1
1
0
000
0
1
0
=
-
-= W
W-
=
Wå jm
NjmN
k
kjm
e
ee ( 1200 ==W mjNjm ee p )
5.5 Tóm tắt
Tín hiệu có băng thông giới hạn B Hz có thể được khôi phục chính xác từ các mẩu
của chúng nếu tốc độ lấy mẩu Fs > 2B Hz (định lý lấy mẩu). Phương pháp khôi phục này,
dù thực hiện được về mặt lý thuyếtm nhưng có nhiều vấn đề trong thực tế như phải cần
bộ lọc với độ lơi zêrô trong một dải (nhiều dải) tần số. Các bộ lọc này là không thể thực
hiện được hay thực hiện được với vô số các khâu trễ. Do đó, trong thực tế, luôn có sai số
khi khôi phục tín hiệu từ các mẩu của chúng. Hơn nữa, các tín hiệu thực tế thường không
có băng thông giới hạn, điều này làm tăng sai số (sai số trùm phổ) kh khôi phục tín hiệu
từ các mẩu. Sai số trùm phổ có thể được giảm thiệu bằng cách giới hạn băng thông của
tín hiệu trong băng thông hiệu quả.
Định lý lấy mẩu rất quan trọng trong phân tích, xử lý, và truyền dẫn tín hiệu do cho
phép ta thay tín hiệu liên tục theo thời gian bằng chuỗi rời rạc các số hạng. Do đó, việc
xử lý tín hiệu liên tục tương được với việc xử lý chuỗi rời rạc các số hạng. Điều này dẫn
ta trực tiếp đến lĩnh vực lọc số (hệ thống rời rạc theo thời gian). Trong lĩnh vực thông tin,
truyền dẫn bản tin liên tục theo thời gian giảm thiểu thành việc truyền dẫn chuỗi các số
hạng. Điều này mở cửa cho nhiều kỹ thuật mới trong thông tin tín hiệu liên túc bằng
chuỗi các xung.
Tính đối ngẫu của định lý lấy mẩu cho rằng tin hiệu có thời gian giới hạn t giây thì
phổ F(w) có thể được khôi phục từ các mẩu của F(w) lấy tại các thời khoảng đồng đều
không lớn hơn 1/t Hz. Nói cách khác, phổ cần được lấy mẩu với tốc độ không nhỏ hơn t
mẩu/Hz.
Để tính toán số được biến đổi Fourier trực tiếp hay nghịch, ta cần có quan hệ giữa
các mẩu của f(t) và F(w). Định lý lấy mẩu và đối ngẫu cung cấp quan hệ định lượng theo
dạng của biến đổi Fourier rời rạc (DFT). Tính toán DFT rất dễ khi dùng thuật toán biến
đổi Fourier nhanh (FFT), giảm thiểu số lượng tính toán từ khoảng N02 thành N0log N0.
Tham khảo
1. Linden, D. A.., “A Discussion of Sampling Theorem.” Proc. IRE, vol. 47. pp 1219
– 1226, July 1959.
2. Bracewell, R.N., The Fourier Transform and Its Applications, 2nd revised ed.,
McGraw-Hill, New York. 1986.
3. Bennett, W.R., Introduction to Signal Transmission, McGraw-Hill, New York.
1970.
4. Lathi, B.P., Linear Systems and Signals, Berkeley-Cambridge Press, Carmichael,
CA, 1992.
5. Cooley, J.W., and J.W., Tukey, “An Algorithm for the Machine Calculation of
Complex Fourier Series, “Mathematics of Computation, Vol. 19, p.297 – 301,
Aprli 1965.
Bài tập
5.1-1 Hình P5.1-1 vẽ phổ Fourier của các tín hiệu f1(t) và f2(t). Tìm tốc độ lấy mẩu
Nyquist của tín hiệu f1(t), f2(t), f12(t), f23(t), và f1(t) f2(t).
5.1-2 Xác định tốc độ lấy mẩu Nyquist và khoảng lấy mẩu Nyquist của các tín hiệu
(a) sinc2(100pt) (b) 0,01sinc2(100pt) (c) sinc (100pt) + 3sinc2(60pt)
(d) sinc (50pt) sinc (100pt).
5.1-3 Tín hiệu f(t) = sinc (100pt) được lấy mẩu (dùng xung cách khoảng đồng đều) với
các tốc độ (a) 150 Hz (b) 200 Hz (c) 300 Hz. Với mỗi trường hợp (i) Vẽ phổ tín
hiệu đã lấy mẩu, (ii) Nếu bạn khôi phục được f(t) từ tín hiệu lấy mẩu, giải thích?
(iii) Nếu cho tín hiệu đã lấy mẩu qua mạch lọc thông thấp lý tưởng có băng thông
100 Hz, vẽ phổ của tín hiệu ra.
5.1-4 Hình P5.1-4 vẽ mạch giử bậc zêrô thực tế
(a) Tìm đáng ứng xung đơn vị của mạch. Hướng dẫn: Nhắc lạ đáp ứng xung
h(t) là ngõ ra của mạch hình P5.1-4 khi ngõ vào f(t) = d(t).
(b) Tìm hàm truyền H(w), và vẽ ½ H(w)½.
(c) Chứng tõ là khi tín hiệu đã lấy mẩu )(tf là ngõ vào của mạch, thì ngõ ra là
xấp xỉ bậc thang của f(t). Thời khoảng lấy mẩu là T.
5.1-5 (a) Mạch giử bậc một còn có thể được dùng để khôi phục tín hiệu f(t) từ các mẩu.
Đáp ứng xung của mạch là
÷
ø
ö
ç
è
æD=
T
t
th
2
)(
Với T là thời khoảng lấy mẩu. Xét tín hiệu lấy mẩu tiêu biểu )(tf và chứng tõ là
mạch này thực hiện phép nội suy tuyến tính. Nói cách khác, ngõ ra của mạch lọc
gồm đỉnh các mẩu kết nối bằng các đoạn đường thẳng. Dùng phương pháp thảo
luận ở phần 5.1-1 (hình 5.3b).
(b) Tìm hàm truyền của mạch lọc nay và đáp ứng biên độ, rồi so sánh với mạch
lọc lý tưởng cần thiết để khôi phục tín hiệu.
(c) Mạch lọc này là không nhân quả (noncausal) là không thực hiện được. Bằng
cách làm trễ đáp ứng xung để mạch lọc thực hiện được. Cho biết khâu trể tối
thiểu cần thiết để mạch là thực hiện được? Ảnh hưởng của khâu trễ lên tín
hiệu được khôi phục và đáp ứng tần số ra sao?
(d) Chứng tõ là mạch lọc trong phần (c) có thể thực hiện từ mạch lọc vẽ trong
hình P5.1-4 nối đuôi với một mạch lọc y hệt mạch lọc này. HƯớng dẫn:
chứng tõ là đáp ứng xung của mạch là D(t/2T).
5.1-6 Tín hiệu f(t) = sinc(200pt) được lấy mẩu dùng chuỗi xung tuần hoàn pT(t) vẽ trong
hình P5.1-6. Tìm và vẽ phổ của tín hiệu đã lấy mẩu. Nếu có thể khôi phục f(t).
Giải thích? Nếu tín hiệuđã lấy mẩu đi qua mạch lọc thông thâp lý tưởng có năng
thông 100 Hz và độ lợi đơn vị, tìm ngõ ra của mạch lọc. Tìm ngõ ra mạch lọc nếu
băng thông là B Hz, với 100 < B < 150. Điều gì xảy ra nếu băng thông lớn hơn
150 Hz?
5.1-7 Trong thí dụ 5.3, ta lấy mẩu tín hiệu f(t) bằng cách nhân tín hiệu này với chuỗi
xung pT(t), và có được tín hiệu được lấy mẩu vẽ trong hình 5.8d. Phương pháp
này được gọi là lấy mẩu tự nhiên. Hình P5.1-7 vẽ dạng lấy mẩu thường gọi là lấy
mẩu dùng đỉnh phẳng (flat top sampling) của cùng tín hiệu f(t) = sinc2(5pt).
(a) Chứng tõ là có thể khôi phục f(t) dùng phương pháp lấy mẩu đỉnh phẳng nếu
tốc độ lấy mẩu không bé hơn tốc độ Nyquist.
(b) Nếu khôi phục tín hiệu f(t) bằng phép lẩy mẩu đỉnh phẳng. Giải thích?
(c) Tìm biểu thức của phổ tín hiệu đã lấy mẩu )(wF và vẽ phát thảo phổ. Hướng
dẩn: Đầu tiên hảy chứng tõ là tín hiệu có đỉnh phẳng có thể được sản sinh
bằng cách cho tín hiệu f(t) dT(t) đi qua mạch lọc có đáp ứng xung là h(t) =
pT(t). Để khôi phục tín hiệu từ các mẩu, hảy thực hiện quá trình ngược lại.
5.1-8 Đĩa CD ghi tín hiệu âm thanh được số hóa dùng PCM. Giả sử băng thông của tín
hiệu âm thanh là 15 kHz.
(a) Cho biết tốc độ lấy mẩu là bao nhiêu?
(b) Nếu các mẩu Nyquist được lượng tử hóa thành 65536 mức (L = 65536) rồi
được mã hóa nhị phân, cho biết cần bao nhiêu bit để mã hóa các mẩu này?
(c) Cho biết số bit/s cần thiết để mã hóa tín hiệu âm thanh ?
(d) Với lý do thực tế đã thảo luận trong tài liệu, tín hiệu được lấy mẩu với tốc độ
lớn hơn tốc độ Nyquist. Các CD trong thực tế dùng 44.100 mẩu/s. Nếu dùng
L = 65 536, xác định số xung/s cần thiết để mã hóa tín hiệu.
5.1-9 Tín hiệu TV (viđêo và âm thanh) có băng thông là 4,5 MHz. Tín hiệu này được
lấy mẩu, lượng tử và mã hóa nhị phân để có tín hiệu PCM.
(a) Tìm tốc độ lấy mẩu nếu tín hiệu được lấy mẩu với tốc độ cao hơn tốc 9dộ
Nyquist 20%.
(b) Nếu các mẩu được lượng tử thành 1024 mức, cho biết cần bao nhiêu xung nhị
phân để mã hóa các mẩu
(c) Tìm tốc độ xung nhị phân (bit/s) của tín hiệu mã hóa nhị phân.
5.1-10 Chứng tõ là tín hiệu không thể đồng thời có giới hạn về thời gian và về băng
thông. Hướng dẫn:Hảy chứng tỏ là các giả định ngược đưa đến nghịch lý. Gải sử
tín hiệu đồng thời có giới hạn về thời gian và về băng thông nên F(w) =0 với
Bpw 2> . Trong trường hợp này ( )'4)()( BrectFF pwww = với B’> B. Điều này tức
là f(t) bằng với f(t)*2B’sinc(2pB’t). Tín hiệu sau này không thể có giới hạn về
thời gian do các phần đuôi của hàm sinc tiến về vô cùng.
5.2-1 Tín hiệu có giới hạn về thời gian 10ms và có băng thông cơ bản 10 kHz, xác định
số mẩu tín hiệu cần thiết N0 để tính FFT bậc lủy thừa 2 với độ phân giải tần số F0
ít nhất là 50Hz. Giải thích nếu không cần có đểm zêrô (zero padding)?
5.2-2 Để tính DFT của tín hiệu f(t) trong hình P5.2-1, viết chuỗi fk (với k=0 đến N0 –1)
nếu độ phân giải tần số F0 không bé hơn 0,25 Hz. Giả sử băng thông cơ bản (tần
số gấp) của f(t) ít nhất là 3 Hz. Không cần tính DFT, chỉ viết chuỗi fk thích hợp.
5.2-3 Tìm giá trị N0 và T thích hợp để tính DFT của tín hiệu e–tu(t). Dùng băng thông là
nơi đáp ứng biên độ giảm 1% so với trị định (tại w = 0). Tiếp đến, dùng tiêu
chuẩn 99% năng lượng để xác định băng thông (xem thí dụ 4.16).
5.2-4 Làm lại bải tập 5.2-3 với tín hiệu
1
2
)( 2 +
=
t
tf Hướng dẫn: wp -Û
+
e
t
2
1
2
2
5.2-5 Viết chuỗi thích hợp fk và gk cần thiết để tính tích chập của f(t) và g(t)) (vẽ trong
hình P5.2-5) dùng DFT. Dùng T = 1/8.
Các file đính kèm theo tài liệu này:
- Lấy mẫu tín hiệu ( chương 7).pdf