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

Thiết kế bộ lọc số với công nghệ epga

99 9 0

Đ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

Định dạng
Số trang 99
Dung lượng 1,44 MB

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

Nội dung

Những kết quả thu được từ việc thiết kế mạch lọc số này là chúng được sử dụng rộng rãi trong các hệ thông thông tin số.. Chẳng hạn, không thể nâng cao thêm số bậc lọc của mạch lọc để tăn

Trang 1

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

Trang 2

Kết luận

KẾT LUẬN :

Bộ lọc số được ứng dụng rất rộng rãi trong ứng dụng xử lý tín hiệu số Bộ lọc số được dùng để thực hiện việc phân tích phổ, lọc những tín hiệu nhiễu không mong muốn hay cung cấp dạng phổ tín hiệu Những kết quả thu được từ việc thiết kế mạch lọc số này là chúng được sử dụng rộng rãi trong các hệ thông thông tin số

FPGA là công nghệ rất mới và được ứng dụng rất rộng rãi, do đó cần có thời gian nhất định để tiếp cận và nghiên cứu, cho nên việc thiết kế bộ lọc số của chúng tôi còn nhiều thiếu sót cũng như hạn chế Chẳng hạn, không thể nâng cao thêm số bậc lọc của mạch lọc để tăng độ chính xác của mạch lọc, hay hệ số bộ lọc chưa được chuyển trực tiếp từ phần mềm vào FPGA, mà phải nạp bằng bảng khai báo hằng số những điều hạn chế này do chương trình thực hiện chưa tối ưu để có thể hạn chế tối đa số logic cell

Trong luận văn này em đã thực hiện bộ lọc số FIR và IIR trên FPGA với tốc độ ( tần số lấy mẫu) 10MHz, do những giơiù hạn về thiết bị nên luận văn chỉ giới hạn thiết kế bậc của bộ lọc trong khuôn khổ nhất định Tài nguyên cuả FPGA là có hạn nên chúng ta chỉ có thể thực hiện bộ lọc với hệ số không cao Trong đề tài này chúng ta thực hiện bộ lọc FIR bậc 16, bộ lọc IIR bậc 5 Điều đó sẽ dẫn tới việc không thể thoả mãn đầy đủ yêu cầu phẩm chất cuả bộ lọc Một điểm khác nữa là mỗi lần thay đổi hệ số cuả bộ lọc phải thực hiện biên dịch lại cả thiết kế Và vấn đề chuyển đổi hệ số bộ lọc từ dạng số thực sang dạng nhị phân 8 bit vàtính bảng tra LUT 16x8 còn phải thực hiện thủ công Đó cũng là một hạn chế cuả thiết kế Nếu giải quyết tốt vấn đề này sẽ làm cho người sử dụng dễ dàng hơn

Kết quả của các bộ lọc đã được thử nghiệm trên kit UP, cho kết quả lọc tương đối tốt Nhưng để kết quả tốt hơn ta phải nâng số bit lượng tử hoá giá trị số đầu vào (ADC có số bit nhiều hơn), và phải tìm cách nâng cao được số bậc bộ lọc

HƯỚNG PHÁT TRIỂN:

Để hoàn thiện hơn kết quả đạt được, chúng ta cần tăng thêm số bit dữ liệu từ 8 bit lên 16bit hay 32 bit để tăng độ phân giải cao hơn

Trang 3

GVHD: TS.Nguyễn Như Anh và ThS.Hồ Trung Mỹ HV: Trần Tấn Phúc

99

Thực hiện chương trình chuyển đổi hệ số bộ lọc từ dạng thực sang dạng nhị phân một cách liên thông tạo dễ dàng cho người sử dụng Từ đó thực hiện bộ lưu hệ số như một ROM, hoặc chuyển trực tiếp bằng cách viết vào RAM , điều đó sẽ làm cho việc biên dịch thiết kế sẽ dễ dàng hơn

Sử dụng các FPGA có dung lượng bộ nhớ lớn và số cổng logic lớn để có thể thực hiện bộ lọc có bậc cao hơn, chất lượng lọc tốt hơn

Bộ xử lý lọc số này có thể tích hợp trong các card xử lý số như: hệ thống lọc nhiễu, hệ thống phân tích phổ, hệ thống xử lý ảnh, hệ thống nén dữ liệu…

Trang 4

Lời nói đầu

Trong những năm gần đây, công nghệ ASIC phát triển với tốc độ rất nhanh trên thế giới Đây là một công nghệ tiên tiến cung cấp cho chúng ta một phương thức thiết kế các hệ thống số một cách nhanh chóng, tiện lợi và rẻ tiền, do đó nó đặc biệt thích hợp với việc nghiên cứu thử nghiệm trước khi đưa vào sản xuất đại trà ở quy mô lớn Với những công cụ thiết bị phần cứng lập trình được và phần mềm tích hợp, công nghệ ASIC cho người thiết kế một cái nhìn trực quan về các hệ thống kỹ thuật số, điều rất có lợi khi đưa vào nghiên cứu giảng dạy ở các trường đại học nhằm giúp sinh viên hiểu rõ hơn bản chất hoạt đọâng của các mạch số đã học trên lý thuyết

Trong luận văn này, để có cái nhìn tổng quát về quy trình thiết kế một mạch số với công nghệ ASIC, và trong điều kiện các thiết bị thí nghiệm hiện có của trường, đề tài sẽ đi vào nghiên cứu ứng dụng các thiết bị phần cứng lập trình được với công nghệ FPGA, bước phát triển trước của ASIC Mục tiêu là thiết kế một bộ lọc số FIR và IIR trong xử lý số tín hiệu Ngôn ngữ mô tả phần cứng được sử dụng là VHDL, công cụ phần mềm hổ trợ được sử dụng là MAX+PLUS II của hãng ALTERA Sau khi thiết kế và mô phỏng thành công, chip được hiện thực trên

phần cứng là board UP của ALTERA

Luận văn được chia thành 4 chương Các chương được sắp xếp như sau:

Chương 1 : Giới thiệu về bộ lọc số FIR và IIR

Chương này nhằm cung cấp những kiến thức cơ bản nhằm giúp ta có nền tảng lý thuyết để thực hiện việc thiết kế bộ lọc số FIR và IIR ở những chương sau

Chương 2: Công Nghệ FPGA và Ngôn Ngữ VHDL

Chương này giới thiệu tổng quát về công nghệ FPGA và ngôn ngữ VHDL, cách sử dụng phần mềm hổ trợ Max Plus II

Chương 3: Thiết Kế Bộ Lọc Số Lập Trình Được Với FPGA

Chương này trình bày ý tưởng thiết kế, mô hình thực hiện trên phần cứng FPGA, các mạch ADC, DAC giao tiếp với nó

