Tải bản đầy đủ (.pdf) (58 trang)

nghiên cứu, thiết kế, xây dựng bộ điều chế và giải điều chế qam-16qam 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 (1.51 MB, 58 trang )

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


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 thông lượng cực
2
đạ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
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

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:
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ế".
4
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.
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:
5
η

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:
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 độ
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

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
8
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.
Hình 2.6: BER cho QAM
Sơ đồ khối của bộ điều chế QAM:

9
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
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ố
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

= 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.
11
2.1.4 Bộ thu QAM số
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.
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

(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í sản xuất. FPGA là chip
13
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
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

Element)
ESB
(Embedded
System
Block)
Số bit
RAM
tối đa
Số
macrocell
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 106496 832 382
EP20K200E 526000 200000 8320 52 106496 832 376
EP20K300E 728000 300000 11520 72 147456 1152 408
EP20K400 1052000 400000 16640 104 212992 1664 502
EP20K400E 1052000 400000 16640 104 212992 1664 488
EP20K600E 1537000 600000 24320 152 311296 2432 588
EP20K1000E 1772000 1000000 38400 160 327680 2560 708
EP20K1500E 2392000 1500000 51840 216 442368 3456 808
Hình 2.12: Một số thông số cơ bản của APEX EP20K
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
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.

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ế
- 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:
19
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
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.
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

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.
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ế.
21
B3 B2 B1 B0
Q
I
Ready
RR
Sync
Dữ liệu
I
Q
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:

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ì)

để 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:
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ố
23
Trễ ¼ chu kì
I A
I
(n) Q A
Q
(n)
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ý.
`
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

×