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

TTLA Thuật toán đồng bộ và giải mã dữ liệu trong máy thu IRUWB tốc độ thấp

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.48 MB, 27 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRẦN MẠNH HOÀNG

THUẬT TOÁN ĐỒNG BỘ VÀ GIẢI MÃ DỮ LIỆU
TRONG MÁY THU IR-UWB TỐC ĐỘ THẤP

Chuyên ngành: Kỹ thuật viễn thông
Mã số:

62520208

TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT VIỄN THÔNG

Hà Nội – 2016


Công trình được hoàn thành tại:
Trường Đại học Bách khoa Hà Nội

Người hướng dẫn khoa học:
1. PGS. TS. Phạm Văn Bình
2. PGS. Vũ Quý Điềm

Phản biện 1:
Phản biện 2:
Phản biện 3:
Luận án được bảo vệ trước Hội đồng đánh giá luận án
tiến sĩ cấp Trường họp tại Trường Đại học Bách khoa Hà
Nội



Vào hồi …….. giờ, ngày ….. tháng ….. năm ………

Có thể tìm hiểu luận án tại thư viện:
1. Thư viện Tạ Quang Bửu - Trường ĐHBK Hà Nội
2. Thư viện Quốc gia Việt Nam


Phần mở đầu
1. Giới thiệu chung về UWB
1.1 Khái niệm UWB
Truyền thông băng siêu rộng (UWB) là kĩ thuật truyền tín hiệu vô tuyến trên dải
băng tần siêu rộng (không cần cấp phép) với mức công suất rất thấp trong sơ đồ
thu/phát gần như hoàn toàn số; do đó thường có độ phức tạp và công suất tiêu thụ
thấp, có thể truyền dữ liệu ở tốc độ cao hoặc ở tốc độ thấp với độ chính xác cao.

1.2 Tình hình nghiên cứu UWB trên thế giới và ở Việt Nam
Việc triển khai UWB trên thực tế vẫn còn nhiều thách thức như (i) chi phí triển
khai lớn, (ii) máy thu phức tạp hay (iii) khó thực hiện ước lượng kênh và đồng bộ tín
hiệu. Hiện nay, có hai hướng phát triển chính là sử dụng kĩ thuật truyền tham chiếu
(TR) và thiết kế tối ưu bộ xử lý băng gốc để đạt được độ phức tạp tính toán và công
suất tiêu thụ thấp.
Tại Việt Nam, phần nhiều hướng nghiên cứu về UWB tập trung vào thiết kế anten
hoặc mạch tạo xung theo kĩ thuật chaotic UWB mà ít quan tâm đến các thuật toán
xử lý tín hiệu và thiết kế bộ xử lý băng gốc cho máy thu IR-UWB.

2. Tính cần thiết của luận án và những vấn đề sẽ
giải quyết
Những đột phá trong công nghệ số thời gian gần đây đã kéo theo sự xuất hiện
rộng khắp của các thiết bị điện tử cá nhân trong cuộc sống hằng ngày. Yêu cầu đặt

ra với những thiết bị này là kích thước nhỏ gọn, tiết kiệm năng lượng, trao đổi thông
tin qua sóng vô tuyến và truyền dữ liệu có độ tin cậy cao với tốc độ thỏa mãn yêu cầu
của ứng dụng. Mặt khác, nguồn tài nguyên tần số ngày càng khan hiếm khiến cho
việc phát triển một kĩ thuật truyền dẫn mới không gây can nhiễu lên các hệ thống
hiện có trở nên cấp thiết.
UWB xuất hiện như một ứng viên có khả năng giải quyết được những vấn đề vừa
nêu. Dù vậy, việc triển khai công nghệ này vẫn cần vượt qua hàng loạt thách thức
như (i) khó khăn trong việc định dạng xung UWB, (ii) ước lượng kênh truyền phức
1


tạp, (iii) cần sử dụng bộ ADC tốc độ siêu cao đắt đỏ hay (iv) khó thực hiện đồng bộ
tín hiệu. Trong luận án này, tác giả hướng sự tập trung vào những vấn đề cụ thể sau:
• Vấn đề 1: phát triển thuật toán xử lý tín hiệu đơn giản và hiệu quả cho máy
thu TR-UWB, có khả năng triển khai thành công trên phần cứng.
• Vấn đề 2: phát triển thuật toán đồng bộ tín hiệu cho máy thu UWB IEEE
802.15.4a, tiến tới việc chế tạo bộ DSP băng gốc cho máy thu trên phần cứng.