Đồng thời trong chương này, luận văn sẽ trình bày việc xây dựng phần mềm tính toán trước hệ số bộ lọc số bằng ngôn ngữ Matlab Giao diện tính hệ số bộ lọc có 6 phương pháp lựa chọn để thiết kế bộ lọc số

Chương 4: Thiết Kế Giải Thuật Cho Bộ Lọc Số Bằng Ngôn Ngữ Mô Tả Phần Cứng VHDL

Chương này trình bày cách tối ưu hóa giải thuật tính bộ lọc số, và các giải thuật thực hiện bộ lọc số bằng ngôn ngữ VHDL trên thiết bị FLEX10K Kết quả

mô phỏng trên Max Plus II và thực nghiệm của bộ lọc số được thực hiện trên FLEX10K của kit UP của hãng Altera

Trang 5

Chương1: Trang

Chương 2:

Công nghệ FPGA và ngôn ngữ VHDL 38

Chương 3:

Thiết kế bộ lọc số lập trình được với FPGA 63

5 Giới thiệu phần cứng hổ trợ: Kit UP của ALTERA 75

Chương 4:

Thiết kế giải thuật cho bộ lọc số bằng

ngôn ngữ mô tả phần cứng VHDL 77

1.Tối ưu hóa cách thiết kế bộ lọc FIR trên FLEX10K 77

Trang 6

Chương 1

GIỚI THIỆU VỀ BỘ LỌC SỐ FIR VÀ IIR

1 Giới thiệu:

Một bộ lọc số là một hệ thống tuyến tính bất biến trong miền biến số n,

sơ đồ khối cho trên hình sau:

n(h

*)n(x)mn(x)m(h)

n(x

h(n) : đáp ứng xung cuả hệ thống

Và ta đã biết rằng đáp ứng xung là đặc trưng hoàn toàn cho hệ thống trong miền n Ngoài ra hệ thống còn được biểu diễn bằng phương trình sai phân tuyến tính sau đây:

M 0

k k

M 0 r

r r

Za

Zb)

Z(X

)Z(Y)]

