1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO CÁO TIỂU LUẬN MÔN: THIẾT KẾ LỌC SỐ VÀ MÃ HÓA BĂNG CON ĐỀ TÀI: TÌM HIỂU BỘ LỌC ĐIỂM CỐ ĐỊNH CÓ ĐÁP ỨNG XUNG HỮU HẠN FIR

46 893 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Bộ Lọc Điểm Cố Định Có Đáp Ứng Xung Hữu Hạn FIR
Tác giả Nguyễn Thanh Tùng, Nguyễn Xuân Tùng
Người hướng dẫn TS. Ngô Văn Sỹ
Trường học Đại Học Đà Nẵng - Trường Đại Học Bách Khoa
Chuyên ngành Thiết Kế Lọc Số Và Mã Hóa Băng
Thể loại Báo cáo tiểu luận
Năm xuất bản 2013
Thành phố Đà Nẵng
Định dạng
Số trang 46
Dung lượng 1,89 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA BÁO CÁO TIỂU LUẬN MÔN: THIẾT KẾ LỌC SỐ VÀ MÃ HÓA BĂNG ĐỀ TÀI: TÌM HIỂU BỘ LỌC ĐIỂM CỐ ĐỊNH CÓ ĐÁP ỨNG XUNG HỮU HẠN FIR GVHD: TS.Ngô Văn Sỹ HVTH: Nguyễn Xuân Tùng Nguyễn Thanh Tùng Đà Nẵng, tháng 3/2013 Xử lý tín hiệu số (Digital Signal Processing – DSP) là một lĩnh vực mới, đã phát triển mạnh mẽ về mặt lý thuyết và công nghệ. Ngày nay, nó đã trở thành môn học không thể thiếu cho nhiều ngành học về khoa học và kỹ thuật. Các thuật toán của nó đã mang lại những thuận tiện cho công nghệ và ứng dụng mới, nhất là các lĩnh vực về kỹ thuật điện tử và điều khiển tự động. Phép xử lý cơ bản nhất của DSP là lọc, và các hệ thống được đề cập đến nhiều nhất trong xử lý tín hiệu số là các bộ lọc số (Digital Filter). Nếu xét về đáp ứng xung có thể chia các bộ lọc số thành 2 loại chính là bộ lọc có đáp ứng xung hữu hạn FIR (Finite Impulse Response) còn gọi là lọc không đệ quy, và bộ lọc có đáp ứng xung vô hạn IIR (Infinte Impulse Response) còn gọi là lọc đệ quy. Xét về đáp ứng tần số biên độ có thể chia các bộ lọc, FIR hay IIR, thành 4 loại cơ bản: thông thấp, thông cao, thông dải và chắn dải. Các bộ lọc này có thể được thiết kế bằng những phương pháp sau đây: Phương pháp cửa sổ (Window Design Techniques), Phương pháp lấy mẫu tần số (Frequency Sampling Design Techniques) và Phương pháp xấp xỉ tối ưu cân bằng gợn sóng (Optimal Equiripple Design Techniques). Mỗi phương pháp đều có những đặc điểm và ưu khuyết điểm riêng. Với tiểu luận này, nhóm em gồm Nguyễn Thanh Tùng và Nguyễn Xuân Tùng xin phép được trình bày bài toán “ Tìm hiểu bộ lọc điểm cố định” có đáp ứng xung hữu Nội dung tiểu luận được chia thành 2 phần: Phần 1. Cơ sở lý thuyết Phần 2. Chương trình mô phỏng Chúng em xin trân trọng cảm ơn Thầy TS. Ngô Văn Sỹ đã tận giảng dạy và hướng dẫn để tôi có thể hoành thành tốt tiểu luận này. Phần lớn nội dung trình bày ở báo cáo này được lấy từ bài giảng, tài liệu tham khảo do thầy cung cấp. Trong quá trình thực hiện tiểu luận, tuy đã hết sức cố gắng song không tránh khỏi những sai sót. Rất mong nhận được sự góp ý của Thầy, các bạn học viên cùng lớp để nội dung của tiểu luận được hoàn chỉnh hơn. PHẦN 1. CƠ SỞ LÝ THUYẾT Việc thiết kế một bộ lọc số tiến hành theo 3 bước: - Đưa ra các chỉ tiêu (Specifications): Để thiết kế một bộ lọc, đầu tiên chúng ta cần xác định các chỉ tiêu. Các chỉ tiêu được xác định bởi các ứng dụng. - Tìm các xấp xỉ (Appproximations): Một khi chỉ tiêu đã được xác định, ta sử dụng các khái niệm và công cụ toán học khác nhau để tiến tới biểu diễn và tính gần đúng cho bộ lọc với tập các chỉ tiêu đã cho. Bước này là chủ đề chính của việc thiết kế lọc - Thực hiện bộ lọc (Implementation): Kết quả của các bước trên được mô tả dưới dạng một phương trình sai phân, hoặc một hàm hệ thống H(z), hoặc một đáp ứng xung h(n). Từ các mô tả này chúng ta có thể thi hành bộ lọc bằng phần cứng hoặc phần mềm mô phỏng trên máy tính. Ở trong nhiều ứng dụng như xử lý tiếng nói hoặc xử lý âm thanh, bộ lọc số được dùng để thực hiện các thao tác chọn tần. Do đó, các chỉ tiêu được đòi hỏi trong vùng tần số ở mỗi chu kỳ về số lượng và đáp ứng pha của bộ lọc mong muốn. Nói chung đáp ứng pha cần tuyến tính trong dải thông. - Trong trường hợp các bộ lọc FIR , Có thể đạt được chính xác yêu cầu về pha tuyến - Trong trường hợp các bộ lọc IIR, một dải thông có pha tuyến tính là rất khó đạt. Do đó, chúng ta chỉ xét các chỉ tiêu về biên đ . Có 2 nhóm chỉ tiêu: • Các chỉ tiêu tuyệt đối (Absolute Specifications) : Đưa ra một tập các yêu cầu trên hàm đáp ứng biên độ |H(ejw)|. Những chỉ tiêu này được sử dụng chung cho các bộ lọc FIR. • Các chỉ tiêu tương đối (Relative Specifications - DB) : Đưa ra các yêu cầu tính theo decibels (dB), được cho bởi : dBscale Phương pháp này được là một phương pháp phổ biến nhất trong thực tế và được sử dụng cho cả bộ lọc FIR và IIR. phần tiếp sau đây, để mô tả các chỉ tiêu của bộ lọc chúng ta sẽ xem xét việc thiết kế một bộ lọc thông thấp như một ví dụ cơ sở để thiết cho bộ lọc FIR. Trên hình (1.1) là mô tả các chỉ tiêu của bộ lọc FIR thông thấp (Low Pass Filter): 1.2.1.Các chỉ tiêu tuyệt đối • Band [0, wp] được gọi là dải thông, và δ1 là dung sai (gợn sóng) được chấp nhận trong đáp ứng dải thông lý tưởng. • Band [ws, π] được gọi là dải chắn, và δ2 là dung sai ở dải chắn. Band [wp, ws] được gọi là dải chuyển tiếp, và không có ràng buộc nào về đáp ứng biên độ trong dải này.

