Kỹ thuật khôi phục sóng mang có gửi kèm tần số phao tiêu (pilot tone)
Trang 1Mục lục
Chương 1: Mở đầu 3
Chương 2: Kiến thức cơ sở 5
2.1 Điều chế và lý thuyết modem 5
2.1.1 Điều chế 5
2.1.2 Điều chế QAM 7
2.1.3 Bộ phát QAM số 11
2.1.4 Bộ thu QAM số 13
2.2 FPGA 15
Chương 3: Bộ điều chế QAM 21
3.1 Tổng quan 21
3.2 Bộ điều chế QAM 21
3.2.1 Nguyên tắc thực hiện 21
3.2.2 Mô hình bộ điều chế QAM xây dựng 22
3.3 Kết quả 26
Chương 4: Xử lý dấu phẩy động 28
4.1 Chuẩn dấu phẩy động IEEE 28
4.2 Một số ngoại lệ trong tính toán dấu phẩy động 29
4.2.1 Ngoại lệ phép toán sai 30
4.2.2 Ngoại lệ chia cho 0 30
4.2.3 Ngoại lệ tính toán không đúng 30
4.2.4 Ngoại lệ tràn dưới 31
4.2.5 Ngoại lệ tràn trên 31
4.2.6 Ngoại lệ không xác định 31
4.2.7 Ngoại lệ không 31
4.3 Các chế độ làm tròn 31
4.3.1 Làm tròn đến giá trị chẵn gần nhất 32
4.3.2 Làm tròn về 0 32
4.3.3 Làm tròn tăng, giảm 32
4.4 Các phép toán trên dấu phẩy động 33
4.4.1 Phép cộng và trừ 33
4.4.2 Phép nhân 35
Trang 24.4.3 Phép chia 36
4.5 Thiết kế phần cứng 38
Chương 5: Khôi phục nhịp ký hiệu 41
5.1 Tổng quan 41
5.2 Các kỹ thuật khôi phục nhịp ký hiệu 42
5.2.1 Kỹ thuật khôi phục nhịp ký hiệu gấp đôi 43
5.2.2 Kỹ thuật khôi phục nhịp ký hiệu biên độ tối đa 43
5.2.3 Kỹ thuật khôi phục nhịp ký hiệu sớm-muộn 44
5.2.4 Kỹ thuật khôi phục nhịp ký hiệu cắt không 45
5.3 Kỹ thuật khôi phục nhịp ký hiệu bằng phương pháp tương quan 46
5.3.1 Bộ xét tương quan 47
5.3.2 Quá trình xét tương quan 49
Chương 6: Khôi phục sóng mang và giải điều chế QAM 51
6.1 Tổng quan 51
6.2 Khôi phục sóng mang 52
6.3 Các kỹ thuật khôi phục sóng mang 54
6.3.1 Kỹ thuật khôi phục sóng mang có gửi kèm tần số phao tiêu (pilot tone) 54
6.3.2 Vòng lặp vuông (Squaring Loop) 54
6.3.3 Vòng lặp Costas 55
6.3.4 Vòng khóa pha phản hồi quyết định 56
6.4 Giải điều chế QAM sử dụng phương pháp tương quan 57
Kết luận 59
TÀI LIỆU THAM KHẢO 60
Trang 3Chươ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ấttrong 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ọcnhanh 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 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ôngphải thay thế hay sản xuất linh kiện mới Điều này sẽ cho chi phí NRE của FPGAthấ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ốicá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ăngkế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ânkhả 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
Trang 4Language) 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ĩamộ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ăngtrong 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ôngtrong 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ốihợ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 trongcá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ăngcườ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đạ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ácmodem 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ăngthô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ệckhá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ácchò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ệuQAM-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ử
Trang 5dụng ngôn ngữ thiết kế phần cứng VHDL để lập trình và sau đó nhúng lên hai chipFPGA APEX II[6] và Cyclone II[7].
độ, 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)) Φ(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
Trang 6Đ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óngnà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ệutrong "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)
Trang 7Hì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ởidạ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ôngkhô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ạpnhiễ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:
s =
B
Rb (2.3)
Với Rb là tốc độ bit được xác định bằng số bit trong một giây còn B là băngthô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
Trang 8hì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 đồngpha, 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)) Φ(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ìnhtoán học của biên độ và pha tín hiệu điều chế như trong Phương trình 2.1 Đầutiê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 độ
của tín hiệu I, Q được biểu diễn trong giản đồ chòm sao ở Hình 1 Trong trườnghợ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
Trang 9Ta nhận thấy, chòm sao được phân bố dựa trên mã Gray (các điểm sao lâncận nhau đều có ít nhất một bit khác nhau) Phân bố mã Gray này có ý nghĩa rấtlớ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
Trang 10Xét bốn chòm sao QAM-4, QAM-16, QAM-64, QAM-256 được biểu diễntươ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ữacá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ướcchò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ỗibit và là SNR bị chia bởi số bit trong mỗi ký hiệu Bảng này đã chứng minh nhữngnhậ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òmsao thay đổi
Trang 11Hì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ênhI,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 AI(t) và AQ(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átra
2.1.3 Bộ phát QAM số
I(t)
Dữ liệu
Bộ Tạo Sóng Sin
Dịch pha 90 độ
Tách I,Q
I
Tín hiệu QAM
Trang 12Cấ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ệutạ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ớitố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ểmchò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ã Graysang số mã nhị phân
Trang 13Hì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 m0 là giá trị ánh xạ, mi 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 xungvuô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ínhiệ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ố
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
Trang 14Hì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 quantrọ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ênhtruyề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ẫumỗ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 đềugiữ 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ôiphụ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 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ếtquả 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
Trang 15A 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+Φ(t)) cos(4 f c t)] - A Q (t)[sin(4 f c t)]} (2.10)
A I ’(t)=LPF{ A I (t) +Φ(t)) A I (t)cos(4 f c t) - A Q (t)sin(4 f c t)} (2.11)
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)] +Φ(t)) A Q (t)[1-cos(4 f c t)]} (2.15)
A Q ’(t)=LPF{-A I (t)sin(4 f c t) +Φ(t)) A Q (t) - A Q (t)cos(4 f c t)} (2.16)
Mối liên hệ giữa sóng sin và cos được sử dụng cho bộ giải điều chế vuôngpha đượ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ư 8051chẳng hạn) mà không phải tốn hàng ngàn đô cho chi phí sản xuất FPGA là chipdà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 FieldProgrammable ở đâ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ảnxuấ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
Trang 16ngườ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ùngbằ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ôngthườ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ớimứ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 độclậ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 đượckế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ểnmạ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ữngkhố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ốitrê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
Trang 17Hì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ọ linhkiệ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ổngAND Mô hình LUT dẫn tới bit có thể linh động hơn và cung cấp nhiều lốivà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ưngAltera 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
Trang 18Nam, 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ố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
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
Trang 19hướng của tín hiệu Khi sử dụng các chân clock chuyên dụng thì thanh ghi nàycung 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ệuliê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ộiFastTrack
Hình 2.14: Cấu trúc của MegaLAB
Trang 20Như ở 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ốivà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ốiFastTrack
Trang 21VHDL 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 đổitầ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ứcQAM 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:
Trang 22Hì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
Thay đổi tần số
Trang 23Hì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 khichân này nhận được một sườn xung (âm hoặc dương) từ APEX II thông báo sẵnsàng nhận (RR) thì Cyclone II sẽ truyền các bit I,Q lần lượt của các nhómA,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 độngtrong chu kỳ xung nhịp khác nhau vừa tạo ra sự độc lập tương đối giữa hai khốichọ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à kogây ra nhiều thay đổi cho khối điều chế
Trang 24Hì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ậptrình hiệu chỉnh lại trên FPGA để tạo ra đủ một chu kì sin với 2520 mẫu Nguyêntắ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 1nê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óngmang để 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ấymẫu tăng, giảm
TăngGiảm
Trang 25Hì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 Tuynhiê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ôngnố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 AQ(n) và AI(n) như phương trình 1.4 Bộ nhân số có dạngnhư sau:
Trang 26Bộ 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ủasó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, khisau 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ànhphần âm, dương trong khi bộ biến đổi DAC bên ngoài chỉ nhận đúng các số dươngnê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ý
Trang 27Chương 4:
Xử lý dấu phẩy động
4.1 Chuẩn dấu phẩy động IEEE:
Trang 28Để thuận lợi cho việc tính toán các số nhị phân lớn, cộng đồng các kỹ sưđiện-điện tử(IEEE) đã nghiên cứu và đưa ra chuẩn IEEE 754 để xử lý dấu phấyđộng nhị phân Theo chuẩn này thì khung diễn tả một dấu phảy động phải có kíchthước chuẩn là 32 bit (độ chính xác đơn) và 64 bit (độ chính xác kép) Trong đề tàinày, chúng tôi xây dựng hệ thống để xử lý dấu phẩy động theo chuẩn 32 bit Nhưtrong hình vẽ, khung 32 bit được chia thành ba nhóm riêng biệt: các bit thấp từbit0 đến bit22 dùng để xác định phần định trị(mantissa), các bit từ 23 đến 30 đểxác định số mũ, còn bit 31 là bit dấu.
Hình 4.1: Chuẩn phẩy động 32 bit của IEEE
Gọi số thập phân được hình thành từ chuẩn dấu phẩy động này là V, ta cóbiểu thức:
V = (-1)S * M * 2E – 127
Với (-1)S biểu thị bit dấu (bit31: bit có trọng số lớn nhất trong khung) Ta
dễ dàng nhận thấy biểu thức này sẽ biểu diễn số dương nếu S=0 và ngược lại, sẽbiểu diễn số âm khi S=1 Nhìn vào hình vẽ ta thấy, 8 bit từ bit 23 đến bit 30 biểudiễn số mũ E, như vậy, E có thể thay đổi từ 0 đến 255 Sau khi trừ số mũ cho 127theo đúng chuẩn thì sẽ cho phép số mũ chạy từ 2-127 đến 2128 Các bit còn lại biểuthị phần định trị M, phần định trị được hình thành từ 23 bit biểu diễn một phân sốdưới dạng nhị phân Ví dụ: với số nhị phân 1,0101; có thể khai triển thành 1 + 0/2+ ¼ + 0/8 + 1/16 Dấu phẩy động khi biểu diễn các phân số cũng được chuẩn hóanhư vậy Chỉ có duy nhất một kí tự khác không bên trái dấu phẩy động, số đótrong hệ 2 hiển nhiên là 1 Do vậy, bit đứng đầu phần định trị được mặc định là 1,
và bit đó được lưu trữ trong khung Giả sử m22, m21, … m0 biểu thị 23 bit trongkhung chuẩn của IEEE thì số định trị M được hiểu là:
Bit
Trang 29Biểu diễn thập phân của M là:
M = 1 + m22 * 2-1 + m21 * 2-2 + m20 * 2-3 + ……
Đối với các khung nhị phân biểu diễn dấu phẩy động, 0 là một số đặc biệt,
số 0 có toàn bộ phần định trị và số mũ bằng 0 và bit dấu có thể là 1 hoặc 0 Bảngdưới đây sẽ cho chúng ta hiểu hơn về cách tính dấu phẩy động và các giới hạn củanó
Hình 4.2: Một số giá trị phẩy động
4.2 Một số ngoại lệ trong tính toán dấu phẩy động
Chuẩn IEEE định nghĩa năm ngoại lệ mà mỗi khi chúng khởi tạo sẽ đượcbáo hiệu bằng một cờ trạng thái
4.2.1 Ngoại lệ phép toán sai
Trang 30Một vài phép toán số học không đúng như chia cho 0 hay căn bậc hai củamột số âm Kết quả của một phép toán sai được gọi là NaN Có hai loại NaN: NaNtĩnh (QNaN) và NaN báo hiệu (SNaN) có dạng như sau (s là bit dấu):
QNaN = s 11111111 10000000000000000000000
SNaN = s 11111111 00000000000000000000001
Kết quả của mọi phép toán sai sẽ là một chuỗi QNaN với ngoại lệ là QNaNhoặc SNaN Còn SNaN sẽ chỉ báo hiệu mỗi khi một toán hạng đầu vào là mộtchuỗi SNaN Các phép toán số học sau đây là phép toán sai nên sẽ cho kết quả làmột chuỗi QNaN và báo hiệu một ngoại lệ QNaN
- Bất kì phép toán nào với một NaN
- Cộng hoặc trừ: ( )
- Phép nhân: 0 ( )
- Phép chia: 0 / 0 hoặc /
- Căn bậc hai: Với các toán hạng nhỏ hơn 0
4.2.2 Ngoại lệ chia cho 0:
Phép chia của bất kì số nào cho 0 đều cho một kết quả không xác định haythậm chí ngay trong việc cộng hoặc nhân của hai số cũng có thể tạo ra kết quảkhông thể xác định Để có thể phân biệt được hai trường hợp đó, một ngoại lệ chiacho 0 phải được thực hiện
4.2.3 Ngoại lệ tính toán không đúng
Ngoại lệ này sẽ báo hiệu khi kết quả của phép toán không thật sự chính xáccho giới hạn của số mũ và (hay) vùng chính xác
4.2.4 Ngoại lệ tràn dưới
Ngoại lệ tràn dưới sẽ được báo khi phép tính có độ nhỏ hoặc không chínhxác Độ nhỏ đó sẽ được phát hiện trước hoặc sau khi làm tròn khi kết quả nằmgiữa 2Emin Sự mất chính xác được phát hiện khi kết quả không chính xác haykhi một mất mát giải chuẩn hóa xảy ra Nhân FPU sẽ báo hiệu một ngoại lệ tràn