115
MỤC LỤC LỜI NÓI ĐẦU............................................1 CHƯƠNG I...............................................2 GIỚI THIỆU VỀ MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2..............2 1.1. Đề cương môn học xử lý tín hiệu số 2............2 1.2. Các bài thí nghiệm đề xuất cho môn học..........4 1.2.1. Bài 1: Vẽ đáp ứng tần số của hệ thống.......4 1.2.2. Bài 2: Thiết kế bộ lọc FIR..................8 1.2.3. Bài 3: Thiết kế bộ lọc IIR.................20 1.3. Kết luận chương................................34 CHƯƠNG II.............................................35 CÔNG CỤ SỬ DỤNG ĐỂ XÂY DỰNG CÁC BÀI THÍ NGHIỆM........35 2.1. Giới thiệu về Matlab...........................35 2.1.1. Khởi động..................................35 2.1.2. Tiện ích trợ giúp..........................37 2.1.3. Thoát khỏi MATLAB..........................37 2.2. M – FILE.......................................38 2.2.1. Lập trình dạng script file.................38 2.2.2. Lập trình dạng function....................41 2.3. Đồ họa với MATLAB..............................43 2.3.1. Vẽ đồ thị bằng hàm plot....................43

CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Embed Size (px)

DESCRIPTION

Các modul thực hành dành cho môn học xử lý tín hiệu số 2Chương 1: Một số vấn đề cơ bảnChương 2: Thiết kế bộ lọc FIR Chương 3: Thiết kế bộ lọc IIRChương 4: Lọc số nhiều nhịpChương 5: Họ DSP thông dụng TMS 320C3X

Citation preview

Page 1: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

MỤC LỤCLỜI NÓI ĐẦU............................................................................................................1

CHƯƠNG I.................................................................................................................2

GIỚI THIỆU VỀ MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2............................................2

1.1. Đề cương môn học xử lý tín hiệu số 2.............................................................2

1.2. Các bài thí nghiệm đề xuất cho môn học.........................................................4

1.2.1. Bài 1: Vẽ đáp ứng tần số của hệ thống......................................................4

1.2.2. Bài 2: Thiết kế bộ lọc FIR.........................................................................8

1.2.3. Bài 3: Thiết kế bộ lọc IIR........................................................................20

1.3. Kết luận chương.............................................................................................34

CHƯƠNG II..............................................................................................................35

CÔNG CỤ SỬ DỤNG ĐỂ XÂY DỰNG CÁC BÀI THÍ NGHIỆM.......................35

2.1. Giới thiệu về Matlab......................................................................................35

2.1.1. Khởi động................................................................................................35

2.1.2. Tiện ích trợ giúp......................................................................................37

2.1.3. Thoát khỏi MATLAB.............................................................................37

2.2. M – FILE........................................................................................................38

2.2.1. Lập trình dạng script file.........................................................................38

2.2.2. Lập trình dạng function...........................................................................41

2.3. Đồ họa với MATLAB....................................................................................43

2.3.1. Vẽ đồ thị bằng hàm plot..........................................................................43

2.3.2. Hệ trục tọa độ (axis), cửa sổ vẽ (figure), đồ thị con (subplot)................46

2.4. Kết luận chương.............................................................................................47

CHƯƠNG III............................................................................................................48

Page 2: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

XÂY DỰNG CHƯƠNG TRÌNH THỰC HÀNH.....................................................48

3.1. Bài 1: Vẽ đáp ứng tần số của hệ thống...........................................................49

3.2. Bài 2: Thiết kế bộ lọc FIR..............................................................................55

3.2.1. Tham số thiết kế......................................................................................55

3.2.1. Lựa chọn..................................................................................................59

3.3. Bài 3: Thiết kế bộ lọc IIR...............................................................................63

3.3.1. Tham số thiết kế......................................................................................64

3.3.2. Lựa chọn..................................................................................................68

3.4. Bài 4: Mô phỏng việc lọc tín hiệu sử dụng bộ lọc FIR hoặc IIR...................71

3.4.1. Tạo tín hiệu ngẫu nhiên...........................................................................72

3.4.2. Thiết kế bộ lọc và lọc tín hiệu.................................................................72

3.4.3. Menu lựa chọn.........................................................................................74

3.5. Kết luận chương.............................................................................................78

KẾT LUẬN...............................................................................................................79

TÀI LIỆU THAM KHẢO.........................................................................................80

Page 3: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

DANH MỤC HÌNH ẢNH

Hình 1.1. Đồ thị của với các giá trị bậc khác nhau....................................24

Hình 1.2. Đồ thị của bộ lọc Butterworth....................................................25

Hình 1.3. Đồ thị của bộ lọc chebyshev -1..................................................28

Hình 2.1. Giao diện MATLABg sau khi được khởi động........................................36

Hình 2.2. Cửa sổ Editor............................................................................................38

Hình 2.3. Kết quả đồ thị y1.......................................................................................44

Hình 2.4. Kết quả đồ thị y2.......................................................................................44

Bảng 2.1. Bảng kiểu nét và ký hiệu đánh dấu...........................................................45

Hình 3.1. Giao diện chương trình thực hành............................................................48

Hình 3.2. Giao diện bài 1..........................................................................................49

Hình 3.2. Giao diện bài 1: Vẽ đáp ứng tần số của hệ thống.....................................49

Hình 3.3. Giao diện tham số thiết kế bài 1................................................................50

Hình 3.4. Giao diện khung hiển thị của bài 1...........................................................51

Hình 3.5. Mục lựa chọn của menu thứ nhất..............................................................52

Hình 3.6. Mục kết quả của menu thứ nhất................................................................53

Hình 3.7. Kết quả đáp ứng biên độ của hệ thống ví dụ 1..........................................54

Hình 3.8. Kết quả đáp ứng pha của hệ thống ví dụ 1................................................54

Hình 3.9. Giao diện bài 2: Thiết kế bộ lọc FIR.........................................................55

Hình 3.10. Giao diện tham số thiết kế bài 2..............................................................55

Hình 3.11. Mục lựa chọn loại đáp ứng.....................................................................56

Hình 3.12. Mục lựa chọn phương pháp thiết kế.......................................................56

Hình 3.13. Mục lựa chọn loại cửa sổ........................................................................56

Page 4: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.14. Đáp ứng biên độ của bộ lọc số thông thấp lý tưởng...............................57

Hình 3.15. Đáp ứng biên độ của bộ lọc số thông cao lý tưởng.................................57

Hình 3.16. Đáp ứng biên độ của bộ lọc thông dải lý tưởng......................................57

Hình 3.17. Đáp ứng biên độ của bộ lọc số chắn dải lý tưởng...................................57

Hình 3.18. Giao diện tham số thiết kế chứa mục tần số cắt thấp, cao......................58

Hình 3.19. Nút lựa chọn trên thanh menu thứ nhất...................................................60

Hình 3.20. Các lựa chọn kết quả với phương pháp lấy mẫu tần số..........................60

Hình 3.21. Các lựa chọn kết quả với phương pháp cửa sổ.......................................61

Hình 3.22. Kết quả thiết kế bộ lọc ở ví dụ 2.............................................................62

Hình 3.23. Đáp ứng biên độ của bộ lọc được thiết kế ở ví dụ 3...............................63

Hình 3.24. Hệ số bộ lọc thiết kế ở ví dụ 3................................................................63

Hình 3.25. Giao diện bài 3: Thiết kế bộ lọc IIR.......................................................63

Hình 3.26. Giao diện tham số thiết kế bộ lọc IIR.....................................................64

Hình 3.27. Mục lựa chọn loại đáp ứng của bộ lọc....................................................64

Hình 3.28. Mục lựa chọn loại bộ lọc tương tự..........................................................65

Hình 3.29. Đáp ứng tần số của bộ lọc thông thấp.....................................................65

Hình 3.30.. Đáp ứng tần số của bộ lọc thông cao.....................................................65

Hình 3.31. Đáp ứng tần số bộ lọc thông dải.............................................................66

Hình 3.32. Đáp ứng tần số bộ lọc chắn dải...............................................................66

Hình 3.33. Nút lựa chọn của thanh menu thứ nhất...................................................68

Hình 3.34. Nút kết quả của thanh menu thứ nhất.....................................................69

Hình 3.35. Đáp ứng biên độ của bộ lọc Butterworth ở ví dụ 4.................................70

Hình 3.36. Bậc và tần số cắt của bộ lọc Butterworth ở ví dụ 4................................70

Hình 3.37. Hệ số của bộ lọc Butterworth ở ví dụ 4..................................................71

Page 5: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.38. Giao diện bài 4........................................................................................71

Hình 3.39. Phần tạo tín hiệu ngẫu nhiên...................................................................72

Hình 3.40. Giao diện phần thiết kế bộ lọc và lọc tín hiệu.........................................72

Hình 3.41. Giao diện ví dụ lọc tín hiệu âm thanh.....................................................73

Hình 3.42. Nút lựa chọn của thanh menu thứ nhất...................................................74

Hình 3.43. Tín hiệu ngẫu nhiên ở ví dụ 5.................................................................75

Hình 3.44. Kết quả ví dụ 5 lọc theo miền tấn số.......................................................76

Hình 3.45. Kết quả lọc tín hiệu theo miền tần số ở ví dụ 5......................................76

Hình 3.46. Ví dụ về lọc tín hiệu âm thanh................................................................77

Hình 3.47. Kết quả ví dụ lọc tín hiệu âm thanh........................................................77

Page 6: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

LỜI NÓI ĐẦU

Với xu hướng số hóa các hệ thống thông tin hiện nay, việc xử lý tín hiệu

số ngày càng trở nên quan trọng với khả năng xử lý thông tin một cách ưu việt.

Về mặt lịch sử các bộ lọc số đã tạo ra một ngành được nghiên cứu nhiều nhất

trong xử lý số tín hiệu. Chúng đã được phát triển và nghiên cứu với mục đích có

thể mô phỏng các bộ lọc tương tự trên máy tính điện tử. Chúng cho phép tạo ra

các hiệu quả lớn và tối ưu hóa các tham số của bộ lọc trước các sự thực hiện lớn

lao của chúng.

Xử lý tín hiệu số 2 là môn học nghiên cứu về một số vấn đề lý thuyết xử

lý tín hiệu nâng cao như xử lý đa vận tốc, lọc số nhiều nhịp và một số kiến thức

thực hiện về xử lý tín hiệu số như các kỹ thuật thiết kế bộ lọc số FIR, IIR, bộ xử

lý tín hiệu số DSP TMS320C3X. Một trong những nội dung chính của môn học

là thiết kế bộ lọc FIR và IIR, môn học đã đưa ra cơ sở lý thuyết xây dựng 2 loại

bộ lọc trên bằng nhiều phương pháp khác nhau.

Dưới sự hướng dẫn của thầy giáo Đỗ Huy Khôi, trên cơ sở những kiến

thức đã học em lựa chọn đề tài: “Xây dựng các bài thí nghiệm cho môn học xử

lý tín hiệu số 2” với mục đích mô phỏng được kết quả thiết kế các bộ lọc số FIR

và IIR bằng các phương pháp khác nhau để có một cái nhìn trực quan hơn về các

phương pháp thiết kế hai loại bộ lọc trên. Nội dung đồ án gồm 3 chương:

Chương I: Giới thiệu về môn học xử lý tín hiệu số 2

Chương II: Công cụ sử dụng để xây dựng các bài thí nghiệm

Chương III: Xây dựng chương trình thực hành.

Em đã cố gắng tập hợp những kiến thức có được trong quá trình học tập,

từ các nguồn tài liệu được cung cấp một cách ngắn gọn đầy đủ nhất. Nhưng vì

thời gian có hạn, cùng với sự hạn chế về kiến thức cũng như ngoại ngữ nên trong

đồ án không thể tránh khỏi thiếu sót. Em rất mong nhận được những đóng góp và

chỉ bảo của các thầy cô giáo cùng các bạn.

1

Page 7: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Thái Nguyên, tháng 6 năm 2013

2

Page 8: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

CHƯƠNG I

GIỚI THIỆU VỀ MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

1.1. Đề cương môn học xử lý tín hiệu số 2

Mô tả môn học:

Xử lý tín hiệu số 2 là môn học nghiên cứu về một số vấn đề lý thuyết xử

lý tín hiệu nâng cao như xử lý đa vận tốc, lọc số nhiều nhịp và một số kiến thức

thực hiện về xử lý tín hiệu số như các kỹ thuật thiết kế bộ lọc số FIR, IIR, bộ xử

lý tín hiệu số DSP TMS320C3X.

Mục tiêu môn học:

- Người học phải nắm vững được các phương pháp thiết kế các bộ lọc số

loại FIR và IIR.

- Người học phải nắm được lọc số nhiều nhịp và một số ứng dụng của nó.

- Xây dựng, phát triển một số ứng dụng của xử lý tín hiệu số như các ứng

dụng xử lý nén, triệt nhiễu, nhận dạng, tổng hợp âm thanh, tiếng nói, xử lý tín

hiệu siêu âm, rada,...

Nội dung môn học:

Chương 1: Một số vấn đề cơ bản

1.1. Phương trình sai phân và lọc số

1.2. Phương trình sai phân và hàm truyền đạt

1.3. Mặt phẳng z, điểm không, điểm cực và tính ổn định

1.4. Đáp ứng tần số của bộ lọc số

1.5. Các bộ lọc cơ bản

1.6. Thực thi các bộ lọc số

2

Page 9: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Chương 2: Thiết kế bộ lọc FIR

2.1. Dạng của bộ lọc

2.2. Phương pháp biến đổi Fourier

2.3. Phương pháp cửa sổ

2.4. Phương pháp lấy mẫu tần số

Chương 3: Thiết kế bộ lọc IIR