Trang 1

BÁO CÁO TIỂU LUẬN

CON

ĐỀ TÀI: TÌM HIỂU BỘ LỌC ĐIỂM CỐ ĐỊNH CÓ

ĐÁP ỨNG XUNG HỮU HẠN FIR

GVHD: TS.Ngô Văn Sỹ HVTH: Nguyễn Xuân Tùng

Nguyễn Thanh Tùng

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

Đà Nẵng, tháng 3/2013

LỜI MỞ ĐẦU

Xử lý tín hiệu số (Digital Signal Processing – DSP) là một lĩnh vực mới, đã phát

triển mạnh mẽ về mặt lý thuyết và công nghệ Ngày nay, nó đã trở thành môn họckhông thể thiếu cho nhiều ngành học về khoa học và kỹ thuật Các thuật toán của nó

đã mang lại những thuận tiện cho công nghệ và ứng dụng mới, nhất là các lĩnh vực về

kỹ thuật điện tử và điều khiển tự động

Phép xử lý cơ bản nhất của DSP là lọc, và các hệ thống được đề cập đến nhiều nhất

trong xử lý tín hiệu số là các bộ lọc số (Digital Filter)

Nếu xét về đáp ứng xung có thể chia các bộ lọc số thành 2 loại chính là bộ lọc có

đáp ứng xung hữu hạn FIR (Finite Impulse Response) còn gọi là lọc không đệ quy, và

bộ lọc có đáp ứng xung vô hạn IIR (Infinte Impulse Response) còn gọi là lọc đệ quy.

Xét về đáp ứng tần số biên độ có thể chia các bộ lọc, FIR hay IIR, thành 4 loại cơbản: thông thấp, thông cao, thông dải và chắn dải Các bộ lọc này có thể được thiết kế

bằng những phương pháp sau đây: Phương pháp cửa sổ (Window Design Techniques), Phương pháp lấy mẫu tần số (Frequency Sampling Design Techniques) và Phương pháp xấp xỉ tối ưu cân bằng gợn sóng (Optimal Equiripple Design Techniques) Mỗi

phương pháp đều có những đặc điểm và ưu khuyết điểm riêng

Với tiểu luận này, nhóm em gồm Nguyễn Thanh Tùng và Nguyễn Xuân Tùng xin

phép được trình bày bài toán “ Tìm hiểu bộ lọc điểm cố định” có đáp ứng xung hữu

Trong quá trình thực hiện tiểu luận, tuy đã hết sức cố gắng song không tránh khỏinhững sai sót Rất mong nhận được sự góp ý của Thầy, các bạn học viên cùng lớp đểnội dung của tiểu luận được hoàn chỉnh hơn

Đà Nẵng, ngày 05 tháng 01 năm 2013

Trang 3

PHẦN 1 CƠ SỞ LÝ THUYẾT

1.1 Mở đầu

Việc thiết kế một bộ lọc số tiến hành theo 3 bước:

- Đưa ra các chỉ tiêu (Specifications): Để thiết kế một bộ lọc, đầu tiên chúng ta cần

xác định các chỉ tiêu Các chỉ tiêu được xác định bởi các ứng dụng

- Tìm các xấp xỉ (Appproximations): Một khi chỉ tiêu đã được xác định, ta sử dụng

các khái niệm và công cụ toán học khác nhau để tiến tới biểu diễn và tính gần đúngcho bộ lọc với tập các chỉ tiêu đã cho Bước này là chủ đề chính của việc thiết kế lọcsố