n(h[ZT)Z(H

Trang 7

Nếu hàm truyền đạt H(Z) được đánh giá trên vòng tròn đơn vị đối với 1

Z = thì chúng ta có đáp ứng tần số H(ejω):

)e(X)

e(H)e(Y

ea

eb)

e(X

)e(Y)e(H

j j

j

N 0 k

k j k

M 0 r

r j r j

j j

ω ω

ω ω

Vấn đề tổng quát trong lọc số là việc tạo ra một hệ thống tuyến tính bất biến Hệ thống này có đáp ứng tần số mong muốn và có thể thực hiện dược Quan hệ giữa đầu vào, đầu ra và đáp ứng xung cuả hệ thống phải thoả mãn điều kiện sau đây:

)mn(x)m(h)

n(x

*)n(h)n(y L[h(n)] = [0,∞]

∑∞ <∞

=0 n

)n(h

Các quan hệ này cho thấy rằng chiều dài cuả đáp ứng xung h(n) là rất quan trọng, các hệ số h(n) là đặc trưng cho hệ thống

Vì thế chúng ta có thể phân loại các hệ thống thành hai loại lớn tùy theo chiều dài cuả đáp ứng xung h(n):

Loại 1: hệ thống được đặc trưng bởi đáp ứng xung có chiều dài hữu

hạn Nó được gọi là hệ thống có đáp ứng xung chiều dài hữu hạn (FIR), 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)

Loại 2: hệ thống được gọi là hệ thống có đáp ứng xung 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 ∞ Gọi là bộ lọc IIR

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 6

Trang 8

2 Mạch Lọc Số FIR :

Ta xét một mạch lọc FIR độ dài M với tín hiệu vào x(n) và tín hiệu ra y(n) được mô tả bởi phương trình sai phân sau:

M k

(

M k

k n x k h n

(

M k

k

z k h z

2 ( 2

1

)

1()

2(

)

2()

1()0()

z M h z

m h z

h z h h z

/ ) 1 (

)()

2

1(

M n

k M k

M M

z z

n h

M h

/ ) 1 (

)(

M n

k M k

M M

z z

n h Z

Bây giờ nếu ta thay thế z-1 bởi z và nhân cả hai vế của phương trình nhận được với z-(M-1) ta thu được:

)()

( 1

) 1 (

z H z

H

zM− − =±

Trang 9

Kết quả cho thấy nghiệm của đa thức H(z) cũng là nghiệm của đa thức H(z-1) Vì vậy, nghiệm của đa thức H(z) xảy ra từng cặp nghịch đảo với nhau Nói cách khác, nếu z1 là nghiệm của đa thức H(z) thì 1/z1 cũng là nghiệm Hơn nữa, nếu đáp ứng H(n) của lọc là thực thì các nghiệm phức sẽ có từng cặp liên hợp phức Vì vậy, nếu z1 là nghiệm phức thì z1* cũng là nghiệm, và H(z) có điểm không là 1/ z1*

Đáp ứng tần số của mạch lọc FIR phase tuyến tính thu được bằng cách

tính trên vòng tròn đơn vị Sự thay thế này thu được biểu thức của H(ω) như

sau:

( )

[ / 2 ( 1 / 2 ]

)()

r e H

Với H r(ω)là một hàm thực của tần số, phụ thuộc vào giá trị của đáp ứng xung h(n) và phase θH(ω) của mạch lọc:

)(ω

2

) 1 ( 2

Trước khi một bộ lọc được thiết kế, tập các đặc tính của bộ lọc được xác định Thí dụ, giả sử rằng ta muốn thiết kế một bộ lọc thông thấp lý tưởng có pha tuyến tính và tần số cắt ωc

≤ω

ω

≤ω

e)e(HĐáp ứng xung đơn vị của bộ lọc trên là:

hd(n)=

) (

) sin(

απ

ωα

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 8

Trang 10

1- pδ < H(ejw) <=1+δp 0<=ω <=ωp

e

H( ) <=δ ωs <= ω <=Π

Như được minh hoạ trong hình được trình bày dưới đây các đặc tính bao

gồm: tần số cắt dải thông ωp, tần số cắt dải chận ωs, độ lệch dải thông

p

δ và độ lệch dải chận δs

) (e jω

H

1+δp 1-δp

Dải thông Dải chận

20

)log(

20

p p

s s

δ

α

δα

+

=

=

Khoảng[ωps]được gọi la ødải chuyển tiếp (transition band)

Một khi các đặc tính của bộ lọc đã được xác định, bước kế tiếp là thiết kế bộ lọc sao cho thoả các đặc tính được định

Chúng ta có thể tóm tắt ngắn gọn các tính chất cơ bản cuả bộ lọc số có pha tuyến tính như sau:

h(n) đối xứng h(n) = h(N-1-n)

h(n) phản đối xứng h(n) = - h(N-1-n)

Trang 11

N

Lẻ

π

≤ω

=

π

≤ω

ω

= ω

ω

− ω

− ω

20

khoảng

trongxứngđốilà)e(A)e

(

H

20

số

tầnkhoảngtrong

xứngđối)e

(

A

lạicòn

1Nn10

n2

1Nh2)

0

(

a

ncos)n(a)

e

(

A

)e(Ae

)e

(

H

j j

j

2 1 N

0 n j

j 2 1 N j j

Bộ lọc FIR loại 1)

π

=

π

≤ω

=

π

≤ω

ω

= ω

ω

− ω

− ω

và0ở0)e(A

20

khoảng

trongxứngđốilà)e(A)e(H

20

sốtần

khoảngtrong

xứngđốiphản)e(A

lạicòn

1Nn10

n2

1Nh2)n(c

nsin)n(c)e(A

)e(Ae

)e(H

j

j j

j

2 1 N

0 n j

j ) 2 1 N 2 ( j j

(Bộ lọc FIR loại 3)

N

Chẵn

π

=

π

≤ω

=

π

≤ω

=

=

ω

ω ω

ω

= ω

ω

− ω

− ω

ở0)e

(

A

20

khoảng

trongxứngđốilà)e(A)e

(

H

20

số

tần

khoảngtrong

xứngđốiphản)e

(

A

lạicòn

Nn10

n2

Nh2)

e

(

A

)e(Ae

)e

(

H

j

j j

j

2 N

0 n j

j 2 1 N j j

(Bộ lọc FIR loại 2)

π

=

π

≤ω

=

π

≤ω

=

=

ω

ω ω

ω

= ω

ω

− ω

− ω

ở0)e(A

20

khoảng

trongxứngđốilà)e(A)e(H

20

sốtần

khoảngtrong

xứngđối)e(A

lạicòn

Nn10

n2

Nh2)n(d

2

1nsin)n(d)e(A

)e(Ae

)e(H

j

j j

j

2 1 N

0 n j

j ) 2 1 N 2 ( j

(Bộ lọc FIR loại 4)

3 Các Phương Pháp Thiết Kế Mạch Lọc FIR:

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 10

Trang 12

3.1 Thiết kế mạch lọc FIR phase tuyến tính bằng phương pháp

(

n

n j d

Do vậy, ta có thể xác định đáp ứng xung hd(n) bằng cách tính tích

phân trên, đáp ứng xung hd(n) thu được có độ dài hữu hạn và làm tròn

tại một vài điểm, như n = M-1 để thu được mạch lọc FIR độ dài M bằng

cách nhân hd(n) với một “cửa sổ chữ nhật” được định nghĩa như sau:

1 n = 0, 1, 2, …., M-1 w(n) =

(

M n

n j

e n w

Vì vậy, từ tích chập của H d(ω) với W(ω) thu được đáp ứng tần số của mạch lọc FIR (đã làm tròn):

Trang 13

1)

Biến đổi Fourier của hàm cửa sổ chữ nhật là:

)2/sin(

)2/sin(

1

1)

e e

j

M j M

)2/sin(

)(

02sin

212

1)

ω

ωω

Các cửa sổ thường dùng cho việc thiết kế lọc FIR

Tên của cửa sổ Chuỗi trong miền thời gian

Bartlett

1 2

1 2

Blackman

1

4 cos 08 , 0 1

2 cos 5 , 0 42 , 0

π

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 12

Trang 14

M n

12

1

0

2 2

0

M I

M n

n

M

M n

2

1 2

) 1 /(

2

1 2

sin

π

π

L>0

Giả sử ta muốn thiết kế một mạch lọc FIR phase tuyến tính thông

thấp có đáp ứng tần số là:

C C M

j d

e l H

ωω

ωω

2 / ) 1 (

(n ≠ (M-1)/2)

Ta thấy rằng hd(n) là không nhân quả và có độ dài vô hạn

Nếu ta nhân hd(n) với hàm cửa sổ chữ nhật ta sẽ thu được mạch

lọc FIR pha tuyến tính có độ dài M có đáp ứng xung như sau:

1sin

)(

M n

M n n

π

ωC

M n

1

Trang 15

Trên đáp ứng biên độ của mạch lọc này, ta sẽ thấy có những dao động tương đối lớn hay độ gợn sóng xung quanh trục chuyển biến tần số đột ngột Tần số của các dao động này tăng lên khi M tăng nhưng biên độ của chúng không bị giảm xuống Hiện tượng này xảy ra chính là do kết quả của việc hạn chế độ dài đáp ứng xung bằng hàm cửa sổ chữ nhật Hiện tượng này chính là hiện tượng Gibbs

Các cửa sổ và đặc tính thường dùng cho việc thiết kế bộ lọc FIR:

Tên hàm

cửa sổ

Độ rộng dải chuyển tiếp(Hz)(đã huẩn hoa)ù

Độ gợn dải thông (dB)

Độ gợn dải chắn (dB)

Hàm cửa sổ w(n) , n ≤ (N - 1)/2

n2cos121

1N

n

2

−π

1 N

n 4 cos 08 , 0 1 N

n 2 cos 5 , 0 42 , 0

π +

0,0274 0,00275 0,000275

))]