3.1. Các tính chất của bộ lọc

3.2. Các phương pháp tổng hợp bộ lọc IIR từ bộ lọc tương tự.

3.3. Tổng hợp các bộ lọc tương tự.

3.4. Biến đổi tần số

3.5. Bài tập cuối chương

3.6. Thiết kế bộ lọc FIR và IIR trên phần mềm Matlab.

Chương 4: Lọc số nhiều nhịp

4.1. Mở đầu

4.2. Thay đổi nhịp lấy mẫu

4.3. Bộ lọc biến đổi nhịp lấy mẫu

4.4. Phân hoạch nhiều pha

4.5. Cấu trúc nhiều pha của bộ lọc biến đổi nhịp lấy mẫu

4.6. Một vài ứng dụng của hệ thống lọc số nhiều nhịp

Chương 5: Họ DSP thông dụng TMS 320C3X

5.1. Cấu trúc chung

5.2. Bộ xử lý trung tâm

5.3. DSK C3X board

5.4. Module phát triền TMS320C30

3

Page 10: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

5.5. Các chương trình ứng dụng

5.5. Xây dựng, phát triển một số ứng dụng của xử lý tín hiệu số.

1.2. Các bài thí nghiệm đề xuất cho môn học

1.2.1. Bài 1: Vẽ đáp ứng tần số của hệ thống

Chúng ta biết rằng trong miền n, một hệ thống tuyến tính bất biến được

đặc trưng bởi đáp ứng xung h(n) của nó hoặc được đặc trưng bởi phương trình sai

phân tuyến tính hệ số hằng, nhưng việc phân tích hệ thống nhiều khi gặp những

bất tiện như là tích chập, cách giải phương trình sai phân, xét độ ổn định…Để

giải quyết những khó khăn trong miền n chúng ta sẽ chuyển cách biểu diễn hệ

thống sang miền Z, cụ thể ta đưa ra khái niệm hàm truyền đạt của hệ thống.

Trước hết ta tiến hành so sánh quan hệ giữa đầu vào, đầu ra và đáp ứng

xung trong miền n sau đó chuyển sang miền Z được thể hiện dưới bảng sau:

h(n)y(n)x(n)

h(n) = IZT[H(Z)]

H(Z)Y(Z)X(Z)

Y(Z) = X(Z).H(Z)

X(Z) = ZT [x(n)]

H(Z) = ZT[h(n)]

Y(Z) = ZT[y(n)]

H(Z) =

Bảng 1.1. So sánh quan hệ giữa đầu vào, ra, đáp ứng xung trong miền n và miền z.

Hàm truyền đạt của một hệ thống rời rạc chính là biến đổi Z của đáp ứng

xung và được ký hiệu là :

H(Z) = ZT[h(n)] (1.1)

4

Page 11: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

H(Z) = (1.2)

Quan hệ giữa đầu vào - đầu ra của một hệ thống rời rạc tuyến tính bất biến

và nhân quả được cho bởi phương trình sai phân sau đây:

(1.3)

Lấy biến đổi Z các thành phần của phương trình này ta có:

(1.4)

Sử dụng các tính chất tuyến tính và tính chất trễ của biến đổi Z ta được:

(1.5)

= (1.6)

= (1.7)

Từ đây ta rút ra quan hệ giữa hàm truyền đạt với các hệ số và

của phương trình sai phân như sau:

(1.8)

Nếu = 1 ta có:

5

Page 12: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

(1.9)

Đáp ứng tần số của hệ thống

Chúng ta biết rằng đáp ứng xung của hệ thống tuyến tính bất biến

chính là đáp ứng (hay đáp ứng ra) của hệ thống với kích thích (hay kích thích

vào) .

Bây giờ chúng ta đặt đầu vào kích thích với

: Tần số

Vậy đáp ứng ra của hệ thống sẽ được tính như sau:

Đặt

Vậy ta có:

Với được gọi là đáp ứng tần số của hệ thống

Đáp ứng tần số của hệ thống chính là biến đổi Fourier của đáp ứng xung:

là hàm biến số phức của tần số , ta có thể biểu diễn nó dưới dạng

sau đây:

= Re +jIm (1.10)

6

Page 13: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hoặc:

(1.11)

(1.12)

Ở đây:

gọi là đáp ứng tần số của biên độ hay gọi tắt là đáp ứng biên độ

của hệ thống.

gọi là đáp ứng tần số của pha hay gọi tắt là đáp ứng pha của hệ

thống.

Quan hệ giữa đáp ứng biên độ và đáp ứng pha với phần thực

và phần ảo của là:

(1.13)

(1.14)

Biến đổi Fourier của dãy x(n) chính là biến đổi Z với :

(1.15)

Như vậy từ một hệ thống cho dưới dạng phương trình sai phân tuyến tính

hệ số hằng ta có thể xác định được hàm truyền đạt của hệ thống H(z) trong miền

z. Từ hàm truyền đạt của hệ thống xác định được đáp ứng tần số của hệ thống

bằng công thức chuyển đổi sau:

7

Page 14: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

(1.16)

8

Page 15: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Do đó ta có:

(1.17)

Quan hệ trên cho thấy rằng việc phân bố tần số của biên độ và pha của tín

hiệu vào được biến dạng bởi hệ thống tùy thuộc vào dạng của đáp ứng tần

số . Chính dạng của đã xác định việc suy giảm hoặc khuếch đại

các thành phần tần số khác nhau. Hệ thống tương ứng với này được gọi

là bộ lọc.

Dựa vào đáp ứng tần số của một hệ thống ta có thể biết được đặc tính lọc

của hệ thống đó như thế nào, thuộc loại gì. Do đó bài một đi xây dựng chương

trình vẽ đáp ứng tần số của hệ thống dựa vào hàm truyền đạt của hệ thống đã cho

để làm sáng tỏ lý thuyết và có những kết luận chính xác về hệ thống đã cho.

1.2.2. Bài 2: Thiết kế bộ lọc FIR

Bộ lọc FIR được đặc trưng bởi đáp ứng xung có chiều dài hữu hạn, tức là

h(n) chỉ khác không trong một khoảng có chiều dài hữu hạn N (từ 0 đến N -1).

Bộ lọc số có đáp ứng xung có chiều dài hữu hạn được đặc trưng bởi hàm

truyền đạt sau đây:

Tức là: L[h(n)] = [0, N-1] = N.

Với bộ lọc FIR, H(z) chỉ có các điểm cực tại gốc tọa độ của mặt phẳng z

và luôn nằm trong vòng tròn đơn vị cho nên hệ thống luôn ổn định. Một thuận lợi

khác đối với bộ lọc FIR là do chiều dài của h(n) hữu hạn nên nếu h(n) là không

nhân quả, tức là h(n) ≠ 0 với n < 0 thì ta có thể đưa nó về nhân quả bằng cách

9

Page 16: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

chuyển về gốc tọa độ giá trị đầu tiên khác không của h(n) mà vẫn đảm bảo

không thay đổi.

Cái lợi cơ bản nhất của bộ lọc FIR là khi tính toán theo bộ lọc pha tuyến

tính. Tức là chúng ta có thể gia công bộ lọc FIR bằng cách coi đáp ứng tần số

của nó có pha tuyến tính. Do đó, tín hiệu qua dải thông của bộ lọc sẽ

xuất hiện chính xác ở đầu ra với độ trễ đã cho, bởi vì chúng ta đã biết chính xác

đáp ứng pha của nó.

Giả sử h(n) là đáp ứng xung của bộ lọc FIR xác định với các mẫu n = 0, 1,

… N-1, tức là: L[h(n)] = [0,N-1] = N

Hàm truyền đạt của bộ lọc FIR:

(1.18)

Đáp ứng tần số:

(1.19)

Hoặc là:

(1.20)

(1.21)

Ta thấy rằng là tuần hoàn với chu kỳ , tức là:

Nếu h(n) là thực thì theo tính chất của biến đổi Fourier đối với tín hiệu rời

rạc ta có:

Hoặc:

10

Page 17: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Vậy ta có thể nói:

: Là hàm chẵn (đối xứng).

: Là hàm lẻ (phản đối xứng).

Do là tuần hoàn với chu kỳ , do đó chúng ta chỉ nghiên cứu

và trong khoảng (hoặc ) và trường hợp đặc

biệt nếu h(n) là thực thì là hàm chẵn và là hàm lẻ trong khoảng

một chu kỳ, vì vậy ta chỉ cần nghiên cứu trong khoảng từ .

Chúng ta biết rằng khi cho các chỉ tiêu kỹ thuật của bộ lọc thực tế thì cho

theo , nhưng theo cách biểu diễn pha lại bất tiện vì có thể

lấy giá trị âm hoặc dương nhưng bao giờ cũng lấy giá trị dương. Vì vậy

để đảm bảo thuận lợi cho việc thiêt kế bộ lọc FIR pha tuyến tính chúng ta sẽ

dùng cách biểu diễn dưới dạng độ lớn và pha :

Với bộ lọc FIR ta luôn đặt được điều kiện pha tuyến tính, điều này có

nghĩa đáp ứng pha - tần số là một hàm số bậc nhất theo tần số , tương đương

với thực hiện việc trễ hàm đáp ứng xung ở miền thời gian. Khi một hệ thống có

pha tuyến tính, trễ nhóm (group delay) là một hằng số, thì có ưu điểm là các

thành phần tần số khác nhau của tín hiệu tại đầu vào có cùng thời gian trễ như

nhau sau khi cho qua hệ thống tại đầu ra. Hàm đáp ứng pha - tần số của bộ lọc

FIR có dạng như sau:

(1.22)

(1.23)

Với α, β là các hằng số, là hàm thực.

Việc nghiên cứu các phương pháp thiết kế bộ lọc FIR tức là nghiên cứu

các phương pháp tính toán các hệ số của bộ lọc, các hệ số sau khi tính toán này ta

11

Page 18: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

gọi là các hệ số có giá trị liên tục, tức là chưa được lượng tử hóa và mã hóa ra mã

nhị phân.

Trong đồ án này chỉ nghiên cứu các phương pháp tổng hợp bộ lọc số FIR

pha tuyến tính, bởi vì pha tuyến tính có rất nhiều ưu điểm và vì vậy được ứng

dụng rộng rãi.

Các hệ số h(n) của bộ lọc phải được tính toán sao cho bộ lọc thỏa mãn

được các chỉ tiêu kỹ thuật đã đề ra theo yêu cầu của các nhiệm vụ kỹ thuật cụ thể.

Các chỉ tiêu kỹ thuật này thông thường được cho trong miền tần số, tức là cho

theo đáp ứng tần số. Đáp ứng tần số này phải gần đúng một hàm đã cho, và phải

nằm trong một giới hạn được xây dựng bởi các chỉ tiêu kỹ thuật của bộ lọc số. Để

thực hiện bộ lọc dễ dàng hơn, với giá thành rẻ hơn thì số phần tử của bộ lọc phải

là ít nhất, và để giảm thời gian tính toán trong quá trình lọc thì một bộ lọc tốt

nhất sẽ là bộ lọc có bậc nhỏ nhất.

Có ba phương pháp chính để thiết kế bộ lọc số FIR như sau:

a. Phương pháp thiết kế bằng biến đổi Fourier

Như đã biết, đáp ứng tần số của mạch lọc số tuần hoàn với chu kỳ bằng

tốc độ lấy mẫu fs, và bất kỳ một hàm tuần hoàn nào cũng đều có thể khai triển

được thành chuỗi Fourier của hàm số mũ phức. Do vậy, trong trường hợp tổng

quát, đáp ứng tần số mong muốn của mạch lọc số FIR cũng có thể biểu diễn được

dưới dạng chuỗi Fourier:

(1.24)

Trong đó h(n) là đáp ứng xung của mạch lọc mong muốn, được xác định

từ:

(1.25)

(1.26)

12

Page 19: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Nếu thay z = vào biểu thức (1.24) ta sẽ thu được hàm truyền của mạch

lọc số là:

(1.27)

Nhưng hàm truyền này có đáp ứng xung vô hạn. Vậy để hàm truyền có

đáp ứng xung hữu hạn thì phải tiến hành cắt bớt đáp ứng xung có độ dài vô hạn

và sau đó nhân đáp ứng xung có chiều dài hữu hạn thu được với thừa số trễ

để thu được đáp ứng xung nhân quả:

(1.28)

Một cách tổng quát phương pháp này gồm những bước sau:

- Bước 1: Tính

- Bước 2: Xác định

- Bước 3: Xác định hàm truyền đạt của bộ lọc.

Như vậy chúng ta đã thu được mạch lọc nhân quả nhờ nhân với thừa số

trễ. Sự biến điệu này không làm thay đổi đáp ứng biên độ của mạch lọc. Tuy

nhiên sự cắt xén đột ngột chuỗi Fourier gây ra các dao động trong dải thông và

dải chặn. Các dao động này là do sự hội tụ chậm của chuỗi Fourier ở các điểm

gián đoạn. Hiệu ứng này được gọi là hiện tượng Gibb. Các dao động Gibb này có

thể giảm bớt bằng cách nhân các hệ số của đáp ứng xung mong muốn với các

hàm cửa số thích hợp.

b. Phương pháp cửa sổ

Từ đáp ứng tần số mong muốn với các chỉ tiêu tương ứng, ta lấy

biến đổi Fourier ngược để có đáp ứng xung :

13

Page 20: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

, (1.29)

Nói chung, thu được sẽ có chiều dài vô hạn và không nhân quả, ta

không thể thực hiện được trong thực tế. Vì vậy, hệ thống phải được sửa lại thành

nhân quả và buộc phải hạn chế chiều dài của ). Phương pháp đơn giản là cắt