3. Mục tiêu, đối tượng, phạm vi và phương pháp
nghiên cứu
3.1 Mục tiêu nghiên cứu
• Đề xuất và tối ưu hóa được các thuật toán xử lý tín hiệu cho máy thu UWB
với độ tin cậy cao, độ phức tạp thấp, phù hợp cho các ứng dụng WPAN tốc độ
thấp.
• Thiết kế, kiểm tra và triển khai thử nghiệm bộ DSP băng gốc UWB trên FPGA.

3.2 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: hệ thống thu/phát số IR-UWB với trọng tâm là bộ xử lý
tín hiệu số băng gốc cho máy thu và được chia thành các phần sau:
• Các thuật toán xử lý tín hiệu cho máy thu IR-UWB: tách kí hiệu, đồng bộ tín

hiệu.
• Thiết kế số cho bộ DSP băng gốc IR-UWB: thiết kế kiến trúc và các khối chức
năng, thiết kế logic, tích hợp, kiểm tra và triển khai hệ thống trên FPGA.
Phạm vi nghiên cứu: bộ DSP băng gốc cho máy thu IR-UWB, từ nghiên cứu và
phát triển thuật toán (lý thuyết) đến triển khai trên phần cứng (thực hành).

2


3.3 Phương pháp nghiên cứu
• Chất lượng thuật toán máy thu được đánh giá sử dụng phương pháp MonteCarlo trên MATLAB.
• Các khối chức năng cho máy thu UWB được thiết kế trên Simulink trước khi
chuyển sang thiết kế logic trên FPGA và tích hợp thành hệ thống trên chip.
• Các công cụ toán học được sử dụng để kiểm tra hệ thống UWB.
• Hệ thống trên FPGA được kết nối với môi trường Simulink/MATLAB để kiểm
nghiệm và tối ưu hóa.

4. Cấu trúc nội dung của luận án
Nội dung của luận án gồm 4 chương. Chương 1 giới thiệu tổng quan về kỹ thuật
UWB, phép phân tích SVD và mô hình kênh IEEE 802.15.4a. Chương 2 đề xuất kịch
bản truyền tham chiếu cho máy thu UWB và một thuật toán máy thu mới. Chương
3 triển khai thuật toán SVD trên phần cứng sử dụng khối CORDIC tự thiết kế cho
máy thu TR-UWB cải tiến. Chương 4 phát triển một thuật toán đồng bộ cho máy
thu UWB IEEE 802.15.4a, đồng thời triển khai máy thu này trên HDL/FPGA.

3


Chương 1
Tổng quan về truyền thông băng siêu

rộng
1.1

Những khái niệm cơ bản

Hệ thống UWB có băng thông B > 500 MHz hay B > 20%fc .

1.1.1

Các phương án triển khai hệ thống UWB

Hiện đang có hai phương pháp chính để triển khai một hệ thống UWB:
• Multiband (MB)-OFDM: sử dụng OFDM để chia băng thông thành các băng
con, sau đó kí tự dữ liệu được điều chế và truyền đi bởi các sóng mang con.
• Impulse-Radio (IR)-UWB: truyền các xung rất hẹp trong miền thời gian (cỡ
ns) mà không sử dụng sóng mang và ở mức công suất phát rất thấp.

1.1.2

Chuẩn hóa và ứng dụng

IEEE-SA đã thành lập hai nhóm chuẩn hóa: nhóm 802.15.3a cho ứng dụng tốc độ
cao (đang tạm dừng hoạt động) và nhóm 802.15.4a cho ứng dụng tốc độ thấp.

1.2

Điều chế tín hiệu trong IR-UWB

Phương pháp IR-UWB sử dụng hai kĩ thuật điều chế: PAM và PPM.


1.2.1

Máy thu RAKE