1N/(

n2[1(I

0

2 / 1 2 0

β

−β

Tóm tắt cách tính toán các hệ số bộ lọc theo phương pháp cửa sổ:

• Bước 1 : Xác định đáp ứng tần số theo yêu cầu hoặc lý tưởng cuả bộ lọc

HD(n)

• Bước 2 : Tính đáp ứng xung hD(n) cuả bộ lọc cần thiết kế bằng cách biến đổi Fourier ngược như công thức đã cho Đối với một số bộ lọc thông thường, công thức hD(n) đã cho trong bảng trên

• Bước 3 : Chọn hàm cửa sổ thoả mãn băng thông hay độ suy hao, sau đó

số hệ số bằng cách dùng quan hệ sẵn có giữa độ dài bộ lọc và độ rộng chuyển tiếp Δf

• Bước 4 : Tính giá trị w(n) cho cửa sổ đã chọn và giá trị cuả hệ số FIR

thực tế h(n) bằng cách nhân hD(n) với w(n)

h(n) = hD(n) w(n)

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 14

Trang 16

Việc dùng phương pháp cửa sổ có lợi thế là ít tính toán, chúng ta có thể tính thủ công bằng máy tính bỏ túi Tuy nhiên kết quả là không tối ưu, trong nhiếu trường hợp nếu dùng phương pháp khác sẽ có số hệ số thấp hơn

Ưu, khuyết điểm của phương pháp này:

• Một ưu điểm quan trọng cuả phương pháp cửa sổ là sự đơn giản : dễ áp dụng và dễ hiểu, không phải tính toán nhiều ngay cả với cửa sổ Kaiser tương đối phức tạp

• Một nhược điểm chính cuả nó là : độ gợn đỉnh cuả dải thông và dải chắn được ước lượng xấp xỉ, do đó người thiết kế sẽ dừng lại với độ dợn dải thông quá nhỏ hay độ suy hao dải chắn quá lớn

• Do ảnh hưởng cuả việc chồng phổ cuả hàm cửa sổ và đáp ứng mong muốn, tần số cạnh cuả dải thông và dải chắn không thể xác định chính xác

• Đối với một cửa sổ cho trước (ngoại trừ cửa sổ Kaiser) biên độ gợn cực đại cuả đáp ứng bộ lọc được cố định bất kể giá trị N lớn bao nhiêu dẫn đến suy hao dải chắn được cố định Do đó, với một độ suy hao cho trước, người thiết kế phải tìm một cửa sổ thích hợp

• Trong một vài ứng dụng, biểu thức cuả đáp ứng bộ lọc yêu cầu HD(ω) sẽ làm cho việc tính hD(n) trở nên quá phức tạp Trong trường hợp này hD(n) sẽ được tính thông qua phương pháp lấy mẫu tần số trước khi áp dụng hàm cửa sổ

3.2 Thiết kế mạch lọc FIR bằng phương pháp lấy mẫu tần số

Về cơ bản, phương pháp này cần đưa ra đáp ứng tần số Hd(ω) tại các tần số rời rạc cách đều nhau, tức là:

Trang 17

Trong phần này ta sẽ lợi dụng đặc tính đối xứng căn bản của hàm đáp ứng tần số lấy mẫu để đơn giản hóa việc tính toán Hãy bắt đầu với đáp ứng tần của bộ lọc FIR:

(

M n

n j

e n h

M H k

).

( )

(

M n

M n k j

e n h k

).

(

1 ) (

M n

M n k j

e k h M n

Khi phương trình trên đơn giản là các mẫu tại các tần số ωk=2π(k+α)/M, k=0, 1, …., (M-1) ta thu được:

M H k

)) 1 ( ( 2 2

)(

2)

(

α π βπ

α

π

Với β = 0 khi h(n) là đối xứng và β = 1 khi h(n) là phản đối xứng

Ta định nghĩa tập hợp các mẫu tần số thực G(k=m):

M H k

Ta khử đi H t ( kω ) và thu được:

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 16

Trang 18

e e k G k

)) 1 ( ( 2 2

.)()(

α π βπ π

αα

Bây giờ điều kiện đối xứng ở trên đối với H(k+α) chuyển thành điều kiện đối xứng tương ứng đối với G(k+α), mà ta có thể sử dụng bằng cách thay thế các giá trị α = 0, α = 2; β =0, β =1 và thay vào để tính được đáp ứng xung của mạch lọc FIR

Trong phương pháp lấy mẫu tần số, chúng ta sẽ làm gần đúng H(ejω) bằng một hàm Hd(ejω) cuả bộ lọc thực tế Hd(ejω) nhận được qua việc nội suy giữa các mẫu H(k) lấy trên H(ejω) tại các tần số k

Sai số cuả phép gần đúng này bằng không tại tần số ωk và sẽ là hữu hạn đối với các tần số khác Tức là :

d k j

)e(H)

thôngdải

ở0

1)e(

− ω ω

ω

=

0 k

k N j d 2

1 N j j

d j

kN2sin

2

Nsine

)k(HN

1e

)(eH)H(e

ω

π

kN2sin

2

Nsin

e jNk gọi là hàm nội suy

Trang 19

Như thế chúng ta có thể lấy từ N mẫu cuả đáp ứng tần số H(ejω) cuả bộ lọc số lý tưởng đã cho ( thông thấp, thông cao, …) để thu được đáp ứng tần số cuả bộ lọc thực tế Hd(ejω)

Chú ý rằng đối với lấy mẫu tần số chúng ta có hai loại:

2

ω

3.2.1 Tổng hợp bộ lọc số FIR pha tuyến tính với lấy mẫu tần số loại 1

Trước hết chúng ta tìm Ad(ejω) theo hàm cuả Ad(k) , ta biết rằng trong trường hợp này: k

) (

1

0 2 1

) ( ) (

) ( ) (

2 sin

2

sin )

(

1 )

(

) ( ) (

k j d d

j j d j

d

N k

k N j d

N j j

d

e Z d d

e k A k H

e e A e

H

k N

N e

k H N e

e H

Z H k

θ

ω θ ω ω

π ω

ω

πω

(ω =−ω −θ

Vậy :

2

1NkN

22

1N)

k

θ

Ta sẽ xét các loại bộ lọc cụ thể

a) Trường hợp N lẻ , h(n) đối xứng (FIR loại 1)

Trong trường hợp này Ad(ejω) la đối xứng trong khoảng tần số 0 ≤ ω

≤2π Vậy đối với ωk ta có thể viết :

0 ≤ ωk ≤2π ⇒ ≤ πk≤2π

N

2

0 ⇒ 0≤k≤Nthế thì Ad(k) là đối xứng trong khoảng 0 ≤ k ≤ N, tức là :

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 18

Trang 20

1N

ω

=

2 1 N

1 k

d j

d j

kN2sin

kN2Nsinsink

N2sin

kN2NsinN

)k(A

2sin2

NsinN

)0(A)e(A)

1Nn00

)1n2(kNcos)k(A)1(N

2N

)0(A)

n

(

1 N

1 k

k d

b) Trường hợp N chẵn, h d (n) đối xứng:

Trong trường hợp này Ad(ejω) là phản đối xứng trong khoảng tần số 0

≤ ω ≤2π Vậy đối với ωk ta có thể viết :

0 ≤ ωk ≤2π ⇒ ≤ πk≤2π

N

2

0 ⇒ 0≤k≤Nthế thì Ad(k) là phản đối xứng trong khoảng 0 ≤ k ≤ N, tức là :

Ad(0) = -Ad(N) , Ad(1) = -Ad(N-1) , Ad(2) = -Ad(N-2) , …

Trang 21

0

2

NA,12

NA1

ω

=

1 2 N

1 k

d j

d j

kN2sin

kN2Nsink

N2sin

kN2NsinN

)k(A

2sin2

NsinN

)0(A)e(A)e(

1Nn00

)1n2(kNcos)k(A)1(N

2N

)0(A)n

(

h

1 2 N

1 k

k d

3.2.2 Tổng hợp bộ lọc số FIR pha tuyến tính với lấy mẫu tần số loại 2

a) Trường hợp N lẻ , h d (n) đối xứng (FIR loại 1):

Trong trường hợp này Ad(ejω) là đối xứng trong khoảng tần số 0 ≤ ω

≤2π Vậy đối với ωk ta có thể viết :

20thế thì Ad(k) là đối xứng trong khoảng 0 ≤ k ≤ N-1, tức là :

1NA12

1N

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 20

Trang 22

= ω

0 k

j

d

2

1kN2sin

2

1kN2Nsin2

1kN2sin

2