- Thực hiện bộ lọc (Implementation): Kết quả của các bước trên được mô tả dưới

dạng một phương trình sai phân, hoặc một hàm hệ thống H(z), hoặc một đáp ứng xung

h(n) Từ các mô tả này chúng ta có thể thi hành bộ lọc bằng phần cứng hoặc phần

mềm mô phỏng trên máy tính

Ở trong nhiều ứng dụng như xử lý tiếng nói hoặc xử lý âm thanh, bộ lọc số đượcdùng để thực hiện các thao tác chọn tần Do đó, các chỉ tiêu được đòi hỏi trong vùngtần số ở mỗi chu kỳ về số lượng và đáp ứng pha của bộ lọc mong muốn Nói chungđáp ứng pha cần tuyến tính trong dải thông

- Trong trường hợp các bộ lọc FIR , Có thể đạt được chính xác yêu cầu về pha tuyếntính

- Trong trường hợp các bộ lọc IIR, một dải thông có pha tuyến tính là rất khó đạt

Trên hình (1.1) là mô tả các chỉ tiêu của bộ lọc FIR thông thấp (Low Pass Filter):

1.2.1.Các chỉ tiêu tuyệt đối

0 )

(

) ( log

e H

e H

Trang 4

Band [0, wp] được gọi là dải thông, và 1 là dung sai (gợn sóng) được chấpnhận trong đáp ứng dải thông lý tưởng.

Band [ws, ] được gọi là dải chắn, và 2 là dung sai ở dải chắn

Band [wp, ws] được gọi là dải chuyển tiếp, và không có ràng buộc nào về đáp ứng

biên độ trong dải này

1.2.2 Các chỉ tiêu tương đối (DB)

R p: Độ gợn sóng trong dải thông tính theo dB

A s : Suy hao trong dải chắn tính theo dB

Quan hệ giữa các chỉ tiêu này như sau:

Tại sao tập trung vào bộ lọc thông thấp?

Các chỉ tiêu trên được đưa ra đối với bộ lọc FIR thông thấp, và tất nhiên đối với các

bộ lọc khác như thông cao HPF (High Pass Filter), thông dải BPF (Band Pass Filter)

đều có thể được định nghĩa tương tự Tuy nhiên, các tham số thiết kế quan trọng nhất

là các dung sai dải tần và các tần số cạnh-dải Bởi vậy, trong phần 1 về cơ sở lý thuyếtnày chúng ta chỉ tập trung vào bộ lọc FIR thông thấp Việc thiết kế cụ thể cho bộ lọcFIR thông dải bằng kỹ thuật cửa sổ sẽ được phát triển trên cơ sở lọc thông thấp và sẽđược mô tả chi tiết trong phần 2

Các thuận lợi trong thiết kế và thi hành lọc số FIR

(1.2)(1.3) 1 1 0

2 10 log

Trang 5

Việc thiết kế và thực hiện lọc FIR có những thuận lợi sau đây:

Đáp ứng pha là tuyến tính

Dễ thiết kế do không gặp các vấn đề ổn định (lọc FIR luôn ổn định)

Việc thực hiện rất hiệu quả

Có thể sử dụng DFT để thực hiện

Mặc dầu vậy dải đã cho là dải thông hay dải chắn chỉ là tương đối có thể đảo

lại ( minor issue).

Các thuận lợi của đáp ứng pha tuyến tính

Đáp ứng pha là tuyến tính (linear phase response) mang lại những thuận lợi sau:

Bài toán thiết kế chỉ gồm các phép tính số học thực chứ không cần phép tính số học phức

Bộ lọc pha tuyến tính không có méo trễ nhóm và chỉ bị trễ một khoảng không

đổi

Đối với bộ lọc có chiều dài M (hoặc bậc M-1) số phép toán có bậc M/2 như đãkhảo sát trong thi hành pha tuyến tính

1.3 Cấu trúc của bộ lọc FIR

Cho h(n), n=0,1,…,M-1 là đáp ứng xung có chiều dài M Thì hàm truyền hệ thống

n n M

1 1 M

1 1

b ) z (

n

0

1 0

)

Và phương trình sai phân là:

) 1 (

) 1 ( ) ( )

(nb0x nb1x n  b 1x nM

Đây chính là tích chập tuyến tính của các dãy hữu hạn

Bậc của bộ lọc là M-1, trong khi chiều dài của bộ lọc là M (bằng với số lượng các

hệ số) Các cấu trúc bộ lọc FIR luôn luôn ổn định, và tương đối đơn giản hơn so vớicác cấu trúc bộ lọc IIR Hơn thế nữa, các bộ lọc FIR có thể được thiết kế để có mộtđáp ứng pha tuyến tính và đó là điều cần thiết trong một số ứng dụng

Chúng ta sẽ xem xét lần lượt các cấu trúc của bộ lọc FIR sau đây:

1.3.1 Cấu trúc dạng trực tiếp

Phương trình sai phân được thực hiện bởi một dãy liên tiếp các bộ trễ do không cóđường phản hồi:

)1Mn(xb)

1n(xb)n(xb)n(

Hình (1.2) Cấu trúc lọc FIR dạng trực tiếp

Trang 6

Hàm hệ thống H(z) được biến đổi thành các tích của các khâu bậc 2 với các hệ sốthực Các khâu này được thực hiện ở dạng trực tiếp và bộ lọc tổng thể có dạng ghéptầng của các khâu bậc 2.

0

1 0

M 1 1 M

1 1

b

bz

b

b1bz

bz

bb)