bỏ từ giá trị n = N-1 và thu được bộ lọc FIR có chiều dài N. Sự "cắt ngọn"

này tương đương với phép nhân với một hàm cửa sổ (window). Hàm cửa sổ

này được định nghĩa như sau:

(1.30)

Như vậy, đáp ứng xung của bộ lọc FIR trở thành:

(1.31)

Gọi là biến đổi Fourier của cửa sổ w(n), từ tính chất nhân của biến

đổi Fourier, ta thu được đáp ứng tần số của bộ lọc như sau:

(1.32)

Các bước chính của phương pháp cửa sổ:

- Bước 1: Chọn 4 chỉ tiêu kỹ thuật của bộ lọc số: .

- Bước 2: Xác định đáp ứng xung của mạch lọc lý tưởng.

- Bước 3: Chọn loại cửa sổ.

- Bước 4: Nhân với cửa sổ để có đáp ứng xung của mạch lọc:

- Bước 5: Thử lại trong miền tần số: .

Nếu không thỏa mãn các chỉ tiêu kỹ thuật, ta tăng N và quay trở lại thực

hiện từ bước 2.

14

Page 21: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Có một số loại cửa sổ phổ biến:

Cửa sổ chữ nhật

Hàm cửa sổ chữ nhật như sau:

(1.33)

Như vậy ta thấy rằng cửa ổ chữ nhật chính là

dãy chữ nhật .

Cửa sổ này sẽ dùng để hạn chế chiều dài của h(n) lý tưởng có pha tuyến

tính. Cửa sổ là đối xứng, tâm đối xứng nằm tại (N lẻ). Vậy

trong miền tần số sẽ có pha tuyến tính là . Khi và

đều có cùng pha tuyến tính là thì trong miền n h(n) và

sẽ có cùng tâm đối xứng tại (N lẻ). Như vậy ta có:

(1.34)

Tức là:

(1.35)

15

Page 22: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Trong miền tần số cửa sổ phổ được tính như sau:

(1.36)

Với:

Hai tham số đặc trưng cho cửa sổ chữ nhật là:

- Bề rộng của đỉnh trung tâm: .

- Tỷ số của biên độ của đỉnh thứ cấp đầu tiên và biên độ của đỉnh trung

tâm: .

Cửa sổ tam giác

Với mục đích giảm biên độ các đỉnh thứ cấp của cửa sổ chữ nhật ,

chúng ta chọn một cửa sổ khác có dạng tam giác cân, gọi là cửa sổ tam giác.

Trong miền n cửa sổ tam giác được định nghĩa như sau:

(1.37)

Trong miền ta có:

(1.38)

16

Page 23: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Với:

12sin( )2 2( ) [ ]

1 sin2

jT N

N

A eN

1( )2

N

Đối với cửa sổ tam giác, hai tham số chính đặc trưng cho cửa sổ trong

miền tần số là:

- Bề rộng của đỉnh trung tâm của cửa sổ tần số phổ được tính

như sau:

Khi N lớn thì được tính gần đúng như sau:

- Tỷ số giữa biên độ của đỉnh trung tâm và đỉnh thứ cấp đầu tiên :

So sánh với cửa sổ chữ nhật:

- do đó bề rộng của dải quá độ khi thiết kế bộ lọc số dùng cửa

sổ tam giác sẽ lớn hơn dùng cửa sổ chữ nhật.

- do đó biên độ của độ gợn sóng ở cả dải thông và dải chắn sẽ nhỏ

hơn khi dùng cửa sổ chữ nhật.

Cửa sổ Hamming

Cửa sổ Hamming được định nghĩa như sau:

(1.39)

Hai tham số chính đặc trưng cho cửa sổ Hanning trong miền tần số có giá

trị như sau:

17

Page 24: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Cửa sổ Hanning

Cửa sổ Hanning được định nghĩa như sau:

(1.40)

Hai tham số chính đặc trưng cho cửa sổ Hanning trong miền tần số có giá

trị như sau:

So sánh với cửa sổ tam giác ta thấy rằng:

- , do đó bề rộng của dải quá độ khi thiết kế bộ lọc số

dùng cửa sổ tam giác, cửa sổ Hanning và cửa sổ Hamming là như nhau.

- , do đó biên độ của độ gợn sóng ở cả dải thông và dải

chắn sẽ nhỏ nhất khi thiết kế bằng cửa sổ Hamming.

Cửa sổ Blackman

Cửa sổ Blackman được định nghĩa như sau:

(1.41)

Hai tham số chính đặc trưng cho cửa sổ Blackman trong miền tần số như

sau:

18

Page 25: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Rõ ràng luôn có sự đánh đổi giữa tính chất hẹp của dải chuyển tiếp và tính

gợn sóng ở dải thông và dải chắn. Các loại cửa sổ làm giảm hiệu ứng gợn sóng ở

dải thông và dải chắn luôn có xu hướng làm cho bề rộng của dải chuyển tiếp tăng

lên.

Dưới đây là bảng tổng kết các thông số về độ rộng dải chuyển tiếp và độ

suy giảm dải chắn tối thiểu đối với từng loại cửa sổ:

Tên cửa sổĐộ rộng dải chuyển tiếp Độ suy giảm dải

chắn tối thiểuXấp xỉ Chính xác

Chữ nhật 21dB

Tam giác 25dB

Hanning 44dB

Hamming 53dB

Blackman 74dB

Bảng 1.2. Các thông số về độ rộng dải chuyển tiếp và độ suy giảm dải chắn tối thiểu đối

với từng loại cửa sổ.

Để bù cho độ suy giảm dải chắn thấp và giảm hiện tượng Gibb thì phải

đánh đổi lấy dải chuyển tiếp có độ rộng lớn hơn hay cần độ dài đáp ứng xung N

lớn hơn nếu muốn duy trì dải chuyển tiếp có độ rộng không đổi và đương nhiên

là bộ lọc sẽ có thiết kế phức tạp hơn.

19

Page 26: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

c. Phương pháp lấy mẫu tần số

Trong phương pháp cửa sổ mà chúng ta đã xét ở trên có hạn chế là với

cùng một chỉ tiêu kỹ thuật thì thường chiều dài của bộ lọc N lớn hơn là chiều dài

cần thiết để thỏa mãn chỉ tiêu đã cho.

Việc tìm ra cửa sổ để giảm hiện tượng Gibbs cũng không phải là đơn giản.

Và khi dạng cửa sổ trong miền n rất phức tạp, thì việc khảo sát trong miền tần số

sẽ gặp nhiều khó khăn.

Ý tưởng: Xuất phát từ biến đổi Fourier rời rạc DFT người ta quy chiếu từ

đáp ứng tần số sang miền rời rạc k H(k) qua biến đổi Fourier rời rạc.

Xuất phát từ đáp ứng xung h(n) chúng ta sẽ biến đổi Fourier rời rạc để

được H(k) tương ứng với các hệ số của biến đổi DFT. Chúng ta thu được H(k) =

bằng việc lấy mẫu tần số tại các giá trị k cách đều nhau trên miền tần số.

(1.42)

Với n = 0, 1,…N-1.

Bộ lọc FIR pha tuyến tính, chiều dài 2N+1. Ta có:

(1.43)

Với: n = 0, 1, …, 2N, K= 0, 1, …, 2N.

Tần số lấy mẫu của bộ lọc tại:

Tóm lại phương pháp thiết kế này có thể thực hiện qua 3 bước:

- Bước 1: Cho chiều dài bộ lọc là 2N+1, xác định các tần số lấy mẫu trong

khoảng [0, π] theo biểu thức: và H(k) tương ứng.

- Bước 2: Tính các hệ số của bộ lọc là:

20

Page 27: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

với n =0, 1, …., N.

- Bước 3: Sử dụng tính đối xứng để xác định các hệ số còn lại theo biểu

thức:

h(n)=h(2N-n) với n = N+1,…..2N

1.2.3. Bài 3: Thiết kế bộ lọc IIR

Bộ lọc IIR được đặc trưng bởi đáp ứng xung có chiều dài vô hạn, tức là

h(n) khác không trong một khoảng vô hạn từ 0 đến .

Ở đây chúng ta nghiên cứu các bộ lọc số IIR thực hiện được về mặt vật lý,

tức là các bộ lọc số là ổn định và nhân quả.

Tính nhân quả được đảm bảo nếu đáp ứng xung h(n) của bộ lọc thỏa mãn

điều kiện sau đây:

h(n) =0 với n<0

Tính ổn định được đảm bảo bởi đáp ứng xung h(n) của bộ lọc thỏa mãn

điều kiện ổn định sau:

Hàm truyền đạt của một bộ lọc số IIR có dạng sau đây:

(1.44)

Nếu =1 ta có:

21

Page 28: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

(1.45)

Có nhiều phương pháp thiết kế bộ lọc số IIR nhưng với mục đích là tìm ra

các hệ số của bộ lọc số IIR sao cho thỏa mãn các chỉ tiêu kỹ thuật của bộ lọc

trong miền liên tục đối với .

Các phương pháp thiết kế tổng hợp bộ lọc IIR có thể chia ra làm hai loại

chính:

- Loại thứ nhất là chuyển từ việc thiết kế các bộ lọc tương tự sang bộ lọc

số, tức là chúng ta phải thiết kế các bộ lọc tương tự trước, sau đó dùng các

phương pháp chuyển đổi tương đương một cách gần đúng giữa miền tương tự và

miền số để thu được bộ lọc số. Phương pháp thứ nhất này được sử dụng rộng rãi

nhất.

- Loại thứ hai là các phương pháp tìm ra các thủ tục tối ưu hóa nhờ sự

tham gia của máy tính điện tử. Các phương pháp này là tìm kiếm các cách tối

thiểu hóa sai số của việc xấp xỉ các chỉ tiêu kỹ thuật của bộ lọc cần thiết kế bằng

một bộ lọc khác có thể thực hiện được các tiêu chuẩn gần đúng. Loại thứ hai này

ít được dùng.

Trong phạm vi đồ án này chúng ta sẽ nghiên cứu các phương pháp thuộc

loại thứ nhất vì nó đơn giản và độ chính xác là chấp nhận được.

Loại thứ nhất gồm có ba bước như sau:

- Thiết kế bộ lọc thông thấp tương tự.

- Chuyển đối từ bộ lọc thông thấp tương tự sang bộ lọc thông thấp số.

- Chuyển đổi băng tần số để thu được các bộ lọc khác từ bộ lọc thông

thấp.

22

Page 29: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

a. Thiết kế bộ lọc thông thấp tương tự

Các yêu cầu thiết kế cho bộ lọc tương tự dựa trên điều kiện giới hạn các

chỉ tiêu kỹ thuật cho hàm bình phương biên độ của hàm đáp ứng tần số. Giống

như khi chúng ta quan tâm tới các hệ thống số, hàm truyền đạt Ha(s) của một hệ

thống tuyến tính bất biến tương tự là biến đổi Laplace hàm đáp ứng xung ha(t)

của hệ thống và Ha(s) chính bằng tỷ số giữa biến đổi Laplace của tín hiệu đầu ra

với biến đổi Laplace của tín hiệu đầu vào. Hàm đáp ứng tần số Ha(jΩ) của một hệ

thống tuyến tính bất biến là hàm thể hiện đáp ứng của hệ thống với đầu vào là

các giá trị tần số khác nhau. Do đó, hàm đáp ứng tần số là biến đổi Fourier hàm

đáp ứng xung ha(t) của hệ thống và hàm Ha(jΩ) cũng chính là hàm hệ thống Ha(s)

đánh giá trên trục ảo.

Đối với các hệ thống thực hiện được về mặt vật lý, đáp ứng xung bao giờ

cũng là một hàm thực. Do đó, hàm truyền đạt luôn đối xứng qua trục thực. Mặt

khác, một hệ thống tương tự là nhân quả và ổn định nếu và chỉ nếu tất cả các

điểm cực của hàm truyền đạt nằm ở nửa bên trái của mặt phẳng s hoặc cùng lắm

là nằm ở gốc toạ độ. Khi ta xét đến hàm bình phương biên độ, hay bình phương

module của hàm truyền đạt, các điểm cực của hàm số này sẽ phân bố trên tất cả

các góc phần tư của mặt phẳng s. Lúc này, việc xét đáp ứng tần số của hệ thống

cũng thuận tiện và tất cả các điểm cực nằm bên trái mặt phẳng s của hàm |Ha(s)|2.

Yêu cầu về chỉ tiêu kỹ thuật của bộ lọc thông thấp tương tự thường được

cho dưới dạng các tham số tuyệt đối như sau:

(1.46)

(1.47)

Với Ωp và Ωs lần lượt là các tần số cắt dải thông và tần số cắt dải chắn tính

theo đơn vị rad/sec, ε là tham số gợn sóng và A là tham số suy giảm của dải

chặn.

(1.48)

23

Page 30: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

(1.49)

Ngoài ra độ mấp mô và của thang đo giá trị tuyệt đối liên hệ với

và A bằng các hệ thức:

(1.50)

(1.51)

Tất cả các định dạng bộ lọc đều dựa trên nguyên tắc lựa chọn hàm đáp

ứng tần số của bộ lọc thực tế xấp xỉ với đáp ứng tần số của bộ lọc lý tưởng và

điểm cực của hàm đáp ứng tần số của bộ lọc thực tế được phân bố sao cho hệ

thống là nhân quả và ổn định. Các hàm số bình phương biên độ thường được lựa

chọn có dạng gợn sóng vừa phải trong khoảng từ 0 đến tần số cắt và giảm mạnh

khi vượt ra ngoài tần số cắt đồng thời có xu hướng giảm về đến 0. Điều này

tương đương với hàm gợn sóng bị chặn trong khoảng từ 0 đến 1 (với 1 là tần số

đã được chuẩn hoá bởi tần số cắt Ωc) và tăng nhanh khi vượt ra ngoài 1. Có bốn

