Nghiên cứu, thiết kế, xây dựng bộ điều chế và giải
điều chế qam-16 trên fpga
Mục lục
Chương 1
Mở đầu
Xử lý tín hiệu số (DSP) là một trong những công nghệ quan trọng nhất
trong thời đại hiện nay. Nó thay đổi cách thức con người giao tiếp, phục vụ y tế,
thương mại, vui chơi giải trí, du lịch… Với DSP việc thực thi các phép toán số học
nhanh luôn là một yêu cầu bức thiết, do vậy các mô hình tính toán cũ, tốc độ thấp
sẽ liên tục bị thay thế bằng những chip điện tử có tốc độ xử lý cao để tăng khả
năng xử lý. Yêu cầu về các bộ xử lý tăng nhanh, cùng với sự cân nhắc về tài chính,
cũng như thách thức của việc tích hợp rất nhỏ, tất cả điều đó đều hướng tới việc sử
dụng các công nghệ có thể tái cấu hình trong các hệ thống DSP phức tạp.
Kĩ thuật xử lý tín hiệu số mở rộng khả năng các hệ thống viễn thông số
bằng cách cho phép sử dụng các kỹ thuật điều chế, giải điều chế phức tạp. Ban
đầu, mạch tích hợp cho những ứng dụng đặc biệt (ASIC) được sử dụng để thực
1
hiện điều này, nhưng ASIC phải chịu một chi phí lớn là chi phí không thay đổi
được thiết bị (NRE) trong thiết kế và sản xuất, hơn nữa, ASIC không thể thay đổi
được. Do đó, nếu cần thay đổi ASIC lại phải chịu một chi phí NRE lớn. Trong khi
đó FPGA (Field Programmable Gate Array) có thể dễ dàng cấu hình lại mà không
phải thay thế hay sản xuất linh kiện mới. Điều này sẽ cho chi phí NRE của FPGA
thấp hơn nhiều so với ASIC. Do vậy trước khi sản xuất ASIC, FPGA được sử
dụng để thử nghiệm cấu hình thiết kế. Ngoài ra, với các ứng dụng số lượng nhỏ,
FPGA sẽ được sử dụng trực tiếp để điều khiển hệ thống.
Một chip FPGA bao gồm các khối logic khả trình cho phép FPGA kết nối
các linh kiện khác trong mạch, các khối logic được kết nối với nhau bởi chức năng
kết nối khả trình. Bằng việc kết nối các đầu vào, ra của các khối logic, các chân
khả trình, FPGA có thể cấu hình để thực thi bất kỳ sự hoạt động logic số nào.
FPGA được cấu hình sử dụng một ngôn ngữ miêu tả phần cứng (HDL) như
Verilog hoặc VHDL[1] (Very high speed integrated circuit Hardware Description
dụng ngôn ngữ thiết kế phần cứng VHDL để lập trình và sau đó nhúng lên hai chip
FPGA APEX II[6] và Cyclone II[7].
Chương 2
Kiến thức cơ sở
3
2.1 Điều chế và lý thuyết modem
2.1.1 Điều chế
Điều chế là quá trình mã hóa thông tin từ tín hiệu nguồn lên sóng mang trong
một dải tần số nhất định [8]. Thông tin có thể được mã hóa bằng việc thay đổi biên
độ, pha hoặc cả hai.
Một tín hiệu thông dải s(t) điều chế có thể được biểu diễn:
s(t) = A(t)cos(2
π
f
c
t+Φ(t)) (2.1)
Với A(t) là biên độ điều chế,
φ
(t) là pha và f
c
là tần số sóng mang. Thông tin
được truyền đi bằng cách thay đổi biên độ và pha của sóng mang.
Điều chế có thể là tương tự hoặc số. Trong truyền thông tương tự, biên độ và
pha của tín hiệu biến đổi liên lục trong miền thời gian ứng với sự thay đổi của
thông tin nó mang theo. Trong truyền thông số, L ký hiệu được ánh xạ thành L
dạng sóng liên tục theo thời gian. Sau đó, dạng sóng này sẽ được sử dụng để điều
chế biên độ và pha sóng mang với một tỉ lệ ký hiệu nhất định R
s
.
Với dữ liệu là số nhị phân thì chúng được nhóm lại thành N bit từ rồi chuyển
s
=
B
R
b
(2.3)
Với R
b
là tốc độ bit được xác định bằng số bit trong một giây còn B là băng
thông có đơn vị là Hertz. Do đó, từ băng thông tín hiệu và hiệu năng phổ, ta có thể
xác định được tốc độ dữ liệu tối đa của một hệ thống cho trước.
2.1.2 Điều chế QAM
Để có được hiệu năng phổ cao hơn (tạo thông lượng cao hơn cho dữ liệu)
điều chế QAM được sử dụng để thay đổi biên độ và pha của tín hiệu thông dải.
Điều chế QAM là một kỹ thuật điều chế chuyển tải dữ liệu bằng cách tính tổng sự
thay đổi biên độ của hai sóng mang. Sóng mang được sử dụng thường có dạng
hình sin, lệch pha nhau 90 độ, sóng có cùng pha với tín hiệu được gọi là sóng đồng
pha, và sóng lệch pha với tín hiệu được gọi là sóng vuông pha.
Xét tín hiệu thông dải trong phương trình 2.1:
s(t) = A(t)cos(2
π
f
c
t+Φ(t)) (2.1)
Tổng của hai tín hiệu vuông pha có thể được biểu diễn bằng Phương trình
toán học của biên độ và pha tín hiệu điều chế như trong Phương trình 2.1. Đầu
tiên, Phương trình 2.1 được viết lại thành Phương trình 2.2 bằng lượng giác:
s(t) = A(t)[cos(Φ(t))cos(2
π
bậc biên độ. Ở đây, L bằng với
căn bậc hai của tất cả các số của ký hiệu trong chòm sao, M [8]. Các bậc biên độ
6
của tín hiệu I, Q được biểu diễn trong giản đồ chòm sao ở Hình 1. Trong trường
hợp này, Giản đồ sao biểu diễn biên độ và pha của sóng mang đã được ánh xạ
trong mặt phẳng phức.
Hình 2.3: Chòm sao của một tín hiệu QAM-16
Ta nhận thấy, chòm sao được phân bố dựa trên mã Gray (các điểm sao lân
cận nhau đều có ít nhất một bit khác nhau). Phân bố mã Gray này có ý nghĩa rất
lớn vì hầu hết các loại lỗi thông thường xảy ra do ký hiệu được tìm ra giống với ký
hiệu gần đó. Trong trường hợp này, số mã Gray chỉ dẫn đến một bit lỗi trong khi
số mã nhị phân có thể gây ra nhiều bit lỗi.
Không phải mọi chòm sao QAM đều vuông. Nếu N lẻ thì một chòm sao
hình chữ nhật được tạo ra, khi đó (N+1)/2 bit được sử dụng để điều chế một tín
hiệu và (N-1)/2 bit còn lại được dùng để điều chế tín hiệu vuông pha với tín hiệu
đó. Đó chính là một chòm sao QAM không vuông khi các kênh I, Q không được
điều chế độc lập.7
(a) (b)
Hình 2.4a: Giản đồ chòm sao QAM-8 hình chữ nhật
Hình 2.4b: Giản đồ chòm sao QAM-8 hình tròn
Trong các loại giản đồ chòm sao thì giản đồ chòm sao hình tròn có công
suất trung bình thấp nhất. Tuy nhiên giản đồ vuông lại được sử dụng rộng rãi nhất
vì tuy nó có công suất trung bình lớn hơn nhưng lại có thể thực hiện dễ dàng hơn.
Xét bốn chòm sao QAM-4, QAM-16, QAM-64, QAM-256 được biểu diễn
tương ứng ở các Hình 2.5a,b,c,d
Hình 2.5: Các chòm sao QAM
Độ nhạy của chòm sao với các nhiễu được biểu diễn bởi khoảng cách giữa
I
(t) và A
Q
(t) như mô tả các phương trình toán học
ở trên. Hai tín hiệu này sẽ được đưa vào bộ tính tổng để tạo ra tín hiệu QAM phát
ra.
2.1.3 Bộ phát QAM số
Cấu trúc của một bộ phát QAM số tiêu biểu được xây dựng bằng các phần
tử logic số được biểu diễn ở Hình 2.15. Bộ phát bao gồm hai nhánh: một nhánh là
kênh đồng pha (I), một là kênh vuông pha (Q). Ta sẽ xem xét sự biến đổi dữ liệu
tại từng khối để hiểu được các chức năng của từng thành phần bộ phát.
Hình 2.8: Bộ phát QAM số
Khối chuyển đổi từ nối tiếp ra song song phân dữ liệu nối tiếp thành các
nhóm N/2 bit một ký hiệu. Ở đây, tốc độ ký hiệu Rs bằng 1/N lần tốc độ bit Rb.
Sau đó, nhóm N/2 bit đó được chuyển vào khối giải mã Gray sang nhị phân với
tốc độ bằng tốc độ ký hiệu.
.
Các nhóm N/2 bit được đưa vào các kênh I và kênh Q tới các khối giải mã
Gray sang nhị phân rồi sử dụng mã Gray tìm vị trí các kênh I và Q cho mỗi điểm
10
chòm sao. Hình 2.9 chỉ ra số lượng mã Gray hai bit được sử dụng để biểu diễn các
vị trí kênh I, Q của điểm trong chòm sao QAM-16. Tuy mã Gray rất hiệu quả
trong việc hạn chế lỗi bit nhưng hầu hết các hệ thống số hoạt động bằng mã nhị
phân nên khối giải mã Gray sang nhị phân được sử dụng để chuyển số mã Gray
sang số mã nhị phân.
Hình 2.9: Mã Gray
Các khối ánh xạ biểu tượng chuyển đổi kết quả mã nhị phân từ các khối
giải mã Gray sang nhị phân sang các cấp phát mã nhị phân bằng Phương trình 2.7.
m
0
bộ chuyển đổi A/D để lấy một lượng mẫu nhất định mỗi ký hiệu. Số lượng mẫu
mỗi ký hiệu được xác định bởi cấu trúc của bộ lọc RRC. Hơn nữa, các mẫu đều
giữ khoảng cách cân bằng với một mẫu chuẩn ở tâm chu kỳ ký hiệu. Chương 5 sẽ
miêu tả chi tiết của sự cần thiết của việc khôi phục nhịp ký hiệu và lý thuyết khôi
phục nhịp ký hiệu.
12
Khối giải điều chế cầu phương tiến hành giải điều chế tín hiệu nhận được
s(t) tạo ra A
I
´ (t) và A
Q
´ (t) xấp xỉ bằng A
I
(t) và A
Q
(t). Quá trình giải điều chế gồm
hai bước. Bước 1 là nhân tín hiệu nhận được với các sóng sin và cos có pha phù
hợp với tín hiệu nhận được. Bước tiếp theo là tiến hành bộ lọc thông thấp lọc kết
quả như phương trình 2.8 tới 2.17, với LPF {.} biểu diễn bộ lọc thông thấp.
A
I
’(t)=LPF{s(t)*2cos(2
π
f
c
t)} (2.8)
A
I
’(t)=LPF{[A
I
A
I
’(t)=LPF{ A
I
(t) + A
I
(t)cos(4
π
f
c
t) - A
Q
(t)sin(4
π
f
c
t)} (2.11)
A
I
’(t) = A
I
(t) (2.12)
A
Q
’(t)=LPF{s(t)*[-2sin(2
π
f
c
t)]} (2.13)
A
f
c
t)]} (2.15)
A
Q
’(t)=LPF{-A
I
(t)sin(4
π
f
c
t) + A
Q
(t) - A
Q
(t)cos(4
π
f
c
t)} (2.16)
A
Q
’(t) = A
Q
(t) (2.17)
Mối liên hệ giữa sóng sin và cos được sử dụng cho bộ giải điều chế vuông
pha được tạo ra nhờ khối khôi phục sóng. Chương 6 sẽ miêu tả chi tiết về bộ giải
điều chế và lý thuyết khôi phục sóng mang.
Khối RRC (Raise Root Cosin) lọc đầu ra của bộ giải điều chế vuông pha để
khử nhiễu, giao thoa và ISI. Sau đó, các khối giải ánh xạ ký hiệu, giải mã Gray và
- I/O blocks
14
Hình 2.11: Cấu trúc cơ bản của FPGA
• Logic cell: là nơi thức hiện các tính toán, lưu trữ thông tin, nó là thành
phần quan trọng nhất trong FPGA. Số logic cell thay đổi theo từng họ linh
kiện. Tổ hợp logic của cell theo quy luật tự nhiên có thể thực hiên được như
một bảng khóa bộ nhớ nhỏ LUT hoặc như là một thiết lập của nhiều cổng
AND. Mô hình LUT dẫn tới bit có thể linh động hơn và cung cấp nhiều lối
vào hơn so với mô hình kết hợp nhiều cổng AND trong cùng điều kiện về
độ trễ.
• I/O blocks: Cung cấp các giao tiếp với bên ngoài.
• Interconnection: Là ma trận hàng và cột thực hiện kết nối bên trong giữa
các cell với nhau, và giữa khối I/O và Cell.
Trên thị trường hiện nay có rất nhiều nhà cung cấp linh kiện FPGA nhưng
Altera và Xilinx là hai nhà cung cấp phổ biến nhất đối với thị trường trong nước.
Chúng ta có thể đặt mua trực tiếp qua mạng hoặc qua công ty đại diện tại Việt
15
Nam, ngoài ra cũng có thể mua được một số linh kiện tại một số cửa hàng trên địa
bàn Hà Nội. Các linh kiện của các hãng khác nhau có những cấu trúc khác nhau,
trong một hãng các họ khác nhau cũng được thiết kế với các cấu trúc khác nhau.
Mỗi họ đều có nhưng đặc tính riêng của nó. Trong đề tài này tôi lựa chọn chíp
APEX EP20K200EQC208 (thuộc họ APEX20K) của Altera bởi tính phù hợp của
nó đối với yêu cầu của đề tài và sự ổn định cao trong linh kiện của hãng Altera.
Tính năng Số cổng
tối đa
Số cổng
tiêu
chuẩn
LE
(Logic
(một ma trận dây liên tục gồm hàng và cột chạy dọc theo chiều ngang và dọc của
thiết bị).
Mỗi chân lối vào được chỉ dẫn bởi một IOE (I/O Element) đặt ở đầu cuối
của mỗi hàng và cột của kết nối trong FastTrack. Mỗi IOE chứa một bộ đệm hai
hướng vào ra, một thanh ghi được sử dụng như là thanh ghi lối vào, lối ra hoặc hai
16
hướng của tín hiệu. Khi sử dụng các chân clock chuyên dụng thì thanh ghi này
cung cấp cho các thực thi đặc biệt.
Hình 2.13: Sơ đồ khối thiết bị APEX 20K
Các chíp trong họ EP20K được thiết kế với một chuỗi kiến trúc MegaLAB.
Một MegaLAB bao gồm 16 LAB, một ESB và một kết nối trong MegaLAB. Các
đời cao hơn trong EP20K có thể có nhiều LAB hơn trong một MegaLAB, tín hiệu
liên kết giữa MegaLAB và các chân vào ra đuợc thực hiện bởi kết nối nội
FastTrack.
Hình 2.14: Cấu trúc của MegaLAB
17
Như ở trên chúng ta thấy một LAB gồm 10 LE, các bộ kết nối trong cục bộ
của MegaLAB, và các tín hiệu điều khiển LAB.
LE là đơn vị logic nhỏ nhất trong kiến trúc của EP20K, mỗi LE chứa 4 lối
vào LUT có chức năng thực hiện nhanh chóng bất cứ vai trò nào của 4 biến, LE có
thể dùng để điều khiên các kết nối cục bộ, kết nối MegaLAB hoặc kết nối
FastTrack.
Chương 3:
Bộ điều chế QAM
3.1 Tổng quan
Từ những kiến thức cơ bản có được, trong chương này, tôi tiến hành xây
dựng một bộ điều chế QAM-16 trên FPGA bằng ngôn ngữ thiết kế phần cứng
18
VHDL. Dữ liệu lối vào được lấy song song từ Kit phát dữ liệu một cách đồng bộ
còn tần số ký hiệu có thể thay đổi trong một phạm vi nhất định.
được hiển thị trên led.
16 bit trạng thái của công tắc được phân thành 4 nhóm: A,B,C,D như Hình
9. Mỗi nhóm chứa 4 bit sẽ tạo thành một điểm chòm sao. Điểm chòm sao này sẽ
được tách ra, rồi đưa vào các kênh I,Q, mỗi kênh 2 bit (Hình 10). Các kênh I,Q
này sẽ được đưa sang chip APEX II để ánh xạ vào trường dữ liệu bằng phương
pháp truyền thông SPI.
20
Cyclone II
Phát lặp dữ liệu
APEX II
I Q
Quay 90 độ
Bộ tạo
sóng mang
Thay đổi
tần số
∑
DAC
Clock 11M
Clock 50M
SPI
Phát giả dữ liệu
B8B15 B14 B13 B12 B11 B10 B9
B7 B6 B5 B4 B3 B2 B1 B0
Nhóm D
Nhóm C
Nhóm B
Nhóm A
Hình 3.3: Các nhóm bit trạng thái của công tắc
trình hiệu chỉnh lại trên FPGA để tạo ra đủ một chu kì sin với 2520 mẫu. Nguyên
tắc hiệu chỉnh được mô tả ở Hình 11:
Hình 3.6: Hiệu chỉnh sin
Do sóng các mẫu lấy từ tín hiệu sin trong PASCAL đều có giá trị nhỏ hơn 1
nên phải tiến hành nhân các tín hiệu đó với một hệ số thích hợp để tăng biên độ
sóng mang.
3.2.2.4 Bộ thay đổi tần số sóng mang:
Nhân tín hiệu từ hai nút điều khiển tăng giảm tần số có thể thay đổi tần số
trong dải từ f
c
đến 10f
c
. Bộ thay đổi tần số này tác động trực tiếp vào bộ phát sóng
mang để thay đổi tần số các sóng sin, cos được tạo ra. Nguyên tắc làm việc của bộ
thay đổi tần số là tăng/giảm số mẫu trong một chu kì sóng mang để thay đổi tần số
(Hình 12). Nguyên tắc của bộ thay đổi tần số sóng mang này giống với các bộ lấy
mẫu tăng, giảm.
22
Tăng
Giảm
Hình 3.7: Bộ thay đổi tần số sóng mang
Dễ thấy trong QAM, khi tần số sóng mang thay đổi sẽ làm thay đổi tần số
ký hiệu, sẽ ảnh hưởng đến khối phát lặp ký hiệu để ánh xạ lên trường dữ liệu. Tuy
nhiên, trong bộ phát QAM chúng tôi xây dựng, nhờ tính ưu việt của truyền thông
nối tiếp SPI có bắt tay như đã nói ở trên, tần số sóng mang cũng như ký hiệu có
thể thay đổi dễ dàng mà không ảnh hưởng gì khối phát lặp dữ liệu để tạo ký hiệu.
3.2.2.5 Bộ quay 90 độ:
Sóng mang số hình sin đưa vào đây sẽ được làm trễ đi 630 mẫu (1/4 chu kì)
đổi DAC để tạo ra tín hiệu QAM quan sát được trên dao động ký.
`
Hình 3.10: Bộ cộng số
3.3 Kết quả
- Tôi đã thực hiện phát thành công tín hiệu QAM trên chip FPGA APEX II
với các bit thông tin có thể thay đổi được bằng công tắc.
- Tần số sóng mang cũng như ký hiệu có thể thay đổi trong một dải nhất
định
- Kết quả đầu ra có thể quan sát dễ dàng trên dao động ký.
24
A
I
(n)
A
Q
(n)
Hằng số
QAM
Chương 4:
Xử lý dấu phẩy động
4.1. Chuẩn dấu phẩy động IEEE:
25