Sử dụng một dãy các bộ tương quan để nhân tín hiệu nhận được với các bản trễ
của xung mẫu, sau đó tổng hợp lại để xác định kí tự truyền đi. Nhược điểm: ước
lượng kênh truyền phức tạp, sử dụng bộ ADC tốc độ cao.

4


1.2.2

Máy thu truyền tham chiếu

Kịch bản thu/phát tín hiệu, trong đó mỗi khung gồm hai xung được phát đi là
xung tham chiếu và xung mang tin. Ưu điểm: không cần ước lượng kênh truyền và
bộ ADC tốc độ cao, bỏ qua thao tác đồng bộ ở phần tương tự của máy thu.

1.3

Những thách thức trong quá trình nghiên cứu

• Phần cứng: biến dạng xung do anten, chuyển đổi tương tự-số.
• Xử lý tín hiệu: đồng bộ, giải mã dữ liệu (khi chưa biết kênh), ước lượng kênh.

1.4

Thuật toán SVD


Mọi ma trận X ∈ Cm×n có thể được phân tích thành: X = UΣVH với U, V là
các ma trận trực giao và Σ là ma trận đường chéo.

1.5
1.5.1

Mô hình kênh vô tuyến UWB
Mô hình kênh Saleh-Valenzuela

Các tia đến máy thu theo từng cụm và các tia trong mỗi cụm tuân theo tiến trình
Poisson.

1.5.2

Mô hình kênh UWB IEEE 802.15.4a

Mô hình kênh UWB IEEE 802.15.4a tương tự như mô hình kênh Saleh-Valenzuela,
chỉ thay đổi ở một số điểm: phân bố Poisson kết hợp cho các tia trong cụm, hằng
số suy hao theo thời gian trong mỗi cụm phụ thuộc vào trễ, small-scale fading theo
phân phối Nakagami và block fading.

5


Chương 2
Thuật toán đồng bộ và triển khai
máy thu TR-UWB trên FPGA
2.1

Thuật toán đồng bộ


Thuật toán đồng bộ hoạt động như sau: đầu tiên, máy thu xác định vị trí bắt
đầu của mỗi khung; sau đó, tìm các phân khung dữ liệu trong một đoạn tín hiệu thu
kTs
h2 (t)dt luôn cùng dương (hoặc
được. Dựa trên nhận xét tất cả các giá trị s ˙
(k−1)Ts

âm) tùy theo dấu của s, ta có thể gom tất cả các giá trị này lại bằng cách sử dụng
cửa sổ trượt. Ở đây, việc sử dụng cửa sổ trượt với chiều dài cửa sổ bằng 1/3 chiều
dài khung dữ liệu (tức bằng D) để cộng dồn năng lượng của tín hiệu thu, sau đó mới
thực hiện tìm đỉnh để cùng lúc hoàn thành cả hai thao tác của quá trình đồng bộ.

2.2

Triển khai trên Simulink và HDL

Sử dụng phương pháp thiết kế dựa trên mô hình (MBD), trong đó: máy phát,
kênh truyền và một số phần của máy thu được triển khai trên Simulink; thuật toán
đồng bộ và giải mã tín hiệu được triển khai trên phần cứng sử dụng Verilog HDL.

2.2.1

Thiết kế

Sau khi qua bộ nhân tương quan, tín hiệu được đưa tới bộ DSP băng gốc gồm
hai phần datapath và controller (Hình 2.2). Mọi xử lý của phần datapath được điều
khiển bởi phần controller với sơ đồ máy trạng thái hữu hạn như Hình 2.3.

2.2.2


Triển khai bằng ngôn ngữ mô tả phần cứng

Bộ DSP băng gốc cho máy thu TR-UWB được triển khai sử dụng ngôn ngữ Verilog
HDL với 4 đầu vào và 1 đầu ra (Bảng 2.1). File Verilog mô tả các khối trong Hình
2.2 được nạp vào mô hình Simulink.

6


Hình 2.1: Hệ thống thu phát TR-UWB trên Simulink

Hình 2.2: Kiến trúc của bộ xử lý băng gốc

2.3
2.3.1

Tổng hợp và mô phỏng
Tổng hợp

Thiết kế bộ DSP băng gốc được tổng hợp sử dụng Xilinx ISE với 8 bit lượng tử
hóa (Bảng 2.2).