định dạng cơ bản thường được vận dụng trong quá trình thiết kế bộ lọc tương tự

là: Bộ lọc Butterworth, bộ lọc Chebyshev-1, bộ lọc Chebyshev-2 và bộ lọc

Elliptic.

Bộ lọc thông thấp Butterworth

Bộ lọc Butterworth là bộ lọc toàn cực được đặc trưng bởi đáp ứng biên độ

bình phương:

(1.52)

Với là tần số cắt.

Đáp ứng tần số của bộ lọc thông thấp Butterworth chuẩn hóa như sau:

24

Page 31: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

(1.53)

n: bậc của bộ lọc.

Đồ thị của được cho trên hình sau:

Hình 1.1. Đồ thị của với các giá trị bậc khác nhau.

Nhận xét:

- Bậc của bộ lọc n càng tăng thì bộ lọc càng gần với bộ lọc lý tưởng.

- Đáp ứng biên độ luôn bằng ở tần số cắt với mọi giá trị của n.

Hàm bình phương biên độ của hàm truyền đạt |Ha(s)|2 biểu diễn dưới dạng

các điểm cực như sau:

(1.54)

Với là các điểm cực của được tính như sau:

Với n chẵn: , k = 1,2, …,2n

Với n lẻ: , k = 1,2, …, 2n

25

Page 32: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Bậc n của bộ lọc Butterworth như sau:

(1.55)

Chú ý: n chỉ lấy giá trị nguyên.

: Tần số cắt không chuẩn hóa.

: Tần số dải thông

: Tần số dải chắn

: Độ gợn dải chắn

: Độ gợn dải thông

Dưới đây là đồ thị của của bộ lọc Butterworth:

Hình 1.2. Đồ thị của bộ lọc Butterworth.

Tần số cắt :

(1.56)

Các biểu thức về hàm truyền đạt:

- Với n chẵn, tần số chuẩn hóa ( )

26

Page 33: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

(1.57)

- Với n chẵn, ở tần số không chuẩn hóa

(1.58)

- Với n lẻ, tần số chuẩn hóa

(1.59)

- Với n lẻ, tần số không chuẩn hóa

(1.60)

Bộ lọc thông thấp Chebyshev

Chúng ta đã biết rằng, đối với bộ lọc tương tự Butterworth, đáp ứng biên

độ giảm đơn điệu cả ở dải thông và dải chắn. Chính vì vậy gần đúng Butterworth

không cho ta kết quả tốt, tức là với cùng một chỉ tiêu kỹ thuật đã cho thì bậc của

bộ lọc tương tự Butterworth sẽ lớn.

Để giảm bậc của bộ lọc tương tự, chúng ta sẽ sử dụng một gần đúng khác,

đó là gần đúng Chebyshev, gần đúng này sẽ cho ta kết quả tốt hơn. Gần đúng

Chebyshev có hai loại, tương ứng có hai loại bộ lọc tương tự Chebyshev.

Bộ lọc tương tự Chebyshev loại 1: Là bộ lọc có đáp ứng biên độ gợn sóng

ở dải thông và dải chắn.

27

Page 34: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Bình phương của đáp ứng biên độ của bộ lọc tương tự Chebyshev loại 1

chuẩn hóa như sau:

(1.61)

n: Là bậc của bộ lọc hay bậc của đa thức Chebyshev.

Với là tần số cắt, ε là tham số xác định biên độ của gợn sóng ở dải

thông, là đa thức Chebyshev - 1 bậc n được cho bởi công thức:

(1.62)

Ta biết rằng dao động giữa 0 và 1 đối với và tăng một cách

đơn điệu đối với . Điều này dẫn đến sẽ gợn sóng giữa 1 và

đối với và giảm một cách đơn điệu đối với .

Các điểm cực của hàm bình phương biên độ của hàm truyền đạt |Ha(s)|2 có

dạng:

(1.63)

Với với

với

28

Page 35: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Bậc của bộ lọc:

Hàm đáp ứng biên độ ở tần số không chuẩn hóa có giá trị:

(1.64)

Đồ thị minh họa cho như sau:

Hình 1.3. Đồ thị của bộ lọc chebyshev -1.

Bậc của bộ lọc được tính theo công thức sau:

(1.65)

Chú ý n nhận giá trị nguyên.

: Tần số dải chắn.

: Tần số dải thông.

: Độ gợn dải chắn.

29

Page 36: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

ε: Là tham số xác định biên độ của gợn sóng ở dải thông, với

.

Bộ lọc tương tự Chebyshev loại 2: Là bộ lọc có đáp ứng biên độ gợn sóng

ở dải chắn và giảm đơn điệu ở dải thông ( tức là ngược với bộ lọc loại 1).

Bình phương của đáp ứng biên độ của bộ lọc tương tự Chebyshev loại 2

như sau:

(1.66)

Với

Bộ lọc chebyshev-2 chứa cả điểm không và điểm cực. Với các điểm

không là:

với r=1,2,….,n(1.67)

Các điểm cực có dạng:

(1.68)

Với:

với

30

Page 37: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

với

b. Chuyển đổi bộ lọc

Trên nguyên tắc, việc chuyển đổi bộ lọc tập trung vào nghiên cứu các

phép biến hình, hay ánh xạ, để chuyển đổi mặt phẳng s về mặt phẳng z. Trên lý

thuyết có một số phương pháp chuyển đổi sau đây:

Phương pháp bất biến xung (Impulse Invariance Transformation)

Bản chất phương pháp bất biến xung là phép biến hình sao cho dãy đáp

ứng xung của bộ lọc số chính là hàm đáp ứng xung của bộ lọc tương tự được lấy

mẫu ở các điểm rời rạc. Phép biến hình cho ta công thức đổi biến:

(1.69)

Với z là biến số độc lập của hàm H(z) trên miền z, s là biến số độc lập của

hàm Ha(s) trên miền s, T là chu kỳ lấy mẫu của hàm đáp ứng xung hệ thống

tương tự.

Mối quan hệ giữa hàm truyền đạt H(z) ở miền z và hàm truyền đạt Ha(s) ở

miền s được cho bởi công thức sau:

(1.70)

Các nửa sọc ngang dài vô hạn có bề rộng và nằm ở nửa bên trái mặt

phẳng s được ánh xạ vào bên trong đường tròn đơn vị trên mặt phẳng z theo

nguyên tắc nhiều - một. Bởi phép biến hình ánh xạ toàn bộ nửa mặt phẳng bên

trái của mặt phẳng s vào bên trong đường tròn đơn vị của mặt phẳng z nên nó bảo

toàn tính ổn định của hệ thống (dựa trên phân bố của các điểm cực).

Nếu như bộ lọc tương tự là thông thấp lý tưởng và chu kỳ lấy mẫu đủ nhỏ

để:

31

Page 38: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

thì

Thì không có hiện tương chồng phổ (aliasing). Tuy nhiên bộ lọc thông

thấp thực tế không thể có phổ hữu hạn nên hiện tượng chồng phổ gây ra bởi phép

biến hình vẫn xảy ra.

Phương pháp biến đổi song song tuyến (Bilinear Transformation)

Bản chất của phép biến đổi song tuyến là phép biến hình dựa trên nguyên

tắc đưa phương trình vi phân tuyến tính hệ số hằng đặc trưng cho một hệ thống

tương tự về gần đúng một phương trình sai phân tuyến tính hệ số hằng, mà

phương trình sau có thể đặc trưng cho một hệ thống số. Phép biến hình cho ta

công thức đổi biến:

(1.71)

Phép biến hình này ánh xạ toàn bộ nửa bên trái mặt phẳng s vào bên trong

đường tròn đơn vị trên mặt phẳng z trên nguyên tắc một - một nên nó bảo toàn

tính ổn định của hệ thống.

Mặt khác nguyên tắc ánh xạ một - một từ mặt phẳng s đến mặt phẳng z

cho phép hoàn toàn không xảy ra hiện tượng chồng phổ.

Phương pháp tương đương vi phân (Approximation of Derivatives

Transformation)

Phương pháp này dựa trên việc thiết lập một sự tương ứng giữa định nghĩa

của vi phân và định nghĩa của sai phân. Phép biến hình cho ta công thức đổi biến:

(1.72)

Phép biến hình ánh xạ toàn bộ nửa bên trái mặt phẳng s vào bên trong

đường tròn tâm (0, ½) bán kính R = ½.

32

Page 39: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Phép biến hình ánh xạ toàn bộ nửa bên trái mặt phẳng s vào bên trong

đường tròn đơn vị trên mặt phẳng z nên nó bảo toàn tính ổn định của hệ thống.

Tuy nhiên tập hợp các điểm cực của hệ thống bị co lại trong một phạm vi

nhỏ nên có thể dẫn tới hiện tượng cộng hưởng ở phạm vi tần số nào đó.

Phương pháp biến đổi Z thích ứng (Matched-Z Transformation)

Phương pháp này dựa trên nguyên tắc ánh xạ trực tiếp các điểm cực và

điểm không của hàm truyền đạt hệ thống tương tự thành các điểm cực và điểm

không của hàm truyền đạt hệ thống số. Giả sử hàm truyền đạt của hệ thống tương

tự có dạng:

(1.73)

Thì phép biến hình biến đổi các phần tử (s −a) trở thành thu được

hàm truyền đạt của hệ thống số.

(1.74)

Với phương pháp này phải chọn chu kỳ lấy mẫu T đủ nhỏ để các điểm cực

và điểm không phân bố một cách thích hợp trên mặt phẳng z, tránh hiện tượng

chồng phổ, từ đó đảm bảo được đáp ứng tần số của bộ lọc số gần giống với đáp

ứng tần số của bộ lọc tương tự.

c. Chuyển đổi băng tần số

Việc chuyển đổi băng tần số, xuất phát từ bộ lọc thông thấp có tần số cắt

được đưa ra theo các công thức ánh xạ ở bảng dưới đây:

Loại Công thức chuyển đổi Các tham số

33

Page 40: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

chuyển đổi

Bộ lọc thông

thấp

: Tần số cắt của bộ lọc

mới.

Bộ lọc thông

cao

: Tần số cắt của bộ lọc

mới.

Bộ lọc thông

dải

: Tần số cắt thấp của bộ

lọc mới.

: Tần số cắt cao của bộ

lọc mới.

Bộ lọc chắn dải

: Tần số cắt thấp của bộ

34

Page 41: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

lọc mới.

: Tần số cắt cao của bộ

lọc mới.

Bảng 1.3. Bảng chuyển đổi tần số từ bộ lọc thông thấp sang các bộ lọc khác.

Ngoài ba bài thiết kế trên, bài bốn được đề xuất để mô phỏng việc lọc tín

hiệu sử dụng bộ lọc FIR hoặc IIR được thiết kế ở bài hai và bài ba. Nhiệm vụ của

bài bốn là tạo tín hiệu ngẫu nhiên với tần số đã biết, sau đó thiết kế bộ lọc FIR

hoặc IIR để thực hiện lọc tín hiệu đó theo yêu cầu.

1.3. Kết luận chương

Chương một đã tìm hiểu được một số nội dung như sau:

- Tìm hiểu và nắm được đề cương môn học xử lý tín hiệu số 2, từ đó đưa

ra đề xuất các bài thí nghiệm cho môn học.

- Đề xuất bốn bài thí nghiệm cho môn học bao gồm:

Bài 1: Vẽ đáp ứng tần số của hệ thống.

Bài 2: Thiết kế bộ lọc FIR.

Bài 3: Thiết kế bộ lọc IIR.

Bài 4: Mô phỏng việc lọc tín hiệu sử dụng bộ lọc FIR hoặc IIR.

35

Page 42: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

CHƯƠNG II

CÔNG CỤ SỬ DỤNG ĐỂ XÂY DỰNG CÁC BÀI THÍ NGHIỆM

2.1. Giới thiệu về Matlab

Matlab là sản phẩm phần mềm của công ty MathWorks Inc. Ưu điểm nổi

bật của Matlab là khả năng tính toán và biểu diễn đồ họa kỹ thuật nhanh chóng,

đa dạng và chính xác cao. Matlab tích hợp được việc tính toán, thể hiện kết quả,

cho phép lập trình, giao diện làm việc rất dễ dàng cho người sử dụng. Dữ liệu

cùng với thư viện được lập trình sẵn cho phép người sử dụng có thể có được

những ứng dụng sau đây:

- Sử dụng các hàm có sẵn trong thư viện, các phép tính toán học thông

thường.

- Cho phép lập trình tạo ra những ứng dụng mới.

- Cho phép mô phỏng các mô hình thực tế.

- Phân tích, khảo sát và hiển thị dữ liệu.

- Phần mềm đồ họa cực mạnh.

- Cho phép phát triển, giao tiếp với một số phần mềm khác như C++,

Fortran.

2.1.1. Khởi động

Có thể khởi động MATLAB theo 2 cách như sau:

Kích đúp chuột vào biểu tượng MATLAB trên màn hình Desktop.

Chọn Start > All Programs > MATLAB > MATLAB R2009a .

Sau khi khởi động MATLAB ta thu được màn hình MATLAB bao gồm

các cửa sổ tích hợp như hình dưới đây:

36

Page 43: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 2.1. Giao diện MATLABg sau khi được khởi động.

Cửa sổ lệnh Command Window 1: Đây là cửa sổ chính của MATLAB.

Tại đây ta thực hiện toàn bộ việc nhập lệnh và nhận kết quả tính toán. Dấu >> là

dấu đợi lệnh. Sau khi nhập lệnh và kết thúc bằng động tác nhấn phím enter,

MATLAB sẽ xử lý lệnh và xuất kết quả lên ngay dưới dòng lệnh.