2 2 , k

1 1 , k

0 ( 1 B z B z ) b

trong đó  

2

M

K , Bk,1 và Bk,2 là các số thực đại diện cho các hệ số của các khâu bậc

2 Cấu trúc dạng ghép tầng được cho trong hình (1.3) với M = 7:

1.3.3 Cấu trúc dạng pha tuyến tính

Đối với các bộ lọc chọn tần, người ta mong muốn có đáp ứng pha là hàm tuyến tínhtheo tần số, nghĩa là:

Đối với bộ lọc FIR nhân quả có đáp ứng xung trong khoảng [0, M-1], thì các điều kiện tuyến tính là:

1 M n 0 , 0 );

n 1 M ( h ) n (

1 M n 0 , 2 / );

n 1 M ( h ) n (

Xét phương trình sai phân được cho trong phương trình (1.6) với đáp ứng xung đốixứng trong phương trình (1.10), ta có:

)1Mn(xb)2Mn(xb)

1n(xb)n(xb)

Đối với M lẻ: M = 7, còn đối với M chẵn: M = 6 ( hình 1.4 )

Rõ ràng, với cùng một bậc của bộ lọc (cùng M) cấu trúc pha tuyến tính sẽ tiết kiệmđược 50% các bộ nhân so với cấu trúc dạng trực tiếp

6

B1,1

y(n)x(n)

Trang 7

1.4 Các đặc tính của bộ lọc FIR pha tuyến tính

Trong phần này chúng ta sẽ thảo luận về hình dạng của đáp ứng xung, đáp ứng tần

số trong hàm hệ thống của các bộ lọc FIR pha tuyến tính

Cho h(n), trong đó 0  n  M – 1, là đáp ứng xung có chiều dài M thì hàm truyền

n 1 M )

1 M ( 1

M 0 n

n z h ( n ) z z

) n ( h )

z ( H

e (

0 n

n j j

2

1 M ,

1 M n 0 ), n 1 M ( h ) n (

Do đó h(n) là đối xứng theo , là chỉ số đối xứng Có hai kiểu đối xứng:

M lẻ: Trong trường hợp này,  M 2 1 là một số nguyên Đáp ứng xungđược mô tả trong (hình 1.5) dưới đây:

M chẵn: Trong trường hợp này,

Trang 8

Ta cũng có bộ lọc FIR pha tuyến tính loại hai nếu ta yêu cầu đáp ứng pha

Điều này có nghĩa rằng đáp ứng xung h(n) là phản đối xứng (antisymmetric) Chỉ số

đối xứng vẫn là  M 2 1 Một lần nữa chúng ta lại có 2 kiểu, cho M lẻ và M chẵn

M lẻ: Trong trường hợp này,  M 2 1 là một số nguyên Đáp ứng xungđược mô tả bằng (hình 1.7) dưới đây:

Lưu ý rằng mẫu h() tại

Trang 9

M chẵn: Trong trường hợp này,

2

1 M ,

2

; e ) e ( H ) e (

trong đó H r (e j ) là hàm đáp ứng độ lớn chứ không phải là hàm đáp ứng biên độ Đáp

ứng độ lớn là một hàm thực, có thể vừa dương vừa âm, không giống đáp ứng biên độluôn luôn dương Đáp ứng pha kết hợp với đáp ứng biên độ là một hàm không liêntục, trong khi kết hợp với đáp ứng độ lớn là một hàm tuyến tính liên tục

 Bộ lọc FIR pha tuyến tính Loại-1 ( Type 1 ): Đáp ứng xung đối xứng, M lẻ:Trong trường hợp này   0,  M 2 1 là một biến nguyên, và h nhM  1  n,

2 / 1 M 0 n

j ) a n cos n e e

a với mẫu ở chính giữa

Trang 10

  j  M 1  / 2 2

/ M 1 n

2

1ncosnb)

e(

2

M , , 2 , 1

2

1 n cos n b ) (

Lưu ý: Tại   , ta có   0

2

1 n cos n b ) (

H M/2

1 n

 Lọc FIR pha tuyến tính Loại-3 ( Type 3 ): Đáp ứng xung phản đối xứng, Mlẻ:

Trong trường hợp này ta có  2,  M 2 1 là một biến nguyên,

 n hM 1 n

h     , 0nM1, và 0

2

1 M

/ 1 M 0 n

j ) c n sin n ee

2

M , , 2 , 1

/ M 1 n

2

1nsinnd)