1kN2NsinN

)k(A

2

12

1

NN2sin

2

12

1

NN2NsinN

2

1NA)e

0 k

k n

2 1 N

2

1kNsin)k(A)1(N

2N

2

1NA)

1()n

(

h

b) Trường hợp N chẵn, h d (n) đối xứng ( FIR loại 2):

Trong trường hợp này Ad(ejω) là phản đối xứng trong khoảng tần số 0

≤ ω ≤2π Vậy đối với ωk ta có thể viết :

20thế thì Ad(k) là đối xứng trong khoảng 0 ≤ k ≤ N-1, tức là :

=

1 2 1 N

0 k

j

d

2

1kN2sin

2

1kN2Nsin2

1kN2sin

2

1kN2NsinN

)k(A)

e

(

A

và:

Trang 23

122

1sin

)()1(

2)

(

N

k

d k

N k

A N

n

3.3 Phương Pháp Tối Ưu Hóa :

Việc thiết kế bộ lọc thông thấp FIR bằng cách sử dụng kỹ thuật thiết kế dùng cửa sổ sẽ đơn giản và một cách tổng quát, dẫn đến kết quả là một bộ lọc có phẩm chất tương đối tốt Tuy nhiên, các bộ phận này không tối ưu:

• Thứ nhất: các độ lệch dải thông và dải chận, δp và δs, xấp xỉ bằng nhau Mặc dù thường ta cần δsnhỏ hơn nhiều so vớiδp, các tham số này không thể được điều khiển một cách độc lập trong phương pháp thiết kế sử dụng cửa sổ Do vậy với phương pháp thiết kế sử dụng cửa sổ, ta cần phải thiết kế lố dải thông của bộ lọc để thoả các yêu cầu nghiêm ngặt hơn trong dải chận

• Thứ hai: với đa số các cửa sổ, độ gợn sẽ không đều hoặc trong dải thông hoặc trong dải chận và một cách tổng quát giảm khi di chuyển từ dải chuyển tiếp Việc cho phép độ gợn được phân bố đều trên toàn dải sẽ tạo ra độ gợn đỉnh nhỏ hơn Bộ lọc có pha tuyến tính đồng độ gợn, mặt khác, sẽ tối ưu theo nghĩa biên độ của độ gợn được tối thiểu hoá trên tất cả các dải đối với bậc cho trước N của bộ lọc

Trong đề cập sau đây, ta khảo sát việc thiết kế bộ lọc có pha tuyến tính loại 1 Kết quả thiết kế này có thể dễ dàng được sửa đổi để thiết kế các loại bộ lọc có pha tuyến tính khác

Đáp ứng của tần số bộ lọc FIR có pha tuyến tính có thể viết như sau:

)kcos(

)k(aVới L=N/2 và

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 22

Trang 24

L 0 k

k))(cosk(Như vậy , A(e ) là đa thức bậc L theo cosj ω ω

Với A j ωlà biên độ được yêu cầu và W(e là hàm trọng số dương, đặt:

min∑ ω

) k ( a

j )}e(E{max

Lời giải cho vấn đề tối ưu hóa này được cho trong định lý luân phiên, định lý này phát biểu như sau:

Định lý luân phiên : Gọi F là hợp của các tập con đóng trên khoảng [0,π ].Với hàm trọng số dương W(e ),điều kiện cần và đủ để j ω

A(e )=j ω ∑

=

ω

L 0 k

)kcos(

)k(aLà hàm làm giảm thiểu giá trị cực đại số sai số có trọng số E(ejω) trên tập

F là E(e ) có tối thiểu (L+2) thay đổi Điều này có nghĩa là phải có ít nhất (L+2) tần số cực trị

ω

j

1 L 1

0 <ω < <ω +ω

trên tập F sao cho

E(e kj ω )=-E(ej ωk+1) k=0,1,…,L

Trang 25

=

ωk)e(

F

max

∈ E(ejω) k=0,1,…,L+1 Như vậy định lý luân phiên phát biểu rằng bộ lọc tối ưu là bộ lọc đồng bộ gợn Mặc dù định lý luân phiên xác định số tối thiểu các tần số cực trị (hay các độ gợn ) mà bộ lọc tối ưu phải có, bộ lọc này có thể có nhiều hơn Thí dụ, một bộ lọc thông thấp có thể có (L+2) hoặc (L+3) tần số cực trị Một bộ lọc thông thấp có (L+3) tần số cực trị được goiï là bộ lọc độ gợn bổ sung

Từ định lý luân phiên ta có được :

W(e [A (ej k) A( )ej k ] ( 1k) k 0,1, ,1 1

d k

∈ω

ω

−ωω

+

ω ω

ω +

+ +

ω

ω ω

− ω ω

)e(W/)1()Lcos(

)cos(

1

)e(W/)1()Lcos(

)

cos(

1

1 L L

0 j 0

0

1 j 1

1

j 1

l 1

L 1

L

j L

L

) e ( W / 1 ) L cos(

cos(

1

)) e ( W / 1 L cos(

)

cos(

1

LL

MMM

)1(a

)0(a

ω ω

)e(A

)e(A

)e(A

)e(A

1 L i d

L i d

1 i d

0 i d

M

Với các tần số cực trị cho trước, các phương ttrình này có thể giải được để tìm a(0),…a(L)và∈

Để tìm các tần số cực trị, ta có thủ tục lặp có hiệu quả thường được

gọi là giải thuật Parks-McClellan, giải thuật này bao gồm các bước sau:

1 Giả định một tập ban đầu các tầng số cực trị

2 Tìm ∈ bằng cách giải phương trình ma trận trên Giá trị của ∈ tìm được là

∈= L 1

0 k

k j k

1 L 0 k

k j

)e(W/)k(b)1(

)e(D)k(b

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 24

Trang 26

b(k)=

)cos(

)cos(

1

i k

1 L k i, 1

- Nếu các tần số cực trị thay đổi, lặp lại vòng lặp từ bước hai

Công thức có thể được sử dụng để ước lượng bậc của bộ lọc đồng độ gợn có tần số cắt dải thông ωp =0.3π, tần số cắt dải chậnωs =0.35π, độ gợn dải thông δp =0.01 và độ gợn dải chậnδs =0.001

Sử dụng phương trình để ước lượng bậc của bộ lọc , ta có :

N= 102

f6.14

13)log(

−δδ

≤π

π

≤ω

=

ω

35,0

3,00

10

1)e(

Năm 1972 , Parks và McCellan đã viết chương trình thiết kế bộ lọc

số FIR pha tuyến tính trên cơ sở tiêu chuẩn gần đúng Chebyshev thực hiện

theo thuật toán thay đổi Remez Chương trình này có thể dùng để thiết kế

các bộ lọc thông số thấp, thông cao, thông dãi, chắn dãi, các bộ lọc số nhiều dãi (nhiều nhất là 10 dãi) các bộ vi phân và các bộ biến đổi Hilber

4 Mạch Lọc Có Đáp Ứng Xung Vô Hạn IIR:

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

Có hai phương pháp tổng quát dùng để thiết kế các bộ lọc số IIR:

Trang 27

- Thông dụng nhất là thiết kế bộ lọc IIR tương tự, sau đó ánh xạ bộ

lọc này thành bộ lọc số tương đương do kỹ thuật thiết kế bộ lọc tương tự đã

được cải tiến rất cao Do vậy, điều quan trọng là khảo sát các phương pháp

tối ưu để ánh xạ các bộ lọc này vào trong miền thời gian rời rạc Hơn nữa,

do có các thủ tục thiết kế mạch tạo dễ dàng cho việc thiết kế các bộ lọc

tương tự, phương pháp này làm cho việc thiết kế bộ lọc IIR sẽ tương đối đơn

giản

- Phương pháp thứ hai dùng để thiết kế các bộ lọc số IIR là sử dụng

một thủ tục thiết kế theo giải thuật, một cách tổng quát thủ tục này yêu cầu

sử dụng một máy tính để giải một tập phương trình tuyến tính hoặc không

tuyến tính Các phương pháp này có thể được sử dụng để thiết kế các bộ lọc

số có các đặc tính của đáp ứng tần số tuỳ ý mà với các đặc tính này không

có mẫu bộ lọc tương tự nào hiện hữu hoặc được sử dụng để thiết kế các bộ

lọc khi có các loại ràng buộc khác bị bắt buộc trong thiết kế

Trong mục này ta khảo sát phương pháp ánh xạ các bộ lọc tương tự

thành các bộ lọc số Khởi đầu ta tập trung vào việc thiết kế các bộ lọc số

thông thấp từ các bộ lọc tương tự thông thấp Kế đến ta sẽ thảo luận đến các

kỹ thuật dùng để biến đổi các thiết kế cho bộ lọc thông thấp thành các thiết

kế cho các bộ lọc chọn lọc tần số tổng quát hơn

Với một bộ lọc IIR bậc 2, bộ lọc được đặc tính bởi các phương trình

sau:

y(n) = a0w(n) – a1w(n –1) –a2w(n-2)

Trong đó: (n) là dữ liệu ngõ vào hiện tại, w(n) là dữ liệu trung gian,

y(n) là mẫu dữ liệu ngõ ra của bộ lọc và sf1 là hệ số tỉ lệ tương đương với

w(n-1)w(n)

Trang 29

5 Các phương pháp thiết kế mạch lọc IIR:

5.1.Thiết kế mạch lọc IIR từ mạch lọc tương tự:

Một mạch lọc tương tự có thể biểu diễn bởi hàm truyền đạt:

M k

k k a

s

s

s A

s B s H

0

0

)(

)()(

αβ

Với {αk} và {βk} là các hệ số của mạch lọc

Hoặc có thể biểu diễn bởi đáp ứng xung được tính từ hàm truyền đạt bằng biến đổi Laplace:

k

k

k k

dt

t x d dt

t y d

0 0

)()

• Trục jΩ trong mặt phẳng S có ánh xạ là vòng tròn đơn vị trong mặt phẳng Z Vì vậy, có thể thiết lập quan hệ trực tiếp giữa hai biến tần số trên hai miền

• Mặt phẳng trái của mặt phẳng S có ánh xạ là miền nằm trong vòng tròn đơn vị trên mặt phẳng Z Vì vậy, mạch lọc tương tự ổn định sẽ được chuyển đổi thành mạch lọc số ổn định

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 28

Trang 30

Ta biết rằng việc thực hiện một mạch lọc IIR không thể có phase tuyến tính Lưu ý, mạch lọc phase tuyến tính có hàm truyền đạt thỏa mãn điều kiện:

H(z) = ± zN H(z-1) Với z-N thể hiện độ trễ N đơn vị trong miền thời gian Nếu trường hợp này xảy ra, mạch lọc có các điểm cực đối xứng ở trong và ngoài đường tròn đơn vị Vì vậy, mạch lọc trở nên không ổn định Do đó, một mạch lọc IIR nhân quả và ổn định không thể có phase tuyến tính

Ba bộ lọc tương tự thông thấp thường được sử dụng nhất là bộ lọc Butterworth, Chebyshevvà Elliptic Các bộ lọc này được mô tả dưới đây

a Bộ lọc Butterworth :

Bộ lọc thông thấp Butterworth là bộ lọc chỉ có cực với bình phương biên độ của đáp ứng tần số được cho bởi

( ) ( ) N

c

a

j j j

H

2 2

/1

1ΩΩ+

Tham số N là bậc của bộ lọc (số các cực trong hàm hệ thống )và là tần số cắt -3dB Bình phương biên độ của đáp ứng tần số được viết như sau

2 2

/1

1ΩΩ+

ωVới

Ω

∈=

Đáp ứng của bộ lọc Butterworth giảm đơn điệu khi tăng, và khi bậc của bộ lọc tăng, dải chuyển tiếp trở nên hẹp hơn Các đặc tính này sẽ được minh hoạ hình dưới, hình này trình bày

Ω

)(jΩ

H a cho các bộ lọc Butterworth có bậc N=2 ,4,8 và 12 do

H a(jΩ )2 = H a(s)H a( −s) s = jΩ

Từ hàm biên độ bình phương ta có thể viết

c a

a a

j s s

H s H

) / ( 1

1 )

( ) ( )

(

Ω +

=

=

Trang 31

) (jΩ

Biên độ đáp ứng tần sốcủa các bộ lọc Butterworth có các bậc N=2,4,8

Do đó các cực của G được định vị tại 2N điểm cách đều nhau trên vòng tròn có bán kính ,

)

(s

a c

Ω

2

) 2 1 ( exp )

( ) 1

= Ω

N

k N

j

j c c

N k

π

và được định vị đối xứng xung quanh trục jΩ

Hàm hệ thống H (s)được tạo thành từ N nghiệm của H (s) H (-s), các nghiệm này nằm trong nữa trái của mặt phẳng s Với bộ lọc Buterworth được chuẩn hoá có =1, hàm hệ thống có dạng

N a N N

a

a s a s

a s s A

s

++

++

1

1)

(

1)

1.0000 3.2361 7.4641 14.5918 25.6884

1.0000 3.8637 10.0978 21.8462

1.0000 4.4940 13.1372

1.0000 5.1258 1.0000

Bảng Liệt kê các hệ số của AN (s)với 1≤ N ≤8

Với Ωp, Ωsp δs cho trước, các bước thiết kế bộ lọc Butterworth được thiết kế như sau :

1 Tìm các giá trị cho hệ số chọn lọc k và hệ số phân biệt d từ các đặc tính của bộ lọc

Trang 32

2 Xác định bậc của bộ lọc được yêu cầu để thoả các đặc tính bằng cách sử dụng công thực thiết kế

p

/ 1 2 2

/ 1 2

11

a a

j s s

H s H

) / ( 1

1 )

( ) ( ) (

Ω +

s s

s s

−Π

= −

= 1 0

)(

1 , , 1 , 0 2

2 1

N

k N

j

c

b Bộ lọc CHEBYSHEV:

Các bộ lọc Chebyshev được định nghĩa theo các đa thức Chebyshev :

TN(X)={cos ( cos ) 1

1 ) cosh ( cosh

1 1

x x N

Các đa thức này có thể theo cách đệ qui như sau:

Tk+1(x)=2xTk (x)-Tk−1(x) k>=1 Với T0(x)=1 vàT1(x)=x

Sau đây là các tính chất của đa thức Chebyshev suy ra từ phương trình :

1 Với x<=1, các đa thức có biên độ bị chận bởi 1, T <=1 và dao động giữa 1

3 TN( 0 ) =+−1 với N chẵn và TN(0)=0 với N lẻ

4 Mọi nghiệm của Tn (x)nằm trong tầm –1<=x<=1

Có hai loại bộ lọc Chebyshev:

Bộ lọc Chebyshev loại 1 chỉ có cực, bộ lọc này có dải thông đồng độ gợn còn dải chận giãm đơn điệu Biên độ của đáp ứng tần số là

( ) N( p)

a

T j

H

ΩΩ

∈+

=

Ω

/1

1

2 2 2

với N là bậc của bộ lọc, là tần số cắt của dải thông và∈ là tham số điều khiển bộ của độ gợn dải thông

p

Ω

Trang 33

Do T2N(Ω/Ωp)biến thiên giữa 0 và 1, với 2

) ( , Ω Ω

1 và 1/(1+ ) Khi bậc của bộ lọc tăng, số các dao động( các độ gợn )trong dải thông tăng và độ rộng chuyển tiếp giữa dải thông và dải chận trở nên hẹp hơn

s s

s H

s

−Π

= 1 0

)0()(

Với H 2 1 / 2nếu N chẵn, và H

) 1 ( )

1 Tìm các giá trị của hệ số chọn lọc k và hệ số phân biệt d

2 Xác định bậc của bộ lọc bằng cách sử dụng công thức

N

)/1(cosh

)/1(cosh

1 1

1)

()()

p N

a a a

j s T s

H s H s

Ω

∈+

2 2

)/(/)/(1

1)