Ví dụ: >> a=5*2+6 (Nhập lệnh và nhấn enter)

a =

16 (Kết quả)

Cửa sổ Command History 2: Tất cả các lệnh đã sử dụng trong Command

Window được lưu giữ và hiển thị tại đây. Có thể lặp lại lệnh cũ bằng cách nhắp

đúp chuột vào lệnh đó. Cũng có thể cắt dán, sao chép, xoá cả nhóm lệnh hoặc

từng lệnh riêng rẽ.

Cửa sổ Workspace Browser 3: Khái niệm Workspace (không gian làm

việc) là một vùng nhớ động trong bộ nhớ của chương trình, tự động hình thành

khi MATLAB được khởi động và tự động xóa khi thoát MATLAB. Workspace

lưu giữ các biến khi ta sử dụng MATLAB. Tất cả các biến tồn tại trong

37

Page 44: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Workspace đều được hiển thị tại cửa sổ Workspace Browser với các thông tin về

tên biến, giá trị, kích cỡ byte và loại dữ liệu.

Cửa sổ thư mục hiện hành Current Directory 4: Được hiển thị khi

nhắp chuột vào ô Current Directory. Nhờ cửa sổ này người sử dụng có thể nhanh

chóng nhận biết các thư mục con và các tập tin (file) đang có trong thư mục hiện

hành. Các thao tác mở file, lưu file, tìm M-file để thực thi...có mức ưu tiên cao

nhất cho thư mục hiện hành. Mặc định khi khởi động MATLAB thì thư mục hiện

hành là '...\Thư mục cài đặt MATLAB\work'.

Tên thư mục hiện hành cũng được chỉ rõ trên thanh toolbar (vị trí 5 ).

Cửa sổ editor 6: Cửa sổ soạn thảo chương trình dạng m – file.

Trên đây chỉ là một cách hiển thị tổ hợp các cửa sổ trong màn hình

MATLAB. Tùy theo thói quen và nhu cầu sử dụng, người dùng có thể thay đổi

linh hoạt cách hiển thị thông qua menu Desktop > Desktop layout.

2.1.2. Tiện ích trợ giúp

Tiện ích trợ giúp (help) của MATLAB rất phong phú. Có thể gọi từ menu

help trên thanh menu hoặc nhập lệnh tại command window theo cú pháp:

help tên_lệnh % xem trợ giúp tại Command Window.

doc tên_lệnh % xem trợ giúp trong cửa sổ Help.

Ví dụ, để tìm hiểu chức năng và cách dùng của lệnh input ta có thể nhập:

>> help input hoặc

>> doc input

Ngoài ra, chúng ta cũng có thể xem các ví dụ minh hoạ có sẵn trong

MATLAB bằng cách nhập lệnh demo.

2.1.3. Thoát khỏi MATLAB

Thực hiện một trong các cách sau đây:

- Nhắp chuột vào nút ở góc trên, phải của màn hình MATLAB.

38

Page 45: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

- Chọn menu File > Exit MATLAB.

- Nhấn tổ hợp phím Ctrl + Q.

- >>quit hoặc >>exit.

2.2. M – FILE

Trong MATLAB, M-file là các file chương trình được soạn thảo và lưu ở

dạng văn bản. Có hai loại M-file là script file (file lệnh) và function file (file

hàm). Cả hai đều có phần tên mở rộng là ".m ". MATLAB có rất nhiều M-file

chuẩn được xây dựng sẵn. Người dùng cũng có thể tạo các M-file mới tuỳ theo

nhu cầu sử dụng.

2.2.1. Lập trình dạng script file

Thay vì nhập và thực thi từng câu lệnh tại cửa sổ Command Window,

chúng ta có thể soạn và lưu tất cả các câu lệnh cần thiết để giải bài toán vào một

script file. Sau đó chỉ cần gõ tên file để thực thi toàn bộ chương trình.

Mở cửa sổ Editor

Cách 1: Trong command window gõ lệnh edit

Cách 2: Vào menu File>New>M-File

Cách 3: Nhắp chuột vào icon (icon đầu tiên trên thanh toolbar)

Hình 2.2. Cửa sổ Editor.

39

Page 46: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

b. Soạn thảo

Cấu trúc tổng quát của một scrift file:

Hình 2.3. Cấu trúc tổng quát scrift file

- Ký hiệu % có thể dùng ở bất cứ chỗ nào trong chương trình để tạo câu

ghi chú, giải thích. Các câu ghi chú phía trên dòng lệnh đầu tiên sẽ hiện trên màn

hình khi gõ lệnh help tên_ file.

- Lệnh gán: dùng để gán giá trị cho biến.

Cú pháp: tên biến =<giá trị >

- Lệnh input: dùng để nhận một giá trị từ bàn phím.

Cú pháp: tên biến = input(‘lời nhắc’)

Ví dụ: a = input(‘nhap tan so lay mau fs’)

Khi thực thi, MATLAB sẽ hiện dòng nhắc: nhap tan so lay mau fs

Sau đó chờ người dùng nhập một giá trị số từ bàn phím, nhận giá trị vừa

nhập và gán vào biến a.

Ví dụ: Soạn thảo tập tin vd1.m với nội dung như sau:

%Chuong trinh tinh dien tich hinh chu nhat

40

Page 47: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

%DHCNTT&TT, 06/2013

%Nguoi viet: Nguyen Van A

a=input('nhap chieu dai a:=');

b=input('nhap chieu rong b:=');

S=a*b; %Dien tich hinh chu nhat

c. Lưu

Vào menu file>save>đặt tên tập tin>nhắp nút save.

Tập tin scrift file có phần mở rộng là “.m”, và được lưu vào thư mục hiện

hành. Nếu không có sự lựa chọn khác thì thư mục hiện hành được mặc định là

thư mục work của MATLAB. Tên tập tin phải bắt đầu bằng ký tự chữ, không có

khoảng trống giữa các ký tự. Lưu ý kiểm tra và tắt các phần mềm gõ tiếng việt

như Vietkey, Unikey,… nếu cần.

d. Gọi thực hiện scrift file

Cách 1: Trong cửa sổ soạn thảo nhắp chuột vào nút run trên thanh

toolbar.

Cách 2: Trở về màn hình command window và gõ tên file (không có phần

mở rộng .m), sau đó nhấn enter để thực thi.

Ví dụ: Để thực thi file “vd1.m” vừa tạo, tại dấu nhắc lệnh ta gõ: >>vd1

Lưu ý là dù gọi thực hiện theo cách 1 hay cách 2 thì MATLAB cũng đểu

xuất kết quả tính toán tại cửa sổ command window.

e. Mở một M - file đang có để xem lại hay chỉnh sửa

Cách 1: Trong cửa sổ editor hoặc command window, vào menu fileopen

đường dẫntên file.

Cách 2: Vào cửa sổ workspace, nhắp đúp chuột vào tên M-file cần mở.

41

Page 48: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Cách 3: Tại Command Window, gõ lệnh edit ('đường dẫn\tên file').

2.2.2. Lập trình dạng function

Tương tự như trong toán học, các hàm (function) trong MATLAB sẽ nhận

vào giá trị của các đối số và trả về giá trị tương ứng của hàm. Trình tự tạo và

thực thi một file hàm bao gồm các bước như sau:

a. Mở cửa sổ editor: Thực hiện tương tự như scrift file

b. Soạn thảo

Cấu trúc chuẩn của một hàm:

function [danh sách tham số ra] = tên hàm (danh sách tham số vào)

% khối các câu ghi chú, giải thích

Câu lệnh xử lý 1;

Câu lệnh xử lý 2;

…………………..

Tham số ra 1 = biểu thức tính 1;

Tham số ra 2 = biểu thức tính 2;

………………………………..

Tham số ra (cũng gọi là tham biến) dùng để chứa các kết quả xử lý của

hàm. Khi gọi thực hiện hàm ta có thể thay chúng bằng các tên biến cụ thể.

Tham số vào (cũng gọi là tham trị, hay đối số) là các biến trong hàm mà sẽ

nhận các giá trị vào cụ thể khi gọi thực hiện hàm.

Tên các tham số vào, ra trong phần danh sách được phân cách nhau bằng

dấu phẩy. Nếu chỉ có 1 tham số ra thì không cần dùng dấu ngoặc vuông [ ].

42

Page 49: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

c. Lưu: Như cách lưu của scrift file. Khi lưu hàm, MATLAB sẽ lấy tên hàm làm

tên file, người lập trình không nên sửa lại tên này để tránh lẫn lộn khi gọi thực

hiện hàm.

d. Gọi thực hiện function file

Từ cửa sổ Command thực hiện như sau:

Nếu chỉ có một tham số ra:

>> tên_biến = tên_file (danh sách các giá trị vào)

Nếu có nhiều tham số ra:

>> [tên_biến1, tên_biến2,...] = tên_file (danh sách các giá trị vào)

Đặc điểm của hàm:

Các hàm chỉ thông tin với MATLAB thông qua các biến truyền vào cho

nó và các biến ra mà nó tạo thành, các biến trung gian ở bên trong hàm thì không

tương tác với môi trường MATLAB.

Khi MATLAB thực hiện lần đầu các file hàm, nó sẽ mở file và dịch các

dòng lệnh của file đó ra một dạng mã lưu trong bộ nhớ nhằm mục đích tăng tốc

độ thực hiện các lời gọi hàm tiếp theo. Nếu sau đó không có sự thay đổi gì trong

M-file, quá trình dịch sẽ không xảy ra lần thứ hai. Nếu trong hàm có chứa lời gọi

hàm M-file khác thì các hàm đó cũng được dịch vào trong bộ nhớ. Bằng lệnh

clear function ta có thể xoá cưỡng bức các hàm đã dịch, nhưng vẫn giữ nguyên

các M-file.

Mỗi hàm có không gian làm việc riêng của nó (local workspace), tách biệt

với môi trường MATLAB (sử dụng base workspace), mối quan hệ duy nhất giữa

các biến trong hàm với môi trường bên ngoài là các biến vào và ra của hàm đó.

Nếu bản thân các biến của hàm bị thay đổi thì sự thay đổi này chỉ tác động bên

trong của hàm đó và mà không làm ảnh hưởng đến các biến của môi trường

MATLAB. Các biến của hàm sẽ được giải phóng ngay sau khi hàm thực thi xong

nhiệm vụ, vì vậy không thể sử dụng thông tin của lần gọi trước cho lần gọi sau.

43

Page 50: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Các hàm có thể sử dụng chung các biến với hàm khác hay với môi trường

MATLAB nếu các biến được khai báo là biến toàn cục. Để có thể truy cập được

các biến bên trong một hàm thì các biến đó phải được khai báo là biến toàn cục

trong mỗi hàm sử dụng nó.

Một M-file có thể chứa nhiều hàm. Hàm chính (main function) trong M-

file này phải được đặt tên trùng với tên của M-file. Các hàm khác được khai báo

thông qua câu lệnh function được viết sau hàm đầu tiên. Các hàm con (local

function) chỉ được sử dụng bởi hàm chính, tức là ngoài hàm chính ra thì không

có hàm nào khác có thể gọi được chúng. Tính năng này cung cấp một giải pháp

hữu hiệu để giải quyết từng phần của hàm chính một cách riêng rẽ, tạo thuận lợi

cho việc lập một file hàm duy nhất để giải bài toán phức tạp.

Đặc biệt trong MATLAB có rất nhiều hàm có sẵn, đó là các hàm đã được

lập trình sẵn và được đưa vào thư viện, để xem một hàm cũng như cấu trúc, cách

sử dụng ta dùng lệnh >>help tên_hàm.

Ví dụ ta muốn xem cấu trúc hàm freqz

>> help freqz

2.3. Đồ họa với MATLAB

2.3.1. Vẽ đồ thị bằng hàm plot

Hàm plot vẽ đồ thị 2D dựa trên hai mảng dữ liệu số do người dùng tạo

trước. Nếu dùng hàm plot để vẽ đồ thị hàm số thì số điểm dữ liệu càng nhiều,

hình vẽ càng đúng với đồ thị hàm số liên tục (đường cong trơn và liên tục).

a. Vẽ căn bản

Lệnh plot(x,y): vẽ đồ thị y theo x.

Ví dụ: Vẽ đồ thị các hàm sau:

với x trong khoảng [0,10]

với x trong khoảng [0,3π]

Thực hiện trong MATLAB:

44

Page 51: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

>> x=[0: 0.01: 10]; % tạo mảng x có giá trị từ 0 đến 10 với gia số 0,01

>> y1=x.^2+3*x+5; % tạo mảng y1 (= tính các giá trị tương ứng của y1)

>> plot(x,y1); % vẽ đồ thị y1 theo x

>> x=[0: 0.01: 3*pi]; % tạo mảng x có giá trị từ 0 đến 3π với gia số 0.01

>> y2=sin(x); % tạo mảng y2

>>plot(x,y2); %vẽ đồ thị y2 theo x

Dưới đây là kết quả của ví dụ trên:

Hình 2.3. Kết quả đồ thị y1.

Hình 2.4. Kết quả đồ thị y2.

45

Page 52: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

b. Vẽ có khai báo màu, kiểu nét và đánh dấu điểm dữ liệu

Cú pháp lệnh: plot(x,y,S)

Trong đó tham số S là chuỗi ký tự tuỳ chọn để khai báo màu vẽ, kiểu nét

và ký hiệu đánh dấu tại các điểm dữ liệu. Nếu không dùng tham số S thì mặc

định là màu xanh dương (blue), nét liền (solid), không có ký hiệu đánh dấu.

Màu (color)

b = blue m = magenta

g = green y = yellow

r = red k = black

c = cyan w = white

Kiểu nét (linestyle) và ký hiệu đánh dấu (marker)