7


Hình 2.3: Lưu đồ FSM
Cổng

Vào / Ra


Loại

Số bit

clk

vào

Boolean

1

rst

vào

Boolean

1

start

vào

Boolean

1

sample_in


vào

Signed

m

data_bit

ra

Boolean

1

Bảng 2.1: Các đầu vào/ra của hệ thống
Khối

Mainblock

Detect_max

Number of Slice Registers

52

15

Number of slide LUTs


72

27

Number of fully used LUT-FF pairs

49

14

Number of bonded IOBs

33

33

400 MHz

300 MHz

Max frequency

Bảng 2.2: Báo cáo tổng hợp trên dòng Spartan 6 XC6SLX45 package CSG324

8


2.3.2

Kết quả mô phỏng


Kịch bản mô phỏng: xung UWB là xung Gauss đơn chu trình có độ rộng 2 ns;
khung có kích thước Tf = 180 ns, khoảng cách giữa hai xung D = 60 ns; kênh truyền
IEEE CM1; tần số lấy mẫu 100 MHz; chạy 1000 vòng lặp Monte-Carlo, mỗi vòng
phát 100 kí tự dữ liệu. Simulink và System Generator được sử dụng để mô phỏng và
tính toán tỉ lệ BER theo SNR cho các trường hợp: C1 - giả thiết đã đồng bộ hoàn
hảo (trên Simulink), C2 - máy thu thực hiện đồng bộ trên Simulink và C3 - máy thu
thực hiện đồng bộ trên HDL/FPGA. Kết quả mô phỏng cho thấy tỉ lệ BER của các
triển khai trên Simulink (C2) và HDL/FPGA (C3) khá gần với trường hợp lí tưởng
(C1): độ chênh lệch rơi vào khoảng 3 dB.

Hình 2.4: BER vs. SNR

9


Chương 3
Thuật toán SVD cho máy thu TRUWB
3.1
3.1.1

Máy thu TR-UWB sử dụng SVD
Đặt vấn đề

Chất lượng BER vs SNR của máy thu TR-UWB đơn giản khá hạn chế do lấy tích
phân trên toàn bộ khung trong khi dữ liệu có ích chỉ nằm trong phân khung II và
phần tín hiệu có ích này không phân bố đều mà suy giảm theo hàm mũ. Có thể giải
quyết hai vấn đề này nhờ thay đổi thuật toán máy thu.

Hình 3.1: Một khung tín hiệu x(t) tại phía thu


3.1.2

Các thuật toán máy thu cải tiến

Sử dụng kĩ thuật ”integrate-and-dump” với nhiều hơn một mẫu trên một khung.
Mỗi khung có 3N mẫu, nhưng máy thu chỉ sử dụng N mẫu ở phân khung II chứa tín
hiệu có ích.

10


Máy thu lấy N mẫu trong phân khung II của tín hiệu xi (t) như sau:
D+(n+1)Ts

h2 (t − D)dt = si · hn

xi,n := xi (nTs ) = si

(3.1)

D+nTs

trong đó, Ts =

Tf
3N

là chu kì lấy mẫu và hn là các hệ số kênh ”mới”.
(n+1)Ts


h2 (t − D)dt

hn =

(3.2)

nTs

Gom các mẫu trong khung thứ i thành một vector thu được mô hình dữ liệu:
x i = si · h

(3.3)

trong đó, xi = [xi,0 , xi,1 , . . . , xi,N −1 ]T và h = [h0 , h1 , . . . , hN − 1]T .
Thuật toán ZF
Khi biết được thông tin về kênh, thuật toán ZF cho máy thu được xây dựng từ
mô hình dữ liệu (3.3) với giả thiết nhiễu và các đại lượng tương quan chéo giữa nhiễu
và tín hiệu bằng 0. Khi đó, mỗi kí hiệu được xác định bởi:
si = signhT xi

(3.4)

Thuật toán cải tiến không sử dụng tín hiệu dẫn đường (blind)
Xét quá trình thu/phát M kí tự liên tiếp với giả thiết kênh truyền không đổi trong
quãng thời gian này. Đưa tất cả các vector xi từ (3.3) thành một ma trận, thu được
mô hình dữ liệu cho nhiều kí hiệu:
[x0 , x1 , . . . , xM −1 ] = [s0 h, s1 h, . . . , sM −1 h]