(

ΩΩΩ

Ω

∈+

s N p s N

a

T T

j H

với N là bậc của bộ lọc, Ωplà tần số dải thông, Ωslà tần số cắt dải chận và là tham số điều khiển biên độ của độ gợn dải chận Một lần nữa, khi bậc

N tăng số độ gợn tăng và độ rung chuyển tiếp trở nên hẹp hơn

Hàm hệ thống của bộ lọc Chebyshev loại 2 có dạng:

H

k k k

k N k a

a s

b s b

a s

⋅Π

= −

= 1 0

)(

Các cực được đặt tại

Trang 34

trong đó s với k=0,1,…,N-1 là các cực trị của bộ lọc Chebyshev loại 1 Các zero b nằm trên trục jΩ tại các tần số mà vói các tần số này T =0 Thủ tục thiết kế bộ lọc Chebyshev loại 2 giống như thủ tục thiết kế bộ lọc Chebyshev loại 1, ngoại trừ

k

2 1/2

)1(

∈= δs

c Bộ Lọc Elliptic

Hàm hệ thống của bộ lọc elliptic có các zero và các cực Biên độ của đáp ứng tần số là

)/(1

1)

p N

a

U

H

ΩΩ

∈+

với U là hàm elliptic Jacobian là hàm hữu tỉ bậc N có tính chất sau:

) /

