Tải bản đầy đủ (.doc) (62 trang)

Thiết kế một bộ điều chế và giải điều chế QAM 16 trên FPGA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (885.78 KB, 62 trang )

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 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
1
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 Language). Verilog và VHDL khác với các ngôn ngữ
lập trình tiêu biểu như C bởi nó trực tiếp hay gián tiếp định nghĩa cách bố
trí mạch điện trong khi C định nghĩa một chuỗi các hoạt động được thực
thi. Điều này tạo ra sự chuyển đổi dễ dàng từ các khối dữ liệu thành các
khối logic trong FPGA. Hơn nữa, các khối chức năng trong một thiết kế có
thể dễ dàng ánh xạ tới các khu vực riêng biệt trong FPGA [2, 3].
FPGA (Field Programme Gates Array) đã đạt đến đỉnh cao của
thành công trong nhiều hệ thống xử lý tín hiệu. Đặc biệt, trong lĩnh vực
viễn thông số. Phối hợp khả năng hoạt động tốc độ cao với các bộ nhớ có
băng thông vào ra khổng lồ, nền tảng xử lý tín hiệu trên FPGA có thể phục
vụ nhiều công việc phức tạp trong các bộ truyền thông phát và thu hiện
đại.
Ngày nay, sự phát triển của mạng dữ liệu không dây băng rộng cần
tăng cường sử dụng các phương pháp điều chế có hiệu quả cao trong đó
QAM (Quandrature Amplitude Modulation) được coi như một công đoạn
không thể thiếu để tăng hiệu quả kênh truyền và giúp cho dữ liệu có được
2
thông lượng cực đại. Tuy nhiên, điều chế QAM cao cấp rất nhạy cảm với
trạng thái của kênh truyền không dây và thông lượng có thể giảm nghiêm
trọng do tỉ lệ lỗi bit cao (BER) hay do việc truyền lại thông tin. Những hệ
thống này có nhiều mặt hạn chế bởi các modem bên ngoài đòi hỏi hỗ trợ
được nhiều chòm sao khác nhau.
Vượt qua sự trở ngại với các chòm sao QAM bậc cao, các chuẩn
băng thông rộng như IEEE 802.16 [4, 5] sử dụng MQAM (Mutilevel QAM)
hạn chế sự suy giảm thông lượng bằng các bậc điều chế QAM thích hợp
để duy trì một tỉ lệ lỗi gói tin chấp nhận được trong tình trạng kênh truyền
thay đổi. Các chuẩn và hệ thống mới hơn này sử dụng các chòm sao QAM
khác nhau cho những công việc khác nhau tùy thuộc các trạng thái kênh
của nó. Ngoài ra, chúng cũng thay đổi các chòm sao thùy thuộc vào trạng

thái kênh truyền theo thời gian.
Trong khóa luận, tôi xây dựng một bộ điều chế và giải điều chế tín
hiệu QAM-16. Bộ phát có thể phát QAM-16 trên các băng tần số có thể
điều chỉnh được trong một dải nhất định. Để có thể thiết kế được bộ điều
chế, chúng tôi đã sử 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
3
Kiến thức cơ sở
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 thành L=2
N
dạng sóng. Dạng điều chế số đơn giản nhất là Điều
chế biên độ xung rời rạc (PAM). Một nhóm nhất định các dạng sóng được
sử dụng chính là các xung vuông có độ rộng bằng với chu kì của ký hiệu.
Biên độ của các dạng sóng này được cho bởi:
4
A = 2l - (L-1) (2.2)