(3.5)


X = hsT

(3.6)

Áp dụng SVD cho ma trận X trong bài toán xấp xỉ hạng 1 thu được đồng thời
hai vector h và s; sau đó tách kí hiệu bằng phép quyết định cứng.
X = UΣVH ,

ˆs = signv0

11

(3.7)


(a)

(b)

Hình 3.2: BER vs SNR cho các thuật toán máy thu khác nhau (a) và khả năng chống
sai lỗi thời gian của máy thu cải tiến (b)
Nhận xét
Máy thu ZF sử dụng các trọng số hi khác nhau khi cộng dồn các phần tử xi : phần
tín hiệu lớn hơn được nhân với trọng số lớn tương xứng; do đó máy thu sẽ có chất
lượng tốt hơn.
Kết quả mô phỏng
Hình 3.2 (a) cho thấy thuật toán máy thu cải tiến có chất lượng tốt hơn hẳn máy
thu đơn giản từ 2 dB - 5 dB (được cải thiện khi N tăng). Tuy nhiên, khi N ≥ 8, chất
lượng không được cải thiện đáng kể nữa. Ngoài ra, khả năng chống sai lỗi thời gian

của máy thu cải tiến (Hình 3.2 (b)) là rất tốt: hạn chế về BER dưới 0.5 dB.

3.2

Thuật toán tính SVD

Thuật toán tính SVD gồm hai bước:
1. Bidiagonalization: đưa ma trận ban đầu về dạng ma trận hai đường chéo,
2. Diagonalization: đưa ma trận hai đường chéo về dạng ma trận đường chéo.

12


Kết thúc bước 2, các phần tử trên đường chéo của ma trận thu được chính là các
singular value của ma trận ban đầu. Hai bước chéo hóa ma trận đều sử dụng một
phép quay có tên là Givens Rotation để xoay liên tiếp ma trận ban đầu về dạng mong
muốn bằng cách nhân ma trận đầu vào với một ma trận trực giao.

3.3

Thuật toán CORDIC

Thuật toán CORDIC xuất phát từ phép quay Givens Rotation khi góc quay θ
thỏa mãn tan θ = ±2−i . Lúc này, phép nhân với tan θ được đơn giản hóa bằng một
phép dịch bit. Việc quay một góc ngẫu nhiên được thay thế bằng việc quay liên tiếp
nhiều góc nhỏ thỏa mãn điều kiện trên. Giá trị của tan−1 (2−i ) là các hằng số và được
lưu sẵn vào bộ nhớ ROM trên phần cứng. Như vậy, thuật toán CORDIC được thể
hiện qua hệ ba phương trình:

−i


 xi+1 = xi − si yi 2
(3.8)
yi+1 = yi − si xi 2−i

z = z − s tan−1 (2−i )
i+1
i
i
CORDIC làm việc ở hai chế độ: chế độ quay (Rotation) – vector được quay đi
một góc xác định bởi tham số đầu vào, và chế độ Vector (Vectoring) – vector được
quay về trục x và ghi lại giá trị góc quay được.

3.4

Thuật toán CORDIC cải tiến

Trên phần cứng, phép quay Givens Rotation được thực hiện bằng khối CORDIC
qua hai bước:
• Bước 1: sử dụng một khối CORDIC Vectoring cho cặp (xk , yk ), thu được θ,
• Bước 2: sử dụng N − 1 khối CORDIC Rotation cho các cặp còn lại với góc quay
đầu vào là θ.
Với cách thức trên, khi khối CORDIC Vectoring quay cặp (xk , yk ) và xác định góc
quay θ, các khối CORDIC Rotation không hoạt động vì phải đợi giá trị đầu vào là θ.
Như vậy, năng lực tính toán của phần cứng không được tận dụng triệt để, đồng thời
cần có khối tính toán, xử lý góc quay θ.
13


Để cải thiện điều này, tại mỗi vòng lặp CORDIC - Vectoring, cặp (xk , yk ) được