( p

N Ω Ω

U

)(

11

Việc thiết kế các bộ lọc elliptic sẽ khó khăn hơn nhiều so với việc thiết kế các bộ lọc Chebyshev và Butterworth do việc thiết kế bộ lọc elliptic dưạ vào việc sử dụng các bảng hoặc dựa vào các khai triển chuỗi

Tuy nhiên, bậc của bộ lọc cần phải thoả tập các đặc tính cho trước có thể được ước lượng bằng cách sử dụng công thức

N

)/1log(

)/16log( 2

0 5

10

0 + 2q + 15q + 150q

với q0 22 11//44

)1(1

)1(12

1

k

k

−+

= (với k là hệ số chọn lọc)

5.2.Thiết kế mạch lọc IIR bằng phương pháp tương đương vi phân

Một trong những phương pháp đơn giản nhất để chuyển đổi từ mạch lọc tương tự thành mạch lọc số là biến đổi tương đương phương

Trang 35

k

k k

dt

t x d dt

t y d

0 0

)()

tuyến tính hệ số hằng biểu diễn một mạch lọc số

Với đạo hàm dy(t)/dt tại thời gian t = nT, ta có thể thay thế ngược lại giá trị sai phân là: [y(nT0-y(nT-1)]/T

Vì vậy:

T

n y n y T

T nT y nT y dt

t dy

nT t

) 1 ( ) ( ) (

) ( )

=

Với T là chu kỳ lấy mẫu và y(n) ≡ y(nT) Bộ vi phân tín hiệu ngõ

ra dy(t) /dt có hàm truyền đạt H(s) = s, trong khi hệ thống số cung cấp tín hiệu ngõ ra [y(nT) – y(nT-1)]/T có hàm truyền đạt H(z) = (1-z-1)/T

Đạo hàm bậc hai d2y(t) /dt2 có thể được thay thế bằng phương trình sai phân bậc hai như sau:

nT t nT

t dy dt

d dt

t y d

=

