TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
----------
BÁO CÁO BÀI TẬP LỚN
THÔNG TIN DI ĐỘNG
Đề tài:
Thiết kế hệ thống thông tin FSK sử dụng FPGA
GVHD: PGS.TS Nguyễn Văn Đức
Sinh viên thực hiện:
Ngô Tiến Dũng
20172499
Nguyễn Thu Phương
20172758
Nguyễn Xuân Tùng
20172907
Hà Nội, tháng 11 năm 2021
1
GIỚI THIỆU
Đề tài của nhóm lần này được chia làm 5 nội dung chính:
-
Tổng quan về FPGA.
-
Lý thuyết và tổng quan hệ thống thông tin điều chế FSK.
-
Lý thuyết bộ lọc số FIR.
-
Mô phỏng hệ thống trên MATLAB.
-
Triển khai trên FPGA.
2
PHÂN CHIA CƠNG VIỆC
TÊN
Ngơ Tiến Dũng
MSSV
NHIỆM VỤ
-
20172499
Phân chia cơng việc cho các
thành viên trong nhóm.
-
Giải điều chế hệ thống FSK
(phía thu).
-
Mơ phỏng MATLAB và triển
khải trên FPGA.
-
Tổng hợp và hồn thiện báo
cáo.
Nguyễn Thu Phương
20172758
-
Bộ lọc số FIR.
-
Triển khai trên FPGA.
-
Đánh giá chất lượng hệ thống.
-
Tham gia viết báo cáo và
slide.
Nguyễn Xuân Tùng
-
20172907
Điều chế hệ thống FSK (phía
phát).
-
Triển khai trên FPGA.
-
Tham gia viết báo cáo và
slide.
3
MỤC LỤC
GIỚI THIỆU......................................................................................................... 2
PHÂN CHIA CÔNG VIỆC ................................................................................. 3
MỤC LỤC ............................................................................................................. 4
DANH MỤC HÌNH ẢNH .................................................................................... 6
CHƯƠNG I: TỔNG QUAN VỀ FPGA ............................................................. 7
1.
Khái niệm FPGA .................................................................................... 7
2.
Cấu trúc cơ bản của FPGA.................................................................... 8
3.
2.1.
Khối logic .......................................................................................... 8
2.2.
Hệ thống mạch liên kết ...................................................................... 9
2.3.
Các phần tử tích hợp sẵn.................................................................. 10
2.4.
Block RAM ...................................................................................... 10
Quy trình thiết kế FPGA ..................................................................... 10
3.1.
Mơ tả thiết kế (Specitification) ........................................................ 10
3.2.
Thiết kế (Design) ............................................................................. 10
3.3.
Mô phỏng logic (Function simulation) ............................................ 11
3.4.
Tổng hợp mạch logic (Logic Synthesis) .......................................... 11
3.5.
Hiệu chỉnh các kết nối (Datapath Schematic) ................................. 11
3.6.
Thực thi (Implementation) ............................................................... 11
3.7.
Quá trình lập trình và nạp chương trình .......................................... 12
CHƯƠNG II: TỔNG QUAN HỆ THỐNG FSK ............................................. 13
1.
Điều chế: ................................................................................................ 13
1.1.
Khái niệm:........................................................................................ 13
1.2.
Nguyên tắc điều chế FSK: ............................................................... 13
1.3.
FSK- một dạng FM, chỉ số điều chế ( chỉ số biến điệu): ................. 14
1.4.
Băng thông FSK: ............................................................................. 15
4
1.5.
2.
Sơ đồ điều chế:................................................................................. 16
Giải điều chế .......................................................................................... 19
CHƯƠNG III: BỘ LỌC SỐ FIR ...................................................................... 20
1.
Khái quát về các bộ lọc số .................................................................... 20
2.
Phân loại bộ lọc FIR dựa trên đáp ứng tần số ................................... 20
3.
2.1.
Bộ lọc thông thấp LPF (Low Pass Filter) ........................................ 21
2.2.
Bộ lọc thông cao HPF (High Pass Filter) ........................................ 22
2.3.
Bộ lọc thông dải BPF (Band Pass Filter) ......................................... 22
2.4.
Bộ lọc chắn dải BSF (Band Stop Filter) .......................................... 23
Các phương pháp thiết kế bộ lọc FIR ................................................. 23
3.1.
Thiết kế bộ lọc FIR dùng phương pháp cửa số................................ 23
3.2.
Thiết kế bộ lọc FIR dùng phương pháp biến đổi Fourier ................ 25
3.3.
Thiết kế bộ lọc FIR dùng phương pháp lấy mẫu tần số................... 27
CHƯƠNG IV: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB........................ 29
CHƯƠNG V: TRIỂN KHAI HỆ THỐNG TRÊN FPGA .............................. 32
5
DANH MỤC HÌNH ẢNH
Hình 1.1 Cấu trúc cơ bản FPGA ........................................................................... 8
Hình 1.2 Khối logic ................................................................................................ 8
Hình 1.3 Configurable Logic Blocks...................................................................... 9
Hình 1.4 Mạng liên kết trong FPGA ...................................................................... 9
Hình 5.1 Kết quả mơ phỏng hệ thống .................................................................. 32
Hình 5.2 Kết quả mô phỏng bộ lọc FIR ............................................................... 32
6
CHƯƠNG I: TỔNG QUAN VỀ FPGA
1.
Khái niệm FPGA
Field-programmable gate array (FPGA) là một loại mạch tích hợp cỡ lớn
dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được. Chữ “field”
ở đây muốn chỉ đến khả năng tái lập trình từ bên ngồi của người sử dụng, không
phụ thuộc vào dây truyền sản xuất phức tạp của nhà máy bán dẫn. Vi mạch FPGA
được cấu thành từ các bộ phận như:
-
Các khối logic cơ bản lập trình được (logic block)
Hệ thống mạch liên kết lập trình được
Khối vào/ ra (I/O pads)
Phần tử thiết kế sẵn như DSP slice, RAM, ROM, nhân xử lý, …
FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dụng ASIC,
nhưng nếu so sánh FPGA với những ASIC đặc chế hồn tồn hay ASIC thiết kế
trên thư viện logic thì FPGA không đạt được mức độ tối ưu như những loại này
và hạn chế trong khả năng thực hiện những tác vụ đặc biệt phức tạp, tuy vậy FPGA
ưu việt hơn ở chỗ có thể tái cấu trúc lại khi đang sử dụng, công đoạn thiết kế đơn
giản, do vậy chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng.
Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dùng cấu trúc
mảng phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn ở các điểm: tác
vụ lập trình của FPGA thực hiện đơn giản hơn, khả năng lập trình linh động hơn
và khác biệt quan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứa
khối lượng lớn các cổng logic (logic gate), so với các vi mạch bán dẫn lập trình
được có trước đó.
Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn
ngữ mô tả phần cứng HDL như VHDL, Verilog, …. Các hang sản suất FPGA lớn
như Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho q
trình thiết kế, ngồi ra cũng có một số hang thứ 3 cung cấp các gói phần mềm kiểu
này như Synopsys, Synplify,… Các gói phần mềm này có khả năng thực hiện tất
cả các bước của toàn bộ quy trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên
HDL (còn gọi là mã RTL).
7
2.
Cấu trúc cơ bản của FPGA
Hình 1.1 Cấu trúc cơ bản FPGA
2.1. Khối logic
Hình 1.2 Khối logic
Phần tử chính của FPGA là các khối logic (logic block). Khối logic được
cấu thành từ LUT và một phần tử nhớ đồng bộ Flip-flop, LUT (Look up table) là
khối logic có thể thực hiện bất kỳ hàm logic nào từ 4 đầu vào, kết quả của hàm
này tùy vào mục đích mà gửi ra ngồi khối logic trực tiếp hay khơng thơng qua
phần tử nhớ Flip-flop.
Các dòng FPGA của Xilinx còn sử dụng khái niệm slice, 1 slice tạo thành
từ 2 khối logic, số lượng slice thay đổi từ vài nghìn tới vài chục nghìn tùy theo loại
FPGA. Bốn slice tạo thành một khối Configurable Logic Blocks (CLBs). CLBs là
8
phần tử cơ bản cấu thành FPGA, là nguồn tài ngun logic chính tạo nên các mạch
logic. Nếu nhìn cấu trúc tổng thể của mảng LUT thì ngồi 4 đầu vào kể trên còn
hỗ trợ them 2 đầu vào bổ sung từ các khối logic phân bố trước và sau nó nâng tổng
số đầu vào của LUT lên 6 chân. Cấu trúc này nhằm tang tốc các bộ số học logic.
Hình 1.3 Configurable Logic Blocks
2.2. Hệ thống mạch liên kết
Hình 1.4 Mạng liên kết trong FPGA
Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai
phương ngang cà đứng, tùy theo từng loại FPGA mà các đường kết nối được chia
thành các nhóm khác nhau. Các đường kết nối được nối với nhau thông qua các
khối chuyển mạch lập trình được (programmable switch), trong một khối chuyển
mạch chứa một số lượng nút chuyển lập trình được đảm bảo cho các dạng liên kết
phức tạp khác nhau.
9
2.3. Các phần tử tích hợp sẵn
Ngồi các khối logic tùy theo các loại FPGA khác nhau mà có các phần tử
tích hợp thêm khác nhau, ví dụ để thiết kế những ứng dụng SoC, trong dòng Virtex
4, 5 của Xilinx có chứa nhân Power PC, hay trong dịng Atmel FPSLIC tích hợp
nhân AVR,… hay trong những ứng dụng xử lý tín hiệu số trong FPGA có tích hợp
sẵn các DSP slices là bộ nhân cộng tốc độ cao, thực hiện hàm A * B + C.
2.4. Block RAM
Ngoài ra những FPGA cịn có block RAM, có thể khái qt Block RAM là
bộ nhớ nhỏ nằm trong FPGA. Những block này tuy nhỏ (khoảng vài chục Kb đến
vài Mb tùy theo loại FPGA) nhưng có thể tạo thành bộ nhớ nhỏ như ROM, FIFO.
3.
Quy trình thiết kế FPGA
3.1. Mơ tả thiết kế (Specitification)
Khi xây dựng một chip khả trình (FPGA) với ý nghĩa dành cho một ứng
dụng riêng biệt, vì xuất phát từ mỗi ứng dụng trong thực tiễn cuộc sống sẽ đặt ra
yêu cầu phải thiết kế IC thực hiện tối ưu nhất những ứng dụng đó. Bước đầu tiên
của quy trình thiết kế này có nhiệm vụ tiếp nhận các yêu cầu của thiết kế và xây
dựng nên kiến trúc tổng quát của thiết kế.
3.2. Thiết kế (Design)
Trong bước này, từ những yêu cầu của thiết kế và dựa trên khả năng của
cơng nghệ hiện có, người thiết kế kiến trúc sẽ xây dựng nên toàn bộ kiến trúc tổng
quan cho thiết kế. Nghĩa là trong phần này người thiết kế kiến trúc phải mô tả được
những vấn đề sau:
•
•
•
•
Thiết kế có những khối nào?
Mỗi khối có chức năng gì?
Hoạt động của mỗi khối ra sao?
Phân tích các kỹ thuật sử dụng trong thiết kế và các công cụ, phần mềm bổ
trợ cho việc thiết kế.
10
Một thiết kế có thể được mơ tả sử dụng ngôn ngữ mô tả phần cứng như
VHDL hay Verilog hoặc có thể mơ tả qua bảng vẽ mạch để mơ tả chi tiết cho các
khối trong sơ đồ.
3.3. Mô phỏng logic (Function simulation)
Sau khi mô tả thiết kế, người thiết kế cần mô phỏng tổng thể thiết kế về mặt
chức năng để kiểm tra thiết kế có hoạt động đúng với các chức năng yêu cầu.
3.4. Tổng hợp mạch logic (Logic Synthesis)
Tổng hợp là q trình tổng hợp các mơ tả thiết kế thành sơ đồ bố trí mạch
(netlist). Quá trình này chia làm 2 bước:
Chuyển đổi các mã RTL, mã HDL thành mô tả dưới dạng các biểu thức đại
số Boolean.
Dựa trên các biểu thức này kết hợp với thư viện tế bào chuẩn hóa sẵn để
tổng hợp nên một thiết kế tối ưu.
3.5. Hiệu chỉnh các kết nối (Datapath Schematic)
Nhập netlist và các ràng buộc về thời gian vào một cơng cụ phân tích thời
gian (timing analysic), cơng cụ này sẽ tách rời tất cả các kết nối của thiết kế, tính
thời gian trễ của các kết nối dựa trên các ràng buộc. Dựa trên kết quả phân tích
(report) của cơng cụ phân tích, xác định các kết nối không thỏa mãn về mặt thời
gian. Tùy theo nguyên nhân dẫn đến khơng thỏa mã mà ta có thể viết lại mã và
tiến hành lại tổng hợp mạch logic hoặc hiệu chỉnh lại các ràng buộc.
3.6. Thực thi (Implementation)
Quá trình gồm các bước:
-
-
Ánh xạ (mapping): chuẩn bị dữ liệu đầu vào, xác định kích thước của các
khối. Các khối này sẽ phải phù hợp với cấu trúc của 1 tế bào cơ bản FPGA
(gồm nhiều cổng logic) và đặt chúng vào các vị trí tối ưu cho việc đi dây.
Sắp đặt và định tuyến (Place and route): Sắp đặt các khối là đặt các khối đó
vào các tế bào ở vị trí tối ưu cho việc đi dây. Định tuyến là bước thực hiện
việc nối dây các tế bào.
11
Để thực hiện các công việc này chúng ta cần có các thơng tin như sau:
-
Các thơng tin vật lý về thư viện tế bào, ví dụ kích thước tế bào, các điểm
để kết nối, định thời, các trở ngại trong khi đi dây.
Một netlist được tổng hợp sẽ chỉ ra chi tiết các instance và mối quan hệ kết
nối bao gồm cả các đường dẫn bị hạn chế trong thiết kế,
Tất cả các yêu cầu của tiến trình cho các lớp kết nối, bao gồm các luật thiết
kế cho các lớp đi dây, trở kháng và điện dung, tiêu thụ năng lượng, các luật
về sự dẫn điện trong mỗi lớp.
3.7. Quá trình lập trình và nạp chương trình
Sau quá trình thực hiện thiết kế, thiết kế đó cần được được nạp vào FPGA
dưới dạng bit. Quá trình nạp thiết kế vào FPGA sẽ được lưu trữ trong bộ nhớ tạm,
và sẽ mất khi tắt nguồn.
12
CHƯƠNG II: TỔNG QUAN HỆ THỐNG FSK
1.
Điều chế:
1.1. Khái niệm:
FSK ( Frequency Shift Keying ), có nghĩa là điều chế số theo tần số
tín hiệu. Tín hiệu FSK có dạng sóng dao động với tần số khác nhau, mỗi bit
được đặc trưng bởi tần số khác nhau này của tín hiệu.
FSK có thể xem như tín hiệu trực giao. Các sơ đồ tín hiệu chủ yếu đều
sử dụng cho truyền số liệu số tốc độ thấp, lý do để dùng rộng rãi các Modem số
liệu là tương đối dễ dàng tạo tín hiệu và dùng giải điều chế khơng kết hợp. Như
tên gọi, tin tức số được truyền đi một cách đơn giản bằng cách dịch tần số sóng
mang đi một lượng nhất định tương ứng với mức nhị phân 1 và 0.
1.2. Nguyên tắc điều chế FSK:
Giả sử có sóng mang:
x(t) = a.cos[ωct +φ(t)] = a.cos[θ(t)]
với θ(t) =ωct+φ(t)
Ta giữ nguyên biênđộ, pha và chỉ thayđổi tần số:
Trong đó :
- ωi là tần số tức thời
-
là sự thay đổi với tần số sóng mang
Ta gọi là điều tần khi
- s(t) là tín hiệu sin
-
là hệ số điều tần
13
Suy ra:
Suy ra:
y(t)= a.cos[
Trong trường hợp điều chế số FSK thì
s(t)=
Khi đó
y(t) = a.cos(
= a.cos(
Tần số ứng với một bit nào đó:
-
Đối với bít “0” tần số sóng mang là , ta có
o
Đối với bít “1” tần sồ sóng mang là , ta có:
o
Độ rộng băng tần khi điều chế FSK được tính là:
Trong đó:
là độ rộng băng tần.
là độ rộng xung
Độ rộng băng tần khi điều chế FSK phụ thuộc vào độ dịch tần
khoảng cách giữa hai tần số
và
, tức là
và độ rộng bit số liệu
1.3. FSK- một dạng FM, chỉ số điều chế ( chỉ số biến điệu):
Trong kỹ thuật FSK người ta định nghĩa hệ số h:
14
Ta có thể thấy hệ số h chính là chỉ số biến điệu (modulation index) mf
trong kỹ thuật FM cổ điển.
là độ di tần cực đại;
là tần số tín hiệu điều chế
Áp dụng vào trường hợp FSK:
Vậy ℎ = 𝑚𝑓
Nhắc lại, phổ tần của tín hiệu điều chế FM tùy thuộc vào hệ số Bessel,
tức tùy thuộc vào chỉ số biến điệu. Một cách tổng quát, h càng lớn thì xuất hiện
càng nhiều hệ số Bessel, phổ tần chứa càng nhiều họa tần, nhưng điều này xảy
ra khi br nhỏ, tức tần số cơ bản nhỏ, như vậy các họa tần sẽ nằm sát lại vói nhau
nên băng thơng của tín hiêu khơng những khơng tăng mà cịn có thể giảm. Tuy
nhiên để đạt được hiệu quả cao người ta thường chọn h<1.
1.4. Băng thơng FSK:
Trong đó:
- br là tốc độ bit
- 𝑇𝑏 là thời gian của một bit tín hiệu truyền
Tần số lớn nhất của tín hiệu, tương ướng với biến đổi liên tục giữa bit 1 và
bit 0, là:
Vậy tần số cơ bản lớn nhât của tín hiệu dải nền bằng ½ tốc độ truyền bit.
15
Tín hiệu FSK tức thời có thể viết:
Trong đó
đặc trưng cho tín hiệu hình vng có tần số cơ bản
biên
độ 0 hoặc 1 tùy thuộc trạng thái dữ liệu điều chế.
Phổ tần của tín hiệu FSK
Người ta thường chọn băng thơng FSK như sau:
Ngồi ra để thiết kế bộ giải điều chế có lợi về mặt kinh tế người ta chọn
tần số trung tâm của FSK và khoảng cách cảu hai tần số
và
như sau:
1.5. Sơ đồ điều chế:
FSK- trường hợp riêng của FM. Tín hiệu FSK có dạng:
với
- là tần số sóng mang trung tâm.
là độ di tần, tỷ lệ với biên độ và cực tính tín hiệu nhị phân ngõ
vào. Ví dụ bit 1 là +1V, bit 0 là -1V, tạo nên độ di tần tương ứng +
16
và
Tốc độ dịch tần sóng mang bằng tốc độ bit vào (bps).
(tần số
) ứng với logic 1 nhỏ hơn
ứng với logic 0.
Tốc độ thay đổi tần số ra gọi là baud. Trong FSK tần số bit vào bằng tốc
độ baud ra.
Dạng sóng FSK
Phương pháp điều chế FSK.
17
Phương pháp điều chế FSK cho phép tạo tín hiệu FSK dạng sin với hai
tần số:
-
Khi Data bit = 1, điều khiển khố K ở vị trí nối sóng mang tần số
với
lối ra FSK.
-
Khi Data bit = 0, điều khiển khố K ở vị trí nối sóng mang tần số
với
lối ra FSK.
=> Sơ đồ:
Điều chế FSK.
Ở sơ đồ điều chế FSK kiểu, sử dụng máy phát điều khiển bằng thế VCO
(Voltage Control Oscillator). Ứng dụng trạng thái “0” hoặc “1” của tài liệu,
VCO sẽ phát hai tần số
và
tương ứng.
Trên hình là sơ đồ điều chế sử dụng các bộ chia với các hệ số chia khác
nhau: N và: M. Data bit sử dụng để điều khiển chọn hệ số chia. Ví dụ, khi Data
bit = 1, bộ chia có hệ số chia N, tạo chuỗi xung ra có tần số
. cịn
khi Data bit = 0, bộ chia có hệ số chia M, tạo chuỗi xung ra có tần số
18
2. Giải điều chế
Mạch phổ biến nhất của bộ giải điều chế các tín hiệu FSK là vịng khố pha
(PLL). Tín hiệu FSK ở lối vào của vịng khố pha lấy hai giá trị tần số. Điện thế
lệch một chiều ở lối ra của bộ so pha theo dõi những sự dịch chuyển tần số này và
cho ta hai mức (mức cao và mức thấp) của tín hiệu lối vào FSK. Tổng quát, bộ
PLL là một hệ thống hồi tiếp gồm 3 bộ phận chính: một mạch so pha, một lọc hạ
thơng và một VCO. PLL là một vịng kín, tín hiệu ra từ VCO tự đơngh khóa bởi
tín hiệu vào. Bằng cách so sánh pha của tín hiệu ra từ mạch VCO và tín hiệu vào,
sự sai pha sẽ được biến đổi thành điệ thế một chiều, điện thế này sẽ điều khiển
VCO để tạo một tín hiệu ra ln ln có pha và tần số của tín hiệu vào. Bộ giải
điều chế PLL được kèm theo một mạch lọc thơng thấp để lấy đi những thành phần
cịn dư của sóng mang và một mạch tạo lại dạng xung để khơi phục dạng xung
chính xác nhất cho tín hiệu điều chế. Giải điều chế FSK có thể thực hiện trên cơ
sở hình 2. Tín hiệu FSK chứa hai thành phần tần số được giải điều chế bằng sơ đồ
vòng giữ pha (PLL).
Các bước mô phỏng hệ thống FSK trên matlab
-
Bước 1: Nhân tín hiệu FSK sau điều chế với từng tín hiệu tần số f1 và
f2 ở bước điều chế ta đc 2 tín hiệu m1 và m2
-
Bước 2: Cho hai tín hiệu m1 và m2 đi qua bộ lọc thơng thấp (sử dụng
bộ lọc FIR) được 2 tín hiệu mm1 và mm2
-
Bước 3: Lấy tín hiệu mm1 trừ đi mm2
-
Bước 4: Cho tín hiệu vừa nhận đc qua 1 khoảng ngưỡng để chọn ra đc
các bit 0 và 1
19
CHƯƠNG III: BỘ LỌC SỐ FIR
1.
Khái quát về các bộ lọc số
Trong xử lý tín hiệu, bộ lọc có vai trò quan trọng và được nghiên cứu nhiều
nhất. Các bộ lọc số là hệ thống dùng làm biến dạng sự phân bố tần số của các thành
phần của một tín hiệu theo các tần số đã cho.
Có 2 loại bộ lọc số:
• FIR: Finit duration Impulse Response system
- Hệ thống có đáp ứng xung chiều dài hữu hạn
- Tín hiệu ra chỉ phụ thuộc vào tín hiệu vào hiện tại và tín hiệu vào trước
đó
- Ln ổn định
• IIR: Infinite duration Impulse Response system
- Hệ thống có đáp ứng xung chiều dài vơ hạn
-
2.
Tín hiệu ra phụ thuộc vào tín hiệu vào và tín hiệu ra tại thời điểm hiện
tại và trước đó
Có thể khơng ổn định
Phân loại bộ lọc FIR dựa trên đáp ứng tần số
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:
𝑁−1
𝐻(𝑧) = ∑ ℎ(𝑛)𝑧 −𝑛
𝑛=0
Tức là: L[h(n)] = [0, N-1] = 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 nó như sau:
20
𝑁−1
𝐻(𝑧) = ∑ ℎ(𝑛)𝑍 −𝑛 = ℎ(0) + ℎ(1)𝑍 −1 +. . . +ℎ(𝑁 − 1)𝑍 −(𝑁−1)
𝑛=0
Đáp ứng tần số:
𝑁−1
𝐻(𝑒 𝑗𝜔 ) = ∑ ℎ(𝑛) 𝑒 −𝑗𝜔𝑛
𝑛=0
𝑁−1
𝑁−1
= ∑ ℎ(𝑛) 𝑐𝑜𝑠 𝜔 𝑛 + 𝑗[− ∑ ℎ(𝑛) 𝑠𝑖𝑛 𝜔 𝑛]
𝑛=0
𝑛=0
Hoặc là:
𝐻(𝑒 𝑗𝜔 ) = |𝐻(𝑒 𝑖𝜔 )|𝑒 𝑖𝜑(𝜔)
𝜑(𝜔) = 𝑎𝑟𝑔[ 𝐻(𝑒 𝑗𝜔 )]
Hàm đáp ứng pha - tần số của bộ lọc FIR có dạng như sau:
𝜃(𝜔) = 𝛽 − 𝛼𝜔, với α, β là các hằng số
Và hàm đáp ứng tần số của bộ lọc FIR được cho dưới dạng độ lớn và pha như sau:
𝐻(𝑒 𝑗𝜔 ) = 𝐴(𝑒 𝑗𝜔 )𝑒 𝑗𝜃(𝜔) , với 𝐴(𝑒 𝑗𝜔 ) là hàm thực
2.1. Bộ lọc thông thấp LPF (Low Pass Filter)
Bộ lọc thông thấp hay Low Pass Filter (LPF) là bộ lọc cho phép các tín hiệu
có tần số thấp hơn tần số cụ thể (tần số cụ thể đó được gọi là tần số cắt). Và khơng
cho phép các tín hiệu của tần số cao hơn tần số cắt.
Đáp ứng tần số:
Đáp ứng xung:
21
2.2. Bộ lọc thông cao HPF (High Pass Filter)
Bộ lọc thông cao là mạch cho phép tần số cao hơn tần số cắt (cutoff) và
làm suy giảm tất cả tần số dưới tần số cắt (ƒc).
Đáp ứng tần số:
Đáp ứng xung:
2.3. Bộ lọc thông dải BPF (Band Pass Filter)
Bộ lọc thông dải là bộ lọc cho qua các tần số trong một phạm vi nhất định
và loại bỏ các tần số bên ngồi phạm vi đó.
Đáp ứng tần số:
Đáp ứng xung:
22
2.4. Bộ lọc chắn dải BSF (Band Stop Filter)
Bộ lọc chắn dải là bộ lọc cắt bỏ các tần số trong một phạm vi nhất định và
cho qua các tần số bên ngồi phạm vi đó
Đáp ứng tần số:
Đáp ứng xung:
Các phương pháp thiết kế bộ lọc FIR
3.
3.1. Thiết kế bộ lọc FIR dùng phương pháp cửa số
Các bước chính của phương pháp cửa số:
-
Cho chỉ tiêu kỹ thuật của bộ lọc số: 𝛿𝑝 , 𝛿𝑠 , 𝜔𝑝 , 𝜔𝑠 .
-
Chọn dạng cửa sổ và chiều dài N của cửa sổ, trong miền n cửa sổ có tâm
đối xứng tại
n=
-
𝑁−1
−(𝑁−1)
2
2
, vậy trong miền tần số cửa sổ có pha tuyến tính 𝜃(𝜔) =
Chọn loại bộ lọc số lý tưởng có đáp ứng xung là h(n), h(n) có tâm đối
xứng tại
𝜃(𝜔) =
-
𝜔.
𝑁−1
trong miền n, vậy trong miền 𝜔 thì h(n) sẽ có pha tuyến tính
2
−(𝑁−1)
2
𝜔.
Nhân cửa sổ 𝑤(𝑛)𝑁 với h(n) lý tưởng để được ℎ𝑤 (𝑛) của bộ lọc thực tế.
ℎ𝑤 (𝑛) = 𝜔(𝑛). ℎ(𝑛)
𝐿[𝜔(𝑛)𝑁 ] = 𝑁
𝐿[ℎ(𝑛)] = ∞
𝐿[ℎ(𝑛)] = 𝑁
23
Sau khi có ℎ𝑤 (𝑛) chúng ta thử lại trong miền tần số xem có thỏa mãn 4 chỉ
tiêu kỹ thuật đã đặt ra hay không. Nếu không thỏa mãn chúng ta tăng N rồi lặp lại
các bước trên cho đến khi nào thỏa mãn các chỉ tiêu kỹ thuật thì dừng lại.
Có một số loại cửa sổ phổ biến:
a) Cửa số hình chữ nhật
1,
𝑤𝑟 (𝑛) = 𝑟𝑒𝑐𝑁 (𝑛) = {
0,
0≤𝑛 ≤𝑁−1
n ≠
1 𝜋
′
∫ 𝑊𝑅 (𝑒 𝑗𝜔 ). 𝐻(𝑒 𝑗(𝜔−𝜔 )𝑑𝜔′
𝐻(𝑒 ) = 𝑊𝑅 (𝑒 ) ∗ 𝐻𝑑 (𝑒 ) =
2𝜋 −𝜋
𝑖𝜔
𝑗𝜔
𝑗𝜔
Nhằm tăng độ suy giảm dải chắn và hạn chế hiện tượng Gibb, một số dạng cửa sổ
sau đã được đưa ra và được áp dụng rất nhiều trong thiết kế các bộ lọc thực tế.
b) Cửa sổ tam giác
2n
N −1 ,
2n
w(n)= 2 −
,
N
−
1
0,
0n
N −1
2
N −1
n N −1
2
n
c) Cửa sổ Hamming
2 n
), 0 n N − 1
0,54 − 0, 46 cos(
w(n) =
N −1
0,
n con lai
d) Cửa sổ Hanning
2 n
), 0 n N − 1
0,5 − 0,5cos(
w(n) =
N −1
0,
n
e) Cửa sổ Blackman
2 n
4 n
) + 0, 08cos(
), 0 n N − 1
0, 42 − 0,5cos(
w(n) =
N −1
N −1
0,
n
24
Rõ ràng ln 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 ln 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ổ:
Bảng 3.1 Các thông số độ rộng dải, độ suy giảm các cửa số
Tên cửa sổ
Độ rộng dải chuyển tiếp
Xấp xỉ
Độ suy giảm dải
Chính xác
chắn tối thiểu
Chữ nhật
4
N
1,8
N
21dB
Tam giác
8
N
6,1
N
25dB
Hanning
8
N
6, 2
N
44dB
Hamming
8
N
6, 6
N
53dB
Blackman
12
N
11
N
74dB
Dạng cửa sổ càng phức tạp, để 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.
3.2. Thiết kế bộ lọc FIR dùng phương pháp 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 hồ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
25