quay đi một góc nhỏ nào đó dựa vào dấu của yk và chỉ số vòng lặp i. Các tín hiệu
điều khiển này đồng thời được đưa vào các khối CORDIC còn lại để quay các cặp
phần tử khác của vector đầu vào một góc tương tự như với cặp (xk , yk ). Như vậy, tất
cả các cặp của vector đầu vào đều được quay một góc θ mà không cần sử dụng đến
khối tính toán góc.
Do góc quay trong mỗi vòng lặp có giá trị xác định, góc quay tổng hợp sau một
số vòng lặp nhất định thường không đạt tới giá trị góc cần quay. Sai số tuyệt đối giữa
hai giá trị này phụ thuộc vào vị trí của vector đầu vào trong mặt phẳng Descartes
(Hình 3.3): khi vector đầu vào thuộc góc phần tư thứ II hoặc III, sai số mắc phải là
rất lớn (xấp xỉ 1 radian) ngay cả khi tăng số vòng lặp lên rất nhiều (100 vòng lặp).
Để khắc phục sai số này, cải tiến được đưa ra là quay vector đầu vào đi một góc ±π/2
radian trước khi tiến hành phép quay CORDIC.

Hình 3.3: Sai số của phép quay CORDIC phụ thuộc vào vị trí của vector đầu vào
Hình 3.4 cho thấy ảnh hưởng của hai yếu tố định dạng dữ liệu đầu vào và số vòng
lặp lên độ chính xác của khối CORDIC trên phần cứng. Kết quả mô phỏng cho thấy
14


Hình 3.4: Sai số của phép quay CORDIC phụ thuộc vào định dạng dữ liệu và số vòng
lặp
định dạng dấu phẩy tĩnh 8.16 (gồm 16 bit sau dấu phẩy và 12 bit trước dấu phẩy – 4
bit được thêm vào để chống tràn) và 16 vòng lặp là thích hợp nhất để triển khai trên
phần cứng. Khi đó, mỗi phép quay Givens được thực hiện bởi khối CORDIC trong
16 xung clock.
Sơ đồ ghép nối các khối CORDIC cải tiến để thực hiện phép quay Givens được
thể hiện trên Hình 3.5, theo đó, tất cả N khối CORDIC đều hoạt động cùng lúc
(pipeline) dựa trên tín hiệu điều khiển từ khối điều khiển (CTRL) và khối MUX.
Với thiết kế mới này, thời gian thực thi phép quay Givens trên phần cứng được giảm
đi từ 30 − 80% so với kiến trúc tuần tự ban đầu (non-pipeline) tùy vào kích thước

của ma trận (Bảng 3.1).

15


mxn
4x3
8x4
16 x 8
32 x 16
64 x 32

k
10
20
10
20
10
20
10
20
10
20

# Operations per Second
Non-pipeline (NSV D ) Pipeline (NSV D )
265.957
312.499
143.678
156.249

147.058
208.332
86.206
104.166
49.407
89.284
31.806
44.642
16.005
25.986
11.563
20.832
4.798
6.296
3.875
6.296

NSV D /NSV D
1.174.999
1.087.499
1.416.664
1.208.331
1.807.127
1.403.559
1.623.662
1.801.597
1.312.277
1.624.524

Bảng 3.1: Số phép toán SVD/s


X in
[N-1:0]
Y in
[N-1:0]

CORDIC

CORDIC

CORDIC · · · CORDIC

MSB
index

···
MUX

X out
[N-1:0]
Y out
[N-1:0]

MSB

ADD/SUB ctrl

CTRL

i/MUX ctrl


Hình 3.5: Phép quay Givens sử dụng các khối CORDIC cải tiến

16


Chương 4
Thuật toán đồng bộ cho máy thu
UWB IEEE 802.15.4a
4.1

Cấu trúc khung tín hiệu IEEE 802.15.4a

Khung tín hiệu UWB IEEE 802.15.4a cấu tạo bởi ba phần: tiêu đề đồng bộ (SHR)
gồm hai đoạn SYNC và SFD, tiêu đề lớp vật lí (PHR) và phần dữ liệu (PSDU).

4.2

Mô hình tín hiệu và kiến trúc máy thu