Với A là biên độ xung và l = 0,1 L-1. Biên độ của xung có thể được
mô tả trong giản đồ chòm sao (Hình 2.1). Giản đồ này biểu diễn biên độ
của các ký hiệu trong "mặt phẳng điều chế".
Hình 2.1: Giản đồ chòm sao của tín hiệu PAM
Đường bao của sóng điều chế có thể dễ dàng nhận thấy trong miền
thời gian (Hình 2.2)
Hình 2.2: Đường bao trong miền thời gian của tín hiệu PAM
Tín hiệu với đường bao như Hình 2.2 có băng thông tín hiệu rất rộng
bởi dạng vuông của xung truyền. Để sử dụng phổ một cách hiệu quả, đầu
ra của bộ phát thường được lọc để giới hạn băng thông của tín hiệu phát.
Trong truyền thông không dây, độ rộng của bộ lọc phát (băng tần) phải
tuân theo các quy định nhất định để có thể dễ dàng điều chỉnh, quản lý
chúng trong giới hạn cho phép của hệ thống. Ngoài ra, tín hiệu thu được
cũng bị lọc ngay tại lối vào để loại bỏ các tạp nhiễu đi theo tín hiệu.
5

Hiệu năng phổ là thước đo để kiểm tra xem một phương pháp điều
chế có thể truyền bao nhiêu dữ liệu trong một băng thông cho trước [26].
Hiệu năng của phổ
η
s
được cho bởi công thức:
η
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
π
f
c
t) - sin(Φ(t))sin(2
π
f
c
t)] (2.4)
Sau đó, Phương trình 2.2 được bến đổi thành Phương trình 2.3:
6
s(t) = A
I
(t)cos(2
π
f
c
t) - A
Q
(t)sin(2
π
f

c
t) (2.5)
Với tín hiệu điều chế: A
I
(t)=A(t)cos(Φ(t)) và A
Q
(t)=A(t)sin(Φ(t))
(2.6)

Khi N - số lượng bit trong một từ - là chẵn thì cả tín hiệu đồng pha
và vuông pha được điều chế với một trong số L=2
N/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 độ 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
8
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 các điểm sao. Nhìn vào Hình 2.5 ta nhận thấy, điểm xa nhất ở
các chòm sao đều có cùng biên độ, khoảng cách giữa các điểm chòm sao
lân cận giảm khi kích thước chòm sao tăng. Điều này làm chòm sao có
kích thước lớn như QAM-256 dễ bị nhiễu hơn nhiều so với các chòm sao
có kích thước nhỏ như QAM-4.
Hình 2.6 chỉ ra kết quả lý thuyết BER cho điều chế QAM [9, 10, 11].
Đồ thị biểu diễn BER tương đối cho mỗi chòm sao QAM như một hàm của
SNR mỗi bit và là SNR bị chia bởi số bit trong mỗi ký hiệu. Bảng này đã
chứng minh những nhận xét về Hình 2.6 là chính xác và chỉ rõ ra rằng tỉ lệ
SNR sẽ thay đổi khi chòm sao thay đổi.
9
Hình 2.6: BER cho QAM
Sơ đồ khối của bộ điều chế QAM:

Hình 2.7: Bộ điều chế QAM
Dữ liệu số đưa vào sẽ được tách ra I, Q theo giản đồ chòm sao và
các kênh I,Q sẽ được nhân với các sóng mang lệch pha nhau 90 độ để tạo

ra các tín hiệu I(t), Q(t) tương ứng với các tín hiệu 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ố
10
I(t)
Dữ liệu
Bộ Tạo
Sóng Sin
Dịch pha 90
độ
Tách I,Q

I
Q
Q(t)
Tín hiệu QAM
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 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.
11
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
= 2m
i
– (2
N/2
- 1) (2.7)
Với m
0
là giá trị ánh xạ, m
i
là đầu vào của các bộ ánh xạ
Nếu bậc tạo ra từ các bộ ánh xạ biểu tượng được sử dụng để tạo ra
xung vuông, công suất của tín hiệu sẽ trải rộng dọc theo một vùng băng
thông rộng lớn. Do đó, các giá trị ánh xạ được lọc bởi bộ lọc RRC để giới
hạn băng thông của tín hiệu phát. Tín hiệu đã được lọc dùng để điều chế

