Trong xử lý tín hiệu, nhờ các linh kiên điện tử đã được tích hợp sẵn cùng những chiếc máy tính hiện đại gọn nhẹ, dễ sử dụng thì tin tức được số hóa và xử lý bằng các thuật toán đã được l
Trang 1
MỤC LỤC LỜI MỞ ĐẦU 3
Chương 1 5
Lí THUYẾT CHUNG VỀ XỬ Lí TÍN HIỆU SỐ 5
1.1 TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC THEO THỜI GIAN 5
1.2 BIỂU DIỄN SỰ BIẾN ĐỔI CỦA TÍN HIỆU VÀ HỆ THỐNG 6
1.2.1 Biến đổi sang miền Z 7
1.2.2 Biến đổi Fourier 8
1.3 BỘ LỌC SỐ 9
1.3.1 Hệ thống FIR 11
1.3.2 Hệ thống IIR 13
1.4 LẤY MẪU 17
1.5 DFT VÀ FFT 19
1.5.1 DFT 19
1.5.2 FFT 21
Chương 2 28
MÃ HểA BAND CON 28
2.1 CÁC HỆ THỐNG LỌC SỐ NHIỀU NHỊP 28
2.1.1 Bộ lọc phõn chia 28
2.1.2 Bộ lọc nội suy 33
2.1.3 Bộ lọc biến đổi nhịp lấy mẫu với hệ số hữu tỉ 36
2.2 BANK LỌC SỐ QMF 43
2.2.1 Bank lọc số phõn tớch 44
2.2.2 Bank lọc số tổng hợp 45
2.2.3 Bank lọc hai kờnh QMF 45
2.3 MÃ HểA BAND CON CỦA TÍN HIỆU TIẾNG NểI 51
2.3.1 Cấu trỳc dạng cõy phõn giải đều 52
2.3.2 Cấu trỳc dạng cõy đa phõn giải (Multiresolution) 55
2.4 MỘT SỐ LOẠI MÃ 57
Trang 22.4.1 Lượng tử hóa (Quantizing) 57
2.4.2 Mã hóa đều theo phương pháp so sánh 59
2.4.3 Mã hóa theo phương pháp phản hồi phi tuyến 64
2.5 GIẢI MÃ 66
Chương 3 67
MÔ PHỎNG MÃ HÓA BAND CON 67
3.1 GIỚI THIỆU VỀ MATLAB 67
3.2 CÁC KHỐI TRONG SIMULINK……… 68
3.2.1 Bộ lọc số (Digital Filter) 68
3.2.2 Bộ nội suy và bộ phân chia 68
3.2.3 Bộ mã hóa và giải mã 69
3.2.4 Bộ khuếch đại (Gain) 70
3.3 MÔ PHỎNG MÃ HOÁ BAND CON 71
KẾT LUẬN 73
CÁC THUẬT NGỮ VÀ BẢNG CHỮ VIẾT TẮT DÙNG TRONG ĐỒ ÁN 74
TÀI LIỆU THAM KHẢO 75
Trang 3LỜI MỞ ĐẦU
Trước kia, thông tin được xử lý hoàn toàn bằng tín hiệu tương tự hay khi tín hiệu số với các linh kiện điện tử các mạch logic phức tạp và cồng kềnh, giá thành lại cao Ngày nay, đi liền với sự phát triển của khoa học kỹ thuật và công nghệ là sự phát triển vượt bậc của máy tính đã làm gia tăng một cách mạnh mẽ các ứng dụng của XỬ LÝ TÍN HIỆU SỐ (Digital Signal Proccesing) Trong xử
lý tín hiệu, nhờ các linh kiên điện tử đã được tích hợp sẵn cùng những chiếc máy tính hiện đại gọn nhẹ, dễ sử dụng thì tin tức được số hóa và xử lý bằng các thuật toán đã được lập trình với tốc độ ngày càng cao Do đó, xử lý tín hiệu số
đã được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau như: thông tin liên lạc, phát thanh truyền hình, trong đo lường và tự động điều khiển và các nghành công nghệ khác.
Trong xử lý tín hiệu do dải tần số đưa vào xử lý rất rộng, các thành phần tần số không mong muốn sẽ gây nhiễu cho tín hiệu sau xử lý Đặc biệt là trong các lĩnh vực như xử lý tín hiệu hình ảnh, tín hiệu âm thanh trong khi dải tần phải xử lý là rất rộng, các thành phần tần số cao sẽ gây ra nhiễu tín hiệu khi xử
lý, vậy vấn đề đặt ra ở đây là làm thế nào để có thể nén được tín hiệu hay thu hẹp dải tần tín hiệu xử lý mà vẫn không làm mất thông tin.
Hiện nay, có rất nhiều phương pháp đã và đang được nghiên cứu rộng rãi để để xử lý tín hiệu âm thanh Tất cả đều với mục đích chung là làm thế nào
để biểu diễn tín hiệu âm thanh với ít bít nhất để giảm bề rộng của dải tần xử lý
và loại bỏ các thành phần không mong muốn ở dải tần cao trong khi vẫn giữ được âm thanh trung thực
Do tín hiệu âm thanh (tiếng nói) thì năng lượng của phổ tiếng nói tập trung ở miền tần số thấp, ở miền tần số cao thì năng lượng của phổ âm thanh rất nhỏ Các phương pháp nén tín hiệu trước đây, tiếng nói được mã hóa trong toàn bộ dải tần của tín hiệu, như vậy gây ra sự dư thừa thông tin khi mã hóa trong miền tần số cao Ý tưởng của đề tài MÃ HÓA BAND CON là chia dải tần
Trang 4của tín hiệu âm thanh thành nhiều dải con và mã hóa ở mỗi dải tần một số lượng bít khác nhau, ở dải tần cao thì mã hóa với số bít thấp hơn ở dải tần số thấp sẽ làm giảm một cách đáng kể không gian lưu trữ trong truyền phát, điều này làm cho việc mã hóa hay nén tín hiệu âm thanh tối ưu hơn, và nó cũng làm giảm bớt các thành phần tín hiệu không mong muốn.
Nội dung của đề tài được chia ra làm ba phần:
Chương 1 Lý thuyết chung về xử lý tín hiệu số.
Chương 2 Mã hóa band con
Chương 3 Mô phỏng hệ thống mã hóa band con bằng Matlab-simulink.
Trong quá trình làm đồ án được sự giúp đỡ rất nhiệt tình của các thầy, các cô cùng các bạn trong lớp Đặc biệt là thạc sĩ Nguyễn Văn Dương người đã trực tiếp hướng dẫn tôi hoàn thành đồ án này.
Tôi xin chân thành cảm ơn thạc sĩ Nguyễn Văn Dương, các thầy cô trong
tổ bộ môn điện tử viễn thông đồng các thầy cô trong trường ĐHDL Hải Phòng
và các bạn trong lớp ĐT901 đã giúp tôi hoàn thành tốt nhiệm vụ đồ án mà nhà trường và tổ bộ môn giao cho
Hải phòng, ngày 10 tháng 7 năm 2009
Sinh viên thực hiện:
Nguyễn Thị Tuyến
Trang 5Chương 1
LÝ THUYẾT CHUNG VỀ XỬ LÝ TÍN HIỆU SỐ
1.1 TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC THEO THỜI GIAN
Trong hầu hết các lĩnh vực có liên quan đến xử lý tin tức hoặc thông tinđều bắt nguồn với việc biểu diễn tín hiệu như một dạng mẫu thay đổi liên tục.Sóng âm tạo ra tiếng nói của con người cũng tuân theo nguyên tắc này Từ cácmẫu tín hiệu, để thuận tiện thì người ta biểu diễn tín hiệu bằng các hàm toánhọc, như các hàm biến đổi theo thời gian Ví dụ, chúng ta có thể biểu diễn xa(t)
là dạng sóng liên tục thay đổi theo thời gian (tín hiệu analog ) Ngoài ra, cũng cóthể biểu diễn tín hiệu bằng các hàm toán học của các biến rời rạc, chúng ta biểudiễn dãy tín hiệu này là x(n) Nếu tín hiệu được lấy mẫu từ tín hiệu tương tự vớichu kỳ lấy mẫu T, khi đó ta biểu diễn dạng của tín hiện là xa(nT)
Trong các hệ thống xử lý số tín hiệu, chúng ta thường dùng đến các dãyđặc biệt như:
Dãy nhảy đơn vị:
Dãy nhảy bậc đơn vị:
Dãy hàm mũ thực:
Dãy mũ ảo:
)) sin(
) (cos(
.
) (
Trang 6S(n) sin(n0) (1.1.5) Dãy chữ nhật:
Xử lý tín hiệu, tức chúng ta phải chuyển đổi tín hiệu về các dạng mẫu củatín hiệu mà ta muốn Do đó chúng ta phải quan tâm đến ở đây là các hệ thốngrời rạc, hoặc khi chúng ta biến đổi một dãy tín hiệu vào để được một dãy tínhiệu ra Sự biến đổi tín hiệu này có thể được miêu tả như hình 1.1
y( ) ( ) ( ) ( ) * ( ) (1.1.7)Dấu * ở đây dùng cho tổng chập
Ta có công thức tổng chập tương đương là:
y( ) ( ) ( ) ( ) * ( ) (1.1.8)
1.2 BIỂU DIỄN SỰ BIẾN ĐỔI CỦA TÍN HIỆU VÀ HỆ THỐNG
Phân tích và thiết kế của các hệ thống tuyến tính sẽ rất đơn giản nếuchúng ta sử dụng trong miền Z và miền tần số cho cả hệ thống và tín hiệu, khi
đó chúng ta cần thiết phải xét đến sự biểu diễn Fourier, miền Z của hệ thống vàtín hiệu rời rạc theo thời gian
T[]
Trang 71.2.1 Biến đổi sang miền Z
Sự biến đổi sang miền Z của một dãy được định nghĩa bằng hai phươngtrình sau:
X( ) ( ). (1.2.1) Trong miền thời gian:
X Z Z dZ
j n
(1.2.2)
Từ công thức (1.2.1) ta thấy dãy tín hiệu x(n) được biến đổi sang miền Z(biến đổi Z thuận) Sau khi tín hiệu được biến đổi sang miền Z thì tín hiệu làmột dãy lũy thừa đối với biến 1
X , giá trị của dãy x(n) biểu diễn bộ các hệ sốtrong dãy lũy thừa Một cách chung nhất, điều kiện đủ để biến đổi sang miền Z
là dãy lũy thừa phải hội tụ tại một giá trị giới hạn
x( ) (1.2.3)Một bộ các giá trị cho các dãy hội tụ đựợc định nghĩa bằng một vùngtrong mặt phẳng Z Nói chung miền này có dạng:
R1 < Z < R2 (1.2.4)
Bảng 1.1 là các tính chất của phép biến đổi Z ngược
Trang 81 Tính tuyến tính a.x1(n) + b.x2(n) a.X1(Z) +b.X2(Z)
) (
Z d
Z dX
5 Đảo trục thời gian X(-n) ( 1)
Z X
6 Tích chập của hai dãy x(n)*h(n) X(Z).H(Z)
7 Tích của hai dãy x(n).w(n)
C
dV V V Z W V X
2
Bảng 1.1 Các tính chất của phép biến đổi Z ngược
Biến đổi Z ngược được đưa ra bởi tích phân đường trong phương trình(1.2.2), trong đó C là đường cong kín bao quanh gốc tọa độ trong mặt phẳng Z,nằm trong miền hội tụ của X(Z) Trong những trường hợp đặc biệt của phépbiến đổi Z ngược, như xử dụng tính chất của phép biến đổi Z ngược
1.2.2 Biến đổi Fourier
Phép biến đổi Fourier của tín hiệu rời rạc theo thời gian được biểu diễnbằng công thức:
e n x e
Trang 9phẳng Z Điều kiện đủ để tồn tại biến đổi Fourier có thể tính bằng cách gán
e X
được tính bằng X(Z) trên vòng tròn đơn vị, nên chúng ta có thể thấy rằng
1.3 BỘ LỌC SỐ
Bộ lọc số là hệ thống tuyến tính bất biến theo thời gian Thông số vào racủa hệ thống quan hệ với nhau bằng tổng chập trong phuơng trình (1.1.7) và(1.1.8), quan hệ trong miền Z được đưa ra trong bảng (1.1)
Y(Z) = H(Z).X(Z) (1.3.1)
Re[Z]
Im[Z]
Trang 10Chuyển đổi miền Z của đáp ứng xung đơn vị H(Z) được gọi là hàm hệthống Biến đổi Fourier của đáp ứng xung đơn vị ( j )
r j
e H j e H e
H (1.3.2)Hoặc biểu diễn dưới dạng góc pha:
e e H e
H arg (1.3.3)Một hệ thống tuyến tính bất biến nhân quả là dạng có h(n) = 0 với n<0.Một hệ thống ổn định là dạng với tất cả các thông số đưa vào hữu hạn tạo
e
vào đó, tất cả các hệ thống tuyến tính bất biến đựợc quan tâm để thực hiện nhưcác bộ lọc có một thuộc tính là các thông số vào ra thỏa mãn phương trình saiphân có dạng:
k
a n
y
0 1
. (1.3.5)Chuyển đổi sang miền Z cả hai vế của phương trình ta được:
So sánh hai phương trình trên, từ phương trình sai phân (1.3.3) ta có thểđạt được H(Z) trực tiếp bằng cách đồng nhất các hệ số của phần tử trễ trong(1.3.5) với các lũy thừa tương ứng 1
Z Hàn hệ thống H(Z) là một hàm hữu tỉ của 1
Z Nó có thể được biểu diễnbằng dạng điểm cực và điểm không trong mặt phẳng Z Như vậy H(Z) có thể viếtdưới dạng:
Trang 111
1
k
k
M r
r
Z d
Z c A
có thể có chính xác pha tuyến tính Nếu h(n) xác định theo công thức sau:
Dạng pha tuyến tính chính xác thường rất hữu ích trong các ứng dụng xử
lý tiếng nói, khi mà xác định thứ tự thời gian là cần thiết Các thuộc tính này của
Trang 12bộ lọc FIR cũng có thể đơn giản hóa vấn đề xấp xỉ, nó chỉ xét đến khi đáp ứng
độ lớn cần thiết Khoảng sai số mà được bù để thiết kế các bộ lọc với đáp ứngxung pha tuyến tính chính xác là phần mà một khoảng thời gian tồn tại đáp ứngxung phù hợp được yêu cầu để xấp xỉ phần nhọn bộ lọc bị cắt đi
Dựa trên những thuộc tính chung với bộ lọc FIR pha tuyến tính, người ta
đã phát triển ba phương pháp thiết kế xấp xỉ:
Thiết kế cửa sổ
Thiết kế mẫu tần số
Thiết kế tối ưu
Chỉ phương pháp đầu tiên là phương pháp phân tích, thiết kế khối khépkín tạo bởi các phương trình có thể giải để nhân được các hệ số bộ lọc Phươngpháp thứ hai và phương pháp thứ ba là phương pháp tối ưu hóa, nó sử dụngphương pháp lặp liên tiếp để được thiết kế bộ lọc
Hình 1.3 Mạng số cho hệ thống FIR
Bộ lọc số thường được biểu diễn dạng biểu đồ khối, như hình (1.3) ta biểudiễn phương trình sai phân (1.3.8) Sơ đồ như vậy thường được gọi là một cấutrúc bộ lọc số Trên sơ đồ, biểu diễn các toán tử yêu cầu tính giá trị mỗi dãy ra
từ giá trị đưa vào Những phần tử cở bản của sơ đồ biểu diễn ý nghĩa phép cộng,nhân các giá trị của dãy với hằng số (các hằng số trên nhánh hàm ý phép nhân),
và chứa các giá trị của dãy trước đưa vào Vì vậy biểu đồ khối đưa ra chỉ dẫn rõrang về tính phức tạp của hệ thống
Trang 13r r
a n
y
. (1.3.12)Phương trình này là công thức truy hồi, nó có thể được sử dụng để tínhgiá trị của dãy ra từ các giá trị trước đó của thông số ra và giá trị hiện tại, trước
đó của dãy đầu vào Nếu M < N trong phương trình (1.3.7), thì H(Z) có thể biếnđổi về dạng:
A Z
H
1 1 1)
( (1.3.13)Cho hệ thống nhân quả, vậy:
N k
n k
k d u n A
n h
1
. (1.3.14)
Ta có thể thấy rằng dãy h(n) có chiều dài vô hạn Tuy nhiên, vì công thứctruy hồi (1.3.12) thường dùng để thực hiện bộ lọc IIR, nó sử dụng ít phép tínhhơn là đối với bộ lọc FIR Đều này là đúng cho các bộ lọc lựa chọn tần số cắtnhọn
Có nhiều phương pháp thiết kế sẵn có cho bộ lọc IIR Những phươngpháp thiết kế cho bộ lọc lựa chọn tần số (thông thấp, thông dải, …) một cáchchung nhất là dựa trên những biến đổi của thiết kế tương tự
Trang 14Sự khác nhau chính giữa FIR và IIR là IIR không thể thiết kế để có phatuyến tính chính xác, khi mà FIR có những thuộc tính này, còn bộ lọc IIR hiệuquả hơn trong thực hiện lọc cắt nhọn hơn là FIR.
Mang bao hàm phương trình (1.3.12) được biểu diễn trong hình (1.4a)Cho trường hợp N = M = 3, nó thường được gọi là dạng biểu diễn trựctiếp Phương trình sai phân (1.3.12) có thể được chuyển sang dạng tương đương.Đặc biệt bộ phương trình sau thường được sử dụng:
Bộ phương trình này có thể biểu diễn như trong hình (1.4b), với bộ nhớ
để lưu dữ được yêu cầu để chứa các giá trị dãy trễ
Phương trình (1.3.7) chỉ ra rằng H(Z) có thể biểu diễn như một tích cácđiểm cực Những điểm cực và điểm không này là các cặp liên hợp phức, vì các
hệ số ak và bk là thực
Bằng những nhóm liên hợp phức điểm cực và điểm không trong cặp liênhợp phức, nó cũng có thể biểu diễn H(Z) như tích của các hàm hệ thống cơ bảncấp hai:
Z a Z a
Z b Z b A
Z H
1 1 1 2 2
2 2
1 1
.
1
.
1
(1.3.16)
K là phần nguyên của (N+1)/2 Hệ thống cấp hai này được biểu diễn nhưtrong hình (1.5a) cho trường hợp N = M = 4
Trang 15Hình 1.4a Cấu trúc dạng trực tiếp
Hình 1.4b Cấu trúc dạng trực tiếp tối giản
Tiếp tục, một cấp độ cao hơn được xét đến Dạng phân số mở rộng của phương trình (1.3.13) cho ta hướng khác để biểu diễn Bằng cách kết hợp nhữngphần liên quan đến cực liên hợp phức, H(Z) có thể viết như sau:
Z a Z a
Z c c Z
H
1 1 0
.
1
.
(1.3.17)Điều này gợi ý một dạng sơ đồ song song biểu diễn như hình (1.5b) cho N= 4
Trang 16
Hình 1.5a Cấu trúc dạng tầng
Hình 1.5b Cấu trúc dạng song song
Trong những ứng dụng lọc tuyến tính, dạng song song đưa ra những đặctính cao hơn về phương diện làm tròn giảm tiếng ồn, các sai số hệ số, và tính ổnđịnh
Trang 17đổi, thông thường người ta dùng phương pháp lấy mẫu tín hiệu tương tự Từ
xa(t), lấy các giá trị đều nhau ta được:
Nếu một tín hiệu xa(t) có biến đổi Fourier dải giới hạn Xa(j), tức Xa(j
) = 0 với 2 F N, thì xa(t) có thể tạo lại một cách duy nhất từ các mẫu cáchđều nhau xa(nT), n, nếu 1/T >2FN.
Định lý trên xuất phát từ thực tế là nếu biến đổi Fourier của xa(t) đượcđịnh nghĩa:
j
k T j j X T e
X 1 .2 (1.4.3)
Để thấy được mối quan hệ trong phương trình (1.4.3), ta hãy giả thiết rằng
Xa(j) được biểu diễn như hình (1.6a), như vậy Xa(j) = 0 với N 2 F N
, tần số FN gọi là tần số Nyquits Theo như phương trình (1.4.3), j T
e
X là tổngcủa một số vô hạn các bản sao của Xa(j), với mỗi trung tâm là bội số nguyêncủa 2 /T Hình (1.6b) biểu diễn trường hợp 1/T> 2FN Hình (1.6c) biểu diễntrường hợp 1/T<2FN, trong trường hợp này trung tâm của ảnh tại 2 /T gối lêndải cơ bản Điều kiện này, nơi mà một tần số cao có vẻ đảm nhiệm giống như làtần số thấp, được gọi là trùm phổ Rõ rang rằng hiện tượng trùm phổ chỉ tránhđược khi biến đổi Fourier có dải giới hạn và tần số lấy mẫu lớn hơn hoặc bằnghai lần tần số mẫu (1/T>2FN)
Xa(j)
1
0
Xa(e jT )
1/T
0 -
N N=2FN
Xa(e jT ) 1/T
Trang 18(a)
(b)
(c)
Hình 1.6 Minh họa lẫy mẫu tần số
Với điều kiện 1/T>2FN, rõ ràng rằng biến đổi Fourier của dãy các mẫutương ứng với biến đổi Fourier của tín hiệu tương tự trong dải cơ bản như:
X j
T e
T nT t
T nT t nT
x t
x
/
/ sin
.
(1.4.5)Như vậy với tần số lấy mẫu lớn hơn hoặc bằng hai lần tần số Nyquits thì
ta có thể khôi phục lại tín hiệu tương tự cơ bản bằng phương trình (1.4.5)
1.5 DFT VÀ FFT
1.5.1 DFT
Khi tín hiệu tương tự là một tín hiệu tuần hoàn với chu kỳ N, tức là:
Trang 19~x n ~xnN với n (1.5.1)
Như vậy ~x n có thể biểu diễn bằng tổng rời rạc, không cần biểu diễnbằng tích phân như trong phương trình (1.2.6) Biểu diễn Fourier của một dãytuần hoàn:
e n x k
.
~ 1
N
n k N j
e k X N n
x (1.5.3)Đây kà sự biểu diễn chính xác của dãy tuần hoàn Bây giờ ta xét đến dãy
có độ dài hữu hạn, tức là các giá trị nằm ngoài khoảng 0 nN 1đều bằngkhông, biến đổi Z của dãy đó sẽ là;
n
Z n x Z
X (1.5.4)Nếu tính X(Z) tại N điểm cách đều nhau trên vòng tròn đơn vị, tức là:
k N
N n n k
e
e với k = 0, 1, …, N-1 (1.5.5)Nếu ta cấu trúc một dãy thành vô hạn, bằng cách lặp lại dãy x(n) như:
e X
e n x k
.
1 N N
n k N j
e k X N n
x với n = 0, 1, …, N-1 (1.5.8)
Rõ ràng rằng phương trình (1.5.7) và (1.5.8) với (1.5.2), (1.5.3) chỉ khácnhau là bỏ ký hiệu ~ (~ là ký hiệu chỉ tính tuần hoàn) và hạn chế trong khoảng
1 0
,
1
0 k N nN Tuy nhiên một điều quan trọng khi sử dụng biểu diễnDFT là tất cả các dãy tuần hoàn đưa ra trong phương trình (1.5.6) Một điểm
Trang 20khác là khi biểu diễn DFT được sử dụng thì các chỉ số dãy phải được thể thểhiện phần dư của N (Mod) Điều này xuất phát từ thực tế là nếu x(n) có độ dài Nthì:
Biểu diễn DFT có những ưu điểm sau:
DFT, X(k) có thể được xem như cấp độ lấy mẫu của biến đổi Z (hoặcbiến đổi Fourier) của dãy hữu hạn
DFT có các thuộc tính rất giống với nhiều thuộc tính hữu ích củabiến đổi Z và biến đổi Fourier
Giá trị N của X(k) có thể tính rất hiệu quả bằng cách sử dụng cácthuật toán như FFT (Fast Fourier Trans form) Trong bảng 1.2 là một số tínhchất quan trọng của biến đổi DFT
e j N k n
3 Đảo trục thời gian x((-n))N X*(k)
4 Tích chậpcủa hai dãy
N
N m
m n h m
N
r k W r X N
Trang 21Bảng 1.2.Một số tính chất quan trọng của biến đổi DFT.
1.5.2 FFT
Ở trên chúng ta đã biết biến đổi Fourier rời rạc (DFT) Nhưng trong tínhtoán, để tăng tốc độ tính, người ta đã tìm ra thuật toán tính DFT một cách nhanhchóng và hiệu quả được gọi là phép biến đổi nhanh Fourier
Như chúng ta đã biết, DFT của dãy x(n) là:
n k N
W n x k
X với k = 0, 1, …, N-1 (1.5.10) trong đó:
e
W n j N n n N
sin 2
cos
2
kn N
W k X N n
x với n = 0, 1, …, N-1 (1.5.11)Trong phương trình (1.5.10) và (1.5.11) cả x(n) và X(k) đều có thể là sốphức:
2 cos
N
n
n k N n
k N n
jb n a k
jB k
2 cos
N
n
kn N n
b kn N n
a k
2 cos
N
n
kn N n
a kn N n
b k
Các biểu thức (1.5.10) và (1.5.11) chỉ khác nhau về dấu mũ của W và ở hệ
số tỉ lệ 1/N Vì vậy mọi lý luận về các tính biểu thức (1.5.10) đều được áp dụngcho biểu thức (1.5.11) với một vài thay đổi nhỏ về dấu và hệ số tỉ lệ Trước hếtchúng ta xem xét qua cách tính trực tiếp DFT với một số nhận xét như lưu ý sau:
Trang 22 Một phép nhân số phức tương đương với bốn phép nhân số thực.
Số lượng phép tính chỉ là tương đối, ví dụ như phép nhân với W = 1trong thực tế không cần thực hiện nhưng ta vẫn tính, vì n lớn nên các phép tínhkiểu này sẽ không đáng kể
Thời gian làm một phép nhân (tn), trong máy tính vạn năng lớn hơnrất nhiều thời gian làm một phép cộng (tc) Vì vậy chúng ta phải quan tâm làmgiảm nhỏ phép nhân là chính Thời gian phụ (tp) làm các công việc khác nhưtruyền số liệu, đọc các hệ số sẽ có thể tạm bỏ qua Do vậy độ phức tạp tính toántrên phương diện thời gian sẽ tỉ lệ với số phép tính số học (số phép tính nhân làchính và số phép tính cộng)
Việc tính X(k) tương đương với việc tính phần thực A(k) và phần ảo B(k)
Ta thấy rằng mỗi giá trị của k, việc tính toán trực tiếp X(k) cần 4N phép nhân sốthực và (4N-2) phép cộng số thực Vì X(k) phải tính cho các giá trị khác nhaucủa k, cho nên cách tính trực tiếp DFT của một dãy x(n)cần có 2
4N phép nhânthực và N(4N-2) phép cộng số thực Hay nói cách khác cần có 2
N phép nhân sốphức và N(N-1) phép cộng số phức Do số lần tính toán và thời gian tính toán tỉ
lệ gần đúng với 2
N nên rõ ràng rằng số phép toán số học cần có thể tính trựctiếp DFT sẽ rất lớn khi N tăng Do vậy mọi thuật toán đều cố gắng tìm mọi cáchlàm giảm số phép tính, đặc biệt là số phép nhân
Chúng ta sẽ xét một vài thuật toán FFT cơ bản nhất và hiệu quả, các thuậttoán này có số phép tính tỉ lệ với N.log2(N) Nguyên tắc cơ bản của tất cả cácthuật toán là dựa trên việc phân tích các tính DFT của một dãy N điểm (gọi tắt làDFT N điểm) thành các phép tính DFT của các dãy nhỏ hơn Nguyên tắc này đãdẫn đến các thuật toán khác nhau và tất cả đều giảm đáng kể thời gian tính toán.Trong phần này chúng ta sẽ xét đến hai lớp cơ bản nhất của thuật toán FFT:thuật toán FFT phân chia theo thời gian và phân chia theo tần số
1.5.2.1 Thuật toán FFT phân chia theo thời gian
Nguyên tắc chung
Trang 23Nguyên tắc cơ bản nhất của các thuật toán FFT là dựa trên việc phân táchDFT N điểm thành DFT nhỏ hơn (tức là số điểm tính DFT nhỏ hơn) Theo cáchnày chúng ta sẽ khai thác cả tính tuần hoàn và tính đối xứng của W.
là FFT cơ số 2), tức là M
N 2
Do N là một số chẵn nên ta có thể tính X(k) bằng cách tách x(n) thành haidãy, mỗi dãy có N/2 điểm, một dãy chứa điểm lẻ của x(n) và một dãy chứa điểmchẵn của x(n) Cụ thể từ công thức tĩnh X(k) ta có:
N n
kn N
W n x k
X với k = 0, 1, …, N-1Sau khi tách dãy x(n) thành các dãy đánh số chẵn và số lẻ, ta có:
0
1 2
0
2 2
1 2
0
1 2
0
1 2 2
1 2 2
1 2
rk N
rk N
W r x W W
r x
W r x W
r x k
2 2
2 2
Trang 241 2
2
1 2
rk
W r x k
W r x k
W r
x k
X (X1 tương ứng với r lẻ)
ta có:
X k X0 k W k.X1 k (1.5.16)
Có thể thấy ngay X0(k) và X1(k) chính là DFT của N/2 điểm, trong đó
X0(k) là DFT N/2 điểm của các điểm đánh số chẵn của dãy x(n) ban đầu, còn
X1(k) là DFT N/2 điểm đánh số lẻ của dãy ban đầu Mặc dù chỉ số k của dãyX(k) chạy qua N giá trị: k = 0, 1, …, N-1 nhưng ta chỉ cần tính, X0(k) và X1(k)với k chạy từ 0 đến N/2-1, do X0(k) và X1(k) tuần hoàn với chu kỳ N/2 Sau khi
hai DFT X0(k) và X1(k) tương ứng được tính, chúng sẽ được kết hợp với nhau đểtạo ra DFT N điểm là X(k)
Bây giờ ta có thể sơ bộ tính số phép nhân và cộng cần có cho cách tínhDFT kiểu này Ta biết rằng một DFT N điểm nếu tính trực tiếp thì cần 2
N 2 thì ta có thểchia đôi như vậy M lần, cho đến khi số điểm tính DFT là bằng 2 Do việc liên
Trang 25tục chia 2 nên người ta còn gọi FFT cơ số 2 để phân biệt FFT cơ số 4 nếu
0
1 2
rk
W r x k
W r g W
W l g
W l g W
l g k
X
k N
k N
lk N
N
l
k l N N
l
lk N
01 2 00
1 4
0
1 4
0
4 2
4
1 4
0
1 2 2
1 4
0
2 2 0
.
1 2
2
1 2
Như vậy X0(k) lại được tách thành hai DFT là X00(k) và X01(k) Với X00(k)
là DFT của dãy g(r) có chỉ số chẵn và X01(k) là DFT của dãy g(r) có chỉ số lẻ.Công việc được làm hoàn toàn tương tự cho X1(k)
Cuối cùng việc phân tách như vậy dẫn đến các DFT hai điểm, khi đó các
hệ số W thực sự mang giá trị đặc biệt là 1 và -1 nên trong thực tế không phảilàm phép nhân nữa và việc phân chia cũng dừng lại
N 2 , số lần phân chia là M lần Số phép tính nhân và cộng phứccần thực hiện sau M=log2N phân chia có thể tính như sau: tương ứng với mỗilần phân chia ta cần N phép nhân phức để nhân các kết quả của DFT của tầngtrước với hệ số W tương ứng và N phép cộng phức để nhóm kết quả lại với phức
Trang 26của dãy X(k) gắn liền với thanh tần số nên các thuật toán này được gọi là cácthuật toán FFT phân chia theo tần số.
Với giả thiết M
N 2 , ta có thể chia dãy vào thành hai nửa, một nửa chứaN/2 mẫu đầu, x(n) với n=0, 1, …, N/2-1 Nửa sau chứa N/2 mẫu còn lại, ta có:
n k N n
k
W n x k
0
1 2
0
2
.
2
N n k
W k x k
0
.
2
1
N
n
n N k
W
N n x n
x k
X
Xét k=2r (k chẵn) và k=2r+1 (k lẻ) ta nhận được X(2r) và X(2r+1) tươngứng với dãy ra chỉ số chẵn và dãy ra chỉ số lẻ:
n
N
n
r n N
W W
N n x n x r
X
W
N n x n x r
X
2
1 2
0
1 2
0
2
2 1
2
2 2
2
2
nên ta có thể thấy ngay X(2r) chính là DFT N/2 điểm củadãy:
g(n)=x(n)+x(n+N/2)
trong đó g(n) là tổng nửa đầu của dãy x(n) với nửa sau dãy x(n)
X(2r+1) là DFT N/2 điểm của tích W với dãy
h(n)= x(n)-x(n+N/2)
trong đó h(n) là hiệu của nửa đầu dãy x(n) với nửa sau của dãy x(n)
Như vậy DFT N điểm của dãy x(n) có thể được tính như sau:
Trang 27Trước hết tạo ra hai dãy h(n) và g(n), sau đó thực hiện W.h(n) Cuối cùngthực hiện DFT của hai dãy này, ta sẽ có các điểm ra X(k) chỉ số chẵn và X(k)chỉ số lẻ.
Với mỗi DFT N/2 điểm ta lại tiến hành hoàn toàn tương tự như đã làm ởtrên để tách mỗi DFT N/2 điểm thành 2 DFT N/4 điểm Cứ thế cho đến khi DFTcuối cùng là các DFT hai điểm Qua quá trình như vậy tại mỗi lần phân tách, tacần N/2 phép nhân và tất cả có M=log2N lần phân tách Số phép nhân tổng cộng
Kĩ thuật lọc số nhiều nhịp ngày càng được ứng dụng nhiều trong lĩnh vực
xử lý số tín hiệu, như là nó có thể dùng để tăng tốc độ tính toán trong các bộ lọc
số bằng cách giảm số phép nhân thực hiện được trong một giây
Trong quá trình xử lý tín hiệu thì bề rộng của dải tần số có thể thay đổi,như là các phép lọc có thể triệt tiêu các thành phần tần số không mong muốn,khi đó bề rộng dải tần của tín hiệu xử lý sẽ giảm đi, vậy chúng ta có thể giảm tần
số lấy mẫu cho phù hợp với bề rộng phổ của tín hiệu do đó chúng ta đã giảmđược số phép tính trong bộ lọc số
Do tính chất ưu việt của bộ lọc số nhiều nhịp này mà nó đã được nghiêncứu và ứng dụng nhiều trong kỹ thuật viễn thông, đặc biệt là trong xử lý tín hiệu
Trang 28số: xử lý tiếng nói, xử lý hình ảnh, các hệ thống antenna, kỹ thuật audio số Đặtbiệt hơn là ứng dụng chính của nó là mã hóa band con (subband coding) trong
xử lý tiếng nói, ta sẽ nghiên cứu ở phần sau
Hệ thống xử lý số nhiều nhịp là hệ thống xử lý số tín hiệu mà tần số (hoặcnhịp) lấy mẫu được thay đổi trong quá trình xử lý
2.1.1 Bộ lọc phân chia
Hệ thống mà giảm tần số lấy mẫu từ F S tới F S' F S /M
(M>1, nguyêndương) là bộ phân chia
Hình 2.1.1 Bộ phân chia
Tần số lấy mẫu F S của tín hiệu rời rạc x(n) sau khi qua bộ phân chia sẽgiảm đi M lần, tức là:
M M
F F
F M
F
S S
S S
S S
F
T 1 tăng lên M lần và '
' 1
S S
số M, nên tín hiệu ra yM (n) chỉ lấy giá trị của các tín hiệu vào x(n) ở các mẫun.M (n, M nguyên dương)
M
x(n)
T
y(n) = x(nM)
TM: hệ số phân chia
Trang 29Vậy chiều dài của tín hiệu bị có lại M lần: Ly n M
n x L
M
( )
) (
Phép phân chia trong miền z có thể biểu diễn như trong hình 2.1.1
Hình 2.1.2 Bộ phân chia trong miền z
Trong miền biến số độc lập ta có: yM (n) = x(n.M)
n M
Y ( ) ( ). (2.1.3)Mặt khác ta có dãy p(m):
1 1
)
(
M
o l
M
o l
lm M j lm
M
M n l e
M
W M m
p
l¹i cßn víi
víi
(2.1.4)Đặt m = n.M n=m/M thay vào 1.2.3 ta có:
M
m lm
M j
m
M m
M z
m P m x z
Y
1 2
).
(
1
2 1
1 )
l
l M j M
M z
Nếu đánh giá YM (z) và X z trên vòng tròn đơn vị của mặt phẳng z thì
ta sẽ được mối quan hệ giữa ( j )
2 1
0
2
1
.
l
M l j M
l
l M j M j j
M e
e X M e
đi qua mạch phân chia hệ số M, trong miền tân số sẽ tạo ra M-1 thành phần hưdanh, các thành phần hư danh này sẽ gây ra hiện tượng chồng phổ nhưng nếu
M
X(z) Y(n)
Trang 30x(n) có dải phổ nằm trong khoảng M <<M tức tần số giới hạn dải chắn
Trong đó h(n) là đáp ứng xung của mạch lọc thông thấp
Biểu diễn toán tử:
Trong miền biến số n ta có phép lọc phân chia:
x k
Trang 311 0
1 1
1
.
1
M M l
M
M M
M W
z Y M
2 1
0
2 2
1
1 M l
M l j M
l
M l j M
l j H j
M
M e
Y M e
j l
j M
M e
Trang 32 X e
M e
l j M
x '
Do tần số lấy mẫu được tăng lên L lần, nên khi tín hiệu qua mạch nội suy
có hệ số L thì chiều dài của tín hiệu bị giãn ra L lần:
LyL n /Lx n L
Phép nội suy trong miền z:
L
x(n)
T
y(n) = x()
T
L Hệ số nội suy
Trang 33
Hình 2.1.5 Biểu diễn phép nội suy trong miền z
Trong miền biến số độc lập n ta có:
L L n
voi L
n x n
y L
0
2 , , 0
L
L
n x z
n y z
j
e z L
j X z e
Y / (2.1.11)Chúng ta thấy rằng phép nội suy đã chèn thêm L-1 mẫu biên độ 0 vào giữhai mẫu của tín hiệu vào x(n) trong miền biến số n, tương ứng trong miền tần số
sẽ tạo ra L-1 ảnh phụ của phổ cơ bản sau khi đã co hẹp lại L lần để nhường chỗcho L-1 ảnh phụ mà không gây hiện tượng chồng phổ như vậy phép nội suy
Trang 34đặt sau mạch nội suy một mạch lọc có C L
2L
L, 0, n víi
0L
n x n x L n
LH
L L
k k n h L
k x k
n h k y
n y n h n h n y n y
2 , , 0
.
*
Bộ lọc thông thấp có h(n): đáp ứng xung của bộ lọc
Trang 35 j j
Y j j jL j
L
j
2.1.3 Bộ lọc biến đổi nhịp lấy mẫu với hệ số hữu tỉ
Trong kĩ thuật nhiều khi thực hiện một nhiệm vụ nào đó chúng ta cần phảithay đổi nhịp lấy mẫu với hệ số hữu tỉ M/L Để thực hiện nhiệm vụ này chúng ta
sẽ ghép nối tiếp hai bộ nội suy và phân chia với nhau, bộ này gọi là bộ biến đổinhịp với hệ số M/L
Y(e)
Trang 36Hình 2.1.7 Bộ biến đổi nhịp lấy mẫu
Ta thấy rằng tần số lấy mẫu FS của tín hiệu vào x(n) sau khi qua bộ biến
đổi nhịp với hệ số M/L thì tần số lấy mẫu sẽ bị thay đổi L/M lần, tức là:
( ) ( )
/ n n
x L
F F
y y
S S
S S
L M
L M M L
n n
F F
y
S S
S S
L M
L
M n x n x M L n
) ( ) (
) (
) (
) (
"
"
/
T T
F F
y
S S
S S
L M
L
M n x n
x M L n
) (
) ( "
"
T T
F F
S S
S S
nM x n
x
M
Trang 37Hình 2.1.8 Bộ biến đổi nhịp lấy mẫu hệ số M/L
Bộ phân chia và bộ nội suy không có tính chất giao hoán nên ta phải phânbiệt thứ tự trớc sau của bộ nội suy và bộ phân chia Mặt khác bộ phân chia, bộnội suy và bộ biến đổi nhịp không phải là những hệ thống bất biến theo biến số n
mà là hệ thống thay đổi theo biến số n
Trong hệ số M/L thì tử số là hệ số của bộ phân chia, mẫu số là hệ số của
bộ nội suy
Nếu M>L thì bộ thay đổi nhịp làm nhiệm vụ nén tín hiệu theo tỷ lệ M/LNếu M<L thì bộ thay đổi nhịp làm nhiệm vụ giãn tín hiệu theo tỷ lệ M/L.Dùng biến đổi Z để nghiên cứu quan hệ vào ra của các bộ biến đổi nhịp vàgiải thích tính chất của phép biến đổi nhịp lấy mẫu
Xét quan hệ vào ra của bộ biến đổi nhịp M/L ta có:
)()
z X n x
2 1
)(
1)
l
l M j M