Sơ đồ khối của máy thu UWB dò năng lượng non-coherent được thể hiện trên
Hình 4.1. Các mẫu tín hiệu tại đầu ra bộ ADC được đưa vào khối xử lý tín hiệu số
(DSP) để thực hiện đồng bộ và giải mã tín hiệu.

Hình 4.1: Sơ đồ khối của máy thu UWB dò năng lượng non-coherent
Tín hiệu tại đầu vào bộ ADC có dạng:
y(t) =

Nshr −1
i=0


4.3

ai

Kpbs −1

c2k q(t − kTpr − iTpsym − τ0 ) + ny (t)

(4.1)

k=0

Thuật toán đồng bộ tín hiệu

Luận án đề xuất một thuật toán đồng bộ gồm hai bước:
1. Đồng bộ thô: từ t0 , máy thu nhảy đến một vị trí t1 thuộc đoạn SYNC.
2. Đồng bộ tinh: loại bỏ các kí tự SHR (từ t1 ) để thu được kí tự PHR đầu tiên.
17


s(t)
Frame 1
SYNC

SFD

Frame n

....


PHR+PSDU

SYNC

SFD

PHR+PSDU

....

0

t

y(t)
Frame 1
SYNC

SFD

Frame n

....

PHR+PSDU

SYNC

SFD


PHR+PSDU

....
t

0
τ0

t1

t0
Coarse SYNC

Fine SYNC

tphr

Hình 4.2: Các bước thực hiện đồng bộ tín hiệu

4.3.1

Đồng bộ thô

Quá trình đồng bộ thô được thực hiện như sau:
• Máy thu tạo ra một mẫu tương quan sc dựa trên Kpbs phần tử của chuỗi {ck }:
sc = [sc0 sc1 . . . scLs −1 ] với scj = c2j/Ns , j = 0 ÷ Ls − 1

(4.2)


• Tín hiệu y(nTs ) tại đầu ra bộ ADC được chia nhỏ thành các nhóm Ls mẫu và
đem nhân với sc để thu được mảng gi = [gi0 , gi1 , . . . , gi(Q−1) ], trong đó:
(k+1)N

gik =

scj · yij ,

k = 0, 1, . . . , (Q − 1)

(4.3)

j=kN +1

• Tìm kiếm vị trí của phần tử cực đại trong từng mảng gi : khi xuất hiện K
(K ≤ Nsync ) phần tử cực đại liên tiếp nhau có cùng vị trí, lựa chọn thời điểm
bắt đầu của nhóm mẫu thứ K/2 là vị trí t1 cần tìm.

4.3.2

Đồng bộ tinh

Thuật toán đồng bộ tinh gồm hai giai đoạn chính:
1. Ước lượng khoảng thời gian τ (tính từ t1 ) đến kí tự SYNC kế tiếp.
2. Loại bỏ các kí tự SHR còn lại để nhận được kí tự PHR đầu tiên.
18


Ước lượng giá trị của τ


Hình 4.3: Cách thức ước lượng τ
A. Xác định độ trễ τh
Đặt τh = mTpr + ε. Kí hiệu m
˜ và n
˜ ε lần lượt là giá trị ước lượng của m và nε
(nε = ε/Ts ). Giá trị của m và nε được xác định như sau:
m, nε =

arg max

{S[m,
˜ n
˜ ε ]}

0≤m
˜ ≤ Kpbs

(4.4)

0≤n
˜ ε ≤ Ns − 1
với S[m,
˜ n
˜ε]

1
M

M −1
i=0