Linestyle Marker

- solid x x-mark v triangle (down)

: dotted + plus ^ triangle (up)

-. dashdot * star < triangle (left)

-- dashed s square > triangle (right)

. point o circle p pentagram

d diamond h hexagram

Bảng 2.1. Bảng kiểu nét và ký hiệu đánh dấu.

Các lệnh tiện tích

1. title('tên đồ thị') % tạo tiêu đề đồ thị

46

Page 53: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

2. xlabel('nhãn trục x') % tạo nhãn cho trục x

3. ylabel('nhãn trục y') % tạo nhãn cho trục y

4. text(x,y,'nhãn') % tạo nhãn tại vị trí có toạ độ (x,y)

5. grid hoặc grid on % hiện các ô lưới toạ độ.

6. hold hoặc hold on % giữ nguyên đồ thị để vẽ tiếp trên cùng hệ

trục toạ độ.

7. legend('chúthích1', 'chúthích2',...) % tạo ô chú thích khi vẽ nhiều đồ

thị.

Để vẽ hai hay nhiều đồ thị trên cùng một hệ trục toạ độ ta có thể dùng lệnh

hold on như trên hoặc dùng lệnh plot với cú pháp tổng quát:

plot(x1,y1,S1,x2,y2,S2,…) trong đó x1,y1,S1 ứng với đồ thị thứ nhất; x2,y2,S2

ứng với đồ thị thứ hai,…

2.3.2. Hệ trục tọa độ (axis), cửa sổ vẽ (figure), đồ thị con (subplot)

Lệnh axis là công cụ dùng để quản lý hình dáng và thang chia của cả hai

trục đứng và ngang. Lệnh này có nhiều tuỳ chọn, để biết một cách đầy đủ về nó,

chúng ta có thể gõ lệnh help axis hay doc axis. Một số cách thường dùng của

lệnh axis là:

LỆNH Ý NGHĨA

axis([xmin xmax ymin ymax]) Thiết lập các giá trị min max của trục 2D

axis([xmin xmax ymin ymax

zmin zmax])

Thiết lập các giá trị min max của trục 3D

axis square Lấy độ dài hai trục bằng nhau (tạo vùng bao

vuông, so với mặc định là chữ nhật)

47

Page 54: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

axis equal Lấy thang chia giống nhau cho cả hai trục

axis off Tắt bỏ chế độ trục, nhãn, ô lưới…

axis on Ngược lại với axis off

Nếu muốn vẽ nhiều đồ thị trên các figure (cửa sổ vẽ) khác nhau, ta tạo

figure mới bằng lệnh figure hoặc chọn menu file > new > figure trong cửa sổ

figure đang vẽ. Mỗi đối tượng đồ họa tạo mới như figure, axis, line,... được

MATLAB tự động gán cho một số hiệu để quản lý, gọi là handle. Trường hợp

tổng quát thì giá trị handle là một số thực. Riêng đối với figure thì mỗi figure tạo

mới sẽ được gán với handle là một số nguyên dương, ví dụ: 1, 2, 3,... Chúng ta có

thể chuyển qua lại giữa các figure đang có bằng cách dùng chuột để chọn hoặc

dùng lệnh figure(H) trong đó H là số hiệu của figure.

Các lệnh tìm handle thường dùng là gcf (get handlle to current figure – tìm

handle của figure hiện hành), gca (get handle to current axis – tìm handle của hệ

trục hiện hành), findobj (gcf, 'Type', 'Line') (tìm handle của các đường đồ thị

trong figure hiện hành).

Mặt khác, một cửa sổ figure có thể chứa nhiều hơn một hệ trục. Lệnh

subplot(m,n,p) chia figure thành một ma trận (mxn) vùng đồ hoạ con gọi là

subplot, và chọn p là subplot hiện hành. Các subplot được đánh số lần lượt từ trái

qua phải, từ trên xuống dưới.

2.4. Kết luận chương

Trong chương này chúng ta đã tìm hiểu công cụ để xây dựng các bài thí

nghiệm và đạt được kết quả như sau:

- Tìm hiểu được tổng quan về Matlab, lợi ích của Matlab, cách khởi động

cũng như thoát khỏi chương trình Matlab.

- Tìm hiểu được file chương trình để soạn thảo M –file.

- Tìm hiểu cơ bản về đồ họa với Matlab gồm các hàm vẽ hình, hệ trục tọa

độ, cửa sổ, đồ thị con.

48

Page 55: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

CHƯƠNG III

XÂY DỰNG CHƯƠNG TRÌNH THỰC HÀNH

Chương trình thực hành gồm có bốn bài thực hành với giao diện như sau:

(Giao diện được mở ra bằng cách chạy file GUI1.m).

Hình 3.1. Giao diện chương trình thực hành.

Chương trình gồm có bốn bài:

- Bài 1: Vẽ đáp ứng tần số của hệ thống.

- Bài 2: Thiết kế bộ lọc FIR.

- Bài 3: Thiết kế bộ lọc IIR.

- Bài 4: Mô phỏng lọc tín hiệu sử dụng bộ lọc FIR hoặc IIR.

Để thực hiện chương trình, chúng ta ấn nút lựa chọn một trong bốn bài

thực hành như trên giao diện bằng cách ấn vào một trong bốn nút: bài 1, bài 2,

bài 3, bài 4. Khi ấn vào một trong bốn nút đó, giao diện của bài mà ta vừa lựa

chọn sẽ được mở ra.

49

Page 56: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Ví dụ khi ấn vào nút thì giao diện của bài một được mở ra như

sau:

Hình 3.2. Giao diện bài 1.

3.1. Bài 1: Vẽ đáp ứng tần số của hệ thống

Từ ý nghĩa của đáp ứng tần số của hệ thống được trình bày ở chương một

là biểu diễn đặc tính lọc của một hệ thống, bài một được xây dựng để vẽ đáp ứng

tần số của một hệ thống dựa vào hàm truyền đạt với mục đích dựa vào đáp ứng

biên độ và đáp ứng pha có được thì có thể kết luận hệ thống đó thuộc loại bộ lọc

gì, thông thấp, thông cao, thông dải hay chắn dải.

Dưới đây là giao diện bài một, được mở ra bằng cách chạy file GUI2.m:

Hình 3.2. Giao diện bài 1: Vẽ đáp ứng tần số của hệ thống.

50

Page 57: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Giao diện của bài một gồm có ba phần:

Tham số thiết kế: Để vẽ đáp ứng tần số của hệ thống thì các tham số cần

nhập vào như sau:

- Hệ số tử số của hàm truyền đạt: được nhập dưới dạng vec tơ.

- Hệ số mẫu số của hàm truyền đạt: được nhập dưới dạng vec tơ.

- Số điểm tần số.

Hình 3.3. Giao diện tham số thiết kế bài 1.

Hàm truyền đạt của hệ thống trong miền z có dạng như sau:

Từ hàm truyền đạt của hệ thống ta có thể tìm đáp ứng tần số của hệ thống

bằng cách thay z = . Có nghĩa là các hệ số tử số và mẫu số của hàm truyền đạt

cũng là các hệ số tử số và mẫu số của đáp ứng tần số của hệ thống. Từ đáp ứng

tần số của hệ thống có thể xác định đáp ứng biên độ và đáp ứng pha mà kết quả

cuối cùng mong muốn là vẽ được đáp ứng biên độ và đáp ứng pha của hệ thống.

Do đó hai tham số thiết kế để vẽ đáp ứng tần số của hệ thống chính là các hệ số

tử số và hệ số mẫu số của hàm truyền đạt của hệ thống.

Vì đáp ứng tần số của các mạch lọc lý tưởng là đối xứng nên chỉ cần xét

một nửa chu kỳ là đủ. Do đó tham số thứ ba là số điểm tần số (n điểm) sẽ xác

51

Page 58: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

định đáp ứng tần số tại n điểm cách đều nhau quanh vòng tròn đơn vị (n điểm

cách đều nhau nằm giữa 0 và ). Thông thường nếu không được chỉ định thì số

điểm tần số được chọn là 512 hoặc 1024.

Để vẽ đáp ứng tần số của một hệ thống bất kỳ khi biết hàm truyền đạt của

hệ thống, chúng ta nhập các tham số thiết kế bao gồm hệ số tử số, hệ số mẫu số

của hàm truyền đạt, số điểm tần số rồi sau đó ấn nút OK để thực hiện. Mặc định

hiển thị ra đáp ứng biên độ của hệ thống.

Khung Hiển thị: Thực hiện chức năng hiển thị kết quả bài thiết kế.

Hình 3.4. Giao diện khung hiển thị của bài 1.

Khung hiển thị đưa ra hàm truyền đạt của hệ thống biểu diễn trong miền z

trước khi thiết kế để dựa vào đó chúng ta có thể nhập các tham số thiết kế một

cách dễ dàng và chính xác. Hàm truyền đạt của hệ thống có dạng sau:

Trong đó: , , … , : Hệ số tử số.

, , … , : Hệ số mẫu số.

52

Page 59: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Kết quả thiết kế là đáp ứng biên độ, đáp ứng pha của hệ thống sẽ được

biểu diễn ở khung hiển thị này.

Lựa chọn

Phần lựa chọn bao gồm hai thanh menu, trên thanh menu thứ nhất chứa

hai nút lựa chọn và kết quả. Khi ấn vào nút lựa chọn sẽ sổ ra các lựa chọn bao

gồm: Bài 1, bài 2, bài 3, bài 4, quay lại, tiếp tục, thoát. Chúng ta có thể chọn một

trong bốn bài bất kỳ để thực hiện bằng cách ấn vào các nút bài 1, bài 2, bài 3,

hoặc bài 4. Chọn quay lại để trở về bài trước đó, ấn tiếp tục để chuyển tới bài tiếp

theo, ấn thoát để thoát khỏi chương trình.

Hình 3.5. Mục lựa chọn của menu thứ nhất.

Khi ấn vào nút kết quả thì sẽ sổ ra hai lựa chọn là đáp ứng biên độ và đáp

ứng pha. Đó là kết quả thiết kế của bài một. Khi lựa chọn đáp ứng biên độ thì

trên khung hiển thị sẽ biểu diễn đáp ứng biên độ của hệ thống. Khi lựa chọn đáp

ứng pha thì trên khung hiển thị sẽ biểu diễn đáp ứng pha của hệ thống.

53

Page 60: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.6. Mục kết quả của menu thứ nhất.

Trên thanh menu thứ hai chứa ba nút bao gồm: Nút là nút quay lại

(back), khi ấn vào nút back thì sẽ quay trở lại giao diện trước đó (giao diện các

bài thực hành). Nút là nút tiếp tục (next), khi ấn vào nút next sẽ thực hiện

chuyển tới giao diện bài tiếp theo (bài 2). Nút là nút thoát (exit), khi ấn nút

exit sẽ thực hiện thoát khỏi chương trình.

Ví dụ 1: Vẽ đáp ứng tần số của hệ thống có hàm truyền đạt sau:

Chia cả tử và mẫu số cho để đưa hàm truyền đạt H(z) của hệ thống về

dạng đa thức của ta được:

Nhập hệ số tử số của hàm truyền đạt như sau: [0.5 0 -0.32]

Nhập hệ số mẫu số của hàm truyền đạt như sau: [1 -0.5 0.25]

Lựa chọn số điểm tần số để tính toán đáp ứng tần số là: 1024

Ấn nút OK ta có kết quả chương trình như sau:

54

Page 61: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.7. Kết quả đáp ứng biên độ của hệ thống ví dụ 1.

Kết quả mặc định hiển thị đáp ứng biên độ của hệ thống. Nếu lựa chọn

hiển thị đáp ứng pha của hệ thống thì kết quả cho như sau:

Hình 3.8. Kết quả đáp ứng pha của hệ thống ví dụ 1.

Kết quả ra đáp ứng biên độ và đáp ứng pha của hệ thống như hình trên. Từ

đáp ứng tần số của hệ thống như trên ta có thể kết luận đây là bộ lọc thông dải.

55

Page 62: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

3.2. Bài 2: Thiết kế bộ lọc FIR

Giao diện bài 2 như sau (chạy file GUI3.m để chạy chương trình).

Hình 3.9. Giao diện bài 2: Thiết kế bộ lọc FIR.

Giao diện bài hai gồm ba phần bao gồm tham số thiết kế, khung hiển thị,

và menu lựa chọn. Phần khung hiển thị để hiển thị các kết quả thiết kế bộ lọc.

3.2.1. Tham số thiết kế

Giao diện tham số thiết kế như sau:

Hình 3.10. Giao diện tham số thiết kế bài 2.

a. Loại đáp ứng

Xét theo dạng đáp ứng tần số thì bộ lọc được chia làm bốn loại cơ bản là

bộ lọc thông thấp, thông cao, thông dải, chắn dải. Thiết kế bộ lọc FIR cũng là đi

xây dựng bốn loại bộ lọc cơ bản này nên tham số lựa chọn thứ nhất là loại đáp

56

Page 63: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

ứng. Có bốn lựa chọn là thông thấp, thông cao, thông dải hoặc chắn dải. Loại đáp

ứng được lựa chọn mặc định là thông thấp.

Hình 3.11. Mục lựa chọn loại đáp ứng.

b. Phương pháp thiết kế

Trong bài hai này chúng ta sử dụng hai phương pháp thiết kế bộ lọc FIR là

phương pháp cửa sổ và phương pháp lấy mẫu tần số. Phương pháp được lựa chọn

mặc định là phương pháp lấy mẫu tần số.

Hình 3.12. Mục lựa chọn phương pháp thiết kế.

c. Loại cửa sổ

Nếu ở tham số thứ hai chúng ta chọn phương pháp thiết kế là phương