e(

2

M , , 2 , 1

So sánh (1.27) và (1.18), ta có:

Trang 11

1 n sin n d ) (

Lưu ý: Tại   , Hr(0)0 và ej2 j

Do vậy, loại này cũng thích hợp cho việc

thiết kế các bộ vi phân số và bộ biến đổi Hilbert số.

Bảng sau đây mô tả khả năng thích hợp trong việc thiết kế các bộ lọc và các bộ biếnđổi Hilbert số, bộ vi phân số của 4 loại lọc FIR pha tuyến tính đã nêu:

BÀI 1: BẮT ĐẦU TÌM HIỂU VỀ BỘ LỌC ĐIỂM CỐ ĐỊNH

Khi việc thiết kế bộ lọc bắt đầu sử dụng các bộ lọc kỹ thuật số, nó được sử dụng trongcác ứng dụng, đôi khi nó có hạn chế về công suất và hạn chế thiết kế điều khiển kíchthước bộ lọc, do đó họ có đề xuất chuyển từ bộ lọc điểm di động (dấu chấm động)sang bộ lọc điểm cố định vì khi thực hiện nó có độ chính xác cao hơn Demo này giớithiệu làm thế nào để phân tích ảnh hưởng của quá trình lượng tử hóa của một chuyểnđổi bằng cách sử dụng các đối tượng thời gian rời rạc bộ lọc (DFILT)

Nội dung

+ Độ chính xác trong thiết kế các hệ số của bộ lọc hai điểm di động

Đối với bản demo này, chúng tôi sẽ thiết kế một bộ lọc lowpass FIR bằng cách sử dụng phương pháp cửa sổ

b = fir1(101, 45, 'low', kaiser(102, 7.8573));

% bộ lọc fir loại 1, dùng cửa sổ kasier

+ Cách biến đổi trong bộ lọc điểm cố định

Trong thiết kế bộ lọc người ta thêm vào các phương án cho sự lựa chọn điểm cố định,các thuộc tính số học của biến đổi rời rạc trong miền thời gian( DFILT) Nó quy địnhcách chuyển tiếp bằng cách thức phân tích bộ lọc hai điểm di động từ đó đưa ra cácphép tính trong bộ lọc điểm cố định

Trang 12

h = dfilt.dffir(b) % khai báo các thuộc tính của bộ lọc

Với việc thiết lập Toolbox Fixed-Point ™ , thuật toán của bộ lọc có thể được thiết lập

để 'cố định' biến lượng tử hóa Thuộc tính bổ sung sau đó tự động thêm đối tượngDFILT.Chức năng có được luôn luôn trả về danh sách đầy đủ của các thuộc tính

Numerator: [1x102 double] ( % số tử số)

Arithmetic: 'fixed'

CoeffWordLength: 16

CoeffAutoScale: 1

Signed: 1

RoundMode: 'convergent'(% miền hội tụ )

OverflowMode: 'wrap' (% đóng gói)

AccumFracLength: 31 % chiều dài mỗi đoạn

Màn hình hiển thị của đối tượng tăng cường khả năng đọc danh sách các thuộc tínhbằng cách nhóm chúng lại với nhau một cách hợp lý Chú ý rằng chỉ có các thuộc tính

có thể ghi mới được hiển thị Ngoài ra một số thuộc tính khác như điều khiển

Trang 13

CoeffAutoScale màn hình hiển thị của những bộ đếm khác (ví dụ như NumFracLength) Phần tiếp theo sẽ thảo luận về ghép nối giữa thuộc tính và cho thấy làm thế nào để thực hiện một thuộc tính chỉ đọc có thể ghi

h % hiển thị

h =

FilterStructure: 'Direct-Form FIR'

Arithmetic: 'fixed'

Numerator: [1x102 double] PersistentMemory: false

CoeffWordLength: 16

CoeffAutoScale: true

Signed: true

InputWordLength: 16

InputFracLength: 15

FilterInternals: 'FullPrecision'

Ngoài ra, lượng thông tin cung cấp một cái nhìn đầy đủ và nhỏ gọn của các thuộc tính điểm cố định info(h) % thông tin Discrete-Time FIR Filter (real)

-

Filter Structure : Direct-Form FIR %cấu trúc bộ lọc Filter Length : 102 % kích thước bộ lọc

Stable : Yes %có tính ổn định Linear Phase : Yes (Type 2) % pha tuyến tính Arithmetic : fixed % số học : cố định

Numerator : s16,16 -> [-001 5.000000e-001)

Input : s16,15 -> [-1 1)

Filter Internals : Full Precision (% thuộc tính bộ lọc : tính chính xác)

Output : s34,31 -> [-4 4) (auto determined: tự động xác định)

Product : s31,31 -> [-001 5.000000e-001) (auto determined) Accumulator : s34,31 -> [-4 4) (auto determined) Round Mode : No rounding % không làm tròn

Overflow Mode : No overflow % không tràn

+ Lượng tử hóa các hệ số với việc chia tỷ lệ tự động

Để xác định số bit được sử dụng để đại diện cho các hệ số, chúng tôi chỉ đơn giản là nhìn vào thuộc tính CoeffWordlength

Trang 14

h.CoeffWordLength % hệ số của chiều dài từ

+ Cách chia tỷ lệ các hệ số bằng phương pháp thủ công

Thiết lập thuộc tính CoeffAutoScale false biến thuộc tính NumFracLength có khả năng ghi và hiển thị trong màn hình

Trang 15

CoeffAutoScale: false

NumFracLength: 24

Signed: true

InputWordLength: 16

InputFracLength: 15

FilterInternals: 'FullPrecision'

Các hệ số lượng tử luôn luôn làm tròn đến giá trị gần nhất và bão hòa nếu tràn xảy ra Bởi vì chiều dài phân số đã được lựa chọn để tránh tràn, tăng chiều dài phần nhỏ sẽ bão hòa các hệ số lượng tử và giới thiệu một distorsion xấu nhất cho đặc trưng chiều dài h1.NumFracLength = 25; Hãy hình dung ảnh hưởng của hệ số bão hòa vào dặc trưng độ lớn của các bộ lọc href = reffilter(h); % Reference double-precision floating-point filter hfvt = fvtool(href,h,h1); set(hfvt,'ShowReference','off'); % Reference already displayed once( các mẫu sau khi hiển thị ) legend(hfvt, 'Reference iải tfilter', '24 bits - no saturation', '24 bits - saturation') set(hfvt, 'Color', [1 1 1]) + Nêu rõ các quy tắc số học Theo mặc định, các danh mục và bổ sung được thực hiện đầy đủ chính xác để cho phép chúng ta xác định các công suất tối thiểu cần thiết để tránh bất kỳ tổn thất nào h.CoeffWordLength = 16; ans = 31 31

tích lũy h.chiều dài các phân đoạn tích lũy

Trang 16

Có thể giới thiệu những hạn chế về kết quả hoặc đăng ký accumulator hoặc cả hai.Duy trì các chế độ MSB thiết lập độ dài phần tự động để tránh tràn trong khi duy trìchế độ LSB thiết lập độ dài phần tự động để tránh underflows Cuối cùng, chế độ xácđịnh chính xác cho phép kiểm soát toàn bộ các thiết lập Người ta sẽ cần để chạy các

bộ lọc để xem hiệu quả các thiết lập trên đầu ra Để thảo luận thêm về cài đặt sảnphẩm và accumulator, xem demo "lọc điểm cố định với hình thức bộ lọc FIR trực tiếp

vi tần số bình thường trong khi stopband thứ hai bao gồm các [0,65 1] phạm vi Các

Cả hai stopbands phải cung cấp của sự suy giảm 60 dB

f = fdesign.bandpass(.35,.45,.55,.65,60,1,60);

Hd = design(f, 'equiripple');

+ Bước 1: Lượng tử hóa các hệ số

Đầu tiên ta quy định 12 bit là điều kiện để biểu diễn các hệ số

Hd.Arithmetic = 'fixed'; % số học = cố định

set(Hd, 'CoeffwordLength', 12); % hệ số chiều dài từ

hfvt = fvtool(Hd, 'Color', 'white');

tốt nhất

Trang 17

Không giống như các bộ lọc IIR, bộ lọc FIR là bộ lọc thực hiện chính xác khi biến đổiđiểm cố định Điều này làm cho quá trình chuyển đổi một dấu chấm động thành mộtđiểm cố định thực hiện dễ dàng hơn cho Firs hơn so với IIRs

Chú ý phạm vi đầu vào có tầm quan trọng cho việc phân tích tĩnh để thực hiện chínhxác đầy đủ based Vì vậy, nếu chúng ta không muốn để nhân rộng phạm vi hoạt động,chúng ta phải xác định rằng dữ liệu chúng tôi gửi cho bộ lọc là trong phạm vi đầu vàođược xác định bởi InputWordLength và thuộc tính InputFracLength Giả sử đầu vàonằm trong khoảng [-2,2] Này dịch trong một InputFracLength 14 khiInputWordLength được thiết lập đến 16 bit (mặc định)

Chúng tôi có thể xác minh rằng đầu ra này chính xác đầy đủ là thực sự tốt nhất chúng

ta có thể hy vọng đạt được Bằng cách so sánh nó với tham chiếu được tính toán bằngcách sử dụng các hệ số lượng tử và độ chính xác cao, số học dấu chấm động

số kỹ thuật tương tự như bộ đếm, nó loại bỏ hoàn toàn lỗi lượng tử hóa tại đầu ra

Trang 18

+ Xác định chiều rộng dữ liệu hạn chế

Thực hiện đầy đủ chính xác điểm cố định số học là một điểm khởi đầu thuận lợi,nhưng nó có thể không phải lúc nào cũng dẫn đến độ dài từ mặc định cho một phầncứng nhất định Trong ví dụ của chúng tôi, 31 bit sẽ là cần thiết để đại diện cho kếtquả chính xác đầy đủ:

yfullprec.wordLength

ans =

31

Chúng tôi phải xem xét chiều rộng hạn chế của dữ liệu và mô phỏng một phần cứng

mà có thể có 16-bit dữ liệu bus một số nhân 24-bit và một bộ đếm với 4 bit bảo vệ.Ngoài ra, chúng ta phải giả định dữ liệu đầu vào đến từ một ADC 12-bit

set(Hd, 'InputWordLength', 12,

'FilterInternals', 'SpecifyPrecision',

'ProductWordLength', 24, 'AccumWordLength', 28, 'OutputWordLength', 16)

Bước 2: Thực hiện phân tích dãy động

Bước thứ hai của chuyển đổi "di động đến cố định" bao gồm việc áp dụng phân tích phạm vi hoạt động để bộ lọc tốt để điều chỉnh mở rộng quy mô cho mỗi nút Cực đại

và cực tiểu thu được từ một mô phỏng dấu chấm động được sử dụng để thiết lập độ dài phần nhỏ như vậy mà phạm vi mô phỏng được bao phủ và độ chính xác được tối

đa hoá Không có hạn chế về phạm vi của các kích thích đầu vào Chúng ta có thể sử dụng dữ liệu tiếng ồn ngẫu nhiên, phân bố đồng đều nhiễu trắng một loạt các [-2,2) ví

dụ Ngoài ra, chúng ta có thể tạo ra các kích thích đó sẽ bao gồm phạm vi lớn nhất năng động trong bộ lọc Dựa trên sự kích thích được bảo toàn vì nó đảm bảo rằng không có tràn sẽ xảy ra, thực sự là không có vấn đề gì các tín hiệu đầu vào Rằng

"trường hợp xấu nhất" tín hiệu đầu vào là một phiên bản thu nhỏ của các dấu hiệu của đáp ứng xung flipped

x = 1.9*sign(fliplr(impz(Hd)));

Hd = autoscale(Hd,x); % thang đo tự động

Chúng tôi có thể kiểm tra rằng các bộ lọc được thu nhỏ lại bằng cách chạy các bộ lọc trong điểm cố định:

fipref('LoggingMode', 'on', 'DataTypeOverride',

Trang 19

-

Min Max | Range | Number of Overflows

-

Input: -1.9003906 1.9003906 | -2 1.9990234 | 0/48 (0%)

Output: -3.2658691 3.3671875 | -4 3.9998779 | 0/48 (0%)

Product: -0.23522902 0.23522902 | -0.5 0.49999994 | 0/2304 (0%)

Accumulator: -3.2658324 3.3672082 | -8 7.9999999 | 0/2256 (0%)

Chúng tôi xác định rằng không có tràn, tức là tất cả các tín hiệu trong phạm vi hoạtđộng có sẵn Đáp ứng cường độ ước tính cho thấy rằng việc thực hiện điểm cố địnhtrong mặt nạ quang phổ và bộ lọc đã được thu nhỏ

BÀI 3: LÀM VIỆC VỚI ĐIỂM CỐ ĐỊNH TỪ BỘ LỌC FIR

Trình này minh họa các khía cạnh khác nhau làm việc với các bộ lọc FIR thực hiện với cấu trúc hình thức trực tiếp bằng cách sử dụng điểm số học cố định

Nội dung

+ Thiết kế bộ lọc

Các bộ lọc FIR sử dụng không giới hạn Vì chúng ta sẽ sử dụng cấu trúc hình thức trực tiếp, nó thậm chí không cần phải có giai đoạn tuyến tính Trình bày này, chúng tôi sẽ sử dụng một thiết kế hình vuông đơn giản

Trang 20

h =

FilterStructure: 'Direct-Form FIR'

Arithmetic: 'fixed'

Numerator: [1x81 double]

PersistentMemory: false

CoeffWordLength: 16

CoeffAutoScale: true

Signed: true

InputWordLength: 16

InputFracLength: 15

FilterInternals: 'FullPrecision'

+ So sánh hệ số lượng tử hóa và hệ số không lượng tử hóa Có một số thông số điểm cố định cho một bộ lọc FIR dạng trực tiếp Để bắt đầu, tốt nhất là để tập trung vào hệ số wordlength và fractionlength (rộng) Đầu tiên chúng ta sử dụng công cụ trực quan của bộ lọc để so sánh các hệ số lượng tử với hệ số không lượng tử hfvt = fvtool(h, 'legend', 'on', 'Color', 'white'); + Các tính chất quy định sự tồn tại của các bit được sử dụng Xác định số bit được sử dụng trong bộ lọc điểm cố định , ta dễ nhận thấy được CoeffWordlength get(h,'CoeffWordLength') ans = 16

get(h,'NumFracLength')

ans =

Trang 21

17

Ta nói có thể dùng 16 bit để biểu diễn các hệ số và số bit nhỏ nhất có giá trị 2-17

get(h,'CoeffAutoScale') % Returns a logical true

ans =

1

+ Các tính chất quy định đến bản chất của hệ số độ dài của từ

Chúng ta có thể làm sao chép từ bộ lọc các wordlengths khác nhau Các hệ số tự độngchia tỷ lệ một cách chính xác trong mỗi khung

set(hfvt, 'Filters', [href, h1, h, h2]);

set(hfvt,'ShowReference','off'); % Reference already

displayed once

% tham chiếu sau khi hiển thi

legend(hfvt,'Reference filter','12 bits','16 bits','24 bits');

12 bit rõ ràng là không đủ để miêu tả cho bộ lọc này 16 bit có thể là đủ cho hầu hết các ứng dụng, vì vậy chúng tôi sẽ tiếp tục sử dụng 16 bit trong việc trình bày này Như một quy tắc ngón tay cái, ta nên mong đợi một sự suy giảm đạt được khoảng 5

dB cho mỗi bit

+ Bộ lọc điểm cố định

Mục đích chính của chúng tôi là để đánh giá độ chính xác của bộ lọc điểm cố định khi

so sánh với kiểu bộ lọc hai điểm di động Chúng ta sẽ thấy rằng nó không chỉ biểu diễn chính xác các hệ số mà nó còn giữ đáp ứng cường độ xấp xỉ như nhau

Trang 22

+ Tạo ra các dữ liệu huấn luyện đầu vào

Khi ta muốn đánh giá độ chính xác, chúng tôi sẽ sử dụng một số dữ liệu ngẫu nhiên

để lọc và so sánh chúng với nhau Chúng tôi sẽ tạo ra một lượng tử hóa, với một loạt các khoảng [-1,1) để tạo ra ngẫu nhiên phân bố đồng đều dữ liệu nhiễu trắng bằng cách sử dụng 16 bit của wordlength

rand('state',0); % Make results reproducible by

initializing the random generator % kết quả sử dụng lại

bằng cách khởi tạo các thành phần phát ngẫu nhiên

+ Tạo ra một đầu ra cơ sở để so sánh

Khi đánh giá tính chính xác của lọc điểm cố định, có ba điều để xem xét:

1 Đầu ra "lý tưởng", điều này mục đích để tính toán Nó được tính bằng cách sử dụng các tham chiếu hệ số và số học một cách chính xác trong hai điểm di động

2 Việc có thể hy vọng đạt được đó là nó được tính bằng cách sử dụng các hệ số lượng

Trang 23

Tiếp theo chúng ta sẽ thực hiện lọc thực tế điểm cố định Một lần nữa, tốt nhất chúng

ta có thể hy vọng đạt được là phải có một đầu ra giống hệt nhau để ydouble

số kỹ thuật tương tự như Accumulator trong đó loại bỏ quantization lỗi tại đầu ra hoàntoàn

+ Những thuận lợi của Bits Guard

info(h)

Discrete-Time FIR Filter (real) - Filter Structure : Direct-Form FIR Filter Length : 81 Stable : Yes Linear Phase : Yes (Type 1) Arithmetic : fixed Numerator : s16,17 -> [-2.500000e-001 2.500000e-001)

Input : s16,15 -> [-1 1) Filter Internals : Full Precision Output : s34,32 -> [-2 2) (auto determined) Product : s31,32 -> [-2.500000e-001 2.500000e-001) (auto determined)

Accumulator : s34,32 -> [-2 2) (auto determined) Round Mode : No rounding Overflow Mode : No overflow Chúng tôi nhận thấy rằng sẽ có 3 bit phụ có sẵn Đây là điển hình của hầu hết các bộ

xử lý DSP điểm cố định Những bit này thường được gọi là bit bảo vệ Họ cung cấpmột mạng lưới an toàn cho tràn trung gian Cách dễ nhất để đánh giá cao giá trị của

họ là để loại bỏ chúng và xem những gì sẽ xảy ra (chúng tôi điều chỉnh cài đặt đầu racho phù hợp),

Ngày đăng: 17/05/2014, 15:17

HÌNH ẢNH LIÊN QUAN

Sơ đồ khối thực hiện phương trình sai phân trên được mô tả trong hình (1.4) dưới đây đối với cả M lẻ và M chẵn: - BÁO CÁO TIỂU LUẬN   MÔN: THIẾT KẾ LỌC SỐ VÀ MÃ HÓA BĂNG   CON  ĐỀ TÀI: TÌM HIỂU BỘ LỌC ĐIỂM CỐ ĐỊNH CÓ   ĐÁP ỨNG XUNG HỮU HẠN FIR
Sơ đồ kh ối thực hiện phương trình sai phân trên được mô tả trong hình (1.4) dưới đây đối với cả M lẻ và M chẵn: (Trang 6)
Hình 1.5 Đáp ứng xung đối xứng, M lẻ - BÁO CÁO TIỂU LUẬN   MÔN: THIẾT KẾ LỌC SỐ VÀ MÃ HÓA BĂNG   CON  ĐỀ TÀI: TÌM HIỂU BỘ LỌC ĐIỂM CỐ ĐỊNH CÓ   ĐÁP ỨNG XUNG HỮU HẠN FIR
Hình 1.5 Đáp ứng xung đối xứng, M lẻ (Trang 7)
Hình 1.7  Đáp ứng xung phản đối xứng, M lẻ - BÁO CÁO TIỂU LUẬN   MÔN: THIẾT KẾ LỌC SỐ VÀ MÃ HÓA BĂNG   CON  ĐỀ TÀI: TÌM HIỂU BỘ LỌC ĐIỂM CỐ ĐỊNH CÓ   ĐÁP ỨNG XUNG HỮU HẠN FIR
Hình 1.7 Đáp ứng xung phản đối xứng, M lẻ (Trang 8)
Hình 1.8  Đáp ứng xung phản đối xứng, M chẵn - BÁO CÁO TIỂU LUẬN   MÔN: THIẾT KẾ LỌC SỐ VÀ MÃ HÓA BĂNG   CON  ĐỀ TÀI: TÌM HIỂU BỘ LỌC ĐIỂM CỐ ĐỊNH CÓ   ĐÁP ỨNG XUNG HỮU HẠN FIR
Hình 1.8 Đáp ứng xung phản đối xứng, M chẵn (Trang 9)
Bảng sau đây mô tả khả năng thích hợp trong việc thiết kế các bộ lọc và các bộ biến đổi Hilbert số, bộ vi phân số của 4 loại lọc FIR pha tuyến tính đã nêu: - BÁO CÁO TIỂU LUẬN   MÔN: THIẾT KẾ LỌC SỐ VÀ MÃ HÓA BĂNG   CON  ĐỀ TÀI: TÌM HIỂU BỘ LỌC ĐIỂM CỐ ĐỊNH CÓ   ĐÁP ỨNG XUNG HỮU HẠN FIR
Bảng sau đây mô tả khả năng thích hợp trong việc thiết kế các bộ lọc và các bộ biến đổi Hilbert số, bộ vi phân số của 4 loại lọc FIR pha tuyến tính đã nêu: (Trang 11)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w