với các sóng mang vuông pha trong khối điều chế cầu phương. Sự hoạt
động của khối điều chế cầu phương được biểu diễn toán học trong
phương trình 2.5. Tín hiệu điều chế sau đó được chuyển từ các từ số sang
tín hiệu tương tự để phát đi.
2.1.4 Bộ thu QAM số
12
Cấu trúc của bộ thu QAM số tiêu biểu được thực hiện bằng các
phần tử logic số như ở hình 2.10. 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ộ thu.
Hình 2.10: Bộ thu QAM số
Khối AGC (Automatic Gain Control) cân bằng tín hiệu thu được để
bộ thu có thể hoạt động với các tín hiệu có biên độ không đổi. Điều này
đặc biệt quan trọng đối với các kênh radio vì trong môi trường không dây,
sự suy giảm của kênh truyền thay đổi liên tục theo thời gian.

Khối chuyển đổi tương tự sang số (A/D) sẽ lấy mẫu tín hiệu thu
được khi được tác động bởi khối khôi phục xung nhịp. Khối khôi phục
xung nhịp điều khiển 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.
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
13
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
(t)cos(2
π
f
c
t) - A
Q
(t)sin(2
π
f
c
t)]*2cos(2

π
f
c
t)} (2.9)
A
I
’(t)=LPF{A
I
(t)[1+cos(4
π
f
c
t)] - A
Q
(t)[sin(4
π
f
c
t)]} (2.10)
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
Q
’(t)=LPF{[A
I
(t)cos(2
π
f
c
t) - A
Q
(t)sin(2
π

f
c
t)]*[-2sin(2
π
f
c
t)]} (2.14)
A
Q
’(t)=LPF{-A
I
(t)[sin(4
π
f
c
t)] + A
Q
(t)[1-cos(4
π
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à chuyển đổi song song sang nối tiếp làm ngược lại các
khối ánh xạ biểu tượng, mã hóa Gray và nối tiếp sang song song ở bộ
phát để khôi phục lại dữ liệu ban đầu.
2.2 FPGA
FPGA là một loại thiết bị logic khả trình. Với một chip FPGA chúng
ta có thể tiến hành lập trình các kết nối cho các ứng dụng cụ thể (như card
âm thanh, video, bộ vi xử lý 8 bit, 16 bit, hay là bất cứ một chip khả trình
nào như 8051 chẳng hạn) mà không phải tốn hàng ngàn đô cho chi phí
14
sản xuất. FPGA là chip dành cho nguời dùng phát triển các hệ thông bằng
phần mềm sau khi IC đã chế tạo.

FPGA là viết tắt của Field Programmable Gate Array, vậy Field
Programmable ở đây chúng ta có thể hiểu như thế nào. Điều này có thể
hiểu là chức năng của FPGA được quyết định nhiều bởi người lập trình
hơn là bởi nhà sản xuất. Các mạch tích hợp thông thường thì chức năng
của nó đã được xác định bởi người sản xuất. Ngược lại, chức năng của
FPGA lại được xác định bởi người dùng bằng chính chương trình mà họ
viết ra.
Trước khi có sự phát triển của logic khả trình, thì các mạch logic
thông thường được xây dựng trên mức bo mạch với các linh kiện thông
thường, hoặc với mức cổng cho các ứng dụng mở rộng, FPGA là một
mạch tích hợp chứa rất nhiều tế bào logic (logic cell), có thể xem như là
các linh kiện chuẩn. Các logic cell độc lập với nhau trong các thiết kế
mang tính cá nhân. Các cell tách biệt với nhau được kết nối trong với nhau
bởi ma trận dây và chuyển mạch. Khi thiết kế các hàm logic đơn giản cho
mỗi cell, người dùng thực hiện bằng cách điều khiển các chuyển mạch
trong ma trận kết nối trong. Một mảng các cell và các kết nối tạo nên
những khối kết nối cơ bản cho mạch. Một thiết kế phức tạp là sự kết nối
của các khối trên, tạo nên mạch mong muốn.
Như đã nêu qua ở trên, có thể hình dung được cấu trúc của FPGA
một cách cở bản nhất phải chứa đủ ba thành phần:
- Logic cells
- Interconnection
- I/O blocks
15
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
16
đại diện tại Việt 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
Element
)
ESB
(Embedde

d System
Block)
Số bit
RAM
tối đa
Số
macrocel
l tối đa
I/O
Num
Max
EP20K30E 113000 30000 1200 12 24576 192 128
EP20K60E 162000 60000 2560 16 32768 256 196
EP20K100 263000 100000 4160 26 53248 416 252
EP20K100E 263000 100000 4160 26 53248 416 246
EP20K160E 404000 160000 6400 40 81920 640 316
EP20K200 526000 200000 8320 52 10649
6
832 382
EP20K200E 526000 200000 8320 52 10649
6
832 376
EP20K300E 728000 300000 11520 72 14745
6
1152 408
EP20K400 105200
0
400000 16640 104 21299
2
1664 502

EP20K400E 105200
0
400000 16640 104 21299
2
1664 488
EP20K600E 153700
0
600000 24320 152 31129
6
2432 588
EP20K1000E 177200
0
100000
0
38400 160 32768
0
2560 708
EP20K1500E 239200
0
150000
0
51840 216 44236
8
3456 808
Hình 2.12: Một số thông số cơ bản của APEX EP20K
17
APEX20K chứa các khối chính sau: LUT-based logic, Product-Term-
based logic, và bộ nhớ. Các tín hiệu được trao đổi bên trong nhờ kết nối
trong FastTrack (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 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.
18
Hình 2.14: Cấu trúc của MegaLAB
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.
19
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 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.
Toàn bộ quá trình được thực hiện với tín hiệu dạng số. Sau khi quá
trình xử lý số được tiến hành, dữ liệu QAM số sẽ được đưa ra DAC để có

thể quan sát được trên dao động ký.
3.2 Bộ điều chế QAM
3.2.1 Nguyên tắc thực hiện:
Hình 3.1: Sơ đồ khối hệ thống
Bộ điều chế được xây dựng với sơ đồ khối như trên gồm:
- Khối lặp phát dữ liệu để tạo dữ liệu số đưa vào bộ điều chế
20
Phát lặp
dữ liệu
Thay đổi tần
số ký hiệu
Khối điều chế QAM
Mã hóa QAM
Phát sin DAC
Tín hiệu QAM
- Khối thay đổi tần số ký hiệu gồm các phím tăng giảm tần số để
thay đổi tần số trong một dải nhất định từ fc đến 10fc.
- Khối điều chế QAM: gồm các khối nhỏ như khối phát sóng mang
để tạo tín hiệu sin, cos số đưa vào điều chế, khối mã hóa QAM để tính
toán biểu thức QAM với dữ liệu nhận được và khối biến đổi DAC để
chuyển đổi số-tương tự nhằm tạo ra tín hiệu QAM có thế quan sát trên
dao động kí.
3.2.2 Mô hình bộ điều chế QAM xây dựng:
Quá trình thực hiện được tiến hành trên 2 Kit với 2 chip FPGA là APEX
II và Cyclone II[3] của Altera với sơ đồ khối như sau:
Hình 3.2: Mô hình QAM-16 được thiết lập
3.2.2.1 Khối phát lặp dữ liệu:
Sử dụng Kit DE2 của phòng thí nghiệm, phát 16 tín hiệu chọn bit có
thể thay đổi được bằng 16 công tắc gạt bên ngoài, trạng thái các bit của
công tắc đều được hiển thị trên led.

21
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
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.

Hình 3.3: Các nhóm bit trạng thái của công tắc
Hình 3.4: Tách bit I,Q
3.2.2.2 Truyền thông nối tiếp SPI:
Truyền thông giữa hai chip sử dụng kỹ thuật truyền thông SPI có bắt
tay. Trong phương pháp này, Cyclone II sẽ kiểm tra chân vào Sync của
mình, tới khi chân này nhận được một sườn xung (âm hoặc dương) từ
APEX II thông báo sẵn sàng nhận (RR) thì Cyclone II sẽ truyền các bit I,Q
lần lượt của các nhóm A,B,C,D sang cho APEX II rồi đợi tín hiệu RR tiếp

theo.
22
B3 B2 B1 B0
Q
I
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
Truyền thông SPI vừa tạo ra sự đồng bộ giữa hai loại chip FPGA
hoạt động trong chu kỳ xung nhịp khác nhau vừa tạo ra sự độc lập tương
đối giữa hai khối chọn dữ liệu và điều chế. Nhờ có truyền thông SPI, tần
số sóng mang có thể dễ dàng thay đổi mà vẫn giữ được sự đồng bộ với
khối ánh xạ ký hiệu. Ngược lại, ta có thể tạo ra các chòm sao cấp cao
hơn, có số bit lớn hơn đưa sang điều chế mà ko gây ra nhiều thay đổi cho
khối điều chế.
Hình 3.5: Truyền thông nối tiếp SPI
3.2.2.3 Bộ tạo sóng mang:
Nhằm mục đích tạo tín hiệu sin chuẩn để đưa vào điều chế. Do dữ
liệu sin số được xuất ra từ phần mềm PASCAL, mà phần mềm này lấy
mẫu tín hiệu sin đều nên nếu lấy mẫu cả một chu kì sin xử lý đưa ra DAC
thì tín hiệu quan sát được sẽ có dạng hình tam giác, không có độ cong
của tín hiệu sin. Để khắc phục nhược điểm này, chúng tôi tiến hành xuất
ra 630 mẫu của một phần tư chu kì sin rồi lập 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:

23

Ready
RR
Sync
Dữ liệu
I
Q
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.

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ì) để tạo ra sóng mang hình cos (lệch pha 90 độ với sóng mang
hình sin). Sơ đồ của bộ quay:
24
Tăng
Giảm
Hình 3.8: Bộ quay pha 90 độ
3.2.2.6 Bộ nhân số:
Bộ nhân số nhân sóng mang với dữ liệu của kênh I hoặc Q mà ký
hiệu ánh xạ đến để tạo ra tín hiệu A
Q
(n) và A
I
(n) như phương trình 1.4. Bộ
nhân số có dạng như sau:
(a) (b)
Hình 3.9: Bộ nhân số
Bộ nhân số thực hiện phép nhân dữ liệu số của kênh I với 2520 mẫu
của sóng mang hình sin và dữ liệu kênh Q với 2520 mẫu của sóng mang
hình cos rồi đưa kết quả ra bộ cộng.
3.2.2.7 Bộ cộng số:
Bộ cộng số thực hiện phép cộng số học các dữ liệu vừa được tính
toán ở bộ nhân để kết hợp các tín hiệu các kênh I,Q để tạo ra tín hiệu
QAM. Ngoài ra, khi sau khi cộng các tín hiệu I,Q do sóng mang có dạng
hình sin nên chứa cả thành phần âm, dương trong khi bộ biến đổi DAC
bên ngoài chỉ nhận đúng các số dương nên phải nâng thành phần một
chiều của tín hiệu QAM số lên bằng cách cộng vào nó một hằng số không
đổi. Tín hiệu QAM số sau đó sẽ được đưa vào bộ chuyển đổi DAC để tạo
ra tín hiệu QAM quan sát được trên dao động ký.
25

Trễ ¼ chu kì
I A
I
(n) Q A
Q
(n)
A
I
(n)

×