pháp cửa sổ thì tham số thứ ba được đưa ra là loại cửa sổ thiết kế. Nếu chọn

phương pháp lấy mẫu tần số thì tham số loại cửa sổ sẽ được ẩn đi.

Có năm loại cửa sổ được xây dựng trong bài là cửa sổ chữ nhật, cửa sổ

tam giác, cửa sổ hanning, cửa sổ hamming, cửa sổ blackman.

Hình 3.13. Mục lựa chọn loại cửa sổ.

57

Page 64: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

d. Tần số cắt thấp, tần số cắt cao

Đáp ứng biên độ của các bộ lọc lý tưởng được cho như sau:

Hình 3.14. Đáp ứng biên độ của bộ lọc số thông thấp lý tưởng.

Hình 3.15. Đáp ứng biên độ của bộ lọc số thông cao lý tưởng.

Hình 3.16. Đáp ứng biên độ của bộ lọc thông dải lý tưởng.

Hình 3.17. Đáp ứng biên độ của bộ lọc số chắn dải lý tưởng.

Với : Tần số cắt

: Tần số cắt thấp

: Tần số cắt cao

58

Page 65: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Dựa vào đáp ứng biên độ của các bộ lọc số như trên ta thấy khi thiết kế

bất kỳ bộ lọc nào trong bốn loại bộ lọc trên thì tham số quan trọng cần thiết chính

là tần số cắt. Nó là một thông số kỹ thuật quan trọng để thiết kế bộ lọc.

Hình 3.18. Giao diện tham số thiết kế chứa mục tần số cắt thấp, cao.

Với lựa chọn bộ lọc thông thấp thì lựa chọn tần số cắt thấp (đơn vị Hz),

còn tần số cắt cao sẽ được ẩn đi (vì bộ lọc thông thấp chỉ có tham số tần số cắt

hay chính là tần số cắt thấp).

Với lựa chọn bộ lọc thông cao thì lựa chọn tần số cắt cao (đơn vị Hz), còn

tần số cắt thấp sẽ được ẩn đi (vì bộ lọc thông cao chỉ có tham số tần số cắt hay

chính là tần số cắt cao).

Với lựa chọn bộ lọc thông dải và bộ lọc chắn dải thì lựa chọn cả hai tần số

cắt thấp và tần số cắt cao (đơn vị Hz).

59

Page 66: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

e. Tần số lấy mẫu

Vì chúng ta thực hiện thiết kế bộ lọc số nên phải thực hiện việc chuyển

đổi từ tín hiệu liên tục thành rời rạc qua bước lấy mẫu. Tần số lấy mẫu hay tỷ lệ

lấy mẫu được định nghĩa là số lượng các mẫu thu được trong một giây,

hoặc =1/T. Tỷ lệ lấy mẫu được đo bằng hertz hoặc số mẫu/giây. Do đó, tần số

lấy mẫu là một trong những tham số thiết kế bộ lọc số. Giá trị tần số lấy mẫu

được nhập vào bảng tham số thiết kế của bộ lọc tùy theo yêu cầu thiết kế, giá trị

mặc định là 8000Hz.

Định lý lấy mẫu Nyquist - Shannon cung cấp điều kiện đủ theo đó có thể

tái lập hoàn hảo tín hiệu. Định lý lấy mẫu đảm bảo rằng các tín hiệu có tần số

giới hạn có thể được tái tạo hoàn toàn từ phiên bản mẫu của nó, nếu tỷ lệ lấy mẫu

lớn hơn gấp đôi tần số tối đa (fs>2fmax).

f. Chiều dài bộ lọc

Đây là một tham số quan trọng khi thiết kế bộ lọc, chiều dài bộ lọc sẽ xác

định số các hệ số của bộ lọc. Mà các hệ số của bộ lọc lại chính là kết quả mong

đợi của các phương pháp thiết kế để từ đó xác định hàm truyền đạt cũng như đáp

ứng tần số của bộ lọc.

Ở đây chúng ta thiết kế bộ lọc FIR loại một, do đó chiều dài bộ lọc là một

số nguyên lẻ (N lẻ).

Sau khi lựa chọn và nhập các tham số thiết kế chúng ta ấn nút OK để thực

hiện thiết kế bộ lọc FIR.

3.2.2. Lựa chọn

Phần lựa chọn chứa hai thanh menu. Trên thanh menu thứ nhất có hai nút

lựa chọn và kết quả. Khi chúng ta ấn vào nút lựa chọn sẽ sổ ra các lựa chọn bao

gồm: Bài 1, bài 2, bài 3, bài 4, quay lại, thoát. Chúng ta có thể chọn một trong

bốn bài bất kỳ để thiết kế bằng cách ấn vào các nút bài 1, bài 2, bài 3, hoặc bài 4.

Chọn quay lại để trở về bài trước đó, chọn tiếp tục để chuyển tới bài tiếp theo, ấn

thoát để thoát khỏi chương trình.

60

Page 67: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.19. Nút lựa chọn trên thanh menu thứ nhất.

Khi ấn vào nút kết quả để hiển thị các kết quả của bài thiết kế được hiển

thị ở khung hiển thị bên dưới. Tùy theo từng phương pháp thiết kế thì có những

kết quả thiết kế khác nhau.

Với phương pháp lấy mẫu tần số thì kết quả thiết kế bao gồm: Các giá trị

H(k) tương ứng, hệ số của bộ lọc B(n), đáp ứng biên độ, đáp ứng pha của bộ lọc.

Hình 3.20. Các lựa chọn kết quả với phương pháp lấy mẫu tần số.

Với phương pháp cửa sổ thì kết quả bao gồm: Đáp ứng xung của bộ lọc

h(n), giá trị hàm cửa sổ (tùy thuộc vào loại cửa sổ được chọn), hệ số bộ lọc B(n),

61

Page 68: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

đáp ứng biên độ, đáp ứng pha của bộ lọc. Tùy thuộc vào sự lựa chọn của chúng

ta mà mỗi kết quả được hiển thị dưới bảng hiển thị.

Hình 3.21. Các lựa chọn kết quả với phương pháp cửa sổ.

Trên thanh menu thứ hai chứa ba nút bao gồm: Nút là nút quay lại

(back), khi ấn vào nút back thì sẽ quay trở lại giao diện bài trước đó (bài 1). Nút

là nút tiếp tục (next), khi ấn vào nút next sẽ thực hiện chuyển tới giao diện bài

tiếp theo (bài 3). Nút là nút thoát (exit), khi ấn nút exit sẽ thực hiện thoát khỏi

chương trình.

Ví dụ 2: Thiết kế bộ lọc thông dải FIR pha tuyến tính với chiều dài bộ lọc

là 25, tần số cắt thấp là 1600Hz, tần số cắt cao là 1800Hz, tần số lấy mẫu là

8000Hz sử dụng cửa sổ Hamming.

Theo như yêu cầu của ví dụ, chúng ta lựa chọn các tham số, nhập các giá

trị vào bảng tham số thiết kế và ấn OK và nhận được kết quả (mặc định hiển thị

đáp ứng biên độ của bộ lọc) như hình dưới đây:

62

Page 69: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.22. Kết quả thiết kế bộ lọc ở ví dụ 2.

Chúng ta có thể lựa chọn các kết quả để hiển thị ra bảng hiển thị.

Ví dụ 3: Thiết kế bộ lọc FIR thông thấp pha tuyến tính với số lượng hệ số

của bộ lọc là 25 sử dụng phương pháp lấy mẫu tần số. Với tần số cắt fc=2000Hz

và tần số lấy mẫu là 8000Hz.

Theo như bài ra, chúng ta lựa chọn và nhập các tham số thiết kế rồi ấn nút

OK để nhận được kết quả ( mặc định là đáp ứng biên độ của bộ lọc) biểu diễn

như hình dưới đây:

63

Page 70: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.23. Đáp ứng biên độ của bộ lọc được thiết kế ở ví dụ 3.

Chúng ta có thể lựa chọn hiển thị các hệ số của bộ lọc. Kết quả như hình

dưới đây:

Hình 3.24. Hệ số bộ lọc thiết kế ở ví dụ 3.

3.3. Bài 3: Thiết kế bộ lọc IIR

Giao diện của bài 3 được thiết kế như sau:

(Chạy file GUI4.m để thực hiện).

Hình 3.25. Giao diện bài 3: Thiết kế bộ lọc IIR.

64

Page 71: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Giao diện gồm ba phần, bao gồm tham số thiết kế, phần menu các lựa

chọn hiển thị, khung hiển thị để biểu diễn các kết quả thiết kế bộ lọc.

3.3.1. Tham số thiết kế

Dưới đây là giao diện của phần tham số thiết kế:

Hình 3.26. Giao diện tham số thiết kế bộ lọc IIR.

a. Loại đáp ứng

Cũng như bộ lọc FIR, thiết kế bộ lọc IIR cũng là đi xây dựng bộ lọc với

bốn loại đáp ứng cơ bản là thông thấp, thông cao, thông dải, chắn dải. Với bài

này cũng thiết kế bộ lọc FIR với bốn loại đáp ứng như trên. Mục lựa chọn loại

đáp ứng gồm bốn lựa chọn: thông thấp, thông cao, thông dải, chắn dải.

Hình 3.27. Mục lựa chọn loại đáp ứng của bộ lọc.

b. Loại bộ lọc tương tự

Trong đồ án trình bày phương pháp thiết kế bộ lọc IIR đi từ thiết kế bộ lọc

tương tự rồi chuyển đổi từ bộ lọc tương tự sang bộ lọc số. Bài 3 thiết kế bộ lọc

IIR đi từ bộ lọc Butterworth, bộ lọc Chebyshev-1, bộ lọc Chebyshev-2, sau đó

65

Page 72: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

dùng phương pháp biến đổi song tuyến để chuyển đổi từ bộ lọc tương tự sang bộ

lọc số. Do đó có mục lựa chọn thiết kế từ bộ lọc có ba lựa chọn là Butterworth

hoặc bộ lọc Chebyshev-1 hoặc bộ lọc Chebyshev-2.

Hình 3.28. Mục lựa chọn loại bộ lọc tương tự.

c. Mục nhập tần số dải thông, tần số dải chắn, độ suy giảm dải thông, dải chắn

Đi từ đáp ứng tần số của các bộ lọc thực tế thì để thiết kế bộ lọc, các tham

số tần số dải thông, tần số dải chắn, độ suy giảm dải thông, độ suy giảm dải chắn

là những tham số quan trọng đặc trưng cho một bộ lọc. Cụ thể như sau:

Hình 3.29. Đáp ứng tần số của bộ lọc thông thấp.

Hình 3.30.. Đáp ứng tần số của bộ lọc thông cao.

Với : Tần số dải thông.

66

Page 73: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

: Tần số dải chắn.

: Độ gợn sóng ở dải thông.

: Độ gợn sóng ở dải chắn.

(Các tham số trên dành cho cả hai bộ lọc thông thấp và thông cao).

Hình 3.31. Đáp ứng tần số bộ lọc thông dải.

Hình 3.32. Đáp ứng tần số bộ lọc chắn dải.

Với : Tần số dải chắn thấp.

: Tần số dải thông thấp.

: Tần số dải thông cao.

: Tần số dải chắn cao.

: Độ gợn sóng ở dải thông.

: Độ gợn sóng ở dải chắn.

67

Page 74: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

(Các tham số trên dành cho hai loại bộ lọc thông dải và chắn dải).

Do đó để thiết kế bộ lọc IIR ta đi lựa chọn các tham số trên bằng cách xây

dựng các mục lựa chọn:

Nhập tần số dải thông (đơn vị Hz): Với bộ lọc thông thấp và thông cao thì

tần số dải thông chỉ nhận một giá trị. Đối với bộ lọc thông dải và chắn dải

thì tần số dải thông nhập vào là một vec tơ có chiều dài bằng 2 gồm tần số

dải thông thấp, tần số dải thông cao như biểu diễn trên hình đáp ứng tần số

của bộ lọc thông dải và chắn dải.

Nhập tần số dải chắn (đơn vị Hz): Tương tự như đối với nhập tần số dải

thông.

Nhập độ suy giảm dải thông (đơn vị dB): Độ suy giảm dải thông chỉ độ

mấp mô của dải thông vì bộ lọc không phải lý tưởng, đơn vị là deciben.

Thông thường nó nhận giá trị từ 0 đến vài dB.

Nhập độ suy giảm dải chắn (đơn vị dB): Chỉ độ mấp mô của dải chắn vì

bộ lọc không phải là lý tưởng, đơn vị là dB. Thông thường nó nhận giá trị

vài chục dB.

d. Mục tần số lấy mẫu

Vì chúng ta thực hiện thiết kế bộ lọc số nên phải thực hiện việc chuyển

đổi từ tín hiệu liên tục thành rời rạc qua bước lấy mẫu. Tần số lấy mẫu hay tỷ lệ

lấy mẫu được định nghĩa là số lượng các mẫu thu được trong một giây,

hoặc =1/T. Tỷ lệ lấy mẫu được đo bằng hertz hoặc số mẫu/giây. Do đó, tần số

lấy mẫu là một trong những tham số thiết kế bộ lọc số. Giá trị tần số lấy mẫu

được nhập vào bảng tham số thiết kế của bộ lọc tùy theo yêu cầu thiết kế, giá trị

mặc định là 8000Hz.

Định lý lấy mẫu Nyquist - Shannon cung cấp điều kiện đủ (nhưng không

phải lúc nào cũng cần thiết), theo đó có thể tái lập hoàn hảo tín hiệu. Định lý lấy

mẫu đảm bảo rằng các tín hiệu có tần số giới hạn có thể được tái tạo hoàn toàn từ

phiên bản mẫu của nó, nếu tỷ lệ lấy mẫu lớn hơn gấp đôi tần số tối đa (fs>2fmax).