Kpbs −1 2
c|k−m|
˜ ε +(k+iKpbs )Ns ).
k=0
˜ Kpbs y(tn

B. Xác định khoảng cách ∆
Đặt n∆ ∼
= ∆/Ts . Máy thu xem xét sự vượt ngưỡng của tổng:
S [m, n
˜ε]

1
M

M −1

c2|k−m|K

pbs

i=0 k∈Γ(m)

y(tn˜ ε + (k + iKpbs )Ns )

(4.5)

Từ vị trí nε , máy thu nhảy ngược về phía trái nback mẫu, sau đó bắt đầu tìm kiếm
về phía phải mẫu đầu tiên của S [m, n

˜ ε ] có giá trị lớn hơn ngưỡng λ (xác định bởi
ˆ = n∆ Ts với n∆ = nε − nεcross (Hình 4.4).
công thức 4.6), kí hiệu là nεcross . Khi đó, ∆

19


Hình 4.4: Dạng sóng của S [m, n
˜ ε ] (bỏ qua tạp âm)

λ =

Ns −1

S [m, n
˜ε]

(4.6)

n
˜ ε =0

Kết thúc quá trình ước lượng giá trị của τh và ∆, máy thu xác định τ = τh − ∆.
Xác định phần PHR
Dễ dàng chứng minh được tỉ số giữa công suất của phần SHR với phần PHR/PSDU
xấp xỉ 3.75. Dựa vào quan sát trên, kí tự PHR đầu tiên được phát hiện như sau:
• Đặt ngưỡng α = f Psync , trong đó Psync là công suất trung bình của kí tự mào
đầu và hằng số 1 < f < 3.75.
• Lần lượt so sánh công suất trung bình của từng đoạn tín hiệu có chiều dài Tpsym
(tính từ t1 + τ + Tpsym ) với α; tphr chính là vị trí bắt đầu của đoạn tín hiệu xảy

ra sự vượt ngưỡng.

20


Hình 4.5: Xác suất lỗi của thuật toán đồng bộ thô khi Ts thay đổi

4.4
4.4.1

Mô phỏng và kết quả
Đồng bộ thô

Hình 4.5 cho thấy độ chính xác của thuật toán đồng bộ thô không phụ thuộc vào
tốc độ của bộ ADC. Do đó, có thể sử dụng bộ ADC tốc độ thấp (ví dụ, fs = 62.5MHz
với Ts = 16ns) mà không ảnh hưởng đến khả năng hoạt động của thuật toán.

4.4.2

Đồng bộ tinh

Độ chính xác của thuật toán ước lượng τ được trình bày trong luận án so với
thuật toán do [1] 1 đề xuất được thể hiện trên Hình 4.6. Kết quả cho thấy, thuật toán
đề xuất hoạt động tốt (có độ chính xác cao hơn thuật toán của [1]) khi chu kì lấy
mẫu lớn (Ts = 8ns hoặc 16ns).
1

D’Amico, Mengali and Taponecco, ”TOA estimation with the IEEE 802.15. 4a standard”, IEEE
Transactions on Wireless Communications, vol. 9, no. 7, pg. 2238-2247, 2010


21


(a)

(b)

Hình 4.6: Xác suất lỗi của thuật toán ước lượng giá trị τ với Ts ∈ {4, 2}ns (a) và
Ts ∈ {16, 8}ns (b)

Hình 4.7: Xác suất lỗi của thuật toán phát hiện PHR với các giá trị Ts khác nhau
Hiệu quả hoạt động của thuật toán phát hiện phần PHR với các giá trị Ts khác
nhau được thể hiện trên Hình4.7 cho thấy ảnh hưởng của Ts lên độ chính xác của
thuật toán là không đáng kể. Điều này chứng tỏ thuật toán có thể hoạt động tốt với
bộ ADC tốc độ thấp.

22


(a)

(b)

Hình 4.8: Kết quả hiển thị dạng sóng (a) và kết quả thử nghiệm thiết kế trên FPGA
(b) với kênh truyền SNR = 0 dB

4.5

4.5.1


Triển khai khối đồng bộ cho máy thu UWB
IEEE 802.15.4a trên FPGA
Thiết kế khối đồng bộ bằng HDL

A. Yêu cầu kĩ thuật
Dữ liệu vào: số nguyên 8 bit không dấu; Dữ liệu ra: dạng nhị phân 1 bit không
dấu; Tốc độ xung nhịp yêu cầu: 62.5 MHz.
B. Thiết kế mô hình FSM cho khối đồng bộ
C. Mô tả kĩ thuật

4.5.2

Tổng hợp và triển khai thử nghiệm trên FPGA

Kiểm tra chức năng của khối đồng bộ
Kết quả của quá trình đồng mô phỏng Simulink/HDL để kiểm tra chức năng của
khối đồng bộ được thể hiện như dưới đây.
Triển khai trên FPGA

23


×