Đồ án Mô phỏng việc lọc âm thanh qua phần mền Matlap

Với mục đích của đề tài là nghiên cứu bộ lọc tuyến tính tối ưu, nên trong nội dung của đề tài em đã trình bày được: cách biểu diễn quá trình ngẫu nhiên ổn định, ước lượng tuyến tính tiến và lùi, các thuật toán giải phương trình chuẩn tắc, đưa ra một số bộ lọc như: bộ lọc lưới AR, bộ lọc lưới hình thang ARMA. Đặc biệt em đi sâu vào bộ lọc Wiener, với mục tiêu là thiết kế bộ lọc triệt tiêu được những thành phần không mong muốn, lọc đi nhiễu thêm vào trong khi phải đảm bảo những đặc tính của tín hiệu mong muốn. Tuy nhiên trong giới hạn của đề tài này chưa trình bày được những ứng dụng cụ thể của bộ lọc tuyến tính, chưa thiết kế được bộ lọc tuyến tính tối ưu. Đây cũng là hạn chế và đồng thời cũng là hướng phát triển của đề tài.

doc75 trang | Chia sẻ: linhlinh11 | Lượt xem: 928 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Mô phỏng việc lọc âm thanh qua phần mền Matlap, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
nhiên ổn định x(n) khi đầu ra của bộ lọc IIR với hàm hệ thống H(z) đưa ra bởi (2.1.8) và kích thích bởi chuỗi nhiễu trắng được gọi là biểu diễn Wold. Nhiễu trắng (a) Bộ lọc tuyến tính nhân quả H(z) Bộ lọc tuyến tính nhân quả 1/H(z) x(n) Nhiễu trắng (b) x(n)= Hình 2.1: (a) Bộ lọc sinh ra quá trình ngẫu nhiên x(n) từ chuỗi nhiễu trắng (b) Bộ lọc ngược 2.1.1 Công suất phổ tỉ lệ Bây giờ, chúng ta xét trường hợp mật độ phổ công suất của quá trình ngẫu nhiên ổn định x(n) là hàm hữu tỉ, được biểu diễn xx = r1<<r2 (2.1.9) ở đây đa thức A(z) và B(z) có nghiệm, nghiệm này nằm trong vòng tròn đơn vị trong mặt phẳng z. Bộ lọc tuyến tính H(z) sinh ra quá trình ngẫu nhiên x(n) từ chuỗi nhiễu trắng cũng là hữu tỉ và được biểu diễn H(z)= > r (2.1.10) ở đây bk và ak là những hệ số bộ lọc, nó xác định vị trí của các điểm không và điểm các cực tách biệt của H(z). Do đó H(z) là nhân quả, ổn định và pha tối thiểu. Nghịch đảo 1/H(z) cũng là nhân quả, ổn định và là hệ thống tuyến tính pha tối thiểu. Do vậy, quá trình ngẫu nhiên x(n) là kết quả duy nhất về đặc tính đã thống kê của quá trình biến đổi và ngược lại. Để hệ thống tuyến tính cùng với hàm của hệ thống ngẫu nhiên H(z) được đưa ra bởi (2.1.10), đầu ra x(n) có quan hệ với đầu vào bằng các phương trình sai phân (2.1.11) Chúng ta sẽ phân biệt trong 3 trường hợp cụ thể: *Quá trình tự hồi qui (AR): b=1, b= 0, k> 0 Trong trường hợp này, bộ lọc tuyến tính H(z) = 1/A(z) là bộ lọc toàn điểm cực và phương trình sai phân cho mối quan hệ đầu vào_đầu ra là (2.1.12) bộ lọc nhiễu trắng tạo ra quá trình biến đổi là bộ lọc toàn điểm không. *Quá trình dịch chuyển trung bình(MA) : a=0, k1 Trong trường hợp này bộ lọc tuyến tính H(z)= B(z) là bộ lọc toàn điểm không và phương trình sai phân cho mối quan hệ đầu vào_đầu ra là (2.1.13) Bộ lọc nhiễu trắng cho quá trình MA là bộ lọc toàn điểm cực. *Quá trình dịch chuyển trung bình tự hồi qui (ARMA) Trong trường hợp này bộ lọc tuyến tính H(z)=B(z)/A(z) có hữu hạn cả điểm cực và điểm không trong mặt phẳng z và tương ứng với phương trình khác đưa ra bởi (2.1.11). Hệ thống ngược tạo ra quá trình biến đổi từ x(n) cũng là hệ thống điểm không - điểm cực của công thức 1/H(z)= A(z)/B(z) 2.1.2. Mối quan hệ giữa các thông số bộ lọc và chuỗi tự tương quan Khi mật độ phổ công suất của quá trình ngẫu nhiên ổn định là hàm hữu tỷ, tồn tại mối quan hệ cơ bản giữa chuỗi tự tương quan y(m) và thông số ak, bk của bộ lọc tuyến tính H(z), bộ lọc được tạo ra bởi quá trình lọc chuỗi nhiễu trắng w. Mối quan hệ này có thể đạt được bằng cách nhân phương trình sai phân trong (2.1.11) với , ta được kết quả mong muốn ở hai vế của phương trình. Do đó chúng ta có: + (2.1.14) Vì vậy (2.1.15) ở đây là chuỗi tương quan chéo giữa và Tương quan chéo có quan hệ với đáp ứng xung của bộ lọc. Đó là, = (2.1.16) = trong đó, ở bước trước, chúng ta sử dụng chuỗi là trắng. Do đó (2.1.17) Bằng cách kết hợp (2.1.17) với (2.1.14) chúng ta đạt được mối quan hệ mong muốn = (2.1.18) Kết quả này là mối quan hệ không tuyến tính giữa và thông số ak và bk. Mối quan hệ trong (2.1.18) thông thường dùng trong quá trình ARMA. Đối với quá trình AR (2.1.18) đơn giản hơn: = (2.1.19) Do đó chúng ta có mối quan hệ tuyến tính giữa và thông số ak. Phương trình này được gọi là phương trình Yule_Walker và có thể biểu diễn trong ma trận (2.1.20) Ma trận tương quan là Toeplitz và do đó nó có thể được đảo ngược bằng cách dùng các thuật toán được miêu tả trong phần 2.3. Cuối cùng, bằng cách đặt ak= 0, 1 và h(k) = bk, 0, trong (2.1.18), chúng ta đạt được mối quan hệ cho chuỗi tự tương quan trong trường hợp của quá trình MA, cụ thể là, (2.1.21) 2.2 ước lượng tuyến tính tiến và lùi Ước lượng tuyến tính là đề tài quan trọng trong xử lý tín hiệu số ước lượng có rất nhiều ứng dụng trong thực tế. Trong phần này chúng ta xem xét vấn đề giá trị ước lượng tuyến tính của quá trình ngẫu nhiên ổn định tiến hoặc lùi về mặt thời gian. Biến đổi công thức dẫn tới cấu trúc bộ lọc lưới và một vài vấn đề liên quan tới tham số của các mẫu tín hiệu. 2.2.1 Ước lượng tuyến tính tiến Hãy bắt đầu với vấn đề ước lượng giá trị trước của quá trình ngẫu nhiên ổn định từ các giá trị nhận được trước đó. Đặc biệt, chúng ta xét ước lượng tuyến tính một bước, thực hiện ước lượng giá trị x(n) bằng tổ hợp tuyến tính có trọng số của giá trị cũ x(n-1), x(n-2) ... x(n-p). Do đó giá trị ước lượng tuyến tính của x(n) là (2.2.1) ở đây, -ap(k) đại diện cho trọng số trong tổ hợp tuyến tính. Trọng số này được gọi là hệ số ước lượng của ước lượng tuyến tính tiến một bước của bậc p. Dấu âm trong định nghĩa x(n) để phù hợp trong toán học và thuận tiện trong thực hiện. Sự chênh lệch giữa giá trị x(n) và giá trị ước lượng (n) được gọi là lỗi ước lượng tiến, được biểu diễn như = x(n) - (n) = x(n) + (2.2.2) Chúng ta xem ước lượng tuyến tính tương đương tới việc lọc tuyến tính, ở đây giá trị ước lượng là tạp nhiễu trong bộ lọc tuyến tính như trong hình (2.2). Đây được gọi bộ lọc ước lượng lỗi với chuỗi đầu vào x(n) và chuỗi đầu ra . Sơ đồ thực hiện cho bộ lọc ước lượng lỗi thể hiện trong hình (2.3). Sơ đồ thực hiện này là bộ lọc FIR dạng trực tiếp. Với hàm của hệ thống. (2.2.3) ở đây, định nghĩa . Ta có thể sử dụng dạng sơ đồ khác của bộ lọc lỗi ước lượng, nó có dạng cấu trúc hình thang. Miêu tả cấu trúc này và quan hệ của nó tới cấu trúc bộ lọc FIR dạng trực tiếp. Hãy bắt đầu với giá trị ước lượng của bậc p=1. Đầu ra của bộ lọc là (2.2.4) Đầu ra này có thể đạt được từ bộ lọc lưới đơn tầng minh hoạ trong (2.4) bằng cách kích thích cả hai đầu vào bởi (2.2.4) và lấy đầu ra trên nhánh trên. Vì vậy đầu ra chính xác theo công thức (2.2.4) nếu chúng ta chọn K. Thông số K1 trong bộ lọc lưới gọi là hệ số phản xạ. Ước lượng tuyến tính tiến + - Hình 2.2 : Ước lượng tuyến tính tiến z-1 z-1 z-1 z-1 x(n) 1 ap(1) ap(2) ap(3) Hình 2.3 : Bộ lọc ước lượng lỗi Tiếp theo, xét đến ước lượng của bậc p=2. Trong trường hợp đầu ra của bộ lọc FIR dạng trực tiếp là: (2.2.5) Bằng cách kết hợp hai tầng lưới như trong hình 2.5. Nó có khả năng đạt được giống như đầu ra (2.2.5). Thực vậy, hai đầu ra từ tầng đầu là (2.2.6) Hai đầu ra từ tầng thứ 2 là (2.2.7) Nếu chúng ta tập trung chú ý vào và thay thế và từ (2.2.6) thành (2.2.7). Chúng ta đạt được (2.2.8) = Bây giờ (2.2.8) giống với đầu ra của bộ lọc FIR dạng trực tiếp đưa ra bởi (2.2.5) nếu chúng ta cân bằng các hệ số. Do đó a2(2) = K2 , a2(1) = K1 + (2.2.9) z-1 K1 g0(n-1) x(n) g0(n) g1(n) Hình 2.4 : Bộ lọc lưới đơn tầng z-1 z-1 K1 K2 x(n) Hình 2.5 : Bộ lọc lưới hai tầng hoặc tương đương, K2 = a2(2) K1 = a1(1) (2.2.10) Bằng cách tiếp tục một quá trình này có thể chứng minh bằng phương pháp qui nạp tương đương giữa bộ lọc mẫu trực tiếp FIR loại mth và bộ lọc lưới mth hoặc loại m. Bộ lọc lưới nói chung được miêu tả đặt theo sau những phương trình bậc đệ qui: (2.2.11) Sau đó đầu ra của bộ lọc lưới tầng p giống với đầu ra của bộ lọc mẫu trực tiếp bậc p. Hình 2.6 minh hoạ bộ lọc lưới tầng p dạng sơ đồ khối như biểu diễn trong công thức (2.2.11). Kết quả của sự tương đương giữa bộ lọc ước lượng lỗi FIR dạng trực tiếp và bộ lọc FIR dạng lưới, đầu ra của bộ lọc lưới tầng p chính xác là ap (0) =1 (2.2.12) Tầng thứ nhất Tầng Thứ hai Tầng pth x(n) z-1 gm(n) Hình 2.6: Bộ lọc lưới tầng-p Từ (2.2.12) là tổng chập, mối quan hệ biến đổi z là F (z) = Ap(z) X(z) (2.2.13) hoặc tương đương A = (2.2.14) Giá trị trung bình bình phương của lỗi ước lượng tuyến tính tiến là (2.2.15) = yxx(0) + 2 RE là hàm bậc hai của hệ số ước lượng và hàm cực tiểu hướng đến tập hợp của những phương trình tuyến tính. yxx = - , l= 1,2,.,p (1.2.16) Đây được gọi là những phương trình trung bình cho những hệ số ước lượng tuyến tính. Cực tiểu trung bình bình phương của ước lượng lỗi là tuyệt đối. min (2.2.17) Trong phần tiếp theo chúng ta hướng tới sự phát triển cao hơn về vấn đề giá trị ước lượng của chuỗi thời gian trong hướng đối nghịch, khoảng thời gian lùi. 2.2.2 Ước lượng tuyến tính lùi Giả sử chúng ta có chuỗi dữ liệu x(n), x(n-1) . . . x(n-p+1) từ quá trình ngẫu nhiên ổn định và chúng ta cần ước lượng giá trị x(n-p) của quá trình. Trong trường hợp này chúng ta tận dụng ước lượng tuyến tính lùi đơn bước của p. Do đó (2.2.18) Sự chênh lệch giữa giá trị x(n-p) và giá trị ước lượng được gọi là lỗi ước lượng lùi kí hiệu = (2.2.19) Ước lượng tuyến tính lùi có thể thực hiện bằng cấu trúc bộ lọc FIR dạng trực tiếp tương tự cấu trúc biểu diễn trong hình (2.2) hoặc cấu trúc lưới. Cấu trúc lưới được chỉ ra trong hình (2.6) chỉ ra ước lượng tuyến tính lùi cũng đảm bảo tốt như là ước lượng tuyến tính tiến. Chứng minh quan điểm này, hãy xét đầu ra của bộ lọc lưới này từ nhánh thấp nhất. Đầu ra này đưa ra: (2.2.20) Do đó trọng số hệ số ước lượng lùi là b1(0) = Trong tầng lưới hai trong hình (2.5), đầu ra tầng thứ hai từ nhánh cơ bản là g2(n) = (2.2.21) Nếu chúng ta thay thế từ (2.2.6) cho và , chúng ta đạt được (2.2.22) Dó đó, trọng số của các hệ số trong ước lượng tuyến tính lùi là đồng nhất tới các hệ số cho ước lượng tuyến tính tiến, nhưng chúng xuất hiện theo thứ tự ngược lại. Do đó chúng ta có k = 0,1, . . . ,p (2.2.23) Trong miền z, tổng chập trong (2.2.19) trở thành (2.2.24) hoặc tương đương (2.2.25) ở đây là kết quả hàm hệ thống của bộ lọc FIR với các hệ số . Từ đó = , có quan hệ tới như sau = = = = (2.2.26) Mối quan hệ trong (2.2.26) xác định các điểm không của bộ lọc FIR với hàm hệ thống là nghịch đảo liên hiệp phức của những điểm không của . Do đó được gọi là nhịch đảo hoặc đa thức đảo của . Bây giờ chúng ta đã thiết lập mối quan hệ giữa bộ lọc FIR dạng trực tiếp FIR và bộ lọc FIR dạng lưới, hãy quay trở lại phương trình lưới đệ qui trong (2.2.11) và biến đổi chúng sang miền z. Do vậy chúng ta có m = 1, 2, . . . ,p (2.2.27) , m = 1, 2, . . . ,p Nếu chúng ta chia mỗi phương trình bởi X(z), chúng ta đạt được kết quả mong đợi trong công thức m = 1, 2, . . . , p (2.2.28) , m = 1, 2, . . . , p Do đó bộ lọc lưới được miêu tả trong miền z bởi phương trình ma trận (2.2.29) Mối quan hệ trong (2.2.28) để và cho phép chúng ta đạt được bộ lọc FIR dạng trực tiếp hệ số am(k) từ hệ số phản xạ Km. Công thức để xác định hệ số bộ lọc đệ qui có thể dễ dàng nhận ra từ mối quan hệ đa thức (2.2.28).Chúng ta có Am(z) = Am-1(z) + Kmz-1Bm-1(z) (2.2.30) Bằng cách tính hệ số của phương trình công suất z-1 và lấy lại am(0)=1 cho m=1, 2, . . . , p, chúng ta đạt được phương trình đệ qui mong muốn cho hệ số bộ lọc trong công thức =1 . . . . . . + = (2.2.31) Chuyển đổi công thức từ bộ lọc FIR dạng trực tiếp hệ số sang hệ số phản xạ lưới cũng rất đơn giản. Đối với tầng p chúng ta lập tức đạt được hệ số phản xạ . Để tính , chúng ta cần đa thức cho m=p-1, . . . , 1, từ (2.2.29) chúng ta được (2.2.32) với đa thức đệ qui lùi đơn bước. Nhờ đó, chúng ta tính toán được tất cả đa thức bậc thấp bắt đầu với và được hệ số phản xạ lưới mong muốn từ mối quan hệ . Chúng ta nhận thấy những thủ tục bậc lớn hơn như cho . Từ hồi quy giảm bậc cho đa thức, chúng ta dễ dàng đạt được công thức cho mối quan hệ giữa cách tính toán theo hồi quy và trực tiếp , . Cho chúng ta có = (2.2.33) phương trình này chỉ ra hồi qui trong phần kiểm tra sự ổn định Schur _ Cohn cho đa thức . Như ở trên đã chỉ ra, phương trình hồi qui trong (2.2.33) sẽ bị phá vỡ nếu bất cứ thông số lưới nào . Trong trường hợp này đa thức có nghiệm nằm trên vòng tròn đơn vị. Như vậy nghiệm có thể được đánh hệ số ngoài và quá trình lặp trong (2.2.33) có thể dẫn tới hệ thống có số bậc giảm. Cuối cùng chúng ta xem xét đến việc giảm đến mức cực tiểu trung bình bình phương lỗi trong ước lượng tuyến tính lùi. Lỗi ước lượng tuyến tính lùi là (2.2.34) và giá trị trung bình bình phương của nó là (2.2.35) Giá trị tối thiểu của đối với hệ số ước lượng sinh ra giống như tập hợp phương trình tuyến tính trong (2.2.16). Do đó cực tiểu trung bình bình phương lỗi là (2.2.36) với phương trình đưa ra bởi (2.2.17) 2.2.3 Hệ số phản xạ tối ưu cho ước lượng lưới tiến và lùi Trong phần (2.2.1) và (2.2.2) chúng ta hiểu được tập hợp của những phương trình tuyến tính, phương trình này cung cấp hệ số ước lượng mà tối thiểu hoá giá trị trung bình bình phương của lỗi ước lượng. Trong phần này chúng ta xem xét vấn đề của hệ số phản xạ tối ưu trong ước lượng lưới. Lỗi ước lượng tiến trong bộ lọc lưới được biểu diễn là (2.2.37) Giá trị tối thiểu của đối với hệ số phản xạ mang lại kết quả (2.2.38) hoặc tương đương (2.2.39) ở đây Chúng ta quan sát lựa chọn tối ưu của các hệ số phản xạ trong ước lượng lưới là âm của hệ số tương quan chéo giữa lỗi tiến và lùi trong bộ lọc. Vì vậy nó thể hiện từ (2.2.38) mà , theo sau đó giá trị trung bình bình phương cực tiểu của lỗi ước lượng, lỗi mà có thể biểu diễn bằng đệ qui (2.2.40) là chuỗi giảm bớt tính đơn điệu 2.2.4 Mối quan hệ của quá trình AR tới ước lượng tuyến tính Hệ số của quá trình AR(p) có quan hệ mật thiết tới ước lượng bậc p cho quá trình tương đương. Xét mối quan hệ này, chúng ta có quá trình AR(p), chuỗi tương quan có mối quan hệ tới hệ số bởi phương trình Yule _ Walker đưa ra trong (2.1.19) hoặc (2.1.20). Các phương trình tương đương cho ước lượng bậc p được đưa ra bởi (2.2.16) và (2.2.17). So sánh trực tiếp hai tập hợp của mối quan hệ này chúng ta có mối quan hệ tương ứng tỉ lệ một – một giữa hệ số của quá trình AR(p) và hệ số ước lượng của ước lượng bậc thứ p. Trong thực tế, nếu sau quá trình x(n) là AR(p), hệ số ước lượng của ước lượng bậc thứ p sẽ đồng nhất tới , phương sai của quá trình nhiễu trắng. Trong trường hợp này, bộ lọc ước lượng lỗi là bộ lọc nhiễu trắng, bộ lọc mà sinh ra chuỗi nhiễu trắng 2.3 GiảI các phương trình chuẩn tắc Trong phần trước chúng ta có được tối thiểu hoá giá trị trung bình bình phương của kết quả lỗi ước lượng tiến trong tập hợp phương trình tuyến tính cho hệ số ước lượng đưa ra bởi (2.2.16), phương trình này gọi là phương trình chuẩn tắc, có thể biểu diễn rõ ràng trong công thức: (2.3.1) Kết quả tối thiểu MSE (MMSE) đưa ra bởi (2.1.17). Nếu chúng ta có thêm yếu tố (2.2.17) tới phương trình chuẩn tắc đưa ra bởi (2.3.1), chúng ta đạt được tập hợp của phương trình chuẩn tắc gia tố, phương trình này có thể biểu diễn là (2.3.2) Chúng ta cũng chú ý rằng nếu xử lý ngẫu nhiên là xử lý AR(p) thì MMSE là Trong phần này chúng ta miêu tả hai thuật toán tính toán hiệu quả cho cách giải phương trình chuẩn tắc. Thuật toán thứ nhất, có nguồn gốc từ Levinson _ Durbin. Thuật toán này phù hợp cho xử lý chuỗi và có tính toán phức tạp của 0(p2). Thuật toán thứ hai, có nguồn gốc từ Schur (1917) cũng tính toán hệ số phản xạ trong 0(p2) nhưng với xử lý song song việc tính toán có thể thực hiện được trong thời gian 0(p). Khai thác cả hai thuật toán Toeplits vốn có tính chất đối xứng trong ma trận tương quan. Chúng ta hãy bắt đầu miêu tả thuật toán levinson _ Durbin. 2.3.1 Thật toán Levinson _ Durbin Thuật toán levinson _ Durbin là thuật toán tính toán hiệu quả cho kết quả phương trình chuẩn tắc trong (2.3.1) cho hệ số ước lượng. Khai thác thuật toán cho đặc tính đối xứng trong ma trận tương quan (2.3.3) Chú ý rằng , cho nên ma trận tương quan là ma trận Toeplitz. Do đó , ma trận cũng là ma trận Hermitian. Chìa khoá để giải đáp cho phương pháp Levinson _ Durbin, phương pháp mà khai thác được tính chất Toeplitz của ma trận là xuất phát từ đệ qui. Bắt đầu với ước lượng của loại m=1 (hệ số 1) và tăng bậc đệ qui lên, sử dụng kết quả của bậc thấp để đạt được kết quả của bậc tiếp theo. Do đó kết quả ước lượng bậc đầu tiên đạt được bởi kết quả (2.3.1) là (2.3.4) và kết quả MMSE là = (2.3.5) Chú ý , là hệ số phản xạ đầu tiên của bộ lọc lưới Bước tiếp theo là kết quả cho hệ số và của ước lượng loại hai và biểu diễn kết quả trong giới hạn của . Hai phương trình đạt được từ (2.3.1) là (2.3.6) Bằng cách sử dụng kết quả trong (2.3.4) rút gọn , chúng ta đạt được kết quả = (2.3.7) Do đó chúng ta đạt được hệ số của ước lượng bậc hai. Lại lần nữa chúng ta chú ý rằng , là hệ số phản xạ thứ hai trong bộ lọc lưới. Tiếp tục thực hiện, chúng ta có thể đạt được hệ số của bậc thứ m trong giới hạn của hệ số ước lượng bậc (m-1). Do đó chúng ta có thể viết hệ số vector am như tổng của hai vector, cụ thể là (2.3.8) ở đây là hệ số ước lượng vector của ước lượng bậc (m-1), vector và giá trị vô hướng đã được xác định. Hệ số của ma trận tương quan là (2.3.9) ở đây dấu hoa thị biểu thị hàm liên hợp phức và biểu thị sự hoán vị của. Chữ b ở bên trên biểu thị vector với thành phần lấy trong bậc đảo ngược. Kết quả phương trình có thể biểu diễn như (2.3.10) đây là chìa khoá cho thuật toán Levinson _ Durbin. từ (2.3.10) chúng ta đạt được hai phương trình (2.3.11) (2.3.12) Do đó , (2.3.11) sinh ra kết quả (2.3.13) Nhưng chỉ là với các thành phần lấy trong bậc đảo ngược và liên hợp phức. Bởi vậy, kết quả trong (2.5.13) đơn giản là (2.3.14) Phương trình vô hướng (2.3.12) hiện tại có thể dùng để giải Km. Nếu rút gọn dm-1 trong (2.3.12) bằng cách dùng (2.3.14) ta được do đó (2.3.15) Vì vậy, bằng cách thay thế kết quả trong (2.3.14) và (2.3.15) thành (2.3.8), chúng ta đạt được yêu cầu đệ qui cho hệ số ước lượng trong thuật toán Levinson _ Durbin là (2.3.16) (2.3.17) Lưu ý, mối quan hệ đệ qui trong (2.3.17) là đồng nhất với mối quan hệ đệ qui trong (2.2.31) cho hệ số ước lượng, hệ số mà đạt được từ đa thức và . Hơn nữa, là hệ số phản xạ trong bậc thứ m của ước lượng lưới. Sự triển khai này chứng minh rõ ràng rằng thuật toán Levinson_ Durbin sinh ra hệ số phản xạ cho ước lượng lưới tối ưu như sự ước lượng FIR dạng trực tiếp. Cuối cùng, hãy xác định biểu thức cho MMSE ước lượng bậc thứ m, chúng ta có: = (2.3.18) = , ở đây. Vì vậy những hệ số phản xạ phù hợp với thuộc tính mà , MMSE cho chuỗi của ước lượng thoả mãn điều kiện (2.3.19) Kết luận này bắt nguồn từ thuật toán Levinson _ Durbin kết quả phương trình tuyến tính (m=0,1,, p). Chúng ta quan sát phương trình tuyến tính có thuộc tính đặc biệt là vector ở phía bên phải xuất hiện như một vector trong . Trong các trường hợp thông thường khác vector phía bên phải là một vài vector khác, gọi là Cm, tập hợp phương trình tuyến tính có thể giải hồi qui bằng cách tạo phương trình đệ qui thứ hai tới kết quả phương trình tuyến tính chung . Kết qủa là thuật toán Levinson _ Durbin tổng quát. đệ qui Levinson _ Durbin đưa ra bởi (2.3.17) yêu cầu O(m) tăng lên và thêm vào từ tầng m tới tầng (m+1). Vì vậy, để cho tầng p, sẽ phải tính qua các bậc 1+2+3+.+p = (p+1)/2 hoặc thuật toán O(p2) giải hệ số bộ lọc ước lượng hoặc hệ số phản xạ, so sánh với thuật toán O(p3) nếu chúng không khai thác tính chất Toeplitz của ma trận tương quan. Nếu thuật toán levinson _ Durbin được thực hiện trên chuỗi nối tiếp hoặc bộ xử lý tín hiệu nối tiếp, đòi hỏi thời gian tính toán trên bậc của O(p2) đơn vị thời gian. Theo hướng khác, nếu quá trình xử lý được thực hiện song song sử dụng bằng nhiều bộ xử lý cần thiết khai thác hết sự tương đương trong thật toán, phép nhân cũng như là phép cộng khi yêu cầu tính (2.3.17). Vì thế, tính toán có thể thực hiện trong O(p) đơn vị thời gian. Tuy nhiên việc tính toán trong (2.3.16) cho hệ số phản xạ tốn thêm thời gian. Dĩ nhiên, tích vô hướng này bao gồm vector am-1 và có thể tính toán đồng thời bởi việc xử lý song song. Tuy nhiên phép cộng này không thể làm đồng thời nhưng thay vào đó, yêu cầu O(log p) đơn vị thời gian. Do đó các tính toán trong thuật toán Levinson _ Durbin, khi thực hiện bằng p bộ xử lý song song có thể hoàn thành trong thời gian O(p log p). 2.3.2. Thuật toán Schur Thuật toán Schur được liên hệ với việc kiểm tra đệ quy cho xác định phân tích dương của ma trận tương quan. Cụ thể hãy xem xét ma trận tương đương liên kết thêm với phương trình chuẩn tắc đưa ra bởi (2.3.2). Từ các thành phần của ma trận này chúng ta tạo hàm: (2.3.20) Và chuỗi của hàm R được định nghĩa đệ quy là: R m= 1, 2, (2.3.21) Phát biểu định lý Schur’s, điều kiện cần và đủ của định lý cho ma trận tương quan xác định dương là cho m= 1,2,,p Hãy chứng minh rằng điều kiện cho xác định dương của ma trận tự tương quan là tương đương với điều kiện hệ số phản xạ trong bộ lọc lưới tương đương thoả mãn điều kiện <1, m=1,2,,p. Đầu tiên chúng ta chú ý rằng R. Sau đó từ (2.3.21) chúng ta có R (2.3.22) Do đó R ta được R Thứ hai, ta tính toán R phụ thuộc vào (2.3.21) và đánh giá kết quả tại Z=. Do đó ta được R Mặt khác, ta lại có R. Bằng cách tiếp tục khai triển, chúng ta tìm thấy R cho m= 1,2,,p. Dó đó điều kiện cho m=1,2,,p là đồng nhất với điều kiện cho m= 1,2,,p và đảm bảo định nghĩa rõ ràng của ma trận tương đương . Do hệ số phản xạ có thể tính được từ chuỗi của hàm R, m=1,2,p, chúng ta có cách khác để tìm lời giải cho phương trình chính tắc. Chúng ta gọi cách này là thuật toán Schur. Thuật toán Schur: đầu tiên hãy viết lại R R m= 1,2,p (2.3.23) ở đây: P Q (2.3.24) Do đó: K0 = 0 và cho m= 1,2,p, phương trình đệ quy (2.3.21) đưa đến những phương trình đệ quy tiếp theo cho những đa thức P và Q , m= 1,2,,p (2.3.25) Do đó chúng ta có: P Q và K Tiếp theo hệ số phản xạ Ktính được bởi việc xác định P2(z) và Q2(z) từ (2.3.25), chia P2(z) bởi Q2(z) và đánh giá kết quả tại z=. Vì vậy chúng ta tìm được P Q = Do đó, chúng ta thấy rằng phương trình đệ quy trong (2.3.25) tương đương tới (2.3.21). Căn cứ vào những mối quan hệ này, thuật toán Schur được miêu tả bởi phương trình đệ qui sau Bắt đầu Tạo ma trận sinh (2.3.29) ở đây các thành phần của hàng đầu tiên là những hệ số của P0(z) và những thành phần của hàng thứ hai là hệ số của Q0(z). Bước 1. Dịch hàng thứ hai của ma trận sinh về bên phải 1 vị trí, bỏ thành phần cuối của hàng này, thêm số 0 vào vị trí khuyết ở đầu hàng. Do đó chúng đạt được ma trận sinh mới (2.3.30) (Nghịch đảo) tỷ số của các thành phần trong cột thứ hai sinh ra hệ số phản xạ Bước2. Nhân ma trận sinh với ma trận 22 ta được (2.3.32) Bước 3. Dịch hàng thứ hai của một vị trí về bên phải và do đó tạo được ma trận sinh mới. (2.3.33) Tỉ lệ nghịch của các thành phần trong cột thứ ba của G2 sinh ra K2. Bước thứ 2 và thứ 3 lặp lại trước khi chúng ta tính mọi hệ số phản xạ p. Nhìn chung, ma trận 22 trong bước m là và nhân với sinh ra . Trong bước ba chúng ta dịch hàng thứ hai của một vị trí về bên phải được ma trận sinh mới Gm+1 Chúng ta thấy rằng phép toán dịch hàng thứ 2 trong vòng lặp tương đương tới việc nhân bởi hoạt động trễ z-1 trong phương trình đệ qui thứ hai trong (2.3.25). Chúng ta cũng chú ý rằng phép chia của đa thức Pm(z) bởi đa thức Qm(z) và ước lượng thương số tại z = là tương đương với phép chia các thành phần trong cột (m+1) của Gm. Sự tính toán hệ số phản xạ p có thể hoàn thành bằng cách dùng xử lý song song trong đơn vị thời gian 0(p). Sau đó chúng ta miêu tả kiến trúc đường ống cho việc thực hiện tính toán này. Một cách minh họa khác mối quan hệ của thuật toán Schur với thuật toán Levinson - Durbin và ước lượng lưới tương ứng là xác định rõ đầu ra của bộ lọc lưới đạt được khi chuỗi đầu vào là chuỗi tương quan . Vì đầu vào đầu tiên tới bộ lọc lưới là yxx(0), đầu vào thứ hai là yxx(1), và tương tự các đầu vào tiếp theo . Sau khi trễ trong tầng đầu chúng ta có , do đó cho n=1, tỉ số tỉ số này là nghịch đảo của hệ số phản xạ K1. Cách khác chúng ta có thể biểu diễn mối quan hệ này là Hơn nữa,. Tại thời điểm n=2, đầu ra tầng thứ hai, theo (2.2.11), và sau một đơn vị của trễ trong tầng thứ hai, chúng ta có Bây giờ tỉ số là Do đó Tiếp tục tính theo cách này, chúng ta thấy rằng tại đầu vào của tầng lưới thứ m, tỉ số và . Do đó, hệ số bộ lọc lưới đạt được từ thuật toán Levinson là chính xác tới hệ số đạt được trong thuật toán Schur. Hơn nữa, cấu trúc bộ lọc lưới cung cấp một cách thức tính toán hệ số phản xạ trong ước lượng lưới. Kiến trúc đường ống cho việc thực hiện thuật toán Schur. Kung và Hu (1983) phát triển bộ xử lý dạng lưới đường ống cho việc thực hiện thuật toán Schur. Xử lý bao gồm một giai đoạn của các tầng kiểu lưới p, ở đó mỗi tầng gồm hai thành phần xử lý (PEs), PEs trên, bao hàm A1, A2, . . . , và PEs dưới bao hàm B1, B2, . . . , B. Như nhìn trong hình (2.7). PE chỉ rõ A1 được phân chia nhiệm vụ cho việc thực hiện những phép chia, PEs còn lại thực hiện một phép nhân và một phép cộng cho mỗi lần lặp (một chu kỳ đo). Ban đầu, PEs trên tải các thành phần của hàng đầu của ma trận sinh ra G0, như chứng minh trong hình (2.7). PEs dưới tải các thành phần của hàng thứ hai của ma trận sinh ra G0. Việc xử lý tính toán bắt đầu với phép chia PE, A1, phép chia này tính toán được hệ số phản xạ đầu tiên là . Giá trị của K1 được gửi đồng thời tới mọi PEs trong nhánh trên và nhánh dưới. yxx(p-1) yxx(1) yxx(3) yxx(2) yxx(p-1) yxx(p) yxx(0) yxx(1) yxx(2) yxx(p-2) B1 A2 Ap-1 A3 Ap A1 B2 B3 Bp-1 Bp Hình 2.7 : Xử lý song song đường ống cho tính toán hệ số phản xạ Bước thứ hai trong việc tính toán cập nhập nội dung của tất cả phần tử xử lý cùng một lúc. Nội dung của PEs thấp và cao được cập nhật như sau: PE m = 2, 3, . . . ,p PE m = 1, 2, . . . ,p Bước ba bao gồm dịch nội dung của PEs trên một vị trí về bên trái. Do đó chúng ta có PE m = 2, 3, . . . ,p Tại điểm PE này A1 bao gồm trong khi PE B1 bao gồm . Do đó quá trình A1 sẵn sàng bắt đầu qui trình thứ hai bằng cách tính toán hệ số phản xạ thứ hai với phép chia A1/B1 được lặp lại trong khi mọi hệ số phản xạ p được tính. Chú ý rằng PE B1 cung cấp lỗi trung bình bình phương cực tiểu cho mỗi bước lặp. Nếu bao hàm thời gian cho PE A1 thực hiện phép chia (hoàn thành) và là thời gian yêu cầu cho việc thực hiện một phép nhân (phức) và phép cộng. Thời gian yêu cầu cho việc tính toán mọi hệ số phản xạ p là cho thuật toán Schur. 2.4 Các Thuộc tính của bộ lọc lỗi ước lượng tuyến tính Những bộ lọc ước lượng tuyến tính có nhiều thuộc tính quan trọng mà chúng ta sẽ đề cập đến sau đây, ban đầu là với chứng minh rằng bộ lọc lỗi ước lượng tiến là pha cực tiểu. Thuộc tính pha cực tiểu của bộ lọc lỗi ước lượng tiến. Chúng ta đã chứng minh những hệ số phản xạ K1 là những hệ số tương quan, và do đó với mọi i. Điều kiện này và mối quan hệ có thể sử dụng để xem những điểm không của bộ lọc lỗi ước lượng nằm hoàn toàn bên trong vòng tròn đơn vị hay là chúng ở bên trên vòng tròn đơn vị. Đầu tiên, chúng ta xét nếu, các điểm không với mọi i. Chứng minh bằng phương pháp qui nạp. Rõ ràng rằng, cho p =1, hàm hệ thống cho bộ lọc lỗi ước lượng là A1(z) = 1+K1z-1 Do đó z1 = -K1 và . Bây giờ giả sử rằng giả thiết là đúng cho p-1. Sau đó nếu z1 là nghiệm của chúng ta có từ (2.2.26) và (2.2.28) Do đó Chúng ta chú ý rằng hàm Q(z) là thông tất. Thông thường, hàm thông tất có công thức thoả mãn tính chất cho , cho và cho . Do đó Q(z) = - P(z)/z, tiếp theo nếu . Rõ ràng rằng, đây là trường hợp và . Cách khác, giả sử và do . Trong trường hợp này và . Do đó MMSE là 0, qui trình ngẫu nhiên x(n) được gọi là có khả năng ước lượng hoặc là xác định trước. Cụ thể, quá trình ngẫu nhiên hoàn toàn hàm sin của công thức (2.4.6) ở đây pha đã được thống kê độc lập và phân bố đều trên , có tương quan và mật độ phổ đầu vào , (2.4.7) Quá trình này có thể ước lượng trước với giá trị ước lượng của bậc . Để chứng minh tính hợp lý của quá trình trên, xét giá trị này từ đầu đến cuối của bộ lọc ước lượng lỗi bậc . MSE tại đầu ra của bộ lọc này là (2.4.8) Bằng cách lựa chọn M của các điểm không p của bộ lọc lỗi ước lượng đồng nhất với tần số , MSE có thể ép bằng 0. Còn lại p – M các điểm không có thể lựa chọn tuỳ ý ở bất kỳ chỗ nào bên trong vòng tròn đơn vị. Thuộc tính pha cực đại của bộ lọc lỗi ước lượng lùi. Hàm hệ thống cho bộ lọc lỗi ước lượng lùi bậc p là (2.4.9) Từ đó, các nghiệm của là nghịch đảo nghiệm của bộ lọc lỗi ước lượng tiến với hàm hệ thống . Do vậy, nếu là pha cực tiểu là pha cực đại. Tuy nhiên, nếu quá trình x(n) là ước lượng, tất cả các nghiệm của nằm trong vòng tròn đơn vị. Thuộc tính nhiễu trắng.Giả sử rằng quá trình ngẫu nhiên x(n) là quá trình ngẫu nhiên ổn định AR(p) được tạo ra bởi cho nhiễu trắng với sự thay đổi qua bộ lọc toàn điểm cực với hàm hệ thống (2.4.10) Sau đó bộ lọc lỗi ước lượng của loại p có hàm hệ thống ở đây, những hệ số ước lượng. Tương ứng của bộ lọc lỗi ước lượng là chuỗi nhiễu trắng . Trong trường hợp này bộ lọc ước lượng lỗi hoá trắng quá trình ngẫu nhiên đầu vào x(n) và được gọi là bộ lọc trắng, được chỉ ra trong phần (2.2). Hơn thế nữa, thậm chí nếu quá trình đầu vào x(n) không phải là quá trình AR, bộ lọc lỗi ước lượng cố gắng loại bỏ sự tương quan trong các mẫu tín hiệu mẫu của quá trình đầu vào. Khi bậc của ước lượng tăng lên đầu ra của ước lượng sẽ trở nên gần xấp xỉ tới x(n) và do đó sự chênh lệch gần giống chuỗi nhiễu trắng. Tính trực giao của các lỗi ước lượng lùi. Lỗi ước lượng lùi gm(k) từ các tầng khác nhau trong bộ lọc lưới FIR là trực giao. Đó là (2.4.12) Tính chất này được chứng minh dễ dàng bằng cách thay thế gm(n) và vào (2.4.12) và được kết quả mong muốn. Do đó (2.4.13) Nhưng những phương trình chuẩn tắc cho ước lượng tuyến tính lùi yêu cầu rằng do đó Những thuộc tính khác: đây là một nhóm những thuộc tính khác về ước lượng lỗi tiến và lùi trong bộ lọc lưới FIR. Những thuộc tính này được đưa ra dưới đây với các tín hiệu có giá trị thực. (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) 2.5 Bộ lọc lưới AR và bộ lọc lưới hình thang ARMA Trong phần 2.4.2 chúng ta đã trình bày cấu trúc lưới FIR toàn điểm không và đưa ra mối quan hệ với ước lượng tuyến tính. Ước lượng tuyến tính với hàm truyền (2.5.1) khi bị kích thích bởi quá trình ngẫu nhiên đầu vào x(n) và được đầu ra gần giống chuỗi nhiễu trắng khi . Mặt khác, nếu quá trình đầu vào là AR(z), đầu ra của Ap(z) là trắng. Do đó sinh ra MA(p) khi bị kích thích với chuỗi nhiễu trắng, bộ lọc lưới toàn điểm không đôi khi được gọi là lưới MA. Sau đó, chúng ta phát triển cấu trúc lưới cho bộ lọc ngược 1/ bộ lọc mà chúng ta gọi là lưới AR và cấu trúc thang lưới cho xử lý ARMA. 2.5.1 Cấu trúc lưới AR Hãy xét hệ thống toàn điểm cực với hàm hệ thống (2.5.2) Phương trình khác cho hệ thống IIR là (2.5.3) Bây giờ giả sử rằng chúng ta thay đổi vai trò của đầu vào và đầu ra [như thay đổi x(n) với y(n) trong (2.5.3)]. Do đó chúng ta đạt được phương trình khác hoặc tương đương (2.5.3) Chúng ta thấy rằng (2.5.4) là phương trình khác cho hệ thống FIR với hàm chức năng . Do đó hệ thống toàn điểm cực IIR có thể thay đổi tới hệ thống toàn điểm không bằng cách thay đổi vai trò đầu vào và đầu ra. Căn cứ vào quan sát này, chúng ta có thể đạt được cấu trúc lưới AR(p) từ lưới MA(p) bằng cách thay thế đầu vào với đầu ra. Do đó lưới MA(p) có khi nó là đầu ra và là đầu vào, chúng ta có (2.5.5) Những định nghĩa này chỉ ra rằng phương trình được tính toán trong tầng dưới. Sự tính toán này có thể hoàn thành bằng cách sắp xếp phương trình đệ qui cho trong (2.2.11) và kết quả cho trong giới hạn của . Do đó chúng ta đạt được m = p, p-1, . . . ,1 Phương trình cho còn lại không bị thay đổi. Kết quả của sự thay đổi này là tập hợp các phương trình (2.5.6) Cấu trúc tương ứng cho lưới AR(p) đưa ra trong hình (2.8). Chú ý rằng cấu trúc lưới toàn điểm cực có một hướng toàn điểm không với đầu vào g0(n) và đầu ra nó giống với đường toàn điểm không trong cấu trúc lưới MA(p). Vì vậy phương trình cho là giống nhau trong hai cấu trúc lưới. Chúng ta cũng quan sát thấy rằng cấu trúc lưới AR(p) và MA(p) được đặc trưng bởi các hệ số, nói rõ hơn, các hệ số phản xạ K1. Kết quả phương trình đưa ra trong (2.2.31) và (2.2.33) cho sự chuyển đổi giữa các thông số hệ thống trong sự thực hiện dạng trực tiếp của hệ thống toàn điểm không và các hệ số lưới, K1, của cấu trúc MA(p), xét đến giống với cấu trúc toàn điểm cực. z-1 z-1 z-1 Output -Kp -K2 -K1 g1(n) g0(n) g2(n) gp(n) Input x(n)= Hình 2.8 : Cấu trúc lưới cho hệ thống toàn điểm cực (AR(p)) 2.5.2 Quá trình ARMA và bộ lọc lưới hình thang Lưới toàn điểm không cung cấp khối xây dựng cơ bản cho cấu trúc kiểu lưới mà minh hoạ hệ thống IIR có chứa cả điểm cực và điểm không. Để xây dựng cấu trúc thích hợp, chúng ta hãy xét một hệ thống IIR với hàm hệ thống (2.5.7) Bỏ qua suy giảm thông thường chúng ta giả sử là. Hệ thống này được miêu tả bởi những phương trình sai phân (2.5.8) phương trình này đạt được bằng cách xem hệ thống như một tầng của hệ thống toàn điểm cực sinh ra bởi hệ thống toàn điểm không. Từ (2.5.8) chúng ta thấy rằng tại đầu ra y(n) chỉ đơn giản là sự kết hợp của các đầu ra trễ từ hệ thống toàn điểm cực. Vì mọi điểm không sẽ là kết quả từ công thức tổ hợp tuyến tính của đầu ra trước. Chúng ta có thể mang sự quan sát này tới cấu trúc hệ thống điểm không và điểm cực bằng cách sử dụng cấu trúc lưới toàn điểm cực như khối xây dựng cơ bản. Chúng ta thấy rằng gm(n) trong lưới toàn điểm cực có thể biểu diễn như là tổ hợp tuyến tính của những đầu ra ở hiện tại và quá khứ. Trên thực tế, hệ thống (2.5.9) trong hệ thống toàn điểm không. Do đó, bất kỳ sự kết hợp tuyến tính nào của gm(n) cũng là bộ lọc toàn điểm không. Hãy bắt đầu với bộ lọc lưới toàn điểm cực với hệ số và thêm vào phần thang bằng cách lấy đầu sự tổ hợp tuyến tính có trọng số của gm(n). Kết quả là bộ lọc điểm không và điểm cực có cấu trúc thang_lưới như trong hình 2.9. Đầu ra là (2.5.10) ở đây, là thông số xác định các điểm không của hệ thống. Hàm hệ thống tương ứng (2.5.10) là (2.5.11) Từ và , (2.5.11) có thể biểu diễn (2.5.12) = do đó (2.5.13) Output Tầng p Tầng p-1 Tầng p-2 Input x(n)= gn(n) g1n) gp-1(n) gp-2(n) g0n) (a) Hệ thống điểm không_điểm cực z-1 (b) Tầng thứ m của lưới Hình 2.9 : Cấu trúc lưới thang cho hệ thống điểm cực_điểm không Đây là mối quan hệ mong muốn mà có thể sử dụng để xác định hệ số trọng số Đưa ra đa thức và , trong đó , hệ số phản xạ K1 được xác định đầu tiên từ hệ số . Bằng giá trị trung bình của mối quan hệ đệ qui lùi đơn bước đưa ra bởi (2.2.32) chúng ta cũng đạt được đa thức , k = 1,2 . . . ,p. Sau đó những hệ số thang có thể đạt được từ (2.5.13), hệ số mà có thể biểu diễn như = (2.5.14) hoặc tương đương , m = p, p-1, . . . ,1 (2.5.15) Bằng cách tiếp tục thực hiện mối quan hệ đệ qui lùi này, chúng có thể sinh ra mọi đa thức bậc thấp, . Do đó , thông số được xác định từ (2.5.15) bằng cách sắp đặt , m = p, p-1, . . . , 1, 0 (2.5.16) Cấu trúc bộ lọc lưới này, khi bị kích thích bởi chuỗi nhiễu trắng, sinh ra quá trình ARMA(p,q) quá trình này có mật độ phổ đầu vào (2.5.17) và hàm tự tương quan mà thoả mãn (2.1.18),trong đó trong sự biến đổi của chuỗi nhiễu trắng đầu vào. 2.6 bộ lọc Wiener sử dụng lọc và ước lượng Trong những ứng dụng thực tế chúng ta đưa ra tín hiệu đầu vào, x(n), tín hiệu mà bao gồm tổng của các tín hiệu mong muốn, s(n), và tiếng ồn không mong muốn hoặc nhiễu w(n), và chúng ta thiết kế bộ lọc, bộ lọc mà sẽ triệt tiêu được những thành phần không mong muốn. Trong trường hợp như vậy mục tiêu là thiết kế hệ thống mà lọc đi nhiễu thêm vào trong khi phải đảm bảo những đặc tính của tín hiệu mong muốn, s(n). Trong phần này, chúng ta giải quyết vấn đề ước lượng tín hiệu trong sự có mặt của những tạp âm thêm vào. Bộ ước lượng giới hạn về bộ lọc tuyến tính với đáp ứng xung h(n), nó được thiết kế để đầu ra xấp xỉ một vài chuỗi tín hiệu mong muốn theo lý thuyết d(n). Hình (2.10) minh hoạ vấn đề ước lượng tuyến tính. Chuỗi đầu vào tới bộ lọc là x(n) = s(n)+w(n), và chuỗi đầu ra là y(n). Sự khác nhau giữa tín hiệu mong muốn và đầu ra của bộ lọc là chuỗi lỗi e(n) = d(n) - y(n). Chúng ta phân biệt ba trường hợp đặc biệt sau: Bộ lọc tuyến tính tối ưu s(n) Nhiễu(n) x(n) e(n) d(n) y(n) _ + Hình 2.10 : Mô hình cho vấn đề ước lượng tuyến tính Nếu d(n) = s(n), vấn đề ước lượng tuyến tính có liên quan tới việc lọc Nếu d(n) = s(n+D), ở đây D > 0, vấn đề ước lượng tuyến tính có liên quan tới ước lượng tín hiệu. Chú ý rằng vấn đề này là sự khác với sự ước lượng đề cập trong phần trước. ở đây d(n) = x(n+D), D 0. Nếu d(n) = s(n-D), ở đây D > 0, vấn đề ước lượng tuyến tính liên quan tới tín hiệu san bằng. Việc nghiên cứu sẽ tập trung ở việc lọc và ước lượng. Tiêu chuẩn lựa chọn cho việc tối ưu đáp ứng xung của bộ lọc h(n) là cực tiểu của lỗi trung bình bình phương. Tiêu chuẩn này có thuận lợi là dễ dàng và dễ dùng trong toán học. Giả định cơ bản là những chuỗi s(n), w(n) và d(n) là trung bình 0 và ổn định có độ nhạy cao. Bộ lọc tuyến tính sẽ được cho là FIR hoặc là IIR. Nếu nó là IIR, chúng ta giả sử dữ liệu đầu vào x(n) tồn tại giá trị trên khoảng hữu hạn thời điểm trước. Chúng ta bắt đầu hướng tới thiết kế bộ lọc FIR tối ưu. Bộ lọc tuyến tính tối ưu, trong độ nhạy của lỗi trung bình bình phương tối thiểu (MMSE), được gọi là bộ lọc Wiener. 2.6.1 Bộ lọc Wiener FIR Giả sử là bộ lọc bị giới hạn độ dài về M với các hệ số h(k) . Do đó đầu ra y(n) phụ thuộc vào dữ liệu hữu hạn x(n), x(n-1), . . . , x(n-M+1) (2.6.1) Giá trị trung bình bình phương của lỗi đầu ra mong muốn và là (2.6.2) = E Do đó đây là hàm bậc hai của các hệ số bộ lọc, cực tiểu của đạt được tập các phương trình tuyến tính = 0, 1, . . . ,M-1 (2.6.3) ở đây yss(k) là tự tương quan của chuỗi đầu vào x(n) và ydx(k) = E[d(n)x*(n-k)] là tương quan chéo giữa chuỗi mong muốn d(n) và chuỗi đầu vào, x(n), . Tập các phương trình tuyến tính chỉ rõ bộ lọc tối ưu được gọi là phương trình Wiener _ Hopf. Những phương trình này cũng được gọi là những phương trình chuẩn tắc. Thông thường, phương trình trong (2.6.3) có thể biểu diễn dạng ma trận (2.6.4) ở đây là ma trận Toeplitz (Hermitian) với các thành phần và là vector tương quan chéo M1 với các thành phần , l = 0, 1, . . . , M-1. Kết quả cho hệ số bộ lọc tối ưu là (2.6.5) Và kết quả cực tiểu MSE đạt được bởi bộ lọc Wiener là (2.6.6) hoặc tương đương ở đây . Hãy xét một vài trường hợp đặc biệt của (2.6.3). Nếu chúng có quan hệ với bộ lọc, d(n) = s(n). Hơn nữa, nếu s(n) và w(n) là những chuỗi ngẫu nhiên không tương quan, như thường thấy trong thực tế, và những phương trình chuẩn tắc trong (2.6.3) trở thành , = 0, 1, . . . ,M-1 (2.6.9) Nếu chúng ta xét về sự ước lượng thì d(n) = yss(k+D) ở đây D > 0. Gả sử là s(n) và w(n) là những chuỗi ngẫu nhiên không tương quan, chúng ta có (2.6.10) Do đó những phương trình cho bộ lọc ước lượng Wiener trở thành , = 0, 1, . . . ,M-1 (2.6.10) Trong tất cả những trường hợp này, ma trận tương quan được nghịch đảo là Toeplitz. Do đó thuật toán Levinson _ Durbin có thể sử dụng để tính các hệ số bộ lọc tối ưu. 2.6.2 Nguyên tắc trực giao trong ước lượng trung bình bình phương tuyến tính Phương trình chuẩn tắc cho hệ số bộ lọc tối ưu được đưa ra trong (2.6.3) có thể đạt được trực tiếp bằng cách áp dụng nguyên tắc trực giao trong ước lượng trung bình bình phương tuyến tính. Lỗi trung bình bình phương trong (2.6.2) là nhỏ nhất nếu hệ số bộ lọc h(k) được lựa chọn giống như lỗi là trực giao cho mọi điểm dữ liệu trong ước lượng. = 0, 1, . . . ,M-1 (2.6.12) trong đó (2.6.13) Ngược lại, nếu hệ số bộ lọc thoả mãn (2.6.12), kết quả MSE là cực tiểu. Khi xét ở phương diện hình học, đầu ra của bộ lọc, được ước lượng (2.6.14) là vector trong không gian con được mở rộng bởi dữ liệu x(k), . Lỗi e(n) là vector từ d(n) tới , như đưa ra trong hình (2.11). Những trạng thái trực giao cơ bản có độ dài là nhỏ nhất khi e(n) là đường vuông góc với không gian dữ liệu (như e(n) là trực giao tới mọi điểm dữ liệu x(k), ). Chúng ta chú ý rằng kết quả đạt được từ phương trình chuẩn tắc (2.6.3) là duy nhất nếu dữ liệu x(n) trong ước lượng d(n) là tuyến tính độc lập. Trong trường hợp này ma trận tương quan là không duy nhất. Mặt khác, nếu dữ liệu là tuyến tính độc lập, vị trí của nhỏ hơn M và do đó kết quả không phải là duy nhất. Trong trường hợp này ước lượng có thể biểu diễn như tổ hợp tuyến tính của tập rút gọn của phương trình các điểm dữ liệu tuyến tính độc lập tới vị trí . h(0)x(1) e(n) h(1)x(2) d(n) Hình 2.11 : Biểu diễn hình học của vấn đề tuyến tính MSE Do đó MSE được tối thiểu hóa bằng cách lựa chọn các hệ số của bộ lọc thoả mãn nguyên lý trực giao, mức tối thiểu thặng dư MSE là (2.6.15) từ đó đạt được kết quả đưa ra trong (2.6.6) 2.6.3 Bộ lọc Wiener IIR Trong phần trước chúng ta giới hạn bộ lọc trở thành FIR và đạt được tập hợp của những phương trình tuyến tính M cho hệ số bộ lọc tối ưu. Trong phần này chúng ta cho phép bộ lọc có độ dài vô hạn trong khoảng không gian (IIR) và chuỗi dữ liệu cũng sẽ vô hạn. Do đó đầu ra bộ lọc (2.6.16) Hệ số của bộ lọc được lựa chọn để tối thiểu lỗi trung bình bình phương giữa đầu ra mong muốn d(n) và y(n) = E (2.6.17) ứng dụng của nguyên lý trực giao dẫn đến phương trình Wiener_Hopf 0 (2.6.18) Phần dư MMSE đơn giản đạt được bằng cách ứng dụng điều kiện đưa ra trong (2.6.15). Do đó chúng ta đạt được (2.6.19) Phương trình Wiener _ Hopf đưa ra bởi (2.6.18) không thể giải trực tiếp với kỹ thuật biến đổi sang miền z bởi vì phương trình chỉ có ý nghĩa với 0. Chúng ta sẽ giải bộ lọc Wiener IIR tối ưu dựa trên sự biểu diễn tương ứng của quá trình ngẫu nhiên ổn định x(n). Ta đã có quá trình ngẫu nhiên ổn định x(n) với chuỗi tự tương quan yxx(l) và mật độ phổ công suất có thể biểu diễn bằng quá trình tương đương i(n) bằng cách đưa x(n) qua bộ lọc nhiễu trắng với hàm hệ thống 1/G(z), ở đây G(z) là phần pha tối thiểu đạt được từ hệ số phổ của (2.6.20) Vì vậy G(z) được phân tích trong miền , ở đây r1>1 Bây giờ, bộ lọc tối ưu Wiener có thể xem như một tầng của bộ lọc nhiễu trắng 1/G(z) với bộ lọc thứ hai, gọi là Q(z), mà đầu ra của nó y(n) là giống với đầu ra của bộ lọc Wiener tối ưu. Từ đó (2.6.21) và e(n) = d(n) – y(n), ứng dụng nguyên lý trực giao ta được phương trình Wiener _ Hopf mới như 0 (2.6.22) Nhưng vì i(n) là trắng, nên với l ≠ k. Do đó chúng ta đạt được kết quả là 0 (2.6.23) Biến đổi z của chuỗi q(l) là (2.6.24) Nếu chúng ta kí hiệu biến đổi z hai phía của dãy tương quan chéo bởi (2.6.25) và định nghĩa như (2.6.26) sau đó (1.6.27) Để xác định , chúng ta bắt đầu với đầu ra của bộ lọc nhiễu trắng, bộ lọc mà có thể biểu diễn như là (2.6.28) ở đây v(k), k 0, là đáp ứng xung tương ứng của bộ lọc nhiễu trắng. (2.6.29) sau đó = = (2.6.30) Biến đổi z của tương quan chéo là = = = (2.6.31) Vì vậy (2.6.32) Cuối cùng, bộ lọc Wiener IIR tối ưu có hàm chức năng = (2.6.33) Tóm lại, giải pháp cho bộ lọc IIR Wiener yêu cầu chúng ta thực hiện tìm thừa số phổ của để đạt được G(z), G(z) là thành phần pha cực tiểu, và sau đó chúng ta giải phần nhân quả của . Với giá trị tối thiểu MSE đưa ra bởi (2.6.19) trong giới hạn miền tần số đặc trưng cho bộ lọc. Đầu tiên chúng ta chú rằng là giá trị tuyệt đối của chuỗi tự tương quan ydd(k). Do đó (2.6.34) theo đó (2.6.35) ở đây tích phân đường được đánh giá dọc theo vòng khép kín theo hướng bao quanh gốc trong miền hội tụ của . Phần thứ hai trong (2.6.19) cũng biến đổi dễ dàng tới miền tần số bằng cách ứng dụng thuật toán Parseval’s. Do đó cho k < 0, chúng ta có (2.6.36) ở đây C là vòng khép kín theo hướng quanh gốc, hướng mà thông thường nằm bên trong miền hội tụ của . Bằng cách kết hợp (2.6.35) với (2.6.36), chúng ta đạt được kết quả mong muốn cho MMSE trong công thức (2.6.37) 2.6.4 Bộ lọc Wiener không nhân quả Trong phần trước chúng ta giới hạn bộ lọc Wiener tối ưu là nhân quả . Trong phần này chúng ta bỏ điều kiện này và cho bộ lọc bao gồm cả vô hạn trước và vô hạn sau (2.6.38) Kết quả của bộ lọc là không thể thực hiện được về mặt vật lý. Nó cũng có thể xem như bộ lọc san bằng, bộ lọc mà giá trị tín hiệu không giới hạn sau được dùng để san bằng ước lượng (n) =y(n) của tín hiệu mong muốn d(n) ứng dụng của nguyên lý trực giao đạt được phương trình Wiener_Hopf cho bộ lọc không nhân quả trong công thức (2.6.39) và kết quả MMSExx là (2.6.40) Từ (2.6.39) cho , phương trình này có thể biến đổi trực tiếp để đạt được bộ lọc Wiener không nhân quả tối ưu là (2.6.41) cũng có thể biểu diễn đơn giản trong miền z là (2.6.42) Chương 3 : Mô phỏng bộ lọc tuyến tính tối ưu 3.1 Giới thiệu về simulink Simulik là một phần mềm dùng để mô hình hoá, mô phỏng và phân tích một hệ thống tự động. Simulik cho phép mô tả hệ thống tuyến tính, hệ phi tuyến, các mô hình trong thời gian liên tục gián đoạn hay một hệ kết hợp cả liên tục và gián đoạn. Để mô hình hoá, Simulik cung cấp một giao diện đồ hoạ để xây dựng mô hình như là một sơ đồ khối sử dụng thao tác "nhấn và kéo" chuột. Với giao diện này bạn có thể xây dựng mô hình như xây dựng trên giấy. Đây là sự khác xa các phần mềm mô phỏng trước nó mà ở đó người sử dụng phải đưa vào các phương trình vi phân và các phương trình sai phân bằng một ngôn ngữ lập trình. Việc lập trình trên Simulik sử dụng các đối tượng đồ hoạ gọi là Graphic Programming Unit. Loại hình lập trình này có xu thế được sử dụng nhiều trong kỹ thuật bởi ưu điểm lớn nhất của nó là tính trực quan. Thư viện của Simulik cũng bao gồm toàn bộ thư viện các khối như: khối nhận tín hiệu, các khối nguồn tín hiệu, các phần tử tuyến tính và phi tuyến, các đầu nối chuẩn. Người sử dụng có thể quan sát hệ thống ở mức tổng quát, vừa có thể đạt được mức độ cụ thể bằng cách nháy kép vào từng khối xác định xem xét chi tiết mô hình của từng khối. Với cách xây dựng kiểu này, người sử dụng có thể hiểu được sâu sắc tổ chức của một mô hình và những tác động qua lại của các phần tử trong mô hình như thế nào. Sau khi tạo lập ra được một mô hình, người sử dụng có thể mô phỏng nó trong Simulik bằng cách nhập lệnh trong các của sổ lệnh của Matlab hay sử dụng các Menu có sẵn. Hơn nữa người sử dụng có thể thay đổi thông số một cách trực tiếp và nhận biết được các ảnh hưởng đến mô hình. 3.2 Các khối Simulink dùng trong bộ lọc 3.2.1 Khối Signal From Workspace Các thông số của khối: - Tín hiệu đưa vào hệ thống (Signal) - Chu kỳ lấy mẫu (Sample time) - Số mẫu lấy cho mỗi khung (Samples per frame) 3.2.2 Khối Digital Signal design Đây là khối thiết kế bộ lọc số, khối này bao gồm nhiều phần nhỏ để thiết kế bộ lọc. - Các kiểu bộ lọc: có thể lựa chọn bộ lọc thông thấp, bộ lọc thông cao, bộ lọc chắn dải, bộ lọc thông dải. Phương pháp thiết kế: có thể thiết kế giống bộ lọc IIR hoặc FIR. - Bậc của bộ lọc (Filter order): lựa chọn bậc. - Thông số của tần số (Ferquency Specification): đơn vị (Hz), tần số, dải tần tín hiệu. . . - Thông số biên độ (Magnitude Specification): đơn vị(dB), dải tần biên độ . . . 3.2.3 Khối Digital filter Các thông số của bộ lọc số - Các kiểu chuyển đổi của bộ lọc (Transfer function type) - Cấu trúc bộ lọc (Filter structure) - Hệ số nguồn (Coeficient source) - Mức giá trị (Scale value) 3.2.4 Chương trình tạo tín hiệu nhiễu trong Khối Signal From Workspace 3.2.4.1 Lưu đồ thuật toán Begin Xác định tín hiệu âm thanh: y Tần số lấy mẫu: Fs Tạo tín hiệu nhiễu trắng N M=0.03*N+y (M tín hiệu có nhiễu) End Chương trình chạy function [M,Fs]=loc() [y,Fs,N]=wavread('c:/speech_dft.wav'); sound(y,Fs); length(y) N=WGN(length(y),1,0); M=0.01*N+y; M=M; sound(M,Fs); 3.3 Thực hiện việc mô phỏng Hình 3.1: Mô phỏng hệ thống lọc âm thanh Tín hiệu có nhiễu được lấy ra từ Singnal From Workspace, với tần số lấy mẫu Fs=22050 được khuếch đại với hệ số khuếch đại K=3 đưa vào khối thiết kế bộ lọc số (Digital Filter Design). Khi thiết kế ta chọn bộ lọc thông thấp (Lowpass) với tần số lấy mẫu Fs=22050Hz, dải tần tín hiệu (50011000)Hz. Phương pháp thiết kế, chọn bộ lọc FIR trong bộ lọc này chọn bình phương tối thiểu (least-squares). Bậc của bộ lọc (filter Order) chọn bằng 10. Sau đó, tín hiệu được đưa qua bộ lọc số (Digital Filter) ta có thể chọn các thông số bất kỳ như trong kiểu hàm chuyển đổi (Transfer function type) chọn FIR(all zeros- bộ lọc mọi điểm 0). Cấu trúc của bộ lọc có thể chọn từ trực tiếp (Direct form). Hệ số nguồn (Coefficient source) chọn Specify via dialog. Sau khi chọn các thông số thích hợp đưa ra khối nguồn nghe lại âm thanh đã được lọc nhiễu. Các thông số của các khối có thể thay đổi để đạt được âm thanh có chất lượng tốt hơn. Kết luận Sau thời gian ba tháng với sự nỗ lực cố gắng tìm tòi, nghiên cứu, tham khảo các tài liệu và được sự giúp đỡ tận tình của các thầy cô và các bạn. Đặc biệt là Th.S Nguyễn Văn Dương em đã hoàn thành xong nhiệm vụ đồ án của mình. Với mục đích của đề tài là nghiên cứu bộ lọc tuyến tính tối ưu, nên trong nội dung của đề tài em đã trình bày được: cách biểu diễn quá trình ngẫu nhiên ổn định, ước lượng tuyến tính tiến và lùi, các thuật toán giải phương trình chuẩn tắc, đưa ra một số bộ lọc như: bộ lọc lưới AR, bộ lọc lưới hình thang ARMA. Đặc biệt em đi sâu vào bộ lọc Wiener, với mục tiêu là thiết kế bộ lọc triệt tiêu được những thành phần không mong muốn, lọc đi nhiễu thêm vào trong khi phải đảm bảo những đặc tính của tín hiệu mong muốn. Tuy nhiên trong giới hạn của đề tài này chưa trình bày được những ứng dụng cụ thể của bộ lọc tuyến tính, chưa thiết kế được bộ lọc tuyến tính tối ưu. Đây cũng là hạn chế và đồng thời cũng là hướng phát triển của đề tài. Trong thời gian thực hiện làm đồ án tốt nghiệp, em đã cố gắng hết sức tìm hiểu, học hỏi về lĩnh vực này. Mặc dù đã cố gắng song do trình độ bản thân cũng như thời gian còn nhiều hạn chế nên đồ án này chắc chắn sẽ còn nhiều sai sót. Em rất mong được sự góp ý, chỉ bảo của các thầy cô và các bạn để cho đồ án tốt nghiệp của em được hoàn chỉnh hơn. Em xin gửi lời cảm ơn chân thành đến các thầy cô trong ngành Điện tử _ Viễn thông, đặc biệt một lần nữa em xin gửi lời cảm ơn sâu sắc tới Th.S Nguyễn Văn Dương đã tận tình giúp đỡ em hoàn thành đồ án này. Tài liệu tham khảo 1. Nguyễn Quốc Trung (2001), Xử lý tín hiệu và lọc số (tập 1, 2), Nhà xuất bản khoa học và kĩ thuật. 2. Quách Tuấn Ngọc, Xử lý tín hiệu số, Nhà xuất bản Giáo dục(1997) 3. Nguyễn Hữu Tình, Lê Tấn Dũng, Phạm Thị Ngọc Yến, Nguyễn Thị Lan Hương (1999), Cơ sở matlab và ứng dụng, Nhà xuất bản khoa học và kĩ thuật. 4. Jackson, L.B., Digital Filters and Signal Processing, Second Edition, Kluwer Academic Publishers, 1989. pp. 255-257. 5. John G.Proakis, Charles M. Rader, Fuyun Ling, Chrysostomos L.Nikias, Advanced Digital Signal Processing – Macmollan Publishing Company, Republic of Singapore (1992)

Các file đính kèm theo tài liệu này:

  • docTranThuHuyen_DT901.doc