Tài liệu tham khảo công nghệ thông tin ngành viễn thông phân tích tín hiệu và lọc tín hiệu
Trang 1DANH MỤC TỪ VIẾT TẮTALU(Arithmetic - Logic Unit): Đơn vị số học - logic.AM( Amplitude Modulation): Điều biên.
APA( Affine Projection Algorithm): Thuật toán hình chiếu quan hệ.CCS( Code Composer Studio): Phần mềm soạn mã, để chạy card DSK.CPU( Central Processing Unit): Đơn vị xử lý trung tâm.
CSR( Control Status Register): Thanh ghi trạng thái điều khiển.DC( DeCode): Giải mã lệnh.
DC( Direct Current): Dòng một chiều.DP( DisPath): Gởi lệnh.
DSK( DSP Starter Kit): Board mạch để thử nghiệm chương trình DSP.DSP( Digital Signal Processing): Xử lý tín hiệu số.
EDMA( Enhanced Direct Memory Access): Truy cập bộ nhớ trực tiếp mở rộng.EMIF( External Memory Interface): Giao diện bộ nhớ ngoài.
EP( Execute Packet): Gói lệnh thực thi.
FIR( Finite Impulse Respone): Đáp ứng xung hữu hạn.FM( Frequency Modulation): Điều tần.
FP( Fetch Packet): Gói lệnh được tìm về.
GIE( Global Interrupt Enable): Cho phép ngắt toàn cục.
HPI( Host - Port Interface): Giao diện cổng - chủ( CPU máy tính).ID( IDentify): Chỉ số nhận dạng.
IE( Interrupt Enable): Cho phép ngắt.
IER( Interrupt Enable Register): Thanh ghi cho phép ngắt.IFR( Interrupt Flag Register): Thanh ghi cờ ngắt.
IIR( Infinite Impulse Respone): Đáp ứng xung vô hạn
LMS( Least Mean Square ): Bình phương trung bình nhỏ nhất.
McBSP( Multi-channel Buffered Serial Ports): Các cổng đệm nối tiếp đa kênh.MIPS( Million Instructions Per Second): Triệu lệnh trên giây.
MSD( Mean Square Deviation): Độ lệch bình phương trung bình.MSE( Mean Square Error): Sai số bình phương trung bình.NLMS( Normalized Least Mean Square): Đơn giản hóa LMS.PC( Personal Computer): Máy tính cá nhân.
PCM( Pulse Code Modulation): Điều chế xung mã.PG( Program address Generate): Tạo địa chỉ lệnh.
PR( Program fetch packet Receive): Nhận gói lệnh tìm được.PS( Program address Send): Gởi địa chỉ lệnh.
PW( Program access ready to Wait): Sẵn sàng truy cập lệnh.RLS( Recursive Least Square): Bình phương bé nhất đệ quy.ROC( Region Of Convergence): Miền hội tụ.
SNR( Signal Noise Rate): Tỷ số tín hiệu trên nhiễu.
Trang 2TI( Texas Instruments): Hêng Texas Instruments.
VLIW( Very Long Instruction Word): Độ dăi từ lệnh rất lớn WSS( Wide Sense Stationary): Dừng theo nghĩa rộng.
Mở đầu
Chúng ta cần trao đổi câc thông tin mang tính chính xâc của sự vật, hiện tượng, mặt khâc chúng ta cũng mong muốn tiếp nhận câc tín hiệu mă mỗi nguời cần quan tđm riíng nhưng không lăm mất đi tính trung thực của nguồn gốc thông tin, vă cũng có khi chúng ta cần những thông tin mă không có thật trong thực tế vì mục đích riíng năo đó,.v.v.; như vậy để đâp ứng câc nhu cầu đó thì con người ngăy đím không ngừng tạo ra câc sản phẩm thoả mên nhu cầu của con người.Trong câc hướng đi vă câc câch giải quyết khâc nhau cho câc vấn đề níu trín, thì lĩnh vực xử lý tín hiệu số( DSP) mỗi ngăy căng phât triển mạnh mẽ vă vững văng Lý do của sự thănh công đó lă nhờ sự phât triển phần cứng chi phí thấp, âp dụng câc phần mềm đơn giản, linh
Trang 3hoạt nhưng không thiếu đi sự mạnh mẽ về hiệu quả thi hành Và thực tế ngày nay, DSP đã được áp dụng rộng rãi trong hầu hết tất cả các ngành.
Sống trong thế giới hiện đại như ngày nay, chúng ta tiếp xúc với biết bao loại tín hiệu và dưới nhiều dạng khác nhau Có các tín hiệu rất cần thiết như âm thanh, hình ảnh hay các tín hiệu giải trí như âm nhạc v.v.Và bên cạnh cũng luôn tồn tại các tín hiệu khó chịu hoặc không cần thiết trong hoàn cảnh riêng nào đó, mà ta gọi đó là nhiễu Xử lý tín hiệu là trích lấy, tăng cường, lưu trữ và truyền thông tin có ích mà con người cần quan tâm trong vô vàn thông tin có ích cũng như vô ích Sự phân biệt giữa thông tin có ích và vô ích là phụ thuộc vào ý thức chủ quan của mỗi người Nếu tín hiệu ta không quan tâm thì đó là tín hiệu vô ích và ta có thể xem là nhiễu Xuất phát từ lẽ đó, đồ án này sẽ đi nghiên cứu và thực hiện khử nhiễu tín hiệu âm thanh trên TMS320C6711 DSK sử dụng bộ DSP TMS320C6711 của hãng Texas Instruments.
Hầu hết các bộ DSP được sử dụng nằm trong hai mục đích chính là: phân tích tín hiệu và lọc tín hiệu.
Phân tích tín hiệu: liên quan đến việc đo các đặc tính của tín hiệu, thường thao
tác ở trong miền tần số Nó có một số ứng dụng như sau:• Phân tích phổ( tần số và/hoặc pha)
• Nhận dạng tiếng nói• Xác nhận người nói• Dò tìm mục tiêu
Lọc tín hiệu: là công việc với nét đặc trưng có tín hiệu vào và tín hiệu ra Các
hệ thống thực hiện các nhiệm vụ này thường được gọi là các bộ lọc Nó có một số ứng dụng như sau:
• Khử tạp âm nền• Khử giao thoa nhiễu• Tách rời các dãi tần
• Định dạng phổ tần tín hiệu
• Khôi phục tín hiệu bị nhiễu và giảm cấp
Trang 4• Cân bằng kênh
Đồ án này chú trọng vào việc khử nhiễu trong tín hiệu thoại mà cốt lõi của vấn đề này là nghiên cứu về bộ lọc số kiểu thích nghi; xem hiệu quả hoạt động của nó về khử nhiễu ngẫu nhiên như thế nào Bộ lọc này liên tục thay đổi hệ số lọc theo một thuật toán định trước để ước lượng hàm truyền của nhiễu Sự ước lượng càng chính xác thì quá trình khử nhiễu của bộ lọc càng đạt hiệu quả cao Đồ án này gồm có năm chương, chương một nêu tổng quan về lọc số; chương hai nghiên cứu lý thuyết về bộ lọc thích nghi; ở chương ba, chúng ta sẽ đi nghiên cứu về khử nhiễu bằng bộ lọc thích nghi dựa trên các lý thuyết đã nêu rất rõ ở các chương trên; chương bốn, chúng ta sẽ tìm hiểu về phần cứng dùng để chạy chương trình thời gian thực về khử nhiễu kiểu thích nghi, đó là board TMS320C6711 DSK của hãng TI; và cuối cùng là chương năm sẽ là chương trình thực thi khử nhiễu kiểu thích nghi trên TMS320C6711 DSK Để hiểu rõ hơn chúng ta xem xét cụ thể từng phần sau trong đồ án này.
CHƯƠNG 1:
TỔNG QUAN VỀ LỌC SỐ1.1.MỞ ĐẦU:
Lọc số là quá trình rất quan trọng của xử lý tín hiệu số, vì chính những khả năng phi thường của các bộ lọc số đã làm cho chúng trở nên rất phổ biến như ngày nay Các bộ lọc số gồm có hai công dụng chính : phân tích tín hiệu và phục hồi tín hiệu Phân tích tín hiệu được áp dụng khi tín hiệu mong muốn bị giao thoa với các tín hiệu khác hay bị các loại nhiễu tác động vào nó Còn phục hồi tín hiệu là khi tín hiệu mà ta mong muốn hay cần để đánh giá, xét nghiệm bị sai lệch đi bởi nhiều yếu tố của môi truờng tác động vào; làm cho nó bị biến dạng gây ảnh hưởng đến kết quả đánh giá.
Có hai kiểu lọc chính: Tương tự và số Chúng khác nhau hoàn toàn về cấu tạo vật lý và cách làm việc Một bộ lọc tương tự sử dụng các mạch điện tương tự được tạo ra từ các thiết bị như là điện trở, tụ điện, hay opamp, …Có các chuẩn kỹ thuật tốt
Trang 5đã tồn tại trong một thời gian dài cho việc thiết kế một mạch bộ lọc tương tự Còn một bộ lọc số thì sử dụng một bộ xử lý số để hoạt động tính toán số hoá trên các giá trị được lấy mẫu của tín hiệu Bộ xử lý có thể là một máy tính mục đích chung như một PC, hay một chíp DSP chuyên dụng Các quá trình hoạt động của một bộ lọc số được thể hiện như hình 1.1 sau:
Hình 1.1: Quá trình hoạt động của một bộ lọc số.
Nói chung các công việc của bộ lọc số có thể được thực hiện bởi bộ lọc tương
tự( Analog Filter) Các bộ lọc tương tự có ưu điểm là giá thành rẻ, tác động nhanh, dải động( Dynamic Range) về biên độ và tần số đều rộng Tuy nhiên các bộ lọc số
thì có các cấp độ thực hiện hơn hẳn các bộ lọc tương tự, ví dụ như: các bộ lọc số
thông thấp có thể có độ lợi( Gain) 1+/-0.0002 từ DC đến 1000Hz và độ lợi sẽ nhỏ
hơn 0.0002 ở các tần số trên 1001Hz Tất cả các hoạt động diễn ra chỉ trong khoảng 1Hz Điều này không thể thực hiện được ở các bộ lọc tương tự Và vì vậy các bộ lọc số sẽ dần dần thay thế cho các bộ lọc tương tự với các ưu điểm cụ thể như sau:
1) Một bộ lọc số thì có khả năng lập trình được, còn một bộ lọc tương tự, muốn thay đổi cấu trúc thì phải thiết kế lại bộ lọc.
2) Các bộ lọc số dễ dàng thiết kế, dễ kiểm tra và dễ thi hành trên một máy tính mục đích chung hay một trạm làm việc.
3) Đặc điểm các mạch lọc tượng tự là bị ảnh hưởng bởi sự trôi và phụ thuộc nhiều vào nhiệt độ Các bộ lọc số thì không có các vấn đề này, và rất ổn định với cả thời gian và nhiệt độ.
4) Các bộ lọc số có thể xử lý các tín hiệu tần số thấp rất chính xác Tốc độ của công nghệ DSP ngày càng tăng lên, làm cho các bộ lọc số có khả
Trang 6năng xử lý các tín hiệu tần số cao trong miền âm tần( Radio Frequency), mà trong quá khứ là lĩnh vực độc quyền của công nghệ
tương tự.
5) Các bộ lọc số linh hoạt hơn nhiều trong xử lý tín hiệu, với nhiều cách khác nhau hay chính là sự xử lý thích nghi.
6) Các bộ xử lý DSP nhanh có thể xử lý các tổ hợp phức tạp, phần cứng tương đối đơn giản, và mật độ tích hợp rất cao.
Để nâng cao chất lượng của các bộ lọc tương tự, ta chú trọng khắc phục hạn chế của linh kiện như độ chính xác, độ ổn định, sự phụ thuộc vào nhiệt độ và v.v Còn đối với các bộ lọc số, vốn dĩ bản thân nó đã có nhiều ưu điểm nên ta chỉ chú trọng đến các hạn chế của tín hiệu và các phương pháp thiết kế về thuật toán chương trình xử lý tín hiệu.
Trong chương này, chúng ta sẽ tìm hiểu về một số lý thuyết cơ sở về lọc tín hiệu, làm tiền đề cho việc thiết kế một bộ lọc số thích nghi
1.2.GIỚI THIỆU VỀ LỌC SỐ: [14]
Trong xử lý tín hiệu số, ta thường nói tín hiệu vào và ra của một bộ lọc đều ở miền thời gian, bởi vì tín hiệu thường được tạo ra bằng cách lấy mẫu ở các thời điểm cách đều nhau Tuy nhiên, ta cũng có thể lấy mẫu ở các vị trí cách đều nhau trong không gian hay trong một số phạm trù khác; nhưng thông thường nhất là lấy mẫu trong miền thời gian và miền tấn số Trong xử lý tín hiệu số thì từ miền thời gian ta có thể liên hệ tổng quát đến các phạm trù khác Ví dụ hình 1.2 sau sẽ mô tả điều đó Mỗi bộ lọc tuyến tính đều có một đáp ứng xung, một đáp ứng bước và một đáp ứng tần số Mỗi đáp ứng này đều chứa đầy đủ thông tin về bộ lọc, nhưng dưới mỗi dạng khác nhau Nếu một trong ba đáp ứng được xác định thì hai đáp ứng kia cũng sẽ được tính ra trực tiếp Cả ba đáp ứng này đều rất quan trọng, vì chúng mô tả bộ lọc ở các hoàn cảnh khác nhau.
Trang 7Với đáp ứng xung là đầu ra của hệ thống khi đầu vào là xung đơn vị; đáp ứng bước là đầu ra của hệ thống khi đầu vào là bước nhảy đơn vị( hay xung bậc thang) Vì hàm bước nhảy là tích phân của hàm xung đơn vị, nên đáp ứng bước chính là tích phân của đáp ứng xung Từ đó ta có hai cách tìm đáp ứng bậc thang:
Đưa một sóng bước nhảy vào bộ lọc và xem kết quả ở đầu ra hay; Lấy tích phân của đáp ứng xung.
Còn đáp ứng tần số lấy từ biến đổi Fourier của đáp ứng xung.
Hình 1.2: Đáp ứng xung, đáp ứng bước và đáp ứng tần số của bộ lọc.
Phương pháp trực tiếp nhất để thực hiện lọc số là dùng phép tích chập của tín hiệu vào với đáp ứng xung của bộ lọc số; khi đó đáp ứng xung được xem là cốt lõi cho việc thiết kế của bộ lọc Một phương pháp khác để thực hiện lọc số là dùng phương pháp đệ quy Khi bộ lọc được thực hiện bằng phép tích chập, mỗi mẫu trong tín hiệu ra được tính toán bằng cách tổ hợp có trọng số các mẫu trong tín hiệu vào Các bộ lọc kiểu đệ quy mở rộng thêm quá trình trên bằng cách sử dụng cả các trị số đã tính được từ tín hiệu ra, bên cạch các điểm lấy từ tín hiệu vào; thay vì dùng một lõi lọc, các bộ lọc đệ quy được xác định bởi một dãy hệ số đệ quy Các bộ lọc đệ quy còn được gọi là các bộ lọc có đáp ứng xung dài vô hạn IIR, còn các bộ lọc thực hiện theo phương pháp chập thì gọi là các bộ lọc có đáp ứng xung dài hữu hạn FIR.
Có nhiều cách để con người biểu diễn thông tin qua tín hiệu như trong các kiểu điều chế hay mã hóa tín hiệu: AM, FM, PCM,…Còn các tín hiệu sinh ra trong tự
Trang 8nhiên thì chỉ có hai cách biểu diễn là theo miền thời gian hay là ở miền tần số Thông tin được thể hiện trong miền thời gian được mô tả bằng độ lớn của sự kiện tại thời điểm xuất hiện Mỗi mẫu trong tín hiệu cho thấy cái gì xuất hiện ở thời điểm ấy và độ lớn của nó Trái lại, thông tin được biểu thị trong miền tần số có tính chất gián tiếp hơn và mỗi mẫu tín hiệu đơn độc không thể thể hiện được thông tin đầy đủ mà phải trong mối quan hệ nhiều điểm của tín hiệu.
Từ đó ta thấy tầm quan trọng của đáp ứng bước và đáp ứng tần số; đáp ứng bước mô tả sự biến đổi của thông tin trong miền thời gian bởi hệ thống còn đáp ứng tần số cho thấy sự biến đổi của thông tin trong miền tần số Với mỗi ứng dụng khác nhau thì tầm quan trọng của hai loại đáp ứng cũng khác nhau.
1.3.CÁC THÔNG SỐ CỦA HỆ THỐNG Ở MIỀN THỜI GIAN: [14]Gồm có ba thông số quan trọng sau.
1.3.1.Tốc độ chuyển đổi hay thời gian lên( Risetime):
Tốc độ chuyển đổi thường được thể hiện bằng thời gian lên( hay số mẫu) giữa mức biên độ 10% đến 90% Thời gian lên có thể không nhanh do nhiều nguyên nhân như tạp âm, hạn chế sẵn có của hệ thống.v.v.
1.3.2.Gợn sóng nhô( Overshoot) trong đáp ứng bậc thang:
Thông thường phải loại bỏ gợn sóng nhô vì nó làm thay đổi biên độ các mẫu trong tín hiệu; đây là méo tín hiệu cơ bản của thông tin chứa trong miền thời gian Gợn sóng nhô có thể do đại lượng đang đo hoặc do bộ lọc đang sử dụng.
Trang 9Hình 1.3: Các thông số của hệ thống ở miền thời gian.
1.4.CÁC THÔNG SỐ CỦA HỆ THỐNG Ở MIỀN TẦN SỐ: [14]Gồm các thông số sau:
Dải thông( Passband): là dải gồm các tần số được bộ lọc cho qua.
Dải chắn( Stopband): là dải chứa các tần số bị ngăn cản.
Dải chuyển tiếp( Transitionband): là dải ở vị trí trung gian của
dải thông với dải chắn.
Độ dốc xuống nhanh: là ứng với mỗi dải chuyển tiếp rất hẹp.
Tần số cắt: là tần số phân cách giữa dải thông và dải chuyển tiếp
Trong thiết kế tương tự, tần số cắt thường được xác định tại nơi
Trang 10biên độ giảm còn 0.707( tương ứng -3dB) Các bộ lọc số ít được tiêu chuẩn hóa và có thể xác định các tần số cắt tại các mức biên độ 99%, 90%, 70.7%, và 50%.
Hình 1.4 sau thể hiện các đáp ứng của các bộ lọc cơ bản.
Hình 1.4: Các đáp ứng tần số của các bộ lọc căn bản.
Để phân tích các tần số kề sát nhau, bộ lọc phải có độ dốc xuống nhanh Muốn cho các tần số của dải thông lọt qua hoàn toàn bộ lọc, phải không có gợn sóng dải thông Cuối cùng, muốn ngăn chặn các tần số của dải chắn, cần có độ suy giảm dải chắn lớn; các điều đó được biểu diễn ở hình sau.
Về mặt pha, trước hết hệ số pha không quan trọng trong hầu hết các ứng dụng ở miền tần số Chẳng hạn, pha của một tín hiệu âm thanh hầu như hoàn toàn bất kỳ và không chứa thông tin hữu ích nào Thứ hai, nếu pha là quan trọng thì ta lại có thể dễ dàng thực hiện các bộ lọc số có đáp ứng pha tuyến tính, tức là tất cả tần số đi qua bộ lọc không bị lệch pha Trong khi các bộ lọc tương tự rất kém về mặt này
Hình 1.5 sau thể hiện ba thông số về đặc điểm làm việc của bộ lọc trong miền tần số.
Trang 11Hình 1.5: Các thông số của hệ thống ở miền tần số.
1.5.CÁC BỘ LỌC THÔNG THẤP, THÔNG CAO, THÔNG DẢI, VÀ CHẮN DẢI: [4] & [14]
Việc thiết kế các bộ lọc số thực tế đều đi từ lý thuyết các bộ lọc số lý tưởng; gồm có bốn bộ lọc số lý tưởng là :
• Bộ lọc số thông thấp.
• Bộ lọc số thông cao.• Bộ lọc số thông dải.• Bộ lọc số chắn dải.
Trang 12Lọc ở đây có nghĩa là lọc tần số chính, vì vậy mà tất cả các đặc trưng của lọc tần số đều được cho theo đáp ứng biên độ Các bộ lọc này được thiết kế bằng cách xuất phát từ một bộ lọc thông thấp, rồi chuyển đổi sang đáp ứng yêu cầu Vì vậy ta chỉ khảo sát điển hình bộ lọc thông thấp thôi.
Có hai phương pháp chuyển đổi từ thông thấp sang thông cao là: nghịch đảo
phổ( Spectral Inversion) và đảo chiều phổ( Spectral Reversal) Hình 1.6 sau đây
thể hiện sự nghịch đảo phổ.
Hình 1.6: Sự nghịch đảo phổ.
Phải thực hiện hai bước để đổi đáp ứng xung thông thấp thành thông cao: đầu tiên đổi dấu mỗi mẫu trong lõi lọc; sau đó thêm một mẫu vào tại tâm đối xứng Như thế ta được đáp ứng xung lọc thông cao thể hiện ở hình c), và đáp ứng tần số thể hiện ở hình d) Sự nghịch đảo phổ đã lật ngược đáp ứng tần số, đổi dải thông thành dải chắn và ngược lại
Phương pháp thứ hai để chuyển đổi thông thấp thành thông cao, đó là đảo chiều phổ, được thể hiện ở hình 1.7 sau Cũng tương tự như trên, đáp ứng xung của bộ lọc thông thấp ở hình a) tương ứng với đáp ứng tần số ở hình b) Đáp ứng xung của bộ
Trang 13lọc thông cao ở hình c) được tạo ra bằng cách đổi dấu các mẫu tín hiệu cách trước; điều này đã đảo lộn miền tần số từ trái sang phải Tần số cắt của bộ lọc thông thấp trong ví dụ trên là 0.15, còn tần số cắt của bộ lọc thông cao là 0.35.
Đổi dấu của mỗi tín hiệu cách một tương đương với nhân lõi lọc với một sóng sine có tần số 0.5 Điều này có tác dụng dịch chuyển miền tần số một khoảng tần số bằng 0.5.
Hình 1.7: Sự đảo chiều phổ.
Và hai hình sau đây cho chúng ta thấy cách kết hợp các đáp ứng xung của bộ lọc thông thấp và bộ lọc thông cao để tạo nên các bộ lọc thông dải và bộ lọc chắn dải Khi cộng các đáp ứng xung sẽ tạo ra một bộ lọc chắn dải, còn khi nhân chập các đáp ứng xung sẽ cho một bộ lọc thông dải.
Trang 14Hình 1.8: Thiết kế bộ lọc thông dải
Hình 1.9: Thiết kế bộ lọc chắn dải.
Các bộ lọc số lý tưởng đều không thể thực hiện được về vật lý mặc dù ta đã xét trường hợp h(n) thực bởi vì chiều dài của h(n) là vô cùng, hơn nữa h(n) là không nhân quả, tức là:
Trang 151+δ1
1 1-δ1
ω : tần số giới hạn( biên tần ) dải chắn.
Ngoài ra còn có tham số phụ là: ∆ω =ωs- ωp: bề rộng dải quá độ.
Ví dụ minh họa đối với bộ lọc thông thấp bằng hình 1.10 sau:
Hình 1.10: Các tham số kỹ thuật của bộ lọc thông thấp.
1.6.CẤU TRÚC CĂN BẢN CỦA CÁC BỘ LỌC SỐ: [2] & [3] & [4] & [5]
Có hai kiểu bộ lọc số căn bản đó là: bộ lọc FIR và IIR; Các bộ lọc FIR có hai đặc điểm quan trọng so với các bộ lọc IIR: thứ nhất, các bộ lọc FIR chắc chắn ổn định, thậm chí sau khi các hệ số của bộ lọc đã được lượng tử hóa Thứ hai, các bộ lọc FIR dễ dàng được ràng buộc để có pha tuyến tính Và sau đây ta sẽ đi khảo sát từng loại bộ lọc đó; đầu tiên chúng ta xem lại phép biến đổi z, là công cụ hữu hiệu cho việc phân tích và thiết kế các bộ lọc số.
1.6.1.Bộ lọc FIR:
1.6.1.1.Phép biến đổi Z( Z-Transform):
Biến đổi Z là công cụ hữu hiệu trong việc phân tích các tín hiệu và hệ thống thời gian rời rạc, và là công cụ tương ứng với phép biến đổi Laplace đối với các tín hiệu và hệ thống thời gian liên tục; nó có thể được sử dụng để giải các phương trình
Dải quá độ
Trang 16sai phân hệ số hằng, tính toán đáp ứng của hệ thống tuyến tính và bất biến đổi với tín hiệu ngỏ vào cho trước, thiết kế các bộ lọc tuyến tính.
Biến đổi Z của tín hiệu thời gian rời rạc x(n) được định nghĩa bởi: X(z)= ∑∞
x )( (1.1)Với z= rejω là một biến phức Để ký hiệu, nếu x(n) có biến đổi z là X(z), ta
x )( = ∑∞ [ ]
r ( ) ω (1.2)Định nghĩa mặt phẳng z phức: z = Re(z) + jIm(z) = rejω.
Bằng các phân tích thành thừa số các đa thức tử số và mẫu số, biến đổi z hữu tỉ được biểu diễn như sau:
X(z) = C.
(1.3)
Các nghiệm của đa thức tử số, βk, được gọi là các zero của X(z) còn các
nghiệm của đa thức mẫu số, αk, được gọi là các cực( Pole) của X(z) Miền hội tụ(
ROC): α <| z|<β Các cặp biến đổi z thông dụng thể hiện ở bảng 1.1 sau:
Bảng 1.1: Các cặp biến đổi z thông dụng.
Trang 17Các tính chất của biến đổi z được cho ở bảng 1.2 sau:
Bảng 1.2: Các tính chất của biến đổi z.
Tuyến tínhTịnh tiếnĐảo ngượcNhân hàm mũ
Phép chập Liên hợpĐạo hàm
ax(n) + bx(n)x(n-n0)
α x(n)x(n)*h(n)
aX(z) + bX(z)z-n0X(z)
dzzdX )(
( 1)21
− zz
( 1)21
− zz
Mọi z|z| > |α |
Trang 18Trong việc thiết kế, chúng ta sử dụng một số hữu hạn là N; và phương trình trên được viết lại như sau:
y(n) = ∑
( (1.5) Ở đây n là thời gian rời rạc, y(n) là đáp ứng đầu ra đối với tín hiệu đầu vào rời rạc x(n) tại thời điểm n, h(n) là đáp ứng xung của bộ lọc.
Biến đổi z phương trình(1.4) được :
Y(z) = h(0)X(z) + h(1)z-1X(z) + … + h(N)z-NX(z) (1.6)Phương trình (1.6) biểu diễn một phép tích chập theo thời gian giữa các hệ số và các mẫu tín hiệu vào Phép tích chập này tương đương với một phép nhân trong
miền tần số, hay là:
Y(z) = H(z)X(Z) (1.7)Ở đây H(z) là biến đổi z của h(k), là hàm truyền:H(z) = ∑=−Nkkzkh0)( = h(0) + h(1)z-1 + … + h(N)z-N = NNNzNhzhzh(0) + (1) −1+ + ( )
(1.8)Hình 1.11 sau thể hiện một cấu trúc bộ lọc FIR biểu diễn phương trình(1.5) hay phương trình(1.6):
Hình 1.11: Cấu trúc bộ lọc FIR thể hiện các bộ trễ.
Phương trình(1.4) cho thấy có thể thực hiện một bộ lọc FIR nếu biết tín hiệu vào ở thời điểm n là x(n) và các tín hiệu vào bị làm trễ là x(n-k) Không cần các tín hiệu hồi tiếp cũng như các tín hiệu ngỏ ra trước đó Vì vậy, bộ lọc FIR còn gọi là bộ lọc không có tính đệ quy, thuận chiều hay trì hoãn từng đoạn.
Một đặc tính quan trọng của một bộ lọc FIR là nó có thể bảo đảm sự tuyến tính pha Với pha tuyến tính, tất cả ngỏ và hợp bởi các sóng sine được làm trễ bởi vài số
y(n)
Trang 191.6.1.3.Cấu trúc hàng rào( Lattice) FIR:
Cấu trúc hàng rào rất được sử dụng cho các ứng dụng trong việc lọc thích nghi và xử lý lời nói Một cấu trúc hàng rào N bậc được thể hiện ở hình sau:
x(n) y1(n) y2(n) yN-1(n) yN(n) k1 k2 kN
Hình 1.12: Cấu trúc hàng rào FIR.
Với hệ thống hàng rào FIR bậc N ta có : yN(n) = ∑
a(r-1)i = 2( )1 r
−− −
, i = 0,1,2,…,r-1 (1.15)Với r = N, N-1, …, 1; |kr| ≠1.
1.6.1.4.Các bộ lọc FIR có pha tuyến tính sử dụng các cửa sổ( Window):
Có nhiều loại cửa sổ khác nhau được sử dụng trong phương pháp thiết kế sử dụng cửa sổ, một vài cửa sổ được cho trong bảng 1.3 sau:
z-1
Trang 20Bảng 1.3: Một vài cửa sổ thông dụng.
Chữ nhật
w(n) =
w(n) =
Trong đó w(n) là cửa sổ có chiều dài hữu hạn, đối xứng xung quanh điểm giữa( w(n) = w(N-n)).
Ngoài ra bộ lọc FIR còn có một số cấu trúc khác được thể hiện ở các hình vẽ sau:
Hình 1.13: Sự thực hiện bộ lọc FIR dạng trực tiếp.
Dạng trực tiếp này rất thường được sử dụng cho việc thiết kế một bộ lọc khử nhiễu.
Hình 1.14: Sự thực hiện ngang hàng của một bộ lọc FIR.
Trang 21Hình 1.15: Sự thực hiện bộ lọc FIR dạng tế bào của bộ nhân/tích luỹ song song.
Hình 1.16: Sự thực hiện bộ lọc FIR dạng chuyển vị.
1.6.2.Bộ lọc IIR:
Lọc FIR không có tương ứng trong dạng tương tự, còn lọc IIR có thể được thiết kế từ lọc tương tự bằng phép biến đổi song tuyến tính, ánh xạ một-một từ miền s sang miền z và ngược lại:
s = 11
(1.16)
Suy ra: z =
(1.17)Đây là kỹ thuật thông dụng nhất để biến đổi một bộ lọc tương tự sang lọc rời rạc: hàm truyền của một bộ lọc tương tự trong miền s có thể đuợc chuyển thành một hàm truyền thời gian rời rạc trong miền z.
Xét phương trình vào ra tổng quát:
Trang 22y(n) = ∑
)( - ∑
= a0x(n) + a1x(n-1) +…+ aNx(n-N) – b1y(n-1) – b2y(n-2) - …- bMy(n-M) (1.19)
Phương trình( 1.19) biểu diễn một bộ lọc có đáp ứng xung vô hạn( IIR) Tín
hiệu ra của bộ lọc này tuỳ thuộc vào các tín hiệu vào cũng như các tín hiệu ra trước đó Tín hiệu ra y(n), ở thời điểm n, không những tuỳ thuộc vào các tín hiệu vào hiện thời x(n), ở thời điểm n; và các tín hiệu vào trước đó x(n-1), x(n-2), , x(n-N), mà còn phụ thuộc cả vào các tín hiệu ra trước đó y(n-1), y(n-2),…, y(n-M).
Giả thiết các điều kiện ban đầu bằng 0 đối với phương trình(1.19); ta lấy biến đổi z của y(n), ta được:
Y(z) = a0X(z) + a1z-1X(z) +…+aNz-NX(z) – b1z-1Y(z) – b2z-2Y(z)-…-bMz-MY(z) (1.20)Cho N = M ở (1.20), ta sẽ có hàm truyền:
H(z) = XY((zz)) = N
= DN((zz)) (1.21)Nhân và chia(1.21) cho zN, được:
H(z) =
= C∑
= −−
Phương trình(1.22) mô tả một hàm truyền với N điểm 0 và N điểm cực Vì để cho hệ thống ổn định, tất cả các cực phải nằm bên trong đường tròn đơn vị do đó:
1.Nếu |pi| < 1, h(n)→ 0 khi n→ ∞, do đó hệ thống ổn định.
2.Nếu |pi| > 1, h(n)→ ∞ khi n→ ∞, do đó hệ thống không ổn định.
Chú ý rằng nếu |pi| = 1, hệ thống ổn định bên lề( Biên giới giữa ổn định và không ổn định) và cho đáp ứng dao động Hệ thống không ổn định khi có nhiều cực trên đường tròn đơn vị.
Nếu tất cả các hệ số bj trong phương trình(1.22) đều bằng 0, thì sẽ chỉ có các cực nằm tại gốc trong mặt phẳng z Khi đó, các phương trình(1.18) và (1.19) trở thành phương trình tích chập biểu diễn cho một bộ lọc FIR Hệ thống sẽ chỉ còn là
Trang 23một bộ lọc FIR không đệ quy và ổn định Sau đây là một số cấu trúc biểu diễn các bộ lọc IIR.
1.6.2.1.Cấu trúc bộ lọc IIR dạng trực tiếp I:
Hình 1.17 sau đây thể hiện cấu trúc dạng trực tiếp I có thể dùng để thực hiện bộ lọc IIR cho bởi phương trình(1.19) Đối với bộ lọc bậc N, cấu trúc này có 2N bộ trễ(
Delay) biểu thị bằng z-1 Ví dụ, bộ lọc bậc hai với N = 2 có 4 phần tử trễ( trì hoãn).
Hình 1.17: Cấu trúc bộ lọc IIR dạng trực tiếp I.
1.6.2.2.Cấu trúc bộ lọc IIR dạng trực tiếp II:
Cấu trúc dạng trực tiếp II thể hiện ở hình sau, là một trong các cấu trúc thông dụng nhất Cấu trúc này chỉ yêu cầu số phần tử trễ bằng một nửa so với dạng trực tiếp I Như bộ lọc bậc 2 chỉ cần 2 phần tử z-1 thay vì 4 như ở dạng I Ta chứng tỏ phương trình (1.19) thực hiện được bởi dạng trực tiếp II.
Gọi U(z) là biến xác định bởi : U(z) = DX((zz)) (1.23)Ở đây, D(z) là đa thức mẫu số của hàm truyền(1.21) Từ (1.21) suy ra :
Y(z) = N(Dz)(Xz)(z) = U(z)D(z) (1.24)Y(z) = U(z)[a0 + a1z-1 + …+ aNz-N] (1.25)
Trang 24Hình 1.18 : Cấu trúc bộ lọc IIR dạng trực tiếp II.
Từ (1.23), suy ra:
X(z) = U(z)D(z) = U(z) [1 + b1z-1 +…+ bNz-N] (1.26)Biến đổi z ngược của (1.26) được:
Suy ra: u(n) = x(n) - b1u(n-1) -…- bNu(n-N) (1.28)Biến đổi z ngược phương trình(1.25) được:
y(n) = a0u(n) + a1u(n-1) +…+ aNu(n-N) (1.29)Cấu trúc IIR dạng trực tiếp II có thể được biểu diễn bởi(1.28) và (1.29).
Trang 25Các bộ lọc thích nghi( Adaptive Filter) được sử dụng tốt nhất trong các loại bộ
lọc, ở các tín hiệu có điều kiện hay các thông số hệ thống thay đổi rất chậm và bộ lọc đã được điều chỉnh để bù cho sự thay đổi này Thuật toán LMS là một thuật toán dò tìm được sử dụng để cung cấp một kế hoạch quản lý tốt việc điều chỉnh các hệ số bộ lọc, ngoài ra còn có một số thuât toán khác cũng có khả năng thích nghi như: RLS, NLMS,…Mỗi thuật toán có các ưu, khuyết điểm khác nhau; chúng ta sẽ tìm hiểu rõ điều đó qua các phần sau đây
2.2.MỘT SỐ KHÁI NIỆM CƠ BẢN:2.2.1.Biến ngẫu nhiên:
Khi ta thực hiện một thí nghiệm ngẫu nhiên, tập hợp tất cả các kết quả( loại trừ nhau) có thể xảy ra gọi là không gian mẫu của thí nghiệm ngẫu nhiên đó.
Sự kiện là tập hợp có thể gồm một hay nhiều kết quả trong một không gian mẫu
Như vậy biến ngẫu nhiên là phép ánh xạ các sự kiện sang các giá trị thực( hay phức).
2.2.2.Quá trình ngẫu nhiên:
Quá trình ngẫu nhiên là tập hợp các hàm số có các thông số( thường là thông số thời gian), mà có thuộc tính thống kê nào đó Một quá trình ngẫu nhiên có thể được biểu diễn bởi một tập hợp các biến ngẫu nhiên.
Một quá trình ngẫu nhiên được gọi là dừng chặt( Strictly Stationary) nếu các
thuộc tính thống kê của nó không thay đổi khi dịch chuyển đi một khoảng thời gian nào đó Chẳng hạn, đối với quá trình ngẫu nhiên rời rạc theo thời gian được biểu diễn bởi chuỗi tín hiệu theo thời gian u(n), u(n-1),…, u(n-M+1) gọi là dừng chặt khi hàm
mật độ đồng xác suất( Joint Probability Density Function) của nó tại các thời điểm
quan sát n, n-1,…, n-M+1 là không đổi khi n thay đổi( M không đổi).
2.2.3.Đặc tính từng phần của quá trình ngẫu nhiên rời rạc theo thời gian:
Thực tế cho thấy khó có thể xác định hàm mật độ đồng xác suất của tập hợp các thời điểm quan sát trong quá trình ngẫu nhiên Do đó chúng ta cần quan tâm đến các
đặc tính thống kê từng phần( Partial) của nó.
Trang 26Xét một quá trình ngẫu nhiên rời rạc theo thời gian như trên ta định nghĩa kỳ vọng và hàm giá trị trung bình của biến ngẫu nhiên trong quá trình ngẫu nhiên như sau:
Kỳ vọng của đại lượng ngẫu nhiên là trung bình theo xác suất các giá trị có thể nhận của đại lượng ngẫu nhiên đó, kí hiệu là E.
Khi một quá trình ngẫu nhiên là dừng chặt thì lúc đó ta có:
Hàm giá trị trung bình của quá trình ngẫu nhiên luôn luôn bằng hằng số
µ, với mọi n.
Hàm tự tương quan chỉ còn phụ thuộc vào sự khác nhau trong khoảng thời gian quan sát giữa thời điểm n và n-k, chính là k: r( n, n-k) = r(k). Tuy nhiên hai phương trình trên không đảm bảo rằng quá trình ngẫu
nhiên là dừng chặt Nhưng nếu, hai phương trình trên được đảm bảo, ta nói rằng quá trình ngẫu nhiên rời rạc theo thời gian là dừng theo nghĩa
rộng( WSS)
2.2.4.Tương quan của các tín hiệu:
Trong việc xử lý tín hiệu, chúng ta luôn cần phải so sánh các tín hiệu với nhau;
Một phương pháp so sánh hay dùng nhất đó là tương quan( Correlation) sẽ được mô
tả sau đây:
Định nghĩa tương quan chéo( Cross_Correlation):
Giả sử có hai dãy x(n) và y(n), tối thiểu một trong hai dãy có năng lượng hữu hạn Tương quan chéo của x(n) và y(n) được định nghĩa như sau:
Trang 27yB ü loüc ä
thêch nghi
rxy(n) = ∑∞
x( ) ( ) 0, 1, ,(2.3)
Định nghĩa tự tương quan( Auto_Correlation):
Trong định nghĩa tương quan chéo nếu ta có x(n) ≡ y(n) thì ta có định nghĩa tự tương quan Vậy hàm tự tương quan được định nghĩa như sau:
rxx(n) = ∑∞
x( ) ( ) 0, 1, ,(2.4)
rxx(n) là hàm tự tương quan của dãy x(n).
2.3.GIỚI THIỆU LỌC THÍCH NGHI: [9] & [10]
Trong các bộ lọc số quy ước( FIR và IIR), các thông số của quá trình lọc dùng để xác định các đặc trưng của hệ thống coi như đã biết, các thông số này có thể biến đổi theo thời gian, nhưng bản chất của sự biến đổi thì coi như đã biết Trong nhiều bài toán thực tiễn, một số thông số có thể có độ bất định lớn do dữ liệu thử nghiệm trước về quá trình không được thích hợp Một số thông số có thể biến thiên theo thời gian nhưng bản chất chính xác của sự biên thiên thì không thể tiên đoán được Trong các trường hợp đó, chúng ta cần phải thiết kế bộ lọc có khả năng tự nắm bắt, để có thể thích nghi với hoàn cảnh hiện thời.
Các hệ số( Coefficient) của một bộ lọc thích nghi được hiệu chỉnh để bù lại các
thay đổi trong các tín hiệu vào, tín hiệu ra hoặc trong các thông số của hệ thống Thay vì bị cứng nhắc, một hệ thống thích nghi có thể nắm bắt các đặc trưng của tín hiệu và dò theo các biến đổi chậm Một bộ lọc thích nghi có thể rất hữu ích cho sự bất định về các đặc trưng của một tín hiệu hoặc khi các đặc trưng đó thay đổi Hình 2.1 sau
nghi.
Trang 28Hình 2.1: Cấu trúc bộ lọc thích nghi cơ bản.
Trong đó ngỏ ra y của bộ lọc thích nghi được so sánh với tín hiệu mong muốn(
Desired) d để cho ra tín hiệu sai số( Error ) e, tín hiệu sai số này được hồi tiếp về để
điều chỉnh bộ lọc thích nghi.
Các hệ số của bộ lọc thích nghi được điều chỉnh, hay tối ưu hóa, sử dụng các thuật toán như LMS, dựa trên tín hiệu sai số e Ở phần các thuật toán của bộ lọc thích nghi chúng ta sẽ nói rõ về thuật toán này.
2.4.CÁC CẤU TRÚC THÍCH NGHI: [9] & [10]
Một số các cấu trúc thích nghi đã được sử dụng cho các ứng dụng khác nhau trong lọc thích nghi Mỗi ứng dụng có một cấu trúc thích nghi cụ thể tương ứng Sau đây chúng ta chỉ xét ba trường hợp cụ thể đó là: thứ nhất, cấu trúc thích nghi cho khử
nhiễu( Noise Cancellation); thứ hai, cho hệ thống định vị( System Identification); và thứ ba, cho các bộ tiên đoán( Predictor) thích nghi.
2.4.1.Khử nhiễu:
Hình 2.2 sau đây thể hiện cho cấu trúc để ứng dụng khử nhiễu d + n + e n’ y
Hình 2.2: Cấu trúc bộ lọc thích nghi cho khử nhiễu.
Tín hiệu mong muốn d, đã bị sửa đổi bởi nhiễu cộng, n, không tương quan Nhiễu n’ có thể đến từ vài nguồn giống như n nhưng đã bị thay đổi bởi điều kiện môi trường Ngỏ ra y được thích ứng với nhiễu n, khi điều này xảy ra, tín hiệu sai số e tiến đến gần tín hiệu mong muốn d; toàn bộ ngỏ ra là tín hiệu sai số e này.
2.4.2.Nhận dạng hệ thống:
Hình 2.3 sau đây thể hiện một cấu trúc thích nghi được dùng cho ứng dụng nhận dạng hay mô hình mẫu Cùng một tín hiệu vào, được đưa đến hai hệ thống song song là hệ thống chưa xác định và bộ lọc thích nghi Tín hiệu sai số e là sự khác nhau giữa đáp ứng của hệ thống chưa biết d và đáp ứng của bộ lọc thích nghi y Tín hiệu sai số
này được phản hồi về bộ lọc thích nghi và được dùng để cập nhật( Update) các hệ số
Bộ lọc thích nghi
Trang 29
Hình 2.3: Cấu trúc bộ lọc thích nghi cho nhận dạnghệ thống.
Hình 2.4: Cấu trúc cho bộ dự đoán thích nghi.
2.5.CÁC BỘ LỌC WIENER: [2] & [9] & [10]
2.5.1.Giới thiệu:
Khác với hầu hết các loại bộ lọc số được thiết kế dựa trên các khái niệm trong miền tần số, các bộ lọc Wiener được phát triển dựa trên các khái niệm về miền thời gian Các bộ lọc Wiener được thiết kế để tối thiểu hóa sai số trung bình bình phương(
MSE) giữa đầu ra của nó và một tín hiệu ra mong muốn hay yêu cầu Vì vậy chúng
được cho là tối ưu theo nghĩa của sai số trung bình bình phương Định nghĩa đặc biệt này về tối ưu có thuận lợi là dẫn đến các lời giải có dạng hữu hạn cho các hệ số của bộ lọc về mặt hàm tự tương quan của tín hiệu đi vào bộ lọc và hàm tương quan chéo giữa tín hiệu vào và tín hiệu ra yêu cầu.
Bộ lọc thích nghiHệ thống chưa biết
Bộ lọc thích nghiKhối trễ
Trang 30Bộ lọc thích nghi chính là cơ chế để thực hiện bộ xấp xỉ Wiener tối ưu khi không có được các hàm tự tương quan và tương quan chéo cụ thể Thay vào chổ các hàm đó, cần có một chuỗi các tín hiệu vào thứ hai, có tên là tín hiệu vào huấn luyện hay tín hiệu vào mong muốn, như thể hiện ở hình vẽ 2.5 sau:
Dãy xung theo dõi Tín hiệu ước lượng
{y(n)} {x(n)}
Dãy xung huấn luyện {x(n)}
Hình 2.5: Bộ ước lượng tuyến tính bộ lọc thích nghi.
Tín hiệu vào huấn luyện có phần nào đó gần đúng với tín hiệu ra mong muốn của một bộ lọc tối ưu Tín hiệu vào nói trên có trong nhiều ứng dụng của bộ lọc thích nghi Đáp ứng xung của bộ lọc thích nghi sau đó sẽ được biến đổi dần dần khi ngày càng có thêm nhiều dãy tín hiệu được theo dõi và nhiều dãy tín hiệu huấn luyện,
khiến cho dãy tín hiệu ra x(n) càng gần đúng với dãy tín hiệu huấn luyện x(n), và nhờ
đó ta xấp xỉ được tín hiệu ra của bộ lọc tối ưu Và hình 2.6 sau đây sẽ minh họa cho bài toán thường gặp trong ước lượng tuyến tính.
Tạp âm bổ sung
Dãy tín hiệu hay Dãy xung quan sát
Hình 2.6: Bài toán ước lượng.
Tín hiệu ta chú ý đến là dãy {x(n)}, nhưng ta không thể quan sát nó trực tiếp được, mà chỉ có thể quan sát dãy {y(n)}, được tạo ra bằng cách đưa dãy {x(n)} vào một hệ tuyến tính, làm méo tín hiệu, và bổ sung tạp âm hoặc nhiễu vào đầu ra Để tái tạo {x(n)} từ {y(n)} ta cần phải thiết kế một bộ lọc tuyến tính như ở hình 2.7 sau.
Bộ lọc tuyến tính
Hệ làm méo tín hiệu
Trang 31Hình 2.7: Ước lượng tuyến tính.
Đầu ra của bộ lọc mới này là dãy {x(n)}, ước lượng của tín hiệu ta quan tâm là
{x(n)} Chất lượng của tín hiệu ước lượng được đặc trưng bằng hàm sai số {e(n)}, là hiệu của dãy mang thông tin và dãy ước lượng:
Dĩ nhiên, sai số nhỏ nhất là của ước lượng tốt và sai số lớn là dấu hiệu của ước lượng kém Ta cần chọn một đáp ứng xung, hoặc một đáp ứng tần số tương đương cho bộ lọc ở hình 2.7 sao cho sai số càng nhỏ càng tốt Đây chính là bài toán tối ưu hóa Ta cần tối thiểu hóa hàm f(e) của sai số đối với đáp ứng xung Một cách thuận tiện là lấy vi phân của hàm f(e) đối với mỗi điểm trong đáp ứng xung và sau đó tìm một giá trị cho đáp ứng xung khiến cho tất cả vi phân đồng loạt bằng 0 Do đó, chọn f(e) = e2 là thuận lợi nhất, được minh họa ở hình 2.8 sau.
ξ(n) = E[e2(n)] (2.6) Bộ lọc tuyến
tính
Trang 32Như vậy bộ lọc tối ưu được định nghĩa như bộ lọc giảm thiểu được sai số trung bình bình phương, trong nhóm tất cả các bộ lọc tuyến tính có thể được sử dụng.
2.5.2.Bộ lọc FIR Wiener:
Nếu lúc đầu ta giới hạn bộ lọc tuyến tính ở hình 2.7 phải là FIR, thì đầu ra x(n)
của nó được tạo ra từ một tổng hữu hạn của N tích:
x(n) = ∑−
h (2.7)Tổng này có thể viết gọn hơn dưới dạng một tích vector:
x(n) = hTy(n) (2.8)
Phương trình này sẽ tương đương với phương trình sau:
x(n) = yT(n)h (2.9)Ở đây, h là vector đáp ứng xung, là ma trận (Nx1), với N là chiều dài của N
phần tử đầu tiên của chuỗi đáp ứng xung {hj}:
h = [h0 h1 … hN-1]T (2.10)
Và y(n) là vector tín hiệu chứa N phần tử cuối của chuỗi xung vào {y(n)}:y(n) = [y(n) y(n-1) … y(n-N+1)]T (2.11)Số mũ T biểu thị vector hay ma trận chuyển vị.Cấu trúc của một bộ lọc FIR Wiener được minh họa ở hình 2.9 sau đây.
Dãy tín hiệuquan sát {y(n)}
Tín hiệu ước lượng {x(n)}
Hình 2.9: Cấu trúc bộ lọc ước lượng FIR.
Nếu cả hai chuỗi tín hiệu {x(n)} và {y(n)} đều dừng, thì ta thay các phương trình(2.5) và (2.8) vào phương trình (2.6), ta được biểu thức cho hàm giá MSE như sau:
∑
Trang 33ξ = E[(x(n)-hTy(n))2]
= E[x2(n)-2hTy(n)x(n)+hTy(n)yT(n)h]
= E[x2(n)]-2hTΦyx+ hTΦyyh (2.12) Ở đây, Φyy là ma trận tự tương quan( N x N) của tín hiệu y:
Còn Φyx là vector tương quan chéo N phần tử:
Như vậy, đối với một bộ lọc FIR, hàm giá MSE là một hàm bậc hai của các
vector của các phân tử của vector đáp ứng xung h Để được MSE cực tiểu, ta lấy vi
phân MSE đối với mỗi phần tử của đáp ứng xung hj , lần lượt, rồi cho tất cả các vi phân đồng loạt bằng 0, như sau đây:
= E[ { }e ( )nhj
= E[2e(n)
∂∂ ( )
= E[2e(n)
= E[2e(n)
{-hjy(n-j)}] = E[-2e(n)y(n-j)]
= 0; ứng với j = 0,1,…, N-1
Lặp lại phép vi phân trên cho mọi giá trị của j, tạo ra 1 nhóm N phương trình vô hướng Nhóm phương trình này tóm tắt nguyên tắc trực giao thống kê cho một bộ ước lượng FIR Có thể nói, sai số đầu ra, e(n), đi đôi với một bộ lọc tối ưu thì không tương quan với tín hiệu quan sát nào cả trong số các tín hiệu y(n), y(n-1), , y(n-N+1), đang có trong bộ lọc.
Trang 34Nhóm phương trình cũng có thể viết gọn hơn dưới dạng vector bằng cách tập trung tất cả các số hạng vi phân vào 1 vector có tên là vector Gradient V:
∇=
= -2E
= -2E
Như vậy, đáp ứng xung tối ưu hopt giải thiểu sai số MSE sẽ là nghiệm của nhóm N phương trình tuyến tính đồng loạt bằng 0, đó là:
Φyy hopt = Φyx (2.18)Bộ lọc xác định bởi phương trình (2.18) là bộ lọc FIR Wiener hoặc bộ lọc Levinson Sai số MSE cực tiểu, ξopt, nhận được bằng cách thay phương trình (2.18) vào phương trình(2.12):
ξopt = E[x2(n)] - hoptΦyx (2.19)Phương trình(2.18) là một phương tiện để thiết kế các bộ lọc FIR tuyến tính tối ưu Tuy nhiên, muốn tính đáp ứng xung của bộ lọc tối ưu, cần biết rõ ma trận tự tương quan và vector tương quan chéo
2.5.3.Các thuật toán lọc thích nghi:2.5.3.1.Giới thiệu:
Trang 35Các hệ thống xử lý tín hiệu qui ước làm việc theo kiểu vòng hở, nghĩa là cứ thực hiện cùng thao tác xử lý đó trong thời gian hiện tại không cần biết thao tác đó có cho kết quả đúng trong thời gian trước đó hay không Hay là, các hệ thống đó giả thiết sự giảm cấp trong tín hiệu là đại lượng đã biết trước và bất biến theo thời gian Việc thiết kế các bộ lọc tuyến tính tối ưu, hay còn gọi là ước lượng này, như lọc FIR Wiener đòi hỏi kiến thức rõ ràng hơn về môi trường của tín hiệu dưới dạng các hàm tương quan, mô hình không gian trạng thái hay ngay cả các hàm mật độ xác suất Trong đa số các trường hợp, các hàm này là ẩn số và/hoặc là biến thiên theo thời gian.
Các bộ xử lý thích nghi được thiết kế để thực hiện gần đúng như các bộ ước lượng này Chúng làm việc với vòng hồi tiếp kín, trong đó đáp ứng tần số của bộ xử lý được khống chế bởi thuật toán hồi tiếp Điều này cho phép chúng bù lại các méo dạng biến đổi theo thời gian và vẫn đạt khả năng vận hành gần với hàm ước lượng tối ưu Các bộ lọc thích nghi dùng một bộ lọc lập trình được có đáp ứng tần số, hoặc hàm truyền bị biến đổi, hoặc thích nghi hóa mà không làm suy giảm các thành phần mong muốn của một tín hiệu, và chỉ làm suy giảm các tín hiệu can nhiễu, tức là làm giảm thiểu các méo dạng có trong tín hiệu vào.
Cách thức biến đổi đáp ứng xung của bộ lọc thích nghi chính là thuật toán lọc thích nghi Như vậy, bộ lọc thích nghi là bộ lọc biến đổi theo thời gian mà đáp ứng xung tại một thời điểm nào đó tùy thuộc vào tín hiệu vào, tín hiệu mong muốn và vào thuật toán lọc thích nghi Bản chất biến đổi theo thời gian của một bộ lọc thích nghi dẫn đến khái niệm hội tụ.Trong một môi trường dừng, chỉ tiêu hội tụ là số lượng mẫu dữ liệu cần để đáp ứng xung của bộ lọc thích nghi đạt đến đáp ứng xung của bộ lọc tối ưu Còn trong môi trường không dừng, chỉ tiêu hội tụ cũng là một số đo mức độ tương tương giữa đáp ứng xung của bộ lọc thích nghi với đáp ứng xung của bộ lọc tối ưu nay đã biến thiên theo thời gian Tóm lại, bộ lọc thích nghi có thể là IIR hoặc FIR, nhưng FIR được sử dụng nhiều hơn do bản thân nó là loại bộ lọc ổn định Như vậy, độ ổn định của toàn bộ bộ lọc thích nghi tùy thuộc vào thiết kế vòng hồi tiếp, tức là thuật toán để hiệu chỉnh các hệ số của bộ lọc.
Trang 36Hình 2.10: Cấu trúc của một bộ lọc thích nghi tổng quát.
Chuỗi dữ liệu vào, {y(n)}, được chập với chuỗi FIR, {hi(n)}, và kết quả đầu ra của bộ lọc là:
x(n) = ∑−
i hi(n-1)y(n-i) (2.20)Biểu thức này được viết lại dưới dạng một tích vector:
Điểm khác nhau ở đây là các hệ số của bộ lọc FIR được tiếp nhận một cách
biến thiên theo thời gian, tức là h(n-1) thay vì là h Đầu ra hiện hành, x(n), được tính dựa vào nhóm hệ số trước đó là h(n-1) Chuỗi tín hiệu huấn luyện, x(n), bị trừ đi tín
hiệu đầu ra để cho một tín hiệu sai số vô hướng, e(n) Sai số bây giờ được dùng cùng
với vector tín hiệu vào, y(n) để xác định nhóm hệ số tiếp theo của bộ lọc, h(n) Ký hiệu h(n) được sử dụng vì các dữ liệu từ trước và kể cả y(n) và x(n) đã được dùng để tính h(n) Mục tiêu cuối cùng của thuật toán bộ lọc thích nghi là phỏng định xấp xỉ
đáp ứng xung tối ưu Thông thường, tối ưu được xác định theo nghĩa MSE, nên bộ lọc tối ưu trong một môi trường tĩnh là bộ lọc FIR Wiener của phương trình(2.18) Sau đây chúng ta sẽ tìm hiểu một vài thuật toán chính điều khiển bộ lọc thích nghi.
2.5.3.2.Thuật toán LMS:
Thuật toán LMS, thường được gọi là một thuật toán Stochastic Gradient; nó thường được sử dụng cho các bộ lọc thích nghi, bởi vì các lý do sau đây:
Bộ lọc FIR
Thuật toán thích nghi
Trang 37• Nó là cơ bản đầu tiên.• Nó rất đơn giản.
• Trong thực tế nó làm việc rất tốt.• Nó yêu cầu ít phép toán.
• Nó cập nhật các hệ số rất đơn giản, nên nó thích nghi liên tục cho bộ lọc.• Nó đánh dấu sự thay đổi chậm trong thông tin tín hiệu số rất tốt.
Thuật toán này đi kèm với một bộ lọc FIR hiệu chỉnh được Các hệ số hay trọng số của bộ lọc FIR thích nghi có thể hiệu chỉnh dựa trên một môi trường thay đổi như một tín hiệu vào Cũng có thể sử dụng bộ lọc IIR thích nghi, nhưng các điểm cực của một bộ lọc IIR trong quá trình thích nghi có thể cập nhật đến các giá trị nằm ngoài vòng tròn đơn vị, làm cho bộ lọc không ổn định.
Tín hiệu vào bị làm trễ của bộ lọc tuyến tính kết hợp được đo và cộng lại để cho tín hiệu ra y(n):
y(n) = ∑−
Phương trình này được viết lại dưới dạng vector là:
y(n) = W(n)XT(n) = X(n)WT(n) (2.23)Trong đó:
W(n) = [w(0,n) w(1,n) … w(N,n)] (2.24)
X(n) = [x(0,n) x(1,n) … x(N,n)] (2.25)Số mũ T biểu thị cho ma trận chuyển vị.
Số đo chất lượng làm việc của một bộ lọc là dựa trên tín hiệu sai số:
Các hệ số của bộ lọc được hiệu chỉnh sao cho tối thiểu hóa một hàm sai số trung bình bình phương Đó là hàm E[e2(n)], với E biểu thị là giá trị kỳ vọng hay là toán tử kỳ vọng thống kê:
E[e2(n)] = E[d2(n)]- 2E[d(n)y(n)] + E[y2(n)] (2.27)Nếu ta xét khi chỉ có một hệ số thì phương trình(2.27) trở thành:
E[e2(n)] = E[d2(n)]- 2E[d(n)x(n)]w(0) + E[x2(n)]w2(0) (2.28)
Trang 38Nếu d(n) và x(n) hoàn toàn độc lập với nhau, ta có:
Nếu các tín hiệu d và x hoàn toàn không đổi theo thời gian, các giá trị mong đợi của tích của chúng cũng sẽ không đổi theo thời gian Trong trường hợp đó, phương trình(2.28) được viết lại là:
0 β/C w(0)
Hình 2.11: Đường biểu diễn chất lượng làm việc của 1hệ số
Hệ số được cập nhật theo cách sau:w(0,n+1) = w(0,n) - β
ở đây, β là một hằng số xác định tốc độ độ hội tụ Dấu trừ trong phương
trình(2.32) gắn liền với chiều của bước Từ hình(2.11) ta thấy nếu giá trị hiện tại của hệ số ở bên trái của trị cực tiểu β/C, bước phải là dương( tăng lên) Mặt khác, nếu
giá trị hiện tại của hệ số ở bên phải của trị cực tiểu β/C, bước phải là âm( giảm
xuống) Trường hợp này sẽ xác định vùng có độ dốc dương của hàm chất lượng Như vậy, chiều của bước tỷ lệ với phần âm của độ dốc.
Người ta thường dùng phương trình sau đây để đại diện cho thuật toán LMS:
W(n+1) = W(n) + 2βe(n)X(n) (2.33)
Phương trình(2.33) cho ta một phương tiện đơn giản nhưng mạnh mẽ và hiệu quả để cập nhật các hệ số, không cần lấy trung bình hoặc vi phân và sẽ được dùng để
Trang 39thực hiện các bộ lọc FIR thích nghi Phương trình này thường được viết lại với β = 2
(2.36)2) Trong thuật toán LMS dấu dữ liệu, phương trình(2.4.30), trở thành:
wk(n+1) = wk(n) +β e(n)sgn[x(n-k)](2.37)
3) Trong thuật toán LMS dấu dấu, phương trình(2.34), trở thành:wk(n+1) = wk(n) +β sgn[e(n)]sgn[x(n-k)] (2.38)
Và được khai triển ra như sau:wk(n+1) =
Biến thể dấu dấu của thuật toán LMS cơ bản là gọn hơn về mặt toán học, vì thuật toán này không chứa phép nhân nào.
Việc thực hiện các biến thể của thuật toán LMS, không khai thác các đặc điểm
xử lý đường ống( Pipeline) của các bộ xử lý tín hiệu số chuyên dụng Tốc độ thi
hành trên các bộ DSP đối với các biến thể này có thể chậm hơn so với thuật toán LMS căn bản do có thêm các lệnh vì để cộng thêm các cấu trúc kiểu giải quyết được yêu cầu cho các điều kiện kiểm tra gồm dấu của sai số hay của mẫu dữ liệu.
Trang 40Thuật toán LMS đã được hoàn thành khá hữu dụng trong các bộ cân bằng thích nghi, khử tạp âm trong điện thoại, v.v.Các phương thức khác, như là thuật toán RLS sẽ được trình bày ở phần sau Thuật toán này có thể tỏ ra có độ hội tụ nhanh hơn thuật toán LMS cơ bản, nhưng phải trả giá cho sự tính toán nhiều hơn RLS dựa trên việc bắt đầu với giải pháp tối ưu và sau khi dùng mỗi mẫu vào để cập nhật đáp ứng xung nhằm duy trì quá trình tối ưu hóa Số bước cần thiết và trực tiếp được định nghĩa qua mỗi mẫu thời gian.
Các thuật toán trở nên hữu dụng khi không có tín hiệu tham chiếu thích hợp Bộ lọc được thích ứng trong một cái cách như để phục hồi vài đặc tính của tín hiệu đã bị mất từ trước khi đến bộ lọc Thay vì lấy dạng sóng yêu cầu làm mẫu, như trong các thuật toán LMS hay RLS, đặc tính này được dùng trong quá trình thích nghi của bộ lọc Khi có được tín hiệu yêu cầu, quy ước tiến gần như LMS có thể được sử dụng, còn nếu không thì dùng kiến thức biết trước về tín hiệu.
2.5.3.3.Thuật toán RLS:
Nếu thuật toán LMS trình bày là đơn giản nhất và dễ ứng dụng nhất cho các thuật toán thích nghi, thì thuật toán RLS được trình bày sẽ làm tăng thêm sự phức tạp, số lượng phép toán, và độ tin cậy Trong hoạt động, RLS tiến đến gần bộ lọc Kalman trong các ứng dụng lọc thích nghi, ở mức độ nào đó làm giảm bớt sự phụ thuộc các số lượng đưa vào bộ xử lý.
So với thuật toán LMS, thì RLS tiến đến gần sự đưa ra độ hội tụ nhanh hơn và lỗi ít hơn, với đặc biệt nói về hệ thống chưa biết, sẽ phí tổn cho nhiều sự tính toán hơn Trong sự tương quan với thuật toán LMS, từ cái mà nó có thể được chuyển hóa, thuật toán RLS tối thiểu lỗi xếp đặt hoàn toàn giữa tín hiệu mong muốn và ngỏ ra từ hệ thống chưa biết.
Trong sự giới hạn, chúng ta có thể sử dụng bất kỳ thuật toán thích nghi nào để làm sáng tỏ một vấn đề bộ lọc thích nghi bằng cách thay thế phần thích nghi của ứng dụng với một thuật toán mới Khi thuật toán LMS tìm lỗi để tối thiểu hóa, nó chỉ nghĩ đến giá trị lỗi hiện thời, còn trong phương pháp RLS, lỗi được xem là lỗi toàn cục từ lúc bắt đầu đến điểm dữ liệu hiện thời Nói cách khác, thuật toán RLS có bộ nhớ vô