68

Page 75: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Sau khi lựa chọn và nhập các tham số thiết kế chúng ta ấn nút OK để thực

hiện thiết kế bộ lọc, kết quả đáp ứng biên độ của bộ lọc sẽ được biểu diễn bên

bảng hiển thị bên cạnh (đây là kết quả mặc định khi chúng ta ấn OK). Ngoài ra

ấn nút quay lại để trở lại bài thiết kế trước đó, ấn nút tiếp theo để chuyển đến bài

tiếp theo.

3.3.2. Lựa chọn

Phần này có hai menu lựa chọn. Trên thanh menu thứ nhất có hai nút lựa

chọn và hiển thị. Cũng tương tự như bài 2, khi ấn nút lựa chọn sẽ sổ ra bẩy lựa

chọn gồm: Bài 1, bài 2, bài 3, bài 4, quay lại, tiếp theo, thoát. Chúng ta có thể

chọn bất kỳ một bài nào trong bốn bài bằng cách ấn nút bài 1, hoặc bài 2, hoặc

bài 3, hoặc bài 4. Ấn nút quay lại để trở về bài trước đó, ấn nút tiếp theo để

chuyển tới bài tiếp theo, ấn nút thoát để thoát khỏi chương trình.

Hình 3.33. Nút lựa chọn của thanh menu thứ nhất.

Ấn vào nút kết quả để hiển thị một trong các kết quả của thiết kế bộ lọc

bao gồm: Bậc và tần số cắt của bộ lọc, đáp ứng biên độ, đáp ứng pha của bộ lọc,

hệ số của bộ lọc. Đối với lựa chọn hệ số của bộ lọc sẽ có hai lựa chọn hiển thị hệ

số tử số, hệ số mẫu số là hệ số của hàm truyền đạt của bộ lọc, đó cũng chính là hệ

số của bộ lọc.

69

Page 76: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.34. Nút kết quả của thanh menu thứ nhất.

Trên thanh menu thứ hai chứa ba nút bao gồm: Nút là nút quay lại

(back), khi ấn vào nút back thì sẽ quay trở lại giao diện bài 2. Nút là nút tiếp

tục (next), khi ấn vào nút next sẽ thực hiện chuyển tới giao diện bài bài 4. Nút

là nút thoát (exit), khi ấn nút exit sẽ thực hiện thoát khỏi chương trình.

Ví dụ 4: Thiết kế bộ lọc thông cao Butterworth với các thông số sau:

fp = 3000 Hz

fs = 1000 Hz

rp = 0.5 dB

rs = 25 dB

Tần số lấy mẫu Fs =8000 Hz.

Dựa vào yêu cầu của bài, chúng ta lựa chọn và nhập các tham số thiết kế

rồi ấn nút OK để nhận được kết quả đáp ứng biên độ của bộ lọc được biểu diễn

bên bảng hiển thị như sau:

70

Page 77: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.35. Đáp ứng biên độ của bộ lọc Butterworth ở ví dụ 4.

Còn bậc và tần số cắt của bộ lọc thu được là:

Hình 3.36. Bậc và tần số cắt của bộ lọc Butterworth ở ví dụ 4.

Còn đây là hệ số của bộ lọc:

71

Page 78: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.37. Hệ số của bộ lọc Butterworth ở ví dụ 4.

3.4. Bài 4: Mô phỏng việc lọc tín hiệu sử dụng bộ lọc FIR hoặc IIR

Bài bốn thực hiện việc tạo tín hiệu ngẫu nhiên trong miền tần số hoặc

miền thời gian, sau đó thiết kế bộ lọc FIR hoặc IIR để thực hiện lọc tín hiệu ngẫu

nhiên đó tùy theo yêu cầu, có thể lọc tín hiệu trong miền tần số (dạng phổ) hoặc

lọc tín hiệu trong miền thời gian. Dưới đây là giao diện của bài bốn (chạy file

GUI5fix.m để mở ra giao diện):

Hình 3.38. Giao diện bài 4

72

Page 79: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Giao diện bài 4 gồm bốn phần: Phần tạo tín hiệu, thiết kế bộ lọc và lọc tín

hiệu, menu lựa chọn, khung hiển thị để hiển thị kết quả thiết kế.

3.4.1. Tạo tín hiệu ngẫu nhiên

Hình 3.39. Phần tạo tín hiệu ngẫu nhiên.

Phần này tạo tín hiệu với tổng mười giá trị tần số từ tấn số min (Hz) tới

tần số max (Hz). Sau khi nhập các tần số min và max chúng ta ấn vào nút tạo tín

hiệu ngẫu nhiên để thực hiện tạo tín hiệu, kết quả sẽ được biểu diễn bên khung

hiển thị trong miền tần số (dạng phổ) và miền thời gian. Giá trị mặc định tần số

min là 500 Hz, tần số max là 5000 Hz.

3.4.2. Thiết kế bộ lọc và lọc tín hiệu

Hình 3.40. Giao diện phần thiết kế bộ lọc và lọc tín hiệu.

73

Page 80: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Phần này thực hiện thiết kế bộ lọc tùy theo yêu cầu. Có hai loại bộ lọc là

FIR và IIR, chúng ta có thể lựa chọn một trong hai loại bộ lọc này để thiết kế

bằng cách ấn vào nút FIR hoặc IIR. Khi ta chọn nút FIR thì bên cạnh có lựa chọn

phương pháp thiết kế bộ lọc FIR , tương tự khi ta chọn nút IIR thì bên cạnh có

lựa chọn phương pháp thiết kết bộ lọc IIR. Các tham số thiết kế hai loại bộ lọc

FIR và IIR như bài 2 và bài 3. Sau khi lựa chọn loại bộ lọc thiết kế và nhập các

tham số để thiết kế bộ lọc chúng ta ấn vào nút lọc theo miền tần số để thực hiện

lọc tín hiệu mà chúng ta vừa thiết kế trong miền tần số (dạng phổ), ấn vào nút lọc

theo miền thời gian để lọc tín hiệu trong miền thời gian.

Bên cạnh đó bài bốn còn đưa ra một ví dụ về lọc một file tín hiệu âm

thanh, để mở ra giao diện của ví dụ chúng ta ấn vào nút ví dụ về lọc tín hiệu âm

thanh. Giao diện của ví dụ được mở ra như sau:

Hình 3.41. Giao diện ví dụ lọc tín hiệu âm thanh.

Ở ví dụ này thực hiện lọc tín hiệu âm thanh là một file nhạc định dạng

wav bằng bộ lọc FIR thông thấp được thiết kế bằng phương pháp cửa sổ. Chúng

ta nhập các tham số để thiết kế bộ lọc như chiều dài bộ lọc, tần số cắt, lựa chọn

loại cửa sổ như bài 2. Sau đó ấn vào nút lọc tín hiệu để thực hiện lọc tín hiệu theo

74

Page 81: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

yêu cầu với các tham số đã chọn. Kết quả sẽ được hiển thị bên bảng kết quả. Ấn

vào nút nghe file âm thanh ban đầu để nghe file nhạc ban đầu khi chưa lọc, ấn

vào nút nghe file âm thanh sau khi lọc để nghe file nhạc sau khi đã lọc bằng bộ

lọc FIR.

3.4.3. Menu lựa chọn

Có hai thanh menu lựa chọn. Trên thanh menu thứ nhất chứa nút lựa chọn.

Khi ấn vào nút lựa chọn sẽ sổ ra các lựa chọn bao gồm: Bài 1, bài 2, bài 3, bài 4,

quay lại, thoát. Chúng ta có thể chọn một trong bốn bài bất kỳ để thiết kế bằng

cách ấn vào các nút bài 1, bài 2, bài 3, hoặc bài 4. Chọn quay lại để trở về bài

trước đó, ấn thoát để thoát khỏi chương trình.

Hình 3.42. Nút lựa chọn của thanh menu thứ nhất.

Trên thanh menu thứ hai chứa hai nút bao gồm: Nút là nút quay lại

(back), khi ấn vào nút back thì sẽ quay trở lại giao diện bài 3. Nút là nút thoát

(exit), khi ấn nút exit sẽ thực hiện thoát khỏi chương trình.

75

Page 82: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Ví dụ 5: Tạo tín hiệu ngẫu nhiên với tần số min là 500 Hz, tần số max là

3000 Hz. Sau đó thiết kế bộ lọc FIR lọc tín hiệu có tần số nhỏ hơn hoặc bằng

1200 Hz.

Theo như yêu cầu bài ra, chúng ta nhập các giá trị 500 và 3000 vào phần

tạo tín hiệu, mục tần số min và tần số max, rồi ấn vào nút tạo tín hiệu ngẫu nhiên,

kết quả hiển thị ra bảng hiển thị trong miền tần số và miền thời gian như sau:

Hình 3.43. Tín hiệu ngẫu nhiên ở ví dụ 5.

Sau khi tạo tín hiệu ngẫu nhiên chúng ta thiết kế bộ lọc, theo yêu cầu đề

bài thì bộ lọc FIR được thiết kế là bộ lọc thông thấp với tần số cắt là 1200Hz, ở

đây chúng ta chọn phương pháp cửa sổ, loại cửa sổ Hamming, chiều dài bộ lọc

25, tần số lấy mẫu 8000 Hz.

Cuối cùng chúng ta ấn vào nút lọc theo miền tần số để hiển thị kết quả lọc

tín hiệu theo phổ:

76

Page 83: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.44. Kết quả ví dụ 5 lọc theo miền tấn số.

Nếu ấn vào nút lọc theo thời gian thì kết quả như sau:

Hình 3.45. Kết quả lọc tín hiệu theo miền tần số ở ví dụ 5.

Để thực hiện mô phỏng ví dụ về lọc tín hiệu âm thanh, chúng ta ấn vào nút

ví dụ về lọc tín hiệu âm thanh.

77

Page 84: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

Hình 3.46. Ví dụ về lọc tín hiệu âm thanh.

Nếu chọn chiều dài bộ lọc là 25, loại cửa sổ là Hamming, tần số cắt là 800

Hz thì kết quả lọc được hiển thị như sau:

Hình 3.47. Kết quả ví dụ lọc tín hiệu âm thanh.

78

Page 85: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

3.5. Kết luận chương

Chương ba đã xây dựng được chương trình thực hành gồm bốn bài thực

hành bao gồm:

Bài 1: Thực hiện vẽ đáp ứng tần số của hệ thống (đáp ứng biên độ và đáp

ứng pha).

Bài 2: Thiết kế bộ lọc FIR bằng phương pháp cửa sổ và phương pháp lấy

mẫu tần số.

Bài 3: Thiết kế bộ lọc IIR Butterworth, Chebyshev-1, Chebyshev-2.

Bài 4: Mô phỏng việc lọc tín hiệu sử dụng bộ lọc FIR hoặc IIR, ví dụ về

lọc một file tín hiệu âm thanh định dạng wav.

79

Page 86: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

KẾT LUẬN

Qua quá trình tìm hiểu, nghiên cứu, đồ án đã tìm hiểu được:

- Giới thiệu về môn học xử lý tín hiệu số 2

- Đề xuất các bài thí nghiệm cho môn học xử lý tín hiệu số 2 gồm 4 bài:

Bài 1: Vẽ đáp ứng tần số của hệ thống

Bài 2: Thiết kế bộ lọc FIR

Bài 3: Thiết kế bộ lọc IIR

Bài 4: Mô phỏng việc lọc tín hiệu sử dụng bộ lọc FIR hoặc IIR.

- Xây dựng chương trình mô phỏng cho các bài thí nghiệm. Bài 1 thực

hiện vẽ đáp ứng tần số của hệ thống. Bài 2 thiết kế bộ lọc FIR bằng hai

phương pháp cửa sổ và phương pháp lấy mẫu tần số. Bài 3 thiết kế ba

loại bộ lọc IIR butterworth và bộ lọc chebyshev-1, chebyshev-2. Bài 4

thực hiện mô phỏng việc lọc tín hiệu sử dụng bộ lọc FIR hoặc IIR.

Ngoài ra bài 5 là ví dụ về việc lọc một tín hiệu âm thanh sử dụng bộ

lọc FIR thông thấp.

Hướng phát triển của đồ án: Tiếp tục hoàn thiện các bài thiết kế, cụ thể là

thiết kế bộ lọc FIR theo phương pháp biến đổi Fourier, thiết kế bộ lọc IIR theo

phương pháp biến đổi z thích ứng, phương pháp tương đương vi phân, phương

pháp bất biến xung, thiết kế bài mô phỏng lọc số nhiều nhịp.

80

Page 87: CÁC BÀI THÍ NGHIỆM CHO MÔN HỌC XỬ LÝ TÍN HIỆU SỐ 2

TÀI LIỆU THAM KHẢO

[1]. Xử lý tín hiệu và lọc số I, II, Nguyễn Quốc Trung, NXB KHKT 2002

[2]. Xử lý số tín hiệu I, II, Hồ Văn Sung, NXB KHKT 2003

[3]. Xử lý tín hiệu số, Quách Tuấn Ngọc, NXB KHKT 2000

[4]. Thực hành xử lý số tín hiệu trên máy tính PC với Matlab, Hồ Văn Sung,

NXB KHKT.

[5]. Giáo trình Matlab cơ bản, Phan Thanh Tao, Đại Học Bách Khoa Đà Nẵng.

[6]. Analog and digital filter design, Steven Winder, Prentice Hall.

[7]. DSP Fundamentals and application, Litan, Devry University.

[8]. Practical analog and digital filter design, Lesthede, Artech House.

[9]. DSP Using Matlab, John G.Proakis, Northeneastern University.

[10]. DSP and filter design, B.A.Shenoi, Wikey Intersience.

81