= = ⎢⎣⎡ ( )⎥⎦⎤

)(

2 2

T

T

T nT y T nT y T

T nT y nT

y n

Trong miền tần số:

2 1 2

2 1

12

T

z T

z z

Trang 36

y(n)

T

n y n

Sự thay thế sai phân ngược trong ánh xạ

T

z s

1

1− −

=

Vậy hàm truyền đạt của mạch lọc số IIR có thể thu được bằng

cách xấp xỉ đạo hàm bằng phép tính sai phân hữu hạn là:

T

z s

a s H z

H( ) ( ) 1 − − 1

=

=

Với Ha(s) là hàm truyền đạt của mạch lọc tương tự

Bây giờ ta xem xét mối quan hệ giữa miền s và miền z trong

Nếu ta thay thế s = jΩ , ta tìm được:

2 2 2

2

11

11

1

T

T T

T j

z

Ω+

Ω+Ω+

=

Miền giá trị của Ω từ -∞ đến +∞, tương ứng với các điểm trong

mặt phẳng z thuộc vòng tròn bán kính ½ và tâm tại z = ½

Trang 37

5.3 Thiết kế mạch lọc IIR bằng phương pháp tính đáp ứng xung bất biến

Trong phương pháp đáp ứng xung bất biến, mục đích của ta là thiết kế một mạch lọc IIR có đáp ứng xung h(n) được chuyển đổi từ đáp ứng xung của mạch lọc tương tự, tức là:

Ta nhớ lại quá trình lấy mẫu một tín hiệu tương tự đã xét: xa(t) với phổ Xa(F) được lấy mẫu với tần số lấy mẫu FS = 1/T Phổ của tín hiệu số thu được sẽ tuần hoàn với tỷ lệ FSXa(F) và chu kỳ FS Quan hệ giữa phổ của hai tín hiệu trước và sau khi lấy mẫu là:

s X f k F F

F f

k a

T

k H

T T

) (

Ta xét sự ánh xạ giữa mặt phẳng Z và mặt phẳng S trong quá trình lấy mẫu dựa vào phương trình trên:

e

k j s H F z

) (

với H(z) = ∑∞

=

− 0

) (

n

n

z n h

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ 36

Trang 38

n

sTn e

z

H sT

Để khai thác hết hiệu quả của phương pháp đáp ứng xung bất

biến, ta biểu diễn hàm truyền đạt của mạch lọc thành tổng của các phân

số tối giản, giả sử mạch lọc tương tự có các điểm cực đơn:

k

e c t

h

1

) (

P s

c s

T k

n k

e c

(

n

n

z n h z

H

=

n n N

n T N

k k n

n N k

e

n

n T

(

Trang 39

HV: Trần Tấn Phúc GVHD: Thầy Hồ Trung Mỹ

38

CÔNG NGHỆ FPGA VÀ NGÔN NGỮ VHDL

1 Công Nghệ FPGA:

1.1 Giới thiệu:

FPGA (Field Programable Gate Arrays) là một cấu trúc logic có thể

được người sử dụng lập trình trực tiếp mà không phải sử dụng bất kỳ một

công cụ chế tạo mạch tích hợp nào, được xuất hiện như giải pháp cơ bản cho

vấn đề tranh thủ thời gian để đưa ra thị trường và rủi ro tài chính phải gánh

chịu trong quá trình nghiên cứu sản phẩm của công nghệ điện tử Nó cho

phép chế tạo ngay và giá sản phẩm rất thấp

FPGA đã trở thành một công nghệ tương thích cho các ứng dụng tốc

độ cao FPGA vẫn giữ nguyên các tính chất thuận lợi từ trước giống như

ASIC trong khi tránh được giá thành cao và thêm vào đó có thể cải tiến

được sản phẩm sau khi thiết kế FPGA cũng có thể làm tăng tính linh hoạt

và phù hợp trong thiết kế với sự tận dụng thiết bị một cách tối ưu trong khi

vẫn bảo đảm được cả không gian Kit mạch và năng lượng cho hệ thống

Khi một thiết kế yêu cầu việc sử dụng một DSP hoặc các yêu cầu nghiêm

ngặt về thời gian đáp ứng thị trường hay tính thích nghi của các thiết kế thì

FPGA là một giải pháp phù hợp

FPGA xuất hiện bắt đầu từ PROM là một thiết bị lập trình được một lần

gồm một dãy các ô nhớ chỉ đọc, các ngõ nhập và xuất được xác định bởi nội

dung các bit nhớ

- PROM có hai loại:

• Mask-programable: các kết nối bên trong thiết bị được thực hiện

cứng khi sản xuất

• Field- programmable: các kết nối can một số loại chuyển mạch lập

trình được (cầu chì) Loại này có hai biến thể là EPROM (Erasable

Programable Read-Only Memory) và EEPROM ( Electrically

Erasable Programable Read-Only Memory) có thể xoá và lập trình

lại nhiều lần

Trang 40

- Một loại thiết bị lập trình được khác, được thiết kế đặc biệt để thực

hiện các mạch logic là PLD(Programble Logic Design) gồm một dãy các

cổng AND nối với các cổng OR, mạch logic thực hiện theo tổng các tích

Loại cơ bản nhất của PLD là Programmable Array Logic (PAL) : PAL gồm

một khối các cổng AND lập trình được nối đến một khối các cổng OR cố

định Một loại PAL khác linh hoạt hơn là Programmable Logic Array (PLA)

PLA cũng có cấu trúc giống PAL nhưng các kết nối là lập trình được PLA

có cả 2 loại mask programmable và field programmable Cả 2 loại PLD trên

cho phép thực hiện các mạch logic có tốc độ cao, tuy nhiên cấu trúc đơn

giản của chúng chỉ cho phép thực hiện các mạch logic nhỏ

- Loại thiết bị lập trình được tổng quát nhất gồm một dãy các phần tử

rời rạc có thể được kết nối với nhau theo mô tả của người sử dụng Loại

thiết bị này được gọi là MPGA (Mask-Programble Gate Array)

FPGA đã kết hợp khả năng lập trình của PLD và cấu trúc kết nối có

thể mở rộng của MPGA Do đó FPGA có mật độ logic cao hơn

1.2 Mô tả cấu trúc FPGA

Một FPGA gồm một dãy các các phần tử rời rạc có thể kết nối với

nhau theo một cách chung, các kết nối này có thể lập trình được Các nguồn

kết nối gồm các đoạn dây nối có thể có chiều dài khác nhau, bên trong là

các chuyển mạch có thể lập trình đựơc dùng để nối các logic block với các

đoạn dây hoặc các đoạn dây với nhau Mạch logic được cài đặt trong FPGA

bằng cách ánh xạ logic vào các logic block riêng rẽ, sau đó nối các logic

block cần thiết qua các chuyển mạch

Logic block: cấu trúc và nội dung của logic block được gọi là kiến

trúc của nó Kiến trúc của nó được thiết kế theo nhiều cách khác nhau Nó

có thể là một cổng AND hai ngõ nhập hay phức tạp như các multiplexer hay

các bảng tìm kiếm (look_up table) Trong một số loại FPGA, các logic

block có thể có các cấu trúc hoàn toàn giống như PAL Hầu hết các

logic-block chứa một số loại flip-flop để hỗ trợ cho việc thực hiện các mạch tuần

tự

Các nguồn kết nối: cấu trúc và nội dung các nguồn kết nối trong

FPGA được gọi là kiến trúc routing Nó gồm các đoạn dây nối và các

chuyển mạch lập trình đươcï Các chuyển mạch lập trình được có thể có

nhiều cấu tạo khác nhau như: pass-transistor được điều khiển bởi cell

SRAM, các cầu chì nghịch (anti-fuse), EPROM transitor và EEPROM

transitor Giống như logic block, có nhiều cách khác nhau để thiết kế các

kiến trúc routing Một số FPGA cung cấp nhiều kết nối đơn giản giữa các

Ngày đăng: 17/02/2021, 10:06

w