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
LUẬN ÁN TIẾN SĨ KỸ THUẬT VIỄN THÔNG
Hà Nội – 2016
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
LUẬN ÁN TIẾN SĨ KỸ THUẬT VIỄN THÔNG
NGƯỜI HƯỚNG DẪN KHOA HỌC: 1. PGS.TS. PHẠM VĂN BÌNH 2. PGS.VŨ QUÝ ĐIỀM
Hà Nội – 2016
LỜI CAM ĐOAN
Tôi xin cam đoan: Luận án này là công trình nghiên cứu thực sự của cá nhân, được thực hiện dưới sự hướng dẫn khoa học của PGS. TS. Phạm Văn Bình và PGS. Vũ Quý Điềm.
Các số liệu, những kết luận nghiên cứu được trình bày trong luận án này trung
thực và chưa từng được công bố dưới bất cứ hình thức nào.
Tôi xin chịu trách nhiệm về nghiên cứu của mình.
Hà Nội, ngày tháng năm 2016
Thay mặt tập thể hướng dẫn
Nghiên cứu sinh
PGS. TS. Phạm Văn Bình Trần Mạnh Hoàng
LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất tới hai người hướng dẫn của tôi: PGS. TS. Phạm Văn Bình và PGS. Vũ Quý Điềm, những người đã tận tình hướng dẫn, chỉ bảo, định hướng trong suốt quá trình tôi thực hiện luận án với sự tận tụy, sáng suốt và khoa học cao.
Tôi rất biết ơn và trân trọng sự giúp đỡ quý báu của TS. Đặng Quang Hiếu, TS. Nguyễn Đức Minh, TS. Hoàng Phương Chi và các thành viên trong nhóm nghiên cứu Thiết kế vi mạch (BKIC), Viện Điện tử - Viễn thông, Đại học Bách Khoa Hà Nội.
Tôi cũng xin gửi lời cảm ơn tới cơ quan tôi đang công tác: Bộ môn Mạch và Xử lý tín hiệu, Viện Điện tử - Viễn thông, Đại học Bách Khoa Hà Nội vì sự ủng hộ, giúp đỡ và tạo điều kiện về mọi mặt trong quá trình tôi theo học Nghiên cứu sinh.
Xin được gửi lời cảm ơn tới những nhà khoa học, bạn đồng nghiệp vì những
góp ý thiết thực cho luận án này.
Và xin được gửi lời cảm ơn đặc biệt nhất tới vợ, con trai và gia đình tôi, những người đã luôn bên cạnh, chia sẻ những khó khăn và là động lực giúp tôi hoàn thành luận án.
Hà Nội, ngày tháng năm 2016
Nghiên cứu sinh
Trần Mạnh Hoàng
Mục lục
Danh mục từ viết tắt 4
Danh sách kí hiệu toán học 6
Danh sách hình vẽ 8
Danh sách bảng 11
Phần mở đầu 12
Chương 1 Tổng quan về truyền thông băng siêu rộng
1.1 Lịch sử phát triển và định nghĩa của truyền thông băng siêu rộng . . 1.1.1 Các phương án triển khai hệ thống UWB . . . . . . . . . . . . 1.1.2 Chuẩn hóa và ứng dụng . . . . . . . . . . . . . . . . . . . . . 1.2 Điều chế tín hiệu trong IR-UWB . . . . . . . . . . . . . . . . . . . . 1.2.1 Máy thu RAKE . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Máy thu truyền tham chiếu . . . . . . . . . . . . . . . . . . . 1.2.3 Kết quả mô phỏng . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Những thách thức trong quá trình nghiên cứu IR-UWB . . . . . . . . 1.3.1 Thách thức khi triển khai trên phần cứng . . . . . . . . . . . 1.3.2 Thách thức trong quá trình xử lý tín hiệu . . . . . . . . . . . 1.4 Thuật toán SVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Mô hình kênh vô tuyến UWB . . . . . . . . . . . . . . . . . . . . . . 1.5.1 Mô hình kênh đa đường tổng quát . . . . . . . . . . . . . . . . 1.5.2 Mô hình kênh Saleh-Valenzuela . . . . . . . . . . . . . . . . . 1.5.3 Mô hình kênh UWB IEEE 802.15.4a . . . . . . . . . . . . . . 1.6 Kết luận chương 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 22 24 27 29 31 33 34 35 35 36 38 38 40 42 44
1
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ộ . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Triển khai trên Simulink và HDL . . . . . . . . . . . . . . . . . . . . 2.2.1 Thiết kế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Triển khai bằng ngôn ngữ mô tả phần cứng . . . . . . . . . . 2.3 Tổng hợp và mô phỏng . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Tổng hợp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Kết quả mô phỏng . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Kết luận chương 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 46 49 50 53 55 55 56 57
Chương 3 Thuật toán SVD cho máy thu TR-UWB
3.1 Máy thu TR-UWB sử dụng SVD . . . . . . . . . . . . . . . . . . . . 3.1.1 Thuật toán máy thu cải tiến . . . . . . . . . . . . . . . . . . . 3.2 Thuật toán tính SVD . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Bidiagonalization . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Diagonalization . . . . . . . . . . . . . . . . . . . . . . . . . . SVD sử dụng phép quay Givens Rotation . . . . . . . . . . . . 3.2.3 3.3 Thuật toán CORDIC . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Chế độ Rotation . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Chế độ Vectoring . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Thuật toán CORDIC cải tiến . . . . . . . . . . . . . . . . . . . . . . 3.5 Kết luận chương 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 58 58 63 66 68 70 70 73 74 74 78
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 . . . . . . . . . . . . . . . . 4.1.1 Tiêu đề đồng bộ . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Khối giới hạn khung . . . . . . . . . . . . . . . . . . . . . . . 4.1.3 Phần tiêu đề lớp vật lý và tải dữ liệu . . . . . . . . . . . . . . 4.2 Mô hình tín hiệu và kiến trúc máy thu . . . . . . . . . . . . . . . . . 4.3 Thuật toán đồng bộ tín hiệu . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Đồng bộ thô . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Đồng bộ tinh . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Mô phỏng và kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Đồng bộ thô . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 81 81 83 83 84 85 86 88 97 99
2
4.4.2 Đồng bộ tinh . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.5 Triển khai khối đồng bộ cho máy thu UWB IEEE 802.15.4a trên FPGA104 4.5.1 Thiết kế khối đồng bộ bằng HDL . . . . . . . . . . . . . . . . 104 4.5.2 Tổng hợp và triển khai thử nghiệm trên FPGA . . . . . . . . 107 4.6 Kết luận chương 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Kết luận chung và hướng nghiên cứu tiếp theo 112
Danh mục các công trình đã công bố của luận án 114
Tài liệu tham khảo 115
Phụ lục 123
3
Danh mục từ viết tắt
Analog to Digital Converter ADC Bit Error Ratio BER Band Pass Filter BPF Burst Position Modulation BPM Binary Phase-Shift Keying BPSK Code Division Multiple Access CDMA CM Channel Model CORDIC COordinate Rotation DIgital Bộ chuyển đổi tương tự - số Tỉ lệ lỗi bit Bộ lọc thông dải Điều chế vị trí cụm xung Khóa dịch pha nhị phân Đa truy nhập phân chia theo mã Mô hình kênh Xoay tọa độ dùng máy tính số
DSP Computer Digital Signal Processor Bộ xử lý số
ECC Ủy ban truyền thông điện tử châu Âu
ED Electronics Communications Committee Energy Detection Tách sóng năng lượng
FCC FPGA FSM GPS GSM Mảng phần tử logic khả trình Máy trạng thái hữu hạn Hệ thống định vị toàn cầu Hệ thống thông tin di động toàn cầu
HDL IEEE Ngôn ngữ mô tả phần cứng Viện Kĩ thuật Điện - Điện tử
IFI IPI IR LPF LOS MBD MIMO NLOS OFDM Giao thoa liên khung Giao thoa liên xung Xung vô tuyến Bộ lọc thông thấp Đường truyền thẳng Thiết kế dựa trên mô hình Đa đầu vào - đa đầu ra Không có đường truyền thẳng Ghép kênh đa sóng mang trực giao
PAM Federal Communications Commission Ủy ban truyền thông Liên bang Mỹ Field Programmable Gate Arrays Finite State Machine Global Positioning System Global System for Mobile Communications Hardware Description Language Institute of Electrical and Electronics Engineers InterFrame Interference InterPulse Interference Impulse-Radio Low Pass Filter Light-of-Sight Model-Based Design Multi-Input Multi-Output Non Light-of-Sight Orthogonal Frequency Division Multiplexing Pulse-Amplitude Modulation Điều chế biên độ xung
4
Personal Area Network Power Delay Profile Pulse-Position Modulation Physical-layer HeadeR PHY Service Data Unit Start of Frame Delimiter Synchronization HeadeR Signal-to-Noise Ratio Singular Value Decomposition SYNChronization preamble Transmit-Reference Very-Large-Scale Integration
PAN PDP PPM PHR PSDU SFD SHR SNR SVD SYNC TR VLSI WPAN Wireless Personal Area Network UWB Ultra-WideBand Mạng cá nhân Hàm trễ công suất Điều chế vị trí xung Tiêu đề lớp vật lí Đơn vị dữ liệu dịch vụ PHY Khối giới hạn khung Tiêu đề đồng bộ Tỉ số công suất tín hiệu trên tạp âm Phép phân tích trị riêng Mào đầu đồng bộ Truyền tham chiếu Mạch tích hợp tỉ lệ rất lớn Mạng vô tuyến cá nhân Băng siêu rộng
5
Danh sách kí hiệu toán học
fc fH fL B
Độ rộng xung UWB Số bit được truyền đi bởi một khung Độ rộng của một khung Độ trễ giữa xung mang tin với xung tham chiếu trong khung TR-UWB Tần số lấy mẫu Số mẫu trong một khung Tuyến trễ thứ i qua kênh đa đường Độ trễ của tuyến thứ i qua kênh đa đường Tín hiệu đến máy thu
Tần số trung tâm của băng Tần số cận trên (-10 dB) Tần số cận dưới (-10 dB) Băng thông của băng g0(t) Xung Gaussian đơn chu trình gk(t) Vi phân cấp k của xung Gaussian đơn chu trình g(t) Xung UWB Tp b Tf D Ts Nf hi τi r(t) h(t) Xung UWB nhận được tại máy thu
s Kí tự dữ liệu phát đi
Hàm delta Dirac Hệ số khuếch đại của tia thứ k Độ dịch pha của tia thứ k Chiều dài kênh truyền
x(t) Tín hiệu nhận được tại máy thu TR-UWB sau bộ tương quan ) δ( · βk θk Th τrms Trải trễ hiệu dụng của kênh truyền
n ×
m n × × ω λ τk,l Λ Tl X U V G Tần số điều chế cao tần Tốc độ đến của các tia trong cụm Thời gian đến của tia thứ k trong cụm tia thứ l Tốc độ đến của các cụm tia Thời gian đến của cụm tia thứ l Ma trận kích thước m Ma trận trực giao kích thước m Ma trận trực giao kích thước n Ma trận trực giao trong phép quay CORDIC
6
θ Ki ck Si
Góc quay CORDIC Hằng số tại mỗi phép quay CORDIC Chuỗi cân bằng hoàn hảo Kí tự mào đầu Toán tử Kronecker ⊗
Số kí tự trong phần SHR Số kí tự trong phần SYNC Số kí tự trong phần SFD Số kí tự của chuỗi cân bằng hoàn hảo
Tín hiệu nhận được sau bộ LPF của máy thu UWB IEEE 802.15.4a Mẫu tương quan Số phần tử trong mẫu tương quan Ngưỡng được sử dụng trong [14] Ngưỡng do luận án đề xuất Tpsym Chiều dài của kí tự mào đầu IEEE 802.15.4a Tdsym Chiều dài của kí tự dữ liệu IEEE 802.15.4a TBP M Chiều dài của một nửa kí tự dữ liệu IEEE 802.15.4a Tburst Chiều dài của một cụm xung trong kí tự dữ liệu IEEE 802.15.4a Nshr Nsync Nsf d Kpbs q(t) Dạng xung UWB nhận được tại máy thu UWB IEEE 802.15.4a y(t) sc Ls λ λ(cid:48)
7
Danh sách hình vẽ
23 24 25 28 29 29 30 32 32 34
1.1 Quy hoạch dải tần trong MB-OFDM . . . . . . . . . . . . . . . . . . 1.2 Xung đơn chu trình Gaussian và các vi phân bậc 1, 2 . . . . . . . . . 1.3 Mặt nạ phổ cho tín hiệu UWB do FCC và ECC đề xuất . . . . . . . 1.4 Điều chế PAM hai mức (M = 2) . . . . . . . . . . . . . . . . . . . . . 1.5 Điều chế PPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Xung UWB khi truyền qua kênh đa đường . . . . . . . . . . . . . . . 1.7 Kiến trúc một máy thu RAKE đơn giản . . . . . . . . . . . . . . . . 1.8 Khung tín hiệu TR-UWB nhận được tại máy thu . . . . . . . . . . . 1.9 Kiến trúc một máy thu TR-UWB đơn giản . . . . . . . . . . . . . . . 1.10 Hiệu quả hoạt động của máy thu TR-UWB và RAKE . . . . . . . . . 1.11 Mô hình kênh Saleh-Valenzuela. a) Sự suy giảm công suất theo hàm mũ của tia và cụm tia b) Một ví dụ về đáp ứng xung của kênh truyền 41
47
2.1 Minh họa cho quá trình đồng bộ . . . . . . . . . . . . . . . . . . . . . 2.2 Lưu đồ triển khai thuật toán máy thu TR-UWB đơn giản trên phần cứng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Quy trình thiết kế MBD . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Hệ thống thu phát TR-UWB trên Simulink . . . . . . . . . . . . . . . 2.5 Kiến trúc của bộ xử lý băng gốc . . . . . . . . . . . . . . . . . . . . . 2.6 Lưu đồ FSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 Mô hình khối sliding_window . . . . . . . . . . . . . . . . . . . . . . 2.8 Mô hình khối accumulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 Mô hình khối detect_max_model 2.10 Thiết kế HDL trong mô hình Simulink . . . . . . . . . . . . . . . . . 2.11 BER vs. SNR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 50 51 51 52 53 53 54 54 56
3.1 Máy thu TR-UWB đơn giản . . . . . . . . . . . . . . . . . . . . . . . 59
8
59 3.2 Một khung tín hiệu x(t) tại phía thu . . . . . . . . . . . . . . . . . . 61 3.3 Khung dữ liệu sau bộ tương quan được cắt nhỏ . . . . . . . . . . . . 62 3.4 Khung tín hiệu thu được bị dịch đi một khoảng thời gian τ . . . . . . 63 3.5 Đồ thị BER vs SNR cho các thuật toán máy thu khác nhau . . . . . 3.6 Khả năng chống sai lỗi thời gian của thuật toán máy thu đã hiệu chỉnh 64 65 3.7 Các bước tính toán SVD . . . . . . . . . . . . . . . . . . . . . . . . . 66 . . . . . . . . . . . . . . . . . . . . . . . 3.8 Thuật toán quay vector cột 67 3.9 Thuật toán quay vector hàng . . . . . . . . . . . . . . . . . . . . . . 68 3.10 Thuật toán Bidiagonalization sử dụng phép quay Givens Rotation . 68 3.11 Ma trận thu được sau bước Bidiagonalization . . . . . . . . . . . . 69 3.12 Thuật toán Diagonalization sử dụng phép quay Givens Rotation . . 70 3.13 Ma trận thu được sau bước Diagonalization . . . . . . . . . . . . . 71 3.14 Thuật toán SVD hoàn chỉnh sử dụng phép quay Givens Rotation . . 3.15 Phép quay Givens sử dụng các khối CORDIC . . . . . . . . . . . . . 75 3.16 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.17 Phép quay Givens sử dụng các khối CORDIC cải tiến . . . . . . . . . 76 78
82 83 84 85 86 87
} ck {
88 89 90 91 92 93 94 96 97 4.1 Cấu trúc phần SHR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Cấu trúc của một kí tự dữ liệu IEEE 802.15.4a . . . . . . . . . . . . 4.3 Sơ đồ khối của máy thu UWB tách sóng năng lượng không đồng bộ . 4.4 Dạng xung q(t) tại đầu ra của bộ lọc LPF . . . . . . . . . . . . . . . 4.5 Các bước thực hiện đồng bộ tín hiệu . . . . . . . . . . . . . . . . . . 4.6 Mảng gi được tính toán với từng nhóm mẫu yi . . . . . . . . . . . . được sử dụng trong luận án, lựa chọn Q = 3 luôn cho 4.7 Với chuỗi một giá trị cực đại duy nhất của mảng gi. Hai phần tử 0 được thêm . . . . . . . . . . . . . vào cuối chuỗi để mỗi nhóm có đủ 3 phần tử. 4.8 Quá trình thực hiện đồng bộ tinh . . . . . . . . . . . . . . . . . . . . 4.9 Cách thức ước lượng τ . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10 Minh họa dạng xung q(t) (bỏ qua tạp âm) . . . . . . . . . . . . . . . . . . . . . . . 4.11 Giá trị của S[ ˜m, ˜nε] đạt cực đại khi ˜m = m và ˜nε = nε 4.12 Dạng sóng của S(cid:48)[m, ˜nε] (bỏ qua tạp âm) . . . . . . . . . . . . . . . . 4.13 Dạng của S(cid:48)[m, ˜nε] với Ts = 2ns và Ts = 16ns . . . . . . . . . . . . . . 4.14 So sánh giữa λ(cid:48) với λ khi Ts = 16ns . . . . . . . . . . . . . . . . . . . 4.15 So sánh giữa λ(cid:48) với λ khi Ts = 2ns . . . . . . . . . . . . . . . . . . . .
9
4.16 Chênh lệch công suất giữa các phần của khung tín hiệu UWB IEEE 98 802.15.4a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 . . . . . . . 100
4.17 Xác suất lỗi của thuật toán đồng bộ thô khi K thay đổi 4.18 Xác suất lỗi của thuật toán đồng bộ thô khi Ts thay đổi 4.19 Xác suất lỗi của thuật toán đồng bộ thô với số bit lượng tử hóa khác
nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 ns . . . 102 ns . . 102 4, 2 } 16, 8 } ∈ { ∈ { 4.20 Xác suất lỗi của thuật toán ước lượng giá trị τ với Ts 4.21 Xác suất lỗi của thuật toán ước lượng giá trị τ với Ts 4.22 Xác suất lỗi của thuật toán phát hiện PHR với các giá trị khác nhau
của f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.23 Xác suất lỗi của thuật toán phát hiện PHR với các giá trị khác nhau
của Ts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.24 Mô hình FSM cho bộ điều khiển . . . . . . . . . . . . . . . . . . . . . 106 4.25 Kiến trúc triển khai HDL . . . . . . . . . . . . . . . . . . . . . . . . 107 4.26 Quá trình đồng mô phỏng kết hợp Simulink/HDL . . . . . . . . . . . 108 4.27 Kết quả hiển thị dạng sóng tại Es/N0 = 20 dB . . . . . . . . . . . . . 108 4.28 Kết quả hiển thị dạng sóng tại Es/N0 = 0 dB . . . . . . . . . . . . . 109 4.29 Kết quả thử nghiệm thiết kế trên FPGA tại Es/N0 = 20 dB . . . . . 110
10
Danh sách bảng
1.1 Các tham số của mô hình kênh UWB IEEE 802.15.4a trong các môi trường khác nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1 Các đầu vào/ra của hệ thống . . . . . . . . . . . . . . . . . . . . . . 2.2 Báo cáo tổng hợp trên dòng Spartan 6 XC6SLX45 package CSG324 . 55 55
3.1 Hằng số arctan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Số phép toán SVD/s . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 77
4.1 Tham số mô phỏng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
11
Phần mở đầu
Phần này sẽ trình bày những vấn đề chung và giới thiệu về mục đích, kết quả
1. Giới thiệu chung về UWB
1.1 Khái niệm UWB
cũng như cấu trúc luận án, bao gồm:
1.2 Tình hình nghiên cứu UWB trên thế giới và ở Việt Nam
Truyền thông băng siêu rộng (UWB - Ultra-WideBand) là một kĩ thuật truyền tín hiệu vô tuyến trên dải băng tần siêu rộng mà không cần sự cấp phép của các tổ chức quy hoạch tần số 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ố. Vì vậy, máy thu/phát UWB thường có độ phức tạp thấp, công suất tiêu thụ nhỏ, tín hiệu có khả năng đâm xuyên tốt và có thể truyền dữ liệu với tốc độ cao (ví dụ như trong USB không dây) hay truyền dữ liệu ở tốc độ thấp với độ chính xác cao (thích hợp cho các ứng dụng định vị, định danh và các mạng cảm biến không dây). Dù không phải là một kĩ thuật hoàn toàn mới (những thí nghiệm đầu tiên sử dụng các xung hẹp với băng thông siêu rộng để truyền tin được tiến hành vào những năm 1900), tuy nhiên do hạn chế về mặt kĩ thuật ở thời điểm đó, UWB đã không được tiếp tục nghiên cứu và phát triển trong một thời gian dài. Phải đến những năm gần đây, nhờ sở hữu những tính năng vượt trội nêu trên, UWB ngày càng thu hút được sự quan tâm của cả giới khoa học và công nghiệp với mục đích tạo ra một giải pháp mới hứa hẹn giải quyết được những vấn đề mà chúng ta đang đối mặt: sự phát triển bùng nổ của các thiết bị điện tử cá nhân cũng như yêu cầu ngày càng cao đối với những thiết bị này (về chi phí sản xuất, tốc độ truyền dữ liệu và mức công suất tiêu thụ).
Sau khi được phê duyệt bởi hai tổ chức FCC (Mỹ) và ECC (châu Âu) lần lượt vào các năm 2002 [18] và 2005 [17], các hệ thống sử dụng kĩ thuật truyền dẫn UWB có thể hoạt động mà không cần cấp phép ở dải tần 3.1 - 10.6 GHz với điều kiện phải thỏa mãn mức giới hạn trên của công suất phát (-41.3 dBm/MHz). Chính điều này đã thúc đẩy mạnh mẽ việc nghiên cứu và triển khai công nghệ UWB trên khắp thế giới. Hiện nay trên thế giới đang có hai hướng tiếp cận chính cho công nghệ UWB:
12
• Multiband (MB)-OFDM: chia toàn bộ dải tần hoạt động của UWB thành các băng nhỏ hơn và sử dụng kĩ thuật điều chế OFDM
• Impulse Radio (IR)-UWB: tín hiệu truyền đi là các xung có độ rộng cực ngắn (cỡ ns hoặc nhỏ hơn)
trong đó, hướng tiếp cận thứ hai nhận được nhiều sự chú ý của giới học thuật hơn vì đây là một hướng nghiên cứu mới và có khả năng xây dựng các bộ thu/phát với chi phí thấp, tổn hao ít năng lượng [38, 62, 8, 68, 23]. Với các đặc điểm của mình, công nghệ UWB được sử dụng phổ biến nhất trong các mạng vô tuyến cá nhân (WPAN); trên thực tế, IEEE đã thành lập hai nhóm độc lập (IEEE 802.15.3a và IEEE 802.15.4a) để chuẩn hóa lần lượt cho các hệ thống WPAN tốc độ cao và tốc độ thấp, trong đó UWB đều được lựa chọn sử dụng ở lớp vật lý [31]. Tuy nhiên, do chưa đạt được sự thống nhất giữa các nhóm nghiên cứu và phát triển, các hoạt động của nhóm IEEE 802.15.3a cho ứng dụng tốc độ cao đang tạm thời bị dừng lại.
Dù là một giải pháp đầy hứa hẹn cho các mạng WPAN trong tương lai không xa, việc triển khai các hệ thống UWB trên thực tế hiện nay vẫn là một bài toán với nhiều thách thứ cần phải vượt qua như (i) chi phí triển khai lớn do cần sử dụng bộ biến đổi tương tự - số (ADC - Analog-to-Digital Converter) với tần số lấy mẫu rất cao (cỡ GHz), (ii) máy thu có độ phức tạp tính toán cao [49, 63] hay (iii) khó khăn trong việc ước lượng kênh truyền và đồng bộ tín hiệu [36].
Một hướng phát triển thu hút được nhiều sự chú ý của giới khoa học với mục tiêu vượt qua được những trở ngại trên là sử dụng kĩ thuật truyền tham chiếu (TR - Transmit Reference) cho hệ thống WPAN tốc độ thấp [27, 75, 60, 49, 63]. Truyền tham chiếu là kịch bản thu/phát tín hiệu được xem như một giải pháp thay thế cho máy thu RAKE truyền thống để truyền tin tức trong điều kiện kênh truyền dẫn ngẫu nhiên hoặc không xác định [52, 10, 9], với giả thiết kênh truyền là dừng trong quá trình truyền xung tham chiếu và xung mang tin. Ngoài ưu điểm không cần thao tác ước lượng kênh truyền phức tạp như máy thu RAKE, kịch bản TR còn là một giải pháp hợp lý để triển khai các hệ thống UWB do các xung được sử dụng có độ rộng rất hẹp trong miền thời gian và được truyền với tốc độ (mong muốn) rất cao, cho phép kênh truyền dẫn được coi như dừng trong khoảng thời gian một khung hay một kí tự dữ liệu. Kiến trúc của một máy thu TR-UWB cơ bản được đưa ra bởi Hoctor và Tomlinson vào năm 2002 [27] với giả thiết kênh truyền dẫn có chiều dài nhỏ hơn khoảng cách giữa xung tham chiếu và xung mang tin nhằm tránh xảy ra hiện tượng nhiễu liên xung. Kiến trúc máy thu TR-UWB này tương đối đơn giản và có độ chính
13
xác khá cao nhưng với điều kiện máy thu xác định được chính xác vị trí bắt đầu của mỗi kí tự dữ liệu, tức đã được đồng bộ hoàn chỉnh (1.2.2). Một số công trình nghiên cứu được công bố sau đó đã phát triển và mở rộng khái niệm TR-UWB để cho phép truyền dữ liệu với tốc độ cao hơn, cải thiện độ chính xác, hỗ trợ nhiều tuyến trễ và đa người dùng, tuy nhiên vẫn dựa trên giả thuyết máy thu đã đồng bộ hoàn chỉnh và/hoặc công suất tạp âm đã biết [5, 41, 64, 47, 48]. Một kiến trúc máy thu TR-UWB khác giải quyết được bài toán đồng bộ nhưng với điều kiện môi trường truyền dẫn không có tạp âm [72]. Trong [16], một thuật toán đồng bộ được đề xuất cho hệ thống TR-UWB đa người dùng với giả thiết máy thu đã được đồng bộ hoàn hảo ở mức khung tín hiệu. Một máy thu tự tương quan được trình bày trong [73] dựa trên mô hình Voltera nhưng độ phức tạp tăng theo cấp số mũ với chiều dài của kênh truyền. Trong [63], nhóm tác giả đề xuất một phương pháp đồng bộ ở mức mẫu và kí tự cho một kiến trúc TR-UWB mới, trong đó các xung được đặt gần nhau hơn (so với kịch bản TR-UWB truyền thống). Tuy nhiên, nhược điểm của phương pháp này là gia tăng đáng kể độ phức tạp tính toán của máy thu do phải thực hiện biến đổi Fourier cho các ma trận kích thước lớn. Có thể nhận thấy đến thời điểm hiện tại, việc phát triển một thuật toán đồng bộ tín hiệu cho máy thu TR-UWB có độ chính xác cao và khả thi khi triển khai trên phần cứng vẫn là một thách thức thực sự với các nhà nghiên cứu. Đây cũng là một trong hai trọng tâm nghiên cứu của luận án.
Bên cạnh kịch bản truyền tham chiếu, một hướng phát triển khác cũng đang nhận được nhiều sự quan tâm của cả giới học thuật và công nghiệp là thiết kế tối ưu bộ xử lý băng gốc nhằm giảm độ phức tạp tính toán, chi phí triển khai và công suất tiêu thụ cho máy thu UWB IEEE 802.15.4a trong các ứng dụng tốc độ thấp [25, 13, 35, 43]. Mặc dù được chính thức phê chuẩn từ năm 2007, tuy nhiên đến thời điểm hiện tại trên thị trường gần như vẫn chưa xuất hiện một sản phẩm thương mại thực sự thành công nào sử dụng chip UWB theo chuẩn IEEE 802.15.4a mà nguyên nhân chính là do giá thành còn quá cao. Một trong những yếu tố đẩy chi phí sản xuất chip UWB lên cao là việc sử dụng bộ chuyển đổi tương tự - số với tần số rất lớn (cỡ GHz) để thỏa mãn tốc độ lấy mẫu Nyquist cho tín hiệu băng siêu rộng UWB. Một số giải pháp đã được đề xuất nhằm tránh việc phải triển khai bộ ADC tốc độ cao đắt đỏ cho máy thu UWB như các kiến trúc máy thu non-coherent dựa trên các phép đo năng lượng tín hiệu [25, 26, 71, 13, 65] hay các phương pháp tự tương quan [22, 68, 69] được thiết kế cho các ứng dụng tốc độ thấp không đòi hỏi phải thực hiện lấy mẫu tín hiệu ở tần số Nyquist và ước lượng kênh truyền (một tác vụ xử lý tín hiệu tiêu tốn nhiều năng lượng do kênh vô tuyến đa đường UWB quá dày đặc). Kiến trúc máy thu không đồng
14
bộ được sử dụng phổ biến nhất là máy thu dò năng lượng (ED - Energy Detection), trong đó máy thu thực hiện tính toán năng lượng của tín hiệu và phát hiện kí tự dữ liệu dựa trên sự xuất hiện năng lượng của xung tại những vị trí nhất định của một khoảng kí tự. Mặc dù hiệu suất hoạt động thấp hơn so với máy thu TR (do tạp âm bị bình phương), tuy nhiên đây vẫn là kiến trúc máy thu khả thi nhất để triển khai theo như đề xuất của chuẩn IEEE 802.15.4a [31]. Vì vậy, máy thu dò năng lượng cũng sẽ được tác giả nghiên cứu chi tiết trong luận án này.
Với kiến trúc máy thu ED, việc phát hiện dữ liệu là khá dễ dàng. Ngược lại, thuật toán đồng bộ tín hiệu cho máy thu này là rất phức tạp do mật độ dày đặc của các tuyến đa đường trong kênh vô tuyến UWB (với tín hiệu UWB, tuyến LOS đầu tiên không phải lúc nào cũng là tuyến mạnh nhất [19, 39]). Một thuật toán đồng bộ sử dụng ngưỡng được đề xuất trong [25] sử dụng phương pháp tìm kiếm năng lượng cực đại và tìm kiếm ngược, tuy nhiên, mức ngưỡng được lựa chọn phụ thuộc vào tỉ số tín hiệu trên tạp âm (SNR - Signal-to-Noise Ratio), một tham số không dễ đo đạc được tức thì tại máy thu. Trong [68, 69], các tác giả trình bày phương pháp để xác định vị trí bắt đầu của xung đầu tiên trong phần PHR, tuy nhiên độ chính xác của các phương pháp này là khá thấp khi vùng tạp âm giữa hai kí tự dữ liệu liên tiếp tăng lên. Một vấn đề liên quan đến bài toán xác định phần PHR và được đặt tên là tìm kiếm ngược được xem xét trong các bài báo [25, 26, 54]. Theo chuẩn IEEE 802.15.4a, tín hiệu đến máy thu là một chuỗi xung tuần hoàn, mỗi xung là đáp ứng của kênh truyền với xung đơn chu trình UWB được phát đi. Giả thiết đỉnh cao nhất trong từng xung đã được tìm thấy, quá trình tìm kiếm ngược có nhiệm vụ đo khoảng cách giữa đỉnh cao nhất vừa tìm được với vị trí bắt đầu của xung. Tuy nhiên, bài toán đo khoảng cách này vẫn chưa được giải quyết trong các bài báo trên. Trong [14], một thuật toán đồng bộ được đề xuất, trong đó máy thu phát hiện vị trí bắt đầu của kí tự đầu tiên thuộc phần PHR bằng cách thực hiện một thao tác tìm kiếm hai chiều đỉnh tín hiệu lớn nhất và tiếp đó thực hiện tìm kiếm ngược để phát hiện vị trí bắt đầu xung. Một giả thiết quan trọng của thuật toán này là đã biết trước công suất tạp âm. Trên thực tế, điều này thường ít khi xảy ra và việc đo đạc công suất tạp âm làm gia tăng đáng kể độ phức tạp tính toán cũng như công suất tiêu thụ của máy thu. Thuật toán này cũng đặt ra một giả thuyết khác nữa là đoạn tín hiệu máy thu nhận được luôn nằm trong phần tiêu đề đồng bộ (SYNC) của tín hiệu. Tuy nhiên, vị trí máy thu bắt được tín hiệu trên thực tế hoàn toàn có thể nằm ở bất kì vị trí nào trong khung tín hiệu (ví dụ, nằm trong phần dữ liệu của khung). Như vậy, yêu cầu đặt ra là cần nghiên cứu và phát triển một thuật toán đồng bộ hoàn chỉnh cho máy
15
thu UWB không đồng bộ theo chuẩn IEEE 802.15.4a dành cho các ứng dụng tốc độ thấp với kiến trúc đơn giản, có khả năng triển khai được trên phần cứng, thỏa mãn các yêu cầu về độ chính xác cho phép. Đây cũng là trọng tâm nghiên cứu còn lại của luận án này.
2. Tính cần thiết của đề tài và những vấn đề sẽ giải quyết
Ở Việt Nam, công nghệ UWB vẫn đang thu hút sự quan tâm nghien cứu của các nhà khoa học. Hiện đang có một số nhóm nghiên cứu về UWB, tuy nhiên phần nhiều hướng sự tập trung vào việc thiết kế antenna UWB [3, 61, 15, 59] hoặc thiết kế mạch cho bộ tạo xung và bộ điều chế/giải điều chế theo kĩ thuật chaotic UWB [42, 2] mà chưa có nhóm nghiên cứu nào chuyên sâu về 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. Ngoài ra, theo khảo sát của cá nhân tác giả, hiện tại trong nước cũng chưa có đề tài nghiên cứu nào kết hợp giữa xử lý tín hiệu và thiết kế vi mạch với mục tiêu thiết kế và hướng tới chế tạo mẫu sản phẩm cho bộ xử lý băng gốc UWB. Có thể nói, đây là một hướng nghiên cứu khá mới mẻ và nhiều thách thức nên số lượng các công trình nghiên cứu khoa học trong nước vẫn còn hạn chế.
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 (PDA) trong cuộc sống hằng ngày nhằm đáp ứng nhu cầu trong thông tin liên lạc, giải trí, công việc và sức khỏe. Dễ dàng nhận thấy sự hiện diện ngày càng phổ biến của điện thoại di động, máy tính xách tay, các thiết bị theo dõi sức khỏe cầm tay (đồng hồ thông minh, máy đo huyết áp) hay các loại thẻ thông minh hỗ trợ cho giao dịch ngân hàng, mua sắm,... xung quanh mỗi chúng ta. Với những thiết bị cá nhân này, yêu cầu cơ bản được đặt ra là kích thước nhỏ gọn (dễ mang theo người), tiết kiệm năng lượng (do phải sử dụng pin), trao đổi thông tin qua sóng vô tuyến (đảm bảo tính linh hoạt, tiện lợi cũng như giảm kích thước thiết bị) 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, sự xuất hiện của tính năng trao đổi thông tin sử dụng liên kết không dây cũng làm phát sinh một vấn đề mới: khả năng hoạt động song song với các hệ thống thông tin vô tuyến đang tồn tại. Như chúng ta đã biết, tài nguyên phổ tần vô tuyến ngày càng khan hiếm với sự hiện diện của hàng loạt hệ thống thông tin như GSM, WLAN, Bluetooth hay GPS. Để giải quyết bài toán đồng tồn tại với các
16
hệ thống vô tuyến truyền thống này, một phương án được đề xuất là phát triển một kĩ thuật truyền dẫn không dây mới hoạt động trên dải tần số phù hợp với công suất phát đủ nhỏ để không gây can nhiễu lên những hệ thống đã được cấp phép trước đó. Với những ưu điểm nổi bật so với các hệ thống thông tin vô tuyến truyền thống, công nghệ 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, như đã trình bày ở phần trên, công nghệ tiềm năng này vẫn cần vượt qua hàng loạt thách thức để thực sự trở thành một giải pháp hữu hiệu cho những vấn đề trên như (i) khó khăn trong việc định dạng xung UWB và sự biến dạng xung do antenna, (ii) ước lượng kênh truyền phức 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. Chính những rào cản này đã ngăn cản việc tạo nên những sản phẩm thương mại thực sự thành công áp dụng công nghệ UWB trên thực tế. Nội dung chủ đạo xuyên suốt luận án này, do đó, sẽ tập trung vào việc nghiên cứu và phát triển những thuật toán đồng bộ tín hiệu và giải mã dữ liệu có độ chính xác cao với kiến trúc đơn giản để có thể triển khai được trên phần cứng cho các hệ thống IR-UWB tốc độ thấp. Ứng dụng chính của những hệ thống này là trong các mạng WPAN, vì vậy, các thuật toán sẽ được phát triển và kiểm chứng hiệu quả hoạt động với môi trường kênh trong nhà - một trong những môi trường hoạt động chủ yếu của mạng WPAN. Cụ thể, trong luận án này, mô hình kênh trong nhà có đường truyền thẳng (CM1 - Channel Model 1) được lựa chọn sử dụng cho các mô phỏng. Đây là mô hình kênh đơn giản nhất với chiều dài kênh truyền nhỏ (60-70 ns) và tuyến đến đầu tiên là của đường truyền thẳng với cường độ tín hiệu lớn nhất. Luận án sẽ tập trung giải quyết hai vấn đề chính 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 thiết kế và chế tạo bộ xử lý băng gốc (Baseband DSP) cho máy thu trên phần cứng.
Để giải quyết hai vấn đề trên, phương pháp chính được sử dụng trong luận án là đồng mô phỏng kết hợp Simulink/HDL. Cụ thể, tác giả phát triển và kiểm chứng độ chính xác của các thuật toán được đề xuất trên bộ phần mềm mô phỏng MAT- LAB/Simulink sử dụng phương pháp Monte-Carlo; sau đó, sử dụng công cụ System Generator của Xilinx để thực hiện mô phỏng các thiết kế HDL thông qua phần mềm ISE Simulator để hiển thị kết quả kiểm tra trên Simulink trước khi triển khai các thiết kế này lên kit FPGA Spartan 6 XC6SLX45 package CSG324 của Xilinx.
17
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à cải tiến các thuật toán xử lý tín hiệu cho máy thu UWB sao cho có độ tin cậy cao, độ phức tạp tính toán thấp, phù hợp với các ứng dụng trong mạng WPAN tốc độ thấp.
3.2 Đối tượng và phạm vi nghiên cứu
• Thiết kế, kiểm tra và triển khai thử nghiệm khối đồng bộ và giải mã dữ liệu trong bộ xử lý băng gốc UWB trên phần cứng FPGA.
Đối tượng nghiên cứu của luận án là hệ thống thu/phát số IR-UWB tốc độ thấp hoạt động trong môi trường trong nhà có đường truyền thẳng (mô hình kênh CM1) với trọng tâm là khối đồng bộ và giải mã dữ liệu trong bộ xử lý tín hiệu số băng gốc cho máy thu IR-UWB 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: là sự kết hợp của các kĩ thuật ước lượng kênh, tách kí hiệu, đồng bộ tín hiệu trong khối DSP của máy thu nhằm đạt được hiệu quả truyền tin cao nhất với độ phức tạp tính toán thấp nhất.
•
Thiết kế số cho bộ xử lý băng gốc IR-UWB: là một quy trình hoàn chỉnh bao gồm các khâu 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 IR-UWB trên phần cứng FPGA sử dụng ngôn ngữ HDL.
3.3 Phương pháp nghiên cứu
Như vậy, phạm vi nghiên cứu của luận án là bộ xử lý tín hiệu số 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).
Nhiều phương pháp nghiên cứu từ lý thuyết đến mô phỏng và thực nghiệm sẽ
được áp dụng cho từng phần của luận án, trong đó:
18
•
Xây dựng sơ đồ thu/phát và thuật toán máy thu cho các hệ thống TR-UWB và UWB IEEE 802.15.4a; chất lượng các thuật toán được đánh giá sử dụng phương pháp Monte-Carlo trên công cụ mô phỏng MATLAB.
•
Sau khi mô phỏng, các sơ đồ chức năng cho máy thu UWB sẽ được thiết kế bằng công cụ Simulink trước khi chuyển sang thiết kế logic trên FPGA sử dụng ngôn ngữ HDL và tích hợp thành hệ thống trên chip (SoC - System on Chip).
Các công cụ toán học sẽ được sử dụng để kiểm tra (verification) hệ thống UWB. •
•
4. Các đóng góp mới của luận án
Hệ thống được triển khai trên FPGA sẽ được kết nối với môi trường MAT- LAB/Simulink để kiểm nghiệm khả năng hoạt động. Cụ thể, công cụ chính được sử dụng xuyên suốt luận án là bộ phần mềm mô phỏng MATLAB/Simulink
Luận án đã lần lượt giải quyết những vấn đề đưa ra ở phần và thu được những
kết quả sau:
•
Đề xuất một thuật toán máy thu TR-UWB cải tiến không cần sử dụng tín hiệu dẫn đường dựa trên phép phân tích ma trận (SVD - Singular Value Decompo- sition) cho độ chính xác cao hơn máy thu đơn giản. Tiếp đến, một triển khai phép toán SVD trên FPGA sử dụng các khối CORDIC (COordinate Rotation DIgital Computer) tự thiết kế cho độ chính xác cao và tốc độ thực thi nhanh được đề xuất, hướng tới mục tiêu triển khai thành công thuật toán được đề xuất trên phần cứng.
•
5. Cấu trúc nội dung của luận án
Đề xuất một thuật toán đồng bộ tín hiệu hoàn chỉnh gồm hai bước đồng bộ thô và đồng bộ tinh cho máy thu UWB IEEE 802.15.4a không cần thực hiện thao tác đo công suất tạp âm phức tạp và sử dụng bộ ADC tốc độ thấp (62.5 - 125 MHz) mà vẫn đảm bảo giải mã dữ liệu truyền đi với độ chính xác cao. Triển khai thành công máy thu UWB IEEE 802.15.4a sử dụng thuật toán đồng bộ được đề xuất trên phần cứng HDL/FPGA.
Nội dung của luận án được trình bày theo trình tự sau:
19
Chương 1 “Tổng quan về kĩ thuật truyền thông băng siêu rộng” giới thiệu tổng quan về kĩ thuật UWB, những kịch bản thu/phát điển hình cũng như những vấn đề mà kĩ thuật này đang đối mặt. Phần cuối của chương giới thiệu về phép phân tích ma trận (SVD) và mô hình kênh UWB IEEE 802.15.4a sẽ được sử dụng trong quá trình mô phỏng các thuật toán được trình bày trong luận án này.
Chương 2 “Thuật toán đồng bộ và triển khai máy thu TR-UWB trên FPGA” đề xuất kịch bản truyền tham chiếu cho máy thu TR-UWB nhằm giải quyết bài toán ước lượng kênh truyền gặp phải ở máy thu RAKE truyền thống, đồng thời phát triển một thuật toán máy thu mới dựa trên nguyên lý trọng số để nâng cao hiệu suất hoạt động so với kịch bản TR gốc.
Chương 3 “Thuật toán SVD cho máy thu TR-UWB” giới thiệu một thuật toán máy thu mới cho hệ thống TR-UWB mà không cần truyền đi tín hiệu dẫn đường sử dụng phép phân tích ma trận (SVD) đã trình bày ở chương 1, tiếp đó đưa ra một phương án để triển khai thuật toán này một cách hiệu quả và thích hợp trên phần cứng với các khối CORDIC tự thiết kế.
Chương 4 “Thuật toán đồng bộ cho máy thu UWB IEEE 802.15.4a” phát triển một thuật toán đồng bộ hoàn chỉnh dành cho máy thu UWB theo chuẩn IEEE 802.15.4a mà không cần sử dụng bộ ADC tốc độ lấy mẫu siêu cao đắt đỏ cũng như các thao tác đo đạc công suất tạp âm phức tạp, hướng đến các ứng dụng truyền tải dữ liệu tốc độ thấp với giá thành rẻ và tiết kiệm năng lượng. Đồng thời, một triển khai của máy thu UWB IEEE 802.15.4a trên HDL/FPGA sử dụng thuật toán vừa phát triển cũng được trình bày trong chương này.
20
Chương 1
Tổng quan về truyền thông băng siêu rộng
1.1 Lịch sử phát triển và định nghĩa của truyền
thông băng siêu rộng
Mục tiêu chính của chương này là cung cấp một cái nhìn tổng quan nhất về kĩ thuật UWB từ những ý tưởng đầu tiên cho đến những tiến bộ gần đây nhất cũng như những vấn đề chính mà kĩ thuật đầy tiềm năng này hiện đang đối mặt. Những khái niệm quan trọng nhất liên quan đến UWB cũng lần lượt được trình bày chi tiết, bên cạnh đó là những ứng dụng thiết thực mà kĩ thuật này có thể đảm nhiệm được. Phần cuối của chương giới thiệu về SVD, một thuật toán xử lý tín hiệu kinh điển và được sử dụng nhiều trong quá trình thực hiện luận án.
Kĩ thuật truyền thông băng siêu rộng (Ultra-wideband - UWB), hay còn gọi là xung vô tuyến, thực chất không phải là một khái niệm hoàn toàn mới. Trên thực tế, những thí nghiệm đầu tiên về xung vô tuyến đã được tiến hành vào năm 1887 bởi Heinrich Hertz, người đã sử dụng tia lửa điện giữa các điện cực carbon để tạo ra sóng điện từ ở dạng xung. Bảy năm sau, dựa trên thí nghiệm của Hertz, Guglielmo Marconi nảy sinh ý tưởng áp dụng kĩ thuật xung vô tuyến này cho điện tín không dây. Máy phát mã Morse theo ý tưởng của Marconi ra đời và đánh dấu thời kì phát triển của thông tin không dây cũng như sự áp dụng rộng khắp của kĩ thuật xung vô tuyến. Tuy nhiên, người ta cũng sớm nhận ra những nhược điểm của kĩ thuật mới này. Một trong những hạn chế lớn nhất chính là băng thông của tín hiệu phát đi quá lớn so với tốc độ dữ liệu đạt được, dẫn đến một sự chiếm dụng băng tần khổng lồ dù chỉ có một người dùng. Vì vậy, ở thời kì sơ khai này, kĩ thuật xung không thích hợp cho việc phát triển các hệ thống đa người dùng. Sự ra đời sau đó của kĩ thuật truyền tin sử dụng sóng mang với nhiều ưu điểm vượt trội khiến cho kĩ thuật xung dần bị quên lãng và chỉ còn được sử dụng trong các ứng dụng quân sự suốt một thời gian dài sau này cho đến những năm gần đây.
21
Một trong những tính năng nổi trội nhất của kĩ thuật UWB là khả năng triển khai tương đối đơn giản do không cần phải sử dụng sóng mang, từ đó loại bỏ được các khối nâng/hạ tần khỏi hệ thống, thích hợp cho việc phát triển các thiết bị thu/phát cầm tay giá rẻ. Sự phát triển không ngừng của công nghệ trong những năm cuối thế kỉ 20 khiến cho việc tạo ra những xung cực ngắn trong miền thời gian (cỡ ns) được sử dụng trong UWB không còn là vấn đề trở ngại nữa. Thời điểm này, sự quan tâm của giới khoa học và công nghiệp dành cho UWB chuyển hướng sang việc nghiên cứu khả năng tồn tại của các hệ thống UWB song hành với những hệ thống băng hẹp hiện có cũng như phát triển những kịch bản thu/phát và thuật toán xử lý tín hiệu mới, tận dụng hết những ưu điểm và thích hợp hơn với kĩ thuật nhiều tiềm năng này.
fL và fc = (fH fL)/2, với fH, fL lần lượt là tần số cận trên và dưới ( − − −
1.1.1 Các phương án triển khai hệ thống UWB
Một hệ thống truyền thông băng siêu rộng được đặc trưng bởi băng thông truyền tải B lớn hơn 500 MHz hay lớn hơn 20% so với tần số trung tâm fc, trong đó, 10 B = fH dB) của hệ thống [18]. Theo định nghĩa này, một tín hiệu UWB phải có băng thông tối thiểu là 500 MHz tại tần số 2.5 GHz, hoặc 1 GHz tại tần số 5 GHz. Băng thông “siêu rộng” này (so với các hệ thống băng hẹp hay băng rộng truyền thống khác) hứa hẹn cung cấp một tốc độ truyền tải dữ liệu cao hơn nhiều cũng như một số tính năng nổi bật khác cho nhiều ứng dụng không dây hiện có.
Đến thời điểm hiện tại, có hai phương pháp chính để triển khai một hệ thống
UWB trong công nghiệp:
•
Phương pháp Multiband (MB)-OFDM được ủng hộ bởi liên minh WiMedia Alliance do Intel Corporation lãnh đạo cùng với 214 thành viên là các nhà sản xuất thiết bị điện tử tiêu dùng và máy tính cá nhân như Hewlett-Packard, Sony, Nokia, Texas Instruments hay Microsoft. Phương pháp này sử dụng kĩ thuật OFDM để phân chia toàn bộ băng thông thành các băng con có độ rộng xấp xỉ 500 MHz (Hình 1.1) và một kí tự dữ liệu sẽ được trải trên toàn bộ các băng con này, được điều chế và truyền đi đồng thời bởi tất cả các sóng mang con [34]. Liên minh WiMedia tập trung vào việc sử dụng kĩ thuật UWB cho các kết nối di động, trong các máy tính và thiết bị điện tử với vai trò như một lớp vật lý phổ thông và hướng đến phát triển các thế hệ USB kế tiếp, IEEE 1394 hay các ứng dụng Bluetooth.
22
•
Phương pháp Impulse-Radio (IR)-UWB, hay còn được gọi là Direct-Sequence (DS)-UWB, được chấp thuận bởi UWB Forum, một diễn đàn ban đầu được lãnh đạo bởi Freescale (tiền thân của Motorola Semiconductor) cùng với 220 thành viên là các nhà cung cấp dịch vụ và sản xuất thiết bị viễn thông quốc tế như Fujitsu, Siemens hay Vodafone. Diễn đàn này đề xướng một kịch bản sử dụng xung vô tuyến, trong đó vấn đề đa truy nhập được thực hiện thông qua điều chế biên độ nhị phân các xung được truyền đi, tương tự như với các hệ thống trải phổ CDMA truyền thống. Ý tưởng của phương pháp này xuất phát từ một đặc tính đối ngẫu rất cơ bản giữa thời gian và tần số. Cụ thể, băng thông siêu rộng (trong miền tần số) dẫn đến việc sử dụng các xung cực ngắn (trong miền thời gian). Trong IR-UWB, các xung này được truyền đi một cách rời rạc, không sử dụng sóng mang và ở mức công suất phát rất thấp. Các kịch bản thu-phát UWB trong luận án này đều dựa trên phương pháp IR-UWB.
Hình 1.1: Quy hoạch dải tần trong MB-OFDM [34]
)2
tp
Dạng xung được sử dụng nhiều nhất trong IR-UWB là các xung đơn chu trình Gaussian và các vi phân bậc cao của nó do sở hữu những đặc tính riêng có trong cả hai miền thời gian và tần số cũng như khả năng triển khai trên anten dễ dàng [53]. Một xung Gaussian đơn chu trình cơ bản được định nghĩa là:
(1.1) g0(t) = e2π( t
)2
tp
và vi phân cấp k có dạng:
(1.2) gk(t) = (cid:15) dk dtk e2π( t
23
·
−
tp), và hệ số (cid:15)k được trong đó, tp là tham số xác định độ rộng Tp của xung (Tp ∼= 2 đưa vào để chuẩn hóa năng lượng của xung. Sở dĩ các vi phân bậc cao được sử dụng là vì ở dạng xấp xỉ bậc nhất, các anten hoạt động tương tự như các bộ vi phân [20, 44]. 10 Hình 1.2 minh họa các vi phân bậc cao của xung Gaussian có băng thông dB lớn hơn 20% tần số trung tâm [50]. Trong luận án này, dạng xung UWB được lựa chọn sử dụng là vi phân bậc hai của xung Gaussian với độ rộng 2 ns và thỏa mãn mãn điều kiện có băng thông 500 MHz.
1.1.2 Chuẩn hóa và ứng dụng
Hình 1.2: Xung đơn chu trình Gaussian và các vi phân bậc 1, 2 [50]
Định nghĩa vừa nêu được đưa ra vào năm 1990, kéo theo sự phát triển của các hệ thống thông tin hoàn toàn không sử dụng sóng mang, đồng hành với sự ra đời của các công ty công nghệ như AetherWire, Time Domain Co., X-treme Spectrum hay Multi-Spectral Solutions Inc., những nhà tiên phong trong lĩnh vực phát triển các sản phẩm thương mại không sóng mang tốc độ cao. Tuy nhiên, ở thời điểm này vẫn chưa có bất kể một quy định nào dành cho việc phát tín hiệu UWB. Điều này làm phát sinh những lo ngại về sự giao thoa của kĩ thuật UWB với các hệ thống không dây hiện đang tồn tại như GPS, GSM hay Wifi [37, 7]. Cho đến tháng 4-2002, sau rất nhiều nghiên cứu, phân tích cũng như tranh luận, một báo cáo hoàn chỉnh mới được công bố bởi FCC, quy định giới hạn về mặt công suất phát cho tín hiệu UWB nhằm tránh sự can nhiễu lên các hệ thống vô tuyến đã được cấp phép hoạt động [18]. Mặt nạ phổ công suất do FCC đề xuất dành cho các ứng dụng UWB trong các môi
24
trường khác nhau (trong nhà và ngoài nhà) được thể hiện trên Hình 1.3. Đến tháng 4-2005, một mặt nạ phổ công suất phát khác được đưa ra bởi ECC [17], quy định băng thông và mức giới hạn mới, chặt chẽ hơn so với mặt nạ được đề xuất vào năm 2002 [50].
Hình 1.3: Mặt nạ phổ cho tín hiệu UWB do FCC và ECC đề xuất [50]
Một trong những ứng dụng tiềm năng nhất của kĩ thuật UWB là trong các mạng vô tuyến cá nhân (Wireless Personal Area Network - WPAN), một lĩnh vực chịu sự quản lý của nhóm làm việc IEEE 802.15 thuộc tổ chức chuẩn hóa IEEE-SA. Vì vậy, nhiệm vụ xây dựng bộ tiêu chuẩn thống nhất dành cho các ứng dụng WPAN sử dụng kĩ thuật UWB ở lớp vật lý được giao cho hai nhóm tác vụ độc lập thuộc IEEE-SA.
•
Nhóm tác vụ 802.15.3a hướng tới việc định nghĩa một lớp vật lý mới dành trong các mạng WPAN tốc độ cao liên quan đến lĩnh vực multimedia và hình ảnh. Tốc độ dữ liệu tối thiểu được thiết lập ở mức 100 Mbps trong phạm vi 10 m và lên đến 480 Mbps khi khoảng cách rút ngắn xuống còn 2 m. Mặc dù không được chỉ định rõ ràng là một nhóm tác vụ xây dựng chuẩn UWB, tuy nhiên
25
bản thân những yêu cầu về tốc độ dữ liệu đặt ra đã lựa chọn kĩ thuật UWB làm phương án triển khai các hệ thống mong muốn. Vì vậy, nhiệm vụ của nhóm bao gồm cả việc phân tích và xây dựng một mô hình kênh vật lý dành cho các hệ thống UWB theo yêu cầu đặt ra [19]. Tuy nhiên, do những bất đồng trong cách thức triển khai (giữa hai phương thức MB-OFDM và IR-UWB), nhóm tác vụ 802.15.3a chính thức ngừng hoạt động vào năm 2006.
•
Nhóm tác vụ 802.15.4a có nhiệm vụ xây dựng bộ tiêu chuẩn ở lớp vật lý cho các ứng dụng có tốc độ truyền dữ liệu và độ phức tạp thấp, hoạt động trong các dải tần quốc tế mà không cần cấp phép. Một trong những mục tiêu chính của nhóm là giải quyết các ứng dụng mới không chỉ đòi hỏi tốc độ dữ liệu ở mức trung bình mà còn tiêu thụ ít năng lượng để có thời gian hoạt động dài hơn (ví dụ như trong các mạng WPAN tốc độ thấp, mạng cảm biến, đồ chơi tương tác, điều khiển từ xa hay trong các ngôi nhà thông minh). Tương tự như với nhóm tác vụ 802.15.3a, một mô hình kênh vô tuyến cũng được nhóm xây dựng và phát triển với một vài chỉnh sửa sao cho phù hợp với đặc tính tốc độ truyền tải thấp.
Về cơ bản, những ứng dụng chính của kĩ thuật UWB có thể được phân loại thành
hai nhóm:
Ứng dụng tốc độ cao: •
– Mạng vô tuyến cá nhân với các kết nối ad-hoc giữa máy tính, thiết bị ngoại vi và những thiết bị tính toán đeo được, bao gồm USB không dây thế hệ kế tiếp, Bluetooth IEEE 1394 Firewire.
– Các thiết bị multimedia dành cho hộ gia đình và chuyên dụng (camera số,
DVD, TV số,...).
– Hệ thống không dây thế hệ mới.
– Các ứng dụng tìm kiếm, cứu nạn.
– Các ứng dụng y tế như giám sát các chức năng vật lý của cơ thể sử dụng sóng radar. Do sử dụng các xung có độ rộng rất hẹp (đem đến độ phân giải cao trong miền thời gian), UWB trở thành giải pháp thích hợp để triển khai các thiết bị có giá thành rẻ nhưng hữu hiệu trong việc theo dõi, quan sát các cơ quan nội tạng mà không cần tiếp xúc trực tiếp với cơ thể. Ngoài
26
ra, một số dự án nghiên cứu đang được tiến hành nhằm phân tích tín hiệu phản xạ từ các xung UWB để phát hiện ung thư.
Ứng dụng tốc độ thấp: •
– Mạng cảm biến cho các ứng dụng định vị, theo dõi.
– Thẻ xác thực để kiểm tra hàng hóa, thiết bị hay giám sát con người và các
tài sản giá trị.
– Hệ thống thông tin có liên quan đến vị trí, các radar hybrid hay các ứng dụng truyền tải dữ liệu sử dụng xung UWB để xác định chính xác vị trí 2-D hoặc 3-D của vật thể hay truyền tin từ vật thể về một hệ thống cơ sở dữ liệu trung tâm.
– Các hệ thống radar trên phương tiện giao thông để phòng tránh va chạm
trước và sau.
– Hệ thống định vị thời gian thực cho các dịch vụ khẩn cấp hay đòi hỏi độ
1.2 Điều chế tín hiệu trong IR-UWB
chính xác cao trong giao thông hoặc các thiết bị công/nông nghiệp.
Với đặc tính truyền tải không sử dụng sóng mang, phương pháp IR-UWB chủ yếu
sử dụng hai phương pháp điều chế tín hiệu chính:
•
Pulse-Amplitude Modulation (PAM): theo phương pháp này, thông tin được truyền tải dựa vào biên độ (hay sự phân cực) của xung phát đi. Ví dụ, với PAM hai mức (M = 2) như ở Hình 1.4, kí tự được truyền đi là (cid:48) + 1(cid:48) hay 1(cid:48) tùy thuộc vào biên độ của xung UWB là dương hay âm. Mặc dù đã được (cid:48) − sử dụng rộng rãi trong nhiều hệ thống băng hẹp truyền thống, tuy nhiên, do những khó khăn gặp phải trong việc thao tác với các xung có độ rộng cỡ ns nên chỉ đến thời gian gần đây, nhờ có những tiến bộ về mặt công nghệ (cụ thể, với các mạch tích hợp CMOS và SiGe tốc độ cao, chi phí thấp) mà PAM mới được áp dụng cho các hệ thống UWB. Một nhược điểm lớn của điều chế PAM là cần phải sử dụng những thông tin về trạng thái kênh truyền để giải quyết những sai lệch gây ra bởi kênh fading đa đường. Điều này đòi hỏi cần triển khai ở máy thu một khối đo đạc kênh truyền phức tạp, đặc biệt là với hệ thống băng siêu rộng. Một phương án được đưa ra nhằm loại bỏ khối đo đạc kênh truyền là sử
27
dụng kịch bản truyền xung tham chiếu sẽ được giới thiệu trong các phần tiếp theo của luận án.
•
→ ∞ Pulse-Position Modulation (PPM): đây là một kịch bản điều chế cổ điển, trong đó thông tin được mã hóa dựa vào vị trí tương đối của xung trong một khung. Trên thực tế, để hỗ trợ cho thông tin đa người dùng, mỗi kí tự dữ liệu được chia thành Nf chip, trong mỗi chip chứa một hoặc nhiều khung. Trong trường hợp P -ary PPM, với P = 2b, b là số bit được truyền đi bởi một khung, độ rộng Tf của mỗi khung được chia thành P khe thời gian rời rạc (hay trực giao) ứng với các vị trí mà một xung có thể xuất hiện. Như ở Hình 1.5, mỗi chip chứa duy nhất một khung và vị trí tương đối của xung bên trong mỗi khung quyết định dữ liệu được truyền đi. Ban đầu, PPM là kĩ thuật điều chế được sử dụng chủ yếu trong UWB do những khó khăn trong việc phân cực xung phát đi ở kĩ thuật PAM. Thời gian gần đây, dù PAM đã dần được sử dụng nhiều hơn trong các hệ thống UWB, điều chế PPM vẫn tiếp tục được triển khai trong nhiều ứng dụng do sở hữu đặc tính trực giao có thể đạt được với một xác suất lỗi thấp tùy ý với giả thiết P [46] và cho phép việc tách sóng không đồng bộ.
Hình 1.4: Điều chế PAM hai mức (M = 2)
Cả hai kĩ thuật điều chế trên đều có thể được thực hiện bằng cách điều chế trực tiếp trên anten phát. Ngoài ra, khả năng đa truy nhập cũng được hỗ trợ bằng cách sử dụng các phương pháp truyền thống như time-hopping hay trải phổ chuỗi trực tiếp giả ngẫu nhiên.
28
1.2.1 Máy thu RAKE
Hình 1.5: Điều chế PPM
Tương tự như với các hệ thống băng hẹp truyền thống khác, tín hiệu UWB qua kênh vô tuyến đa đường bị trải ra thành nhiều xung với độ trễ và mức năng lượng khác nhau. Do đặc điểm sử dụng các xung rất hẹp trong miền thời gian nên tín hiệu đến máy thu UWB thường là tập hợp các bản sao không trùng lặp của xung truyền đi với biên độ khác nhau như Hình 1.6. Một trong những giải pháp hữu hiệu nhất để giải quyết hiệu ứng gây ra bởi kênh đa đường là sử dụng máy thu RAKE. Đây là dạng máy thu đã được triển khai thành công trong các hệ thống CDMA băng rộng truyền thống, vì vậy hoàn toàn có thể áp dụng cho kĩ thuật truyền thông băng siêu rộng.
Hình 1.6: Xung UWB khi truyền qua kênh đa đường
−
Một máy thu RAKE điển hình chứa một dãy các bộ tương quan (hay còn được gọi là các finger ) có nhiệm vụ lấy tương quan (nhân) tín hiệu nhận được với các phiên bản trễ của một xung mẫu có dạng giống với xung được phát đi, kí hiệu g(t τn). Đầu ra của mỗi finger chính là giá trị ước lượng của biên độ hn ứng với từng tuyến trễ đến máy thu (Hình 1.6) và được tổng hợp lại để xác định kí tự truyền đi. Để thu
29
Hình 1.7: Kiến trúc một máy thu RAKE đơn giản [32]
−
được kết quả chính xác, giá trị của τn được xác định tương ứng với độ trễ của các xung nhận được, đòi hỏi ở máy thu cần có một khối ước lượng kênh truyền. Hình 1.7 minh họa một máy thu RAKE đơn giản gồm Lp finger, mỗi finger thực hiện nhân tín 1 với xung mẫu g(t) tương tự hiệu nhận được tại các thời điểm τi, i = 0, 1, ..., Lp như ở máy phát [32]. Khối ước lượng kênh truyền có nhiệm vụ xác định độ trễ τi và biên độ (trọng số) hi của từng thành phần đa đường để phục vụ cho khối chọn tuyến và nâng cao độ chính xác cho quá trình giải mã tín hiệu.
Thực chất, máy thu RAKE là một bộ lọc phối hợp (tín hiệu đến máy thu được nhân với một tín hiệu mẫu có dạng sóng tương tự). Vì vậy, xét về mặt hiệu suất hoạt động (BER), máy thu RAKE là giải pháp tối ưu nhất với điều kiện các hệ số τi và hi được xác định chính xác. Trên thực tế, người ta thường không thực hiện ước lượng hết tất cả các thành phần đa đường để giảm tốc độ phức tạp của máy thu. Thông thường, các thành phần có độ trễ càng lớn thì càng bị suy yếu nên có thể được bỏ qua. Dựa trên nhận xét này, một phương án được đưa ra là chỉ ước lượng L đường đầu tiên đến máy thu, tức máy thu PRAKE (Partial RAKE). Ngoài ra, một giải pháp khác cũng hay được sử dụng là máy thu SRAKE (Selective RAKE), trong đó sau khi ước lượng kênh, máy thu chỉ lựa chọn L đường lớn nhất phục vụ cho quá trình tách kí hiệu.
Tuy nhiên, khi triển khai trên thực tế cho hệ thống UWB, dạng máy thu này phải
đối mặt với những vấn đề nghiêm trọng sau:
• Tần số lấy mẫu Nyquist theo phương pháp này là rất lớn, có thể lên đến 40 GHz, đòi hỏi phải sử dụng những bộ ADC tốc độ siêu cao và quá đắt đỏ.
30
•
Trong một số điều kiện môi trường, kênh vô tuyến đo đạc được có chiều dài rất lớn với mật độ tuyến đa đường dày đặc. Một máy thu RAKE để có thể hoạt động trong những điều kiện này đòi hỏi phải sử dụng một lượng lớn các bộ tương quan làm gia tăng độ phức tạp của máy thu. Không những vậy, thao tác ước lượng kênh và đồng bộ tín hiệu lúc này thực sự là một thách thức lớn.
•
1.2.2 Máy thu truyền tham chiếu
Như vừa trình bày, xung mẫu được sử dụng ở máy thu được giả thiết là đã biết (giống với dạng xung được truyền đi). Tuy nhiên trên thực tế, xung UWB khi qua kênh đa đường (với các hiệu ứng lựa chọn tần số) và chịu ảnh hưởng từ sự không hoàn hảo của anten (phát và thu) sẽ bị biến dạng không mong muốn. Dạng xung nhận được tại máy thu do vậy rất khó xác định và ảnh hưởng nặng nề đến hiệu suất hoạt động của cả hệ thống.
Truyền tham chiếu (Transmit Reference - TR) là kịch bản thu/phát tín hiệu được xem như một giải pháp thay thế cho máy thu RAKE để truyền tin tức trong điều kiện kênh truyền dẫn ngẫu nhiên hoặc không xác định [52], với giả thiết kênh truyền là dừng trong quá trình truyền tín hiệu tham chiếu và tín hiệu bản tin. Ngoài ưu điểm không cần thao tác ước lượng kênh truyền phức tạp như máy thu RAKE, kịch bản TR còn là một giải pháp hợp lý để triển khai các hệ thống UWB do các xung được sử dụng có độ rộng rất hẹp trong miền thời gian và được truyền với tốc độ (mong muốn) rất cao, cho phép kênh truyền dẫn được coi như dừng trong khoảng thời gian một khung hay một kí tự dữ liệu.
g(t − ·
Ý tưởng của kịch bản TR cho hệ thống UWB như sau. Mỗi khung tín hiệu TR- UWB được phát đi chứa hai xung: xung đầu tiên được truyền đi là xung tham chiếu g(t), theo sau là xung mang tin s D). Do g(t) là các xung cực ngắn, khoảng cách D giữa xung tham chiếu và xung mang tin nhỏ (với mong muốn đạt được tốc độ truyền dữ liệu cao) nên có thể coi như hai xung được truyền qua cùng một kênh cố định. Vì vậy, sự biến dạng của hai xung qua kênh truyền được xem là như nhau, xung tham chiếu nhận được tại máy thu có thể được sử dụng như một xung mẫu trong phép tương quan giống như ở các bộ lọc phối hợp điển hình. Kí hiệu h(t) là dạng xung nhận được tại máy thu, khung thông tin TR-UWB đến máy thu có dạng:
r(t) = h(t) + s h(t D) (1.3) · −
31
Hình 1.8: Khung tín hiệu TR-UWB nhận được tại máy thu
trong đó s là kí tự dữ liệu. Hình 1.8 và 1.9 lần lượt minh họa dạng tín hiệu nhận được và kiến trúc của một máy thu TR-UWB cơ bản [27]. Với giả thiết h(t) có chiều dài nhỏ hơn khoảng cách D giữa hai xung (nhằm tránh xảy ra hiện tượng nhiễu liên xung), kí tự dữ liệu có thể được xác định bằng cách nhân tín hiệu nhận được với bản trễ D của chính nó như sau:
r(t)r(t (1.4) ˆs = sign { D)dt } − (cid:90)
Hình 1.9: Kiến trúc một máy thu TR-UWB đơn giản [27]
Ưu điểm của kịch bản TR-UWB là quá trình xác định dữ liệu truyền đi không cần sử dụng những thông tin về trạng thái kênh truyền cũng như bỏ qua thao tác đồng bộ ở phần tương tự của máy thu (do xung tham chiếu và xung thông tin luôn được phát cách nhau một khoảng thời gian cố định D). Một lợi thế nữa so với máy
32
1.2.3 Kết quả mô phỏng
thu RAKE truyền thống là chỉ cần lấy một mẫu trên mỗi khung thông tin nhận được để phục vụ cho quá trình giải mã (do xung tham chiếu và xung mang tin nhận được tại máy thu có dạng như nhau), vì vậy không cần phải dùng đến những bộ ADC tốc độ siêu cao đắt đỏ.
Để so sánh hiệu suất hoạt động của máy thu TR với các dạng khác nhau của máy thu RAKE, tác giả tiến hành mô phỏng hai hệ thống này cho kịch bản một người dùng trên phần mềm MATLAB. Xung được sử dụng có độ rộng 1 ns là đạo hàm bậc hai của xung Gauss, được truyền qua kênh CM1 theo chuẩn IEEE 802.15.4a [40]. Chương trình mô phỏng chạy 1000 vòng lặp Monte-Carlo, mỗi vòng lặp thu/phát 100 kí hiệu; kết quả thu được sẽ được dùng để vẽ đồ thị BER vs. SNR cho các thuật toán khác nhau. Ở đây, SNR được định nghĩa là tỉ số năng lượng xung trên mật độ phổ công suất nhiễu.
Ở máy thu RAKE, xung được chèn vào các khung có độ rộng Tf = 70 ns (lớn hơn chiều dài của phần lớn kênh CM1 để tránh hiện tượng giao thoa liên khung). Để đơn giản, giả sử mỗi kí hiệu chỉ bao gồm một khung, và bước nhảy thời gian giữa hai thành phần đa đường kế tiếp nhau là 1 ns. Các thuật toán được mô phỏng cho máy thu PRAKE và SRAKE với các giá trị khác nhau của L để so sánh với máy thu TR-UWB. Với máy thu TR-UWB, mỗi khung gồm hai xung cách nhau một khoảng D = 70 ns (để tránh giao thoa giữa hai xung liên tiếp khi truyền qua kênh CM1), khung có độ rộng Tf = 3D = 210 ns (để tránh giao thoa giữa hai khung kề nhau).
≈
Hình 1.10 thể hiện khả năng hoạt động của các thuật toán máy thu TR-UWB, máy thu PRAKE và SRAKE; đường tham chiếu là của trường hợp lí tưởng khi đã biết trước toàn bộ các hệ số kênh. Độ chênh lệch vào khoảng 12 dB giữa TR-UWB và RAKE do khung TR-UWB có độ rộng gấp ba lần so với RAKE nên đã lãng phí mất 20 ˙log3 9.5 dB và thao tác tự tương quan lên nhiễu và lấy tương quan chéo giữa tín hiệu và nhiễu cũng làm suy giảm chất lượng máy thu. Ngoài ra, máy thu PRAKE luôn có chất lượng kém hơn SRAKE. Trên thực tế, máy thu SRAKE với chỉ 3 nhánh tương quan cũng đã có chất lượng tương đương với máy thu PRAKE với 7 nhánh tương quan. Sự chênh lệch tăng lên khi SNR tăng bởi vì khi nhiễu ít, ảnh hưởng của việc bỏ sót một thành phần đa đường lớn sẽ trở nên rõ rệt hơn. Cuối cùng, mặc dù thông thường kênh CM1 có khoảng 40 đoạn (mỗi đoạn dài 1 ns), nhưng có thể thấy rằng khi L =7 hoặc 10 đoạn, sự chênh lệch giữa các đường cong SRAKE với đường tham
33
chiếu là rất nhỏ (cỡ khoảng 1 dB hoặc ít hơn ở vùng SNR lớn). Những kết quả này đã được trình bày trong bài báo “Impulse-Radio Ultra-Wideband Communications from Signal Processing Perspectives”, Tạp chí Khoa học và Công nghệ các trường đại học kĩ thuật số 88 năm 2012.
1.3 Những thách thức trong quá trình nghiên cứu
IR-UWB
Hình 1.10: Hiệu quả hoạt động của máy thu TR-UWB và RAKE
Về cơ bản, những thách thức chính ngăn cản việc nghiên cứu và phát triển một hệ thống IR-UWB hoàn chỉnh để đưa vào sản xuất có thể được chia thành hai nhóm.
34
1.3.1 Thách thức khi triển khai trên phần cứng
Băng thông siêu rộng của tín hiệu IR-UWB là nguyên nhân chính ngăn cản việc triển khai trên thực các thiết bị UWB với chi phí thấp. Cụ thể, những khó khăn về phần cứng liên quan đến vấn đề biến dạng xung gây ra bởi anten và hiệu suất của các bộ ADC tốc độ rất cao.
•
Biến dạng xung do anten: việc thiết kế một anten thích hợp có khả năng bao phủ toàn bộ băng thông siêu rộng (cỡ GHz) của tín hiệu UWB thực sự là một thách thức lớn [44, 36]. Hiện tại, rất nhiều nỗ lực nghiên cứu đang được tiến hành nhằm tạo ra những anten có trở kháng và mẫu phát xạ không đổi trên một dải tần số rộng như vậy. Một mong muốn nữa là những anten thiết kế ra phải có giá thành thấp (được chế tạo từ những vật liệu không đắt tiền với quy trình sản xuất đơn giản) và kích thước nhỏ để dễ dàng tích hợp được vào các thiết bị di động [3, 15, 61].
•
1.3.2 Thách thức trong quá trình xử lý tín hiệu
Chuyển đổi tương tự-số: tốc độ lấy mẫu áp dụng cho các xung UWB với băng thông siêu rộng có thể lên tới hàng gigasamples trên giây (Gsps) theo tiêu chuẩn Nyquist, đòi hỏi phải sử dụng các bộ ADC tốc độ siêu cao có giá thành lớn. Đây chính là trở ngại chính trong việc triển khai số hóa một cách đầy đủ các máy thu UWB. Cho dù đã xuất hiện một số ý tưởng nhằm loại bỏ yêu cầu tốc độ siêu cao dành cho các bộ ADC trong máy thu IR-UWB (như thực hiện thao tác lọc phối hợp trong miền tương tự trước khi lấy mẫu [21, 56, 57] hay giảm số lượng bit trên mỗi mẫu tín hiệu [28, 29]), tuy nhiên, đến thời điểm hiện tại vẫn chưa có một giải pháp nào thực sự khả thi.
Đối với hệ thống IR-UWB, việc tạo ra các xung thỏa mãn những tiêu chuẩn khắt khe về phổ tần và công suất phát hay cách thức để giải mã chính xác dữ liệu được phát đi đòi hỏi những kĩ thuật xử lý tín hiệu phức tạp.
•
Định dạng xung: xung UWB được tạo ra một cách tự nhiên thường không thỏa mãn các yêu cầu nghiêm ngặt về mặt nạ phổ đã được quy định, trừ khi được áp dụng các thao tác tiền xử lý tín hiệu (tức định dạng xung). Một số phương án đã được đề xuất nhằm đáp ứng mặt nạ phổ yêu cầu cũng như tối đa hóa tỉ số tín hiệu trên tạp âm tại máy thu (như trong [45, 66]). Tuy nhiên,
35
những đề xuất này đều không tận dụng triệt để băng thông và công suất phát cho phép của tín hiệu UWB.
•
Ước lượng kênh truyền: những đặc tính riêng có của tín hiệu IR-UWB khiến cho các kĩ thuật ước lượng kênh truyền vốn được áp dụng trong các hệ thống băng hẹp hay hệ thống trải phổ truyền thống không thể áp dụng được. Những kĩ thuật này đòi hỏi phải có mức tín hiệu trên tạp âm (SNR - Signal to Noise Ratio) cao [58, 30]. Tuy nhiên, công suất phát rất thấp của tín hiệu UWB khiến cho tỉ số SNR tại máy thu là rất thấp. Vì vậy, cần phải phát triển những phương pháp đo đạc kênh truyền dành riêng cho tín hiệu UWB, có xem xét đến mức SNR rất thấp của các kịch bản thu/phát UWB trong thực tiễn.
•
Vấn đề đồng bộ: do IR-UWB sử dụng các xung cực ngắn nên chỉ một sai lệch nhỏ trong thao tác đồng bộ cũng ảnh hưởng nặng nề đến hiệu quả hoạt động của hệ thống. Đặc biệt, với các ứng dụng tốc độ cao, việc xác định thời gian đến của tín hiệu đầu tiên tới máy thu thực sự là một khó khăn không dễ giải quyết.
•
1.4 Thuật toán SVD
Giải mã dữ liệu khi thiếu thông tin về trạng thái kênh truyền: Do biến dạng xung nhận được tại máy thu là không xác định, việc giải mã thành công dữ liệu truyền đi với hệ thống IR-UWB trở nên rất phức tạp. Việc thiếu những thông tin về kênh truyền gợi ý cho chúng ta giải pháp sử dụng các máy thu không đồng bộ đơn giản và hiệu quả về mặt kinh tế. Khá nhiều kiến trúc máy thu IR-UWB không đồng bộ đã được công bố [70, 6], tuy nhiên vẫn cần những nghiên cứu sâu hơn nữa để xác định được một kịch bản giải mã tín hiệu tối ưu nhất cho trường hợp này.
n có thể được phân tích thành:
×
Cm SVD (Singular Value Decompistion) là một trong những thuật toán hữu hiệu và quan trọng nhất của lĩnh vực xử lý tín hiệu [24], đặc biệt trong việc ước lượng tín hiệu khi xuất hiện tạp âm và giao thoa. Về cơ bản, thuật toán SVD có thể được trình bày tóm tắt như sau. Mọi ma trận X ∈
X = UΣVH (1.5)
36
n là các ma trận trực giao
×
×
m, V = [v1, ..., vn]
×
Cn ∈ ∈ Rm trong đó U = [u1, ..., um] và Σ Cm n là một ma trận đường chéo thực: ∈
(1.6) Σ = diag(σ1, ..., σp)
... σp. trong đó p = min(m, n), các số thực dương σi được gọi là các singular value của ma trận X và thường được sắp xếp theo thứ tự tăng giảm dần σ1 ≥ σ2 ≥ ≥
Trong phép phân tích SVD, m cột của ma trận U và n cột của ma trận V lần lượt được gọi là các singular vector trái và phải của ma trận X ban đầu. SVD và phép phân tích trị riêng (eigendecomposition) có mối liên hệ chặt chẽ với nhau:
• Các singular vector trái của ma trận X là các vector riêng (eigenvector ) của ma trận XXH.
• Các singular vector phải của ma trận X là các vector riêng (eigenvector ) của ma trận XHX.
• Các singular value khác 0 của ma trận X là căn bậc hai các trị riêng (eigenvalue) của hai ma trận XXH và XHX.
Kĩ thuật SVD thời gian qua thu hút được nhiều sự quan tâm nghiên cứu của các nhà khoa học với mục tiêu triển khai thành công và hiệu quả kĩ thuật này trên phần cứng nhằm nâng cao hiệu quả xử lý tín hiệu cho các hệ thống tốc độ cao. Khi triển khai trên phần cứng, cụ thể trên FPGA [11, 74], một thao tác quan trọng của kĩ thuật SVD là phép quay Givens Rotation được thực hiện bằng cách sử dụng các khối CORDIC. Các khối này có thể được xây dựng sẵn bởi các nhà cung cấp FPGA và hỗ trợ rất nhiều phép toán như phép quay, phép tính căn bậc hai hay các hàm lượng giác cơ bản. Ưu điểm khi sử dụng các khối CORDIC được xây dựng sẵn này là rút ngắn thời gian thiết kế; tuy nhiên, nhược điểm lớn nhất của phương pháp này là tiêu tốn quá nhiều tài nguyên phần cứng nên chỉ phù hợp với việc xử lý dữ liệu có kích thước nhỏ như các ma trận 2x2, 4x4,... Một phương án khác được đưa ra là tự thiết kế và xây dựng các khối CORDIC từ những khối phần cứng cơ bản của FPGA như khối cộng/trừ, khối dịch bit hay bảng tham chiếu. Dù cần nhiều thời gian hơn để tự thiết kế, đây vẫn được xem là một phương án khả thi để triển khai thuật toán SVD trên FPGA do tiêu tốn lượng tài nguyên phần cứng ít hơn đáng kể (so với dùng khối CORDIC sẵn có) và không cần sử dụng các khối tính toán phức tạp như khối nhân hay các hàm lượng giác. Trong luận án này, phép phân tích SVD sẽ được sử dụng
37
1.5 Mô hình kênh vô tuyến UWB
trong quá trình phát triển thuật toán xử lý tín hiệu ở máy thu TR-UWB và sẽ được triển khai thử nghiệm trên phần cứng sử dụng các khối CORDIC tự thiết kế.
1.5.1 Mô hình kênh đa đường tổng quát
Tương tự như với các hệ thống băng hẹp, môi trường truyền dẫn giữa các thiết bị thu-phát có ảnh hưởng lớn đến tín hiệu UWB truyền qua. Thậm chí, tác động từ kênh truyền mà xung UWB phải chịu còn mạnh mẽ hơn do những đặc điểm riêng có của dạng xung được sử dụng. Điều này khiến cho những thuật toán xử lý tín hiệu quen thuộc ở máy thu băng hẹp truyền thống trở nên khó khăn, thậm chí là không khả thi, khi áp dụng trên máy thu UWB. Vì vậy, những hiểu biết đầy đủ về kênh UWB thực tiễn là rất hữu ích trong việc phát triển những kịch bản thu-phát và thuật toán máy thu hiệu quả dành cho các hệ thống UWB. Phần còn lại của Chương 1 sẽ giới thiệu những khái niệm và tham số cơ bản của mô hình kênh Saleh-Valenzuela. Trên cơ sở đó, một mô hình kênh vô tuyến đa đường dành riêng cho hệ thống UWB theo chuẩn IEEE 802.15.4a được trình bày chi tiết cùng với những đặc tính thống kê đo đạc được dưới các điều kiện môi trường khác nhau. Đây sẽ là những tham số được sử dụng trong quá trình thực hiện luận án.
Về cơ bản, đáp ứng xung của một kênh vô tuyến đa đường có thể được mô hình
dưới dạng tổng của các xung rời rạc:
k (cid:88)
h(t) = (1.7) βkejθkδ(t τk) −
) là hàm delta Dirac, βk, θk lần lượt là hệ số khuếch đại và độ dịch pha trong đó, δ( · của tia thứ k (có trễ truyền dẫn τk). Thông thường, những thông số này được xem là các biến ngẫu nhiên biến thiên theo thời gian với các giả thiết thống kê khác nhau, phụ thuộc vào từng mô hình kênh truyền cụ thể. Đối với một kênh vô tuyến UWB điển hình, các tham số này thường được giả thiết là bất biến theo thời gian do tốc độ biến thiên trên thực tế là rất chậm so với tốc độ truyền tải tín hiệu (cao hơn hàng chục kbps). Ngoài ra, hệ số khuếch đại của các tia được xem là độc lập thống kê với nhau và coi như không đáng kể khi trễ truyền dẫn đủ lớn [55, 19].
38
Một tham số đặc trưng cho kênh truyền là chiều dài kênh truyền, được định nghĩa là khoảng thời gian giữa tia đến máy thu đầu tiên và cuối cùng thỏa mãn điều kiện có năng lượng nhỏ hơn 10 dB so với tia mạnh nhất:
(1.8) Th = max iτi min iτi −
Tuy nhiên, thực tế thường khó xác định chính xác được chiều dài kênh truyền do ảnh hưởng của nhiễu. Khi mức nhiễu đủ lớn (so với cường độ của tín hiệu), các tia sau cùng thường bị nhúng trong nền nhiễu và không quan sát được, khiến cho chiều dài kênh truyền đo được bị rút ngắn.
Một tham số quan trọng khác là trải trễ hiệu dụng của kênh truyền, được xác
định là độ lệch chuẩn của các tuyến trễ, có tính đến trọng số khuếch đại, như sau:
(1.9) ¯τ 2 ¯τ 2 τrms = − (cid:112) trong đó
¯τ 2 =
i a2 i τ 2 i i a2 i (cid:80) i τia2 (cid:80) i i a2 i
¯τ =
(cid:80) Chiều dài kênh truyền và trải trễ hiệu dụng kênh truyền là các tham số chính xác (cid:80) định tốc độ truyền dữ liệu tối đa mà một hệ thống có thể đạt được. Thông thường, hai tham số này quyết định giới hạn trên của chiều dài kí tự (hoặc xung) sao cho thỏa mãn điều kiện không xuất hiện hiện tượng giao thoa liên kí tự (hay giao thoa liên xung).
Ngoài hai tham số trên, kênh truyền còn được mô tả bởi hàm trễ công suất (Power Delay Profile - PDP), là công suất kì vọng trên một đơn vị thời gian nhận được trong một khoảng trễ nhất định (so với tia đến đầu tiên). Đại lượng thống kê này thường được tính toán thông qua phép lấy trung bình trên một tập hợp lớn chứa các giá trị của đáp ứng xung đo đạc được trên cùng một kênh truyền quan sát.
Với tín hiệu cao tần có dạng:
x(t) = p(t)ej(ωt+φ) (1.10)
với p(t) là dạng xung ở băng cơ sở và ω là tần số điều chế cao tần, được truyền qua
39
τk)+φ+θk]
kênh đa đường h(t), tại máy thu nhận được tín hiệu:
−
k (cid:88)
y(t) = (1.11) βkp(t τk)ej[ω(t −
θl+ω(τl
τk)]
Sau khi qua bộ tách đường bao bình phương, tín hiệu nhận được có dạng:
−
−
2 = y(t) | |
k (cid:88)
l (cid:88)
(1.12) τk)p(t τl).ej[θk βkβlp(t { − − }
Khi không có sự chồng xung, (1.12) rút gọn thành:
kp2(t β2
2 = y(t) | |
k (cid:88)
1.5.2 Mô hình kênh Saleh-Valenzuela
(1.13) τk) −
Qua quan sát thực nghiệm, Saleh và Valenzuela nhận thấy khi truyền qua kênh vô tuyến đa đường, các tia đến máy thu theo từng cụm tia với thời gian đến của các cụm tuân theo một tiến trình Poisson với tốc độ không đổi Λ. Đồng thời, quy luật này cũng áp dụng cho các tia trong từng cụm với tốc độ λ (lớn hơn rất nhiều so với Λ).
Kí hiệu thời gian đến của cụm tia thứ l là Tl, l = 0, 1, 2, ...; thời gian đến của tia thứ k tính từ vị trí bắt đầu cụm tia thứ l là τk,l, k = 0, 1, 2, ... với quy ước T0 = 0 cho cụm tia đầu tiên và τ0,l = 0 với từng tia đầu tiên trong mỗi cụm. Như vừa trình bày, trong mô hình kênh Saleh-Valenzuela, các tham số Tl và τk,l được mô tả bởi các hàm mật độ xác suất theo luật mũ như sau:
1) = Λexp[ −
1)], −
l > 0 (1.14) p(Tl Λ(Tl Tl Tl | − −
1),l)],
1),l) = λexp[ −
−
k > 0 (1.15) p(τk,l λ(τk,l τ(k τ(k | − −
∞
∞
Kí hiệu hệ số khuếch đại và pha tương ứng của tia thứ k trong cụm tia thứ l lần lượt là βk,l và θk,l. Theo Saleh và Valenzuela, đáp ứng xung của kênh truyền có dạng:
l=0 (cid:88)
k=0 (cid:88)
h(t) = (1.16) βk,lejθk,lδ(t Tl τk,l) − −
40
k,l là hàm đơn điệu giảm của Tl và τk,l:
τk,l/γ
trong đó, θk,l là các biến ngẫu nhiên độc lập thống kê phân bố đều trong khoảng [0, 2π), βk,l là các biến ngẫu nhiên độc lập thống kê có giá trị dương với giá trị bình phương trung bình β2
Tl/Γe−
(1.17) β2 k,l = β2(k, l) = β2(0, 0)e−
0,0 là hệ số khuếch đại công suất trung bình của tia thứ nhất trong cụm tia đầu tiên, Γ và γ lần lượt là các hằng số suy giảm công suất theo thời gian của cụm tia và tia. Mô hình Saleh-Valenzuela có thể được minh họa qua Hình 1.11 [55].
Trong phương trình (1.17), β2(0, 0) = β2
Hình 1.11: Mô hình kênh Saleh-Valenzuela. a) Sự suy giảm công suất theo hàm mũ của tia và cụm tia b) Một ví dụ về đáp ứng xung của kênh truyền [55]
∆T /γ
∆T /Γ thì các cụm tia thứ l và (l + 1) coi như tách biệt với nhau.
(cid:29)
Tl/Γ
Trên thực tế, các cụm tia thường chồng lấn lên nhau. Tuy nhiên, thông thường tốc độ suy giảm công suất của cụm tia lớn hơn nhiều so với các tia trong cụm (Γ γ) và công suất của các tia trong cụm suy giảm nhanh hơn nhiều so với công suất của Tl đủ lớn sao tia đầu tiên của cụm kế tiếp. Do đó, nếu khoảng thời gian ∆T = Tl+1 − cho e− e− (cid:28)
Ngoài ra, theo lý thuyết, các tia và cụm tia trải dài vô hạn, được thể hiện qua phép lấy tổng vô hạn trong công thức định nghĩa đáp ứng xung của kênh truyền 1 và (1.17). Tuy nhiên, thực tế thì phép lấy tổng với biến l sẽ dừng lại khi e− (cid:28)
41
τk,l/γ
(cid:28)
1.5.3 Mô hình kênh UWB IEEE 802.15.4a
1. Ví dụ, với môi trường tiến hành thí nghiệm của với biến k dừng lại khi e− Saleh và Valenzuela, có thể thấy các tia và cụm tia nằm ngoài khoảng 200 ns gần như không thể quan sát được do năng lượng quá nhỏ để có thể được phát hiện.
Mặc dù không thể đưa ra một chuẩn vật lý thống nhất dành cho các hệ thống UWB tốc độ cao, nhóm xây dựng chuẩn IEEE 802.15.3a vẫn đạt được những thành tựu nhất định. Nổi bật trong số đó là việc đưa ra một mô hình kênh vô tuyến đa đường (dựa trên mô hình kênh nổi tiếng của Saleh-Valenzuela) cho các điều kiện môi trường khác nhau. Dựa trên kết quả này, tiểu ban mô hình kênh thuộc nhóm IEEE 802.15.4a đã phát triển thêm, kèm theo những chỉnh sửa thích hợp, để rút ra một mô hình kênh vật lý đa đường dành cho các ứng dụng tốc độ thấp [40].
Tương tự như với mô hình kênh Saleh-Valenzuela (và IEEE 802.15.3a), kênh vô tuyến đa đường IEEE 802.15.4a có đặc điểm: các tia đến máy thu thành từng cụm với giả thiết fading giữa từng cụm tia cũng như giữa các tia trong mỗi cụm là độc lập với nhau. Nhiệm vụ của tiểu ban mô hình kênh IEEE 802.15.4a là mô hình hóa sự suy giảm biên độ và phân tán trễ của tín hiệu đến máy thu, gây ra bởi những vật cản trên đường truyền giữa các thiết bị thu-phát và tổn hao kênh truyền (large-scale fading). Sự phân tán trễ được thể hiện qua hàm trễ công suất và các đặc tính thống kê của small-scale fading, từ đó rút ra các tham số còn lại của kênh truyền như trải trễ hiệu dụng hay số tuyến đa đường (chứa x% năng lượng),... Đặc điểm của kênh IEEE 802.15.4a là các phép đo đạc chủ yếu tập trung vào những đặc tính thống kê của small-scale fading, bỏ qua ảnh hưởng từ anten phát và thu. Suy hao biên độ theo n và phụ thuộc vào tần số. Ngoài ra, mô hình kênh đường truyền tuân theo luật d− IEEE 802.15.4a còn có một số thay đổi so với mô hình do Saleh và Valenzuela phát triển [40]. Cụ thể:
•
Phân phối Poisson kết hợp cho thời gian đến của các tia trong cụm tia: khác với mô hình Saleh-Valenzuela cổ điển chỉ sử dụng một tiến trình Poisson riêng lẻ, mô hình kênh IEEE 802.15.4a mô tả thời gian đến của các tia trong mỗi cụm thông qua hai tiến trình Poisson kết hợp:
1),l) = βλ1exp[ −
1),l)]+(β −
1),l)], k > 0 − (1.18) trong đó, β là xác suất kết hợp, λ1 và λ2 là tốc độ đến của tia. Với điều chỉnh
p(τk,l 1)λ2exp[ λ1(τk,l λ2(τk,l τ(k τ(k τ(k | − − − − −
42
này, mô hình mới có thể được áp dụng cho nhiều môi trường khác nhau (không nhất thiết phải là môi trường trong nhà như mô hình Saleh-Valenzuela) bằng cách thay đổi tham số xác suất kết hợp β.
•
∝ Hằng số suy hao theo thời gian bên trong mỗi cụm tia phụ thuộc vào trễ: tốc độ suy hao bên trong một cụm tia tỉ lệ tuyến tính với thời gian đến của cụm kγTl + γ0, trong đó kγ mô tả sự gia tăng của hằng số suy hao theo tia đó, γl trễ.
• Một vài môi trường NLOS (Non Light-of-Sight) có hàm trễ công suất ban đầu tăng rồi sau đó giảm.
• Small-scale fading theo phân phối Nakagami với các hệ số m khác nhau cho các thành phần khác nhau.
• Block fading: kênh giữ nguyên không đổi trong khoảng thời gian một burst dữ liệu (do UWB sử dụng các xung có độ rộng rất hẹp trong miền thời gian).
Mô hình kênh IEEE 802.15.4a tổng quát được mô tả thông qua bộ tham số sau:
P L0 suy hao đường truyền ở khoảng cách 1m •
n hệ số mũ suy hao đường truyền •
σS độ lệch chuẩn của hiệu ứng che chắn •
Aant suy hao của anten •
κ độ phụ thuộc tần số của suy hao đường truyền •
¯L số cụm tia trung bình •
Λ tốc độ đến của các cụm tia •
λ1, λ2, β tốc độ đến của các tia •
Γ hằng số suy hao theo thời gian của các cụm tia •
kγ, γ0 hằng số suy hao theo thời gian bên trong cụm tia •
σcluster giá trị phương sai hiệu ứng che chắn của cụm tia •
43
m0, km giá trị trung bình của hệ số Nakagami-m •
ˆm0, ˆkm giá trị phương sai của hệ số Nakagami-m •
˜m0 hệ số Nakagami-m cho các thành phần mạnh •
γrise, γ1, χ tham số cho các dạng hàm trễ công suất PDP khác •
1.6 Kết luận chương 1
Bảng 1.1 thể hiện giá trị của các tham số dành cho từng mô hình kênh IEEE 802.15.4a trong các điều kiện khác nhau, với các kênh CM1, CM3, CM5, CM7 dành cho môi trường có đường truyền thẳng (LOS - Light-of-Sight) và CM2, CM4, CM6, CM8 cho môi trường không có đường truyền thẳng (NLOS - Non-Light-of-Sight) [40]. Quá trình phát triển cũng như mô phỏng để kiểm chứng khả năng hoạt động của các thuật toán máy thu được trình bày trong luận án sử dụng mô hình kênh IEEE 802.15.4a CM1 trong Bảng 1.1 trên.
Với những ưu điểm vượt trội so với các hệ thống băng hẹp truyền thống, UWB hứa hẹn trở thành một giải pháp thông tin liên lạc hữu hiệu cho các ứng dụng trong mạng vô tuyến cá nhân và mạng vô tuyến trong phạm vi cơ thể. Tuy nhiên, để có thể thực sự được triển khai rộng rãi trong các sản phẩm thương mại, kĩ thuật truyền dẫn này vẫn cần được quan tâm và đầu tư nghiên cứu nhiều hơn nữa từ cả giới học thuật cũng như các tập đoàn công nghệ nhằm vượt qua những thách thức khó khăn đã được trình bày phần 1.3. Tiếp theo, tác giả đã đưa ra những khái niệm cơ bản về thuật toán phân tích ma trận SVD, một kĩ thuật hiệu quả và mạnh mẽ sẽ được áp dụng trong việc ước lượng kênh truyền nhằm nâng cao độ chính xác của máy thu TR-UWB (chương 3 của luận án). Ngoài ra, mô hình kênh vô tuyến UWB IEEE 802.15.4a mà tác giả lựa chọn sử dụng để mô phỏng cho tất cả các thuật toán xử lý tín hiệu trong luận án cũng được trình bày chi tiết trong phần cuối của chương này.
44
] 0 4 [
8 M C
7 . 6 5 -
5 1 . 2
B d 3
2 8 . 7 -
6
1
A N
A N
A N
A N
A N
0
0
1
5 3 . 7 1
6 3 . 5 8
0 3 . 0
5 1 . 1
p ệ i h g n
u a h n
g n ô C
7 M C
7 . 6 5 -
2 . 1
B d 3
6 . 5 -
6
7 4 . 3 1
6 2 9 . 0
1 5 6 . 0
2 3 . 4
9 9 . 2 1
A N
A N
A N
0
0
6 3 . 0
3 1 . 1
9 0 7 0 . 0
5 7 . 4
A N
c á h k
, 3 1 . 1
g n ờ ư r t
6 M C
9 2 . 3 4
5 . 2
B d 3
4 . 0
2 6 0 . 0
7 . 4 0 1
3 . 9
0
6 5 . 0
5 2 . 0
0
0
A N
A N
A N
3 4 2 0 . 0
5 . 0 1
, 5 1 . 0
i à o g n
i ô m c á c
n ê B
, 1 4 . 2
g n o r t
5 M C
9 2 . 3 4
6 7 . 1
B d 3
6 . 1 -
8 4 0 0 . 0
6 . 3 1
8 7 0 0 . 0
7 . 1 3
7 . 3
0
0
0
7 7 . 0
8 7 . 0
A N
A N
A N
, 7 2 . 0
4 M C
4 . 1 5
7 0 . 3
B d 3
3 . 5
A N
A N
1
A N
A N
A N
A N
0 5 . 0
5 2 . 0
0
0
1 2 . 5 1
4 8 . 1 1
6 8 . 0
g n ò h p
, 7 9 . 2
n ă V
3 M C
6 . 6 3
3 6 . 1
B d 3
5 . 3 -
6 . 4 1
4 . 6
0
2 4 . 0
1 3 . 0
0
0
A N
A N
A N
, 9 1 . 0
4 8 1 0 . 0
6 1 0 . 0
4 . 5
a 4 . 5 1 . 2 0 8 E E E I B W U h n ê k
m ố s
ệ h
h n ì h
, 5 1 . 0
ở
g n u h c
2 M C
7 . 8 4
8 5 . 4
1 5 . 3
B d 3
2 1 . 0
5 . 3
5 4 0 . 0
7 2 . 6 2
0 5 . 7 1
3 9 . 2
0
9 6 . 0
2 3 . 0
0
0
, 7 7 . 1
ô m a ủ c
ó c
à h N
ố s
, 5 1 . 0
g n ờ ư đ
m a h t
n ề y u r t
t ấ u s
i ọ M
1 M C
9 . 3 4
9 7 . 1
2 2 . 2
B d 3
7 4 0 . 0
3
5 9 0 . 0
1 6 . 2 2
3 5 . 2 1
5 7 . 2
0
7 6 . 0
8 2 . 0
0
0
, 4 5 . 1
c á C
g n i d a f
β
: 1 . 1
g n ô c
]
g n ờ ư đ
]
]
ễ r t
]
]
o a h
g n ả B
, ] s n / 1 [ 2 λ
] s n
B d [ 0
B d [ 0
0
B d [
[
y u S
m à H
] e d a c e d / B d [ κ
0 L P
n
S
t n a A
B d [ S σ
] s n / 1 [ Λ
¯L
] s n Γ
γ k
[ 0 γ
m
ˆm
m k
m ˆk
˜m
χ
e s i r γ
1 γ
e l a c s - l l a m S
B d [ r e t s u l c σ
, 1 λ
45
Chương 2
Thuật toán đồng bộ và triển khai máy thu TR-UWB trên FPGA
Như đã trình bày trong chương 1, kịch bản truyền tham chiếu (TR) cho hệ thống UWB giảm thiểu được độ phức tạp tính toán cho máy thu do có khả năng phát hiện được kí tự dữ liệu mà không cần thực hiện thao tác ước lượng kênh truyền phức tạp. Đổi lại, máy thu TR-UWB có hiệu quả hoạt động thấp hơn (gây ra bởi sự tương quan chéo giữa tín hiệu và tạp âm); đồng thời, tốc độ truyền tải dữ liệu của hệ thống giảm xuống do cần truyền đi xung tham chiếu không mang tin tức. Ngoài ra, hiện tại vẫn chưa có nhiều kiến trúc TR-UWB giải quyết được triệt để bài toán đồng bộ tín hiệu và khả năng triển khai hệ thống thực trên phần cứng.
2.1 Thuật toán đồng bộ
Trong chương này, tác giả tập trung vào việc phát triển một thuật toán đồng bộ khả thi hơn khi triển khai trên thực tế dành cho máy thu TR-UWB tổng quát, tức chỉ có một khung dữ liệu trên mỗi kí tự và giả thiết không xảy ra giao thoa liên kí tự giữa các xung hoặc các khung dữ liệu. Việc triển khai kiến trúc máy thu mới trên FPGA sử dụng phương pháp thiết kế dựa trên mô hình (Model-Based Design - MBD) để phát triển, mô phỏng và kiểm tra toàn bộ hệ thống TR-UWB bằng cách kết hợp Simulink và HDL.
Như đã giới thiệu trong chương 1, máy thu TR-UWB sử dụng bộ “integrate-and- dump” (theo sau là một bộ so sánh) để tách kí hiệu. Dù đây là một thao tác rất đơn giản với tốc độ lấy mẫu thấp (1 mẫu/khung), máy thu vẫn cần phải biết được khi nào bắt đầu “integrate” (lấy tích phân) và “dump” (xóa về 0). Hình 2.1 minh họa dạng của tín hiệu x(t) sau bộ tương quan. Có thể nhận thấy, trong toàn bộ khung, chỉ có một đoạn (gọi là phân khung) từ độ trễ D tới 2D (so với vị trí bắt đầu khung) là có chứa thông tin có ích s ˙h2(t) trong khi các phân khung còn lại chỉ có nhiễu và các hệ số tương quan chéo giữa tín hiệu và nhiễu. Phân khung chứa thông tin có ích này được gọi là phân khung dữ liệu.
Như vậy, thuật toán đồng bộ cho máy thu TR-UWB cần thực hiện những thao
46
kTs
(k
1)Ts
−
(cid:82)
tác 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 được. Dựa trên nhận xét tất cả các giá trị s ˙ h2(t)dt luôn cùng dương (hoặc â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. Điều cần lưu ý ở đây là 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ộ.
Hình 2.1: Minh họa cho quá trình đồng bộ
Hình 2.2 thể hiện lưu đồ triển khai thuật toán của máy thu TR-UWB đơn giản trên phần cứng gồm hai thao tác đồng bộ và giải mã tín hiệu dựa trên những ý tưởng vừa nêu. Khi mẫu đầu tiên (có thể ở một vị trí bất kì thuộc khung tín hiệu) đến máy thu, chế độ Đồng bộ được kích hoạt và cửa sổ trượt được sử dụng với kích thước Nf /3, trong đó Nf là số mẫu trong một khung tín hiệu. Một bộ đếm biến thiên được sử dụng với giá trị ban đầu được thiết lập là 0 (giới hạn tối đa là Nf /3) khi mẫu đầu tiên nằm trong khung cửa sổ trượt. Khi một mẫu khác đến, giá trị của bộ đếm tăng lên một đơn vị và cửa sổ trượt đi một mẫu. Tất cả các mẫu trong cửa sổ trượt được cộng dồn lại với nhau (2.1) để thu được s. Giá trị tuyệt đối của s được so sánh với và biến smax hiện tại. Nếu > smax, giá trị mới của smax được thay đổi thành s | | s | |
47
Hình 2.2: Lưu đồ triển khai thuật toán máy thu TR-UWB đơn giản trên phần cứng
48
1
Nf /3
−
bộ đếm được thiết lập về 0.
j=0 (cid:88) Khi bộ đếm tiến tới giá trị giới hạn Nf /3 lần đầu tiên cũng là lúc cửa sổ trượt đi qua trọn vẹn khung dữ liệu thứ nhất. Từ khung dữ liệu thứ hai, giới hạn cực đại của bộ đếm được đặt là Nf ; máy thu tiếp tục tiến hành cộng dồn tất cả các mẫu nằm trong cửa sổ trượt và xác định thời điểm đạt giá trị cực đại ứng với bộ đếm có giá s | | trị nmax. Tại cuối mỗi khung, khi bộ đếm đạt tới giá trị cực đại, máy thu cộng thêm giá trị nmax cho biến nsync. Cuối cùng, khi chế độ Đồng bộ dừng lại, giá trị của nsync được tính toán như công thức 2.2:
1
s = (2.1) xj
l j=0 nmaxj − m
(2.2) nsync = (cid:80)
trong đó, m là số lượng bit đồng bộ.
nsync
Lúc này, máy thu chuyển sang chế độ Dữ liệu bằng cách cộng dồn tất cả các mẫu xj lại với nhau trong phân khung dữ liệu (gồm Nf /3 mẫu) và xác định dữ liệu truyền đi thông qua dấu của biến sum được tính toán theo công thức 2.3.
Nf /3+1
(2.3) sum = xj
2.2 Triển khai trên Simulink và HDL
(cid:88)nsync −
Phương pháp triển khai được sử dụng là thiết kế dựa trên mô hình (MBD - Model- Based Design), trong đó các nhiệm vụ thiết kế được chuyển đổi sang máy tính cá nhân giúp cho việc thiết kế các hệ thống động (bao gồm hệ thống điều khiển, xử lý tín hiệu và hệ thống thông tin) trở nên nhanh chóng, hiệu quả và tiết kiệm hơn. Trong phương pháp này, một mô hình hệ thống được đặt ở vị trí trung tâm của quá trình phát triển, từ việc xác định yêu cầu cho đến các pha thiết kế, triển khai và kiểm thử. Sau khi phát triển mô hình, quá trình mô phỏng sẽ cho biết liệu mô hình vừa thiết kế hoạt động chính xác hay không. Tóm lại, đây là một phương pháp thiết kế hệ thống đồng mô phỏng (co-simulation) sử dụng cả phần mềm (Simulink ) và phần cứng (ngôn ngữ mô tả phần cứng (HDL)). Quy trình thiết kế dựa trên mô hình được
49
thể hiện qua lưu đồ 2.3 [33].
Hình 2.3: Quy trình thiết kế MBD [33]
2.2.1 Thiết kế
Với hệ thống TR-UWB được xây dựng trong luận án này, máy phát, kênh truyền và một số phần của máy thu sẽ được triển khai trên phần mềm Simulink. Thuật toán đồng bộ và giải mã tín hiệu sẽ được triển khai trên phần cứng sử dụng Verilog HDL.
Tại máy thu, một chuỗi bit ngẫu nhiên được tạo ra để điều khiển chuỗi xung Gaussian hình thành nên tín hiệu truyền đi. Tín hiệu này được gửi qua khối kênh truyền chứa mô hình kênh CM1 và nhiễu Gauss trắng cộng. Đến máy thu, tín hiệu được nhân với bản trễ D của chính nó. Trong trường hợp đã đồng bộ, tín hiệu được đưa qua khối Result and Calculate Error để thực hiện các tác vụ: lấy mẫu, giải điều chế tín hiệu và tính toán tỉ lệ lỗi bit (BER) (Hình 2.4).
Với trường hợp tín hiệu nhận được chưa đồng bộ, tức tín hiệu đến máy thu tại một vị trí bất kì trong khung dữ liệu, máy thu cần thực hiện thao tác đồng bộ trước khi giải mã tín hiệu. Sau khi qua bộ nhân tương quan, tín hiệu được đưa tới bộ xử lý băng gốc gồm hai phần datapath và controller như Hình 2.5.
50
Hình 2.4: Hệ thống thu phát TR-UWB trên Simulink
Hình 2.5: Kiến trúc của bộ xử lý băng gốc
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.6. Có ba trạng thái của máy thu:
Initial : trạng thái ban đầu trước khi hoạt động, •
Synchronization: bắt đầu thực hiện xử lý tín hiệu và thao tác đồng bộ, •
Calculation: giải mã dữ liệu được truyền đi sau khi đã đồng bộ. •
Đầu tiên, khi máy thu ở trạng thái Initial, phần datapath không hoạt động. Tiếp đó, khi máy thu chuyển sang trạng thái Synchronization, phần datapath thực hiện
51
Hình 2.6: Lưu đồ FSM
cộng dồn các mẫu trong cửa sổ trượt và xác định giá trị lớn nhất. Thao tác cộng dồn được thực thi như sau:
Nf /3
1 = xn − −
1 + xn −
2 + ... + xn −
(2.4) sn
Sau đó, mọi giá trị trong bộ nhớ được dịch sang phải và tổng kế tiếp được tính
theo công thức:
Nf /3+1
−
1 + ... + xn −
(2.5) sn = xn + xn
Từ 2.4, 2.5 rút ra được:
1 + (xn
−
(2.6) sn = sum n xNf /3) −
−
−
−
| Tín hiệu sau khi lấy mẫu và lượng tử hóa được đưa tới khối cửa sổ trượt (Hình xNf /3 trong công thức 2.6. Khối này gồm có một bộ nhớ 2.7) để tính toán giá trị xn Nf /3) bị đẩy ra khỏi bộ nhớ và mẫu và một bộ trừ. Tại thời điểm n, mẫu thứ (n thứ n được đưa vào bộ nhớ. Máy thu thực hiện trừ mẫu n khỏi mẫu (n Nf /3). Kết quả được đưa vào khối cộng dồn accummulator (Hình 2.8) để tính toán sn. Giá trị được xác định tại đây và đưa tới khối detect_max như Hình 2.9 để xác định giá sn | trị lớn nhất: khi giá trị data_sum_abs kế tiếp được đưa vào, nó sẽ được so sánh với
52
Hình 2.7: Mô hình khối sliding_window
Hình 2.8: Mô hình khối accumulator
2.2.2 Triển khai bằng ngôn ngữ mô tả phần cứng
giá trị cực đại hiện tại để cập nhật giá trị cực đại mới nhất và lưu lại vị trí nmax của phần tử mới được lưu lại. Sau mỗi khung tín hiệu, giá trị của vị trí cực đại nmax được xuất ra khỏi bộ nhớ và đưa vào phần controller. Tại đây, các giá trị của nmax được cộng lại với nhau và sau cùng được dịch đi m bit, với m là số bit đồng bộ trong công thức 2.2. Cuối cùng, controller sử dụng giá trị nsync vừa xác định để điều khiển hoạt động của các khối accummulator và sliding_window trong trạng thái Calculation.
Trong luận án này, bộ xử lý 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 được mô tả trong Bảng 2.1. File Verilog mô tả các khối trong Hình 2.5 được nạp vào các khối Blackbox có
53
Hình 2.9: Mô hình khối detect_max_model
Hình 2.10: Thiết kế HDL trong mô hình Simulink
khả năng nhận kết hợp Verilog HDL với mô hình Simulink. Hình 2.10 thể hiện các khối sliding_window, accummulator, detect_max và controller của bộ xử lý băng gốc
54
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
Số lượng thanh ghi 52 15
Số lượng bảng LUT 72 27
Số lượng cặp LUT-FF được sử dụng đầy đủ 49 14
Số lượng khối IOB 33 33
Tần số cực đại 400 MHz 300 MHz
Bảng 2.2: Báo cáo tổng hợp trên dòng Spartan 6 XC6SLX45 package CSG324
2.3 Tổng hợp và mô phỏng
2.3.1 Tổng hợp
TR-UWB trong mô hình thiết kế sử dụng HDL kết hợp Simulink. Ngoài ra, khối Reset & Restart được thêm vào để tạo ra tín hiệu reset/start và khối Gateway_in có nhiệm vụ biến đổi tín hiệu đầu vào từ định dạng dấu phẩy động trong Simulink sang định dạng dấu phẩy tĩnh trên kit Xilinx. Bộ xử lý băng gốc được thiết kế chạy với xung nhịp clk. Tuy nhiên, để đồng bộ với cả hệ thống, đầu vào clk này được ẩn đi bằng cách đưa thêm một tín hiệu ce vào file Verilog. Sau đó, một khối đồng mô phỏng HDLhwcosim được tạo ra và đưa vào máy thu.
Thiết kế bộ xử lý băng gốc được tổng hợp sử dụng Xilinx ISE. Bảng 2.2 cho thấy
báo cáo tổng hợp của thiết kế này với 8 bit lượng tử hóa:
55
2.3.2 Kết quả mô phỏng
Hệ thống TR-UWB trên được mô phỏng với các tham số như sau: xung UWB được sử dụng là xung Gaussian đơn chu trình với độ rộng 2 ns, khoảng cách giữa hai xung trong mỗi khung là D = 60 ns, mỗi khung có kích thước Tf = 180 ns; dòng bit được tạo ngẫu nhiên và phân phối đều; môi trường truyền dẫn là kênh IEEE 802.15.4a CM1; số vòng lặp Monte-Carlo là 1000 vòng, mỗi vòng phát đi 100 kí tự dữ liệu; tần số lấy mẫu là 100 MHz; số bit lượng tử hóa là 5 bit có dấu. Simulink và System Generator được sử dụng để mô phỏng và tính toán tỉ lệ BER theo SNR. Hình 2.11 thể hiện hiệu suất hoạt động của hệ thống trong 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) là tương đương nhau và khá gần với trường hợp lí tưởng (C1): độ chênh lệch xấp xỉ 3 dB.
Hình 2.11: BER vs. SNR
56
2.4 Kết luận chương 2
Trong chương này, tác giả đã phát triển và triển khai một thuật toán đồng bộ cho máy thu TR-UWB. Ưu điểm của thuật toán này là khá linh hoạt trong việc thay đổi cấu hình để phù hợp với các phần cứng khác nhau. Kết quả mô phỏng cũng cho thấy thuật toán đồng bộ được đề xuất có độ chính xác khá tốt ngay cả với tốc độ lấy mẫu và số bit lượng tử hóa thấp. Ngoài ra, việc triển khai thành công máy thu TR-UWB sử dụng thuật toán này trên FPGA chứng tỏ tính khả thi của kiến trúc được đề xuất. Những kết quả trên đã được trình bày trong bài báo “Synchronization Algorithm and FPGA Implementation for Transmit-Reference UWB Receiver”, The Fourth International Conference on Communications and Electronics (ICCE) 2012.
57
Chương 3
Thuật toán SVD cho máy thu TR- UWB
3.1 Máy thu TR-UWB sử dụng SVD
3.1.1 Thuật toán máy thu cải tiến
Trong chương này, một thuật toán máy thu TR-UWB mới được đề xuất sử dụng phép phân tích ma trận (SVD) đã trình bày ở chương 1. Thuật toán mới áp dụng kĩ thuật lấy mẫu theo kiểu “integrate-and-dump” với nhiều mẫu trên một khung giúp tạo nên một máy thu khá linh hoạt theo các yêu cầu khác nhau về chất lượng BER và độ phức tạp tính toán. Một phương án triển khai phép toán SVD trên FPGA sử dụng các khối CORDIC tự thiết kế cũng được trình bày trong chương này. Ngoài ra, các tham số ảnh hưởng đến độ chính xác và thời gian thực thi của khối CORDIC như số vòng lặp tính toán và số lượng bit để biểu diễn của các biến trong thuật toán sẽ được phân tích chi tiết trong phần cuối của chương.
Trong sơ đồ máy thu TR-UWB (Hình 3.1) đã được giới thiệu ở chương 1, kí hiệu dữ liệu được ước lượng bằng cách lấy tích phân tín hiệu thu x(t) sau khi thực hiện trễ và nhân, rồi lấy dấu kết quả.
(3.1) x(t)dt } ˆs = sign { (cid:90)Tf
·
Tuy đây là một máy thu rất đơn giản, nhưng chất lượng BER vs SNR của nó lại hạn chế. Mức chênh lệch (so sánh với máy thu RAKE) lớn hơn 3dB rất nhiều. Đó là do các nguyên nhân: (i) một khung TR có độ rộng gấp 3 lần trong khi mức năng lượng tín hiệu trên mỗi khung tăng gấp 2 (do chứa 2 xung), (ii) lấy tích phân trên h2(t) chỉ nằm ở phân khung II (Hình toàn bộ khung trong khi phần tín hiệu có ích s 3.2), (iii) phần tín hiệu có ích này không phân bố đều mà suy giảm theo hàm mũ. Nguyên nhân đầu tiên thuộc về đặc tính hệ thống và không thay đổi được, tuy nhiên,
58
Hình 3.1: Máy thu TR-UWB đơn giản
hai nguyên nhân sau có thể được giải quyết một phần nhờ thay đổi thuật toán máy thu.
Hình 3.2: Một khung tín hiệu x(t) tại phía thu
Trong máy thu cải tiến, thay vì chỉ lấy một mẫu trên một khung, tác giả sử dụng kĩ thuật “integrate-and-dump” với tốc độ cao hơn để có được nhiều mẫu trên một khung. Mỗi khung có tổng cộng 3N mẫu, nhưng thuật toán máy thu sẽ chỉ sử dụng N mẫu ở phân khung II chứa tín hiệu có ích s h2(t). · Cụ thể, máy thu lấy N mẫu trong phân khung II của tín hiệu xi(t) (tương ứng
D+(n+1)Ts
với kí tự được phát đi si) như sau:
D+nTs
h2(t (3.2) xi,n := xi(nTs) = si D)dt = si hn − · (cid:90)
3N là chu kì lấy mẫu và hn là các hệ số kênh “mới”. Thao tác lấy mẫu
trong đó, Ts = Tf
59
(n+1)Ts
bằng “integrate-and-dump” chia kênh thành các đoạn nhỏ, mỗi đoạn được đặc trung bởi hệ số hn chính là năng lượng của đoạn kênh đó và vì vậy luôn dương.
nTs
h2(t D)dt (3.3) hn = − (cid:90) Tiến hành gom tất cả các mẫu trong khung thứ i, n = 0, 1, . . . , (N 1), thành ∀ − một vector, ta có được mô hình dữ liệu cho một kí hiệu si như sau:
(3.4) h xi = si
−
1]T . trong đó, xi = [xi,0, xi,1, . . . , xi,N · 1]T và h = [h0, h1, . . . , hN −
Thuật toán ZF
Trong một số trường hợp cụ thể, khi máy thu biết được thông tin về kênh (nhờ đo đạc hoặc sử dụng tín hiệu dẫn đường), ta có thể xây dựng thuật toán ZF (Zero Forcing) cho máy thu từ mô hình dữ liệu trong (3.4) 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 tách bởi công thức
(3.5) si = signhT xi
Thuật toán cải tiến “blind" không sử dụng tín hiệu dẫn đường
Xét quá trình thu/phát một gói dữ liệu gồm M kí tự liên tiếp, với giả thiết kênh truyền không đổi trong suốt quãng thời gian này. Đưa tất cả các vector xi từ (3.4) thành một ma trận, ta thu được mô hình dữ liệu cho trường hợp nhiều kí hiệu:
1] = [s0h, s1h, . . . , sM
1h] −
−
(3.6) [x0, x1, . . . , xM
X = hsT (3.7)
Biết được ma trận thu X, ta có thể ước lượng đồng thời cả hai vector h và s trong một bài toán xấp xỉ hạng 1 nhờ sử dụng phép phân rã ma trận SVD, và chọn các vector singular trái và phải đầu tiên. Sau đó, kí hiệu sẽ được tách bằng phép quyết định cứng.
X = UΣVH, (3.8) ˆs = signv0
60
Nhận xét
Ta có thể thấy rằng thao tác tách kí hiệu trong (3.1) thực ra tương đương với (3.5) nếu thay hT bởi một vector chứa toàn các phần tử 1: [1, 1, . . . , 1]. Điều này có hàm ý rằng máy thu đơn giản đã cho cộng tất cả các phần tử xi với cùng một trọng số giống nhau trong khi máy thu ZF lại sử dụng các trọng số hi khác nhau khi cộng tất cả các phần tử xi lại (do các đoạn trong một khung dữ liệu có độ lớn khác nhau như quan sát trên Hình 3.3). Thực tế, máy thu cải tiến cũng gián tiếp sử dụng trọng số trong bài toán xấp xỉ. Cụ thể, việc bỏ đi phân khung số I và III đồng nghĩa với việc gán cho các mẫu trong hai phân khung này các trọng số có giá trị bằng 0.
Hình 3.3: Khung dữ liệu sau bộ tương quan được cắt nhỏ
Do đó, các thuật toán máy thu cải tiến, với cách tiếp cận theo phương pháp kết hợp tỉ số tối đa (MRC - Maximum Ratio Combining), tức là phần tín hiệu lớn hơn sẽ có trọng số lớn tương xứng, sẽ có chất lượng tốt hơn máy thu đơn giản. Điều này sẽ được kiểm chứng trong phần mô phỏng tiếp theo.
Kết quả mô phỏng
Hệ thống TR-UWB được mô phỏng với 100 kí hiệu BPSK được truyền đi qua kênh IEEE CM1. Xung UWB được lựa chọn là đạo hàm bậc hai của xung Gauss với
61
độ rộng 1 ns. Khoảng thời gian trễ giữa xung tham chiếu và xung mang tin là D = 64 ns. Độ rộng của một khung tín hiệu là Tf = 3D = 192 ns. Quá trình mô phỏng được thực hiện với 1000 vòng lặp Monte-Carlo để vẽ được đồ thị BER vs. SNR cho các thuật toán máy thu khác nhau dưới các điều kiện kênh truyền khác nhau. Ở đây, SNR được định nghĩa là tỉ số năng lượng xung trên mật độ phổ công suất nhiễu.
Máy thu sử dụng thuật toán cải tiến “blind” được so sánh với máy thu đơn giản. Đường tham chiếu là của máy thu ZF khi đã biết trước kênh truyền. Ngoài ra, ảnh hưởng của tốc độ lấy mẫu tới chất lượng BER cũng được khảo sát bằng cách thay đổi số lượng mẫu trên một khung, N . 1, 2, 4, 16 } ∈ {
− Do đồng bộ thời gian là một vấn đề quan trọng trong mọi hệ thống thông tin, tác giả cũng sẽ đánh giá khả năng chống sai lỗi thời gian của hệ thống bằng cách thay đổi thuật toán máy thu sao cho sử dụng toàn bộ khung (bao gồm cả ba phân khung I, II và III) khi thực hiện “integrate-and-dump”, với giá phải trả là số lượng các mẫu trên khung sẽ tăng gấp ba. Khi đó, so sánh chất lượng BER của máy thu với giả định đồng bộ lí tưởng và máy thu đã hiệu chỉnh khi xảy ra lỗi thời gian ở cả cấp độ khung và cấp độ mẫu như minh họa trong Hình 3.4. Trong bài toán mô phỏng này, lỗi thời gian τ được tạo ngẫu nhiên trong khoảng [ D, D] (giá trị dương có nghĩa khung bị lệch về bên phải, âm là lệch về bên trái).
Hình 3.4: Khung tín hiệu thu được bị dịch đi một khoảng thời gian τ
Kết quả mô phỏng được thể hiện trên các Hình 3.5 và Hình 3.6. Từ Hình 3.5 có thể thấy các thuật toán máy thu cải tiến có chất lượng tốt hơn hẳn thuật toán máy thu TR-UWB đơn giản. Độ lợi nằm trong khoảng từ 1 dB đến 3 dB, tương ứng với các trường hợp N = 1 và khi sử dụng máy thu ZF. Lưu ý rằng trường hợp N = 1 thực ra rất giống với máy thu đơn giản, ngoại trừ việc nó chỉ thực hiện lấy tích phân trong phân khung II chứ không phải toàn bộ khung, điều này giúp tránh được việc
62
≈ tích lũy nhiễu trong những vùng không chứa tín hiệu có ích. Ngoài ra, có thể nhận thấy khi N tăng, chất lượng BER cũng được cải thiện. Tuy nhiên, khi N đạt tới một giá trị nào đó thì độ lợi sẽ không tăng thêm nhiều nữa. Trong bài toán mô phỏng 8. Do độ phức tạp của thuật toán tỉ lệ thuận với N nên việc này, giá trị đó là N giữ N đủ nhỏ cũng làm giảm đáng kể độ phức tạp tính toán của máy thu.
Hình 3.5: Đồ thị BER vs SNR cho các thuật toán máy thu khác nhau
3.2 Thuật toán tính SVD
− Khả năng chống sai lỗi thời gian của máy thu đã hiệu chỉnh được thể hiện trong Hình 3.6, khi đó hạn chế về chất lượng BER là rất nhỏ (dưới 0.5 dB). Điều này có thể được giải thích khi quan sát khung tín hiệu đã bị dịch ở Hình 3.4. Miễn là toàn bộ khung vẫn chứa đầy đủ phần tín hiệu có ích, tức là D < τ < D, thì máy thu vẫn có thể thu thập được toàn bộ năng lượng của tín hiệu và tách được kí tự phát đi.
Thuật toán tính SVD trên cả phần mềm và phần cứng đều trải qua hai bước:
63
Hình 3.6: Khả năng chống sai lỗi thời gian của thuật toán máy thu đã hiệu chỉnh
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.
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.
Để thực hiện hai bước chéo hóa ma trận trên, một thuật toán quay có tên gọi Givens Rotation (đặt theo tên của nhà toán học phát minh ra nó) được sử dụng để xoay liên tiếp ma trận ban đầu thành các dạng ma trận mong muốn. Cụ thể, trong phép quay Givens Rotation, một vector N chiều được quay đi một góc xác định θ sao cho chỉ có thành phần của hai chiều bị thay đổi giá trị. Phép quay được thực hiện thông qua phép nhân ma trận đầu vào với một ma trận trực giao G như sau [11]:
64
Hình 3.7: Các bước tính toán SVD
... ...
... . . . ... ...
(3.9) G(i, k, θ) = 0 ... c ...
... ... . . . ...
1 ... 0 ... 0 ... 0 ... s − ... 0 ... 0 ... s ... c ... 0 ... . . . ... 0 ... 0 ... 0 ... 1 trong đó, c = cos(θ) và s = sin(θ).
Nếu sử dụng ma trận GT làm nhân tử đứng trước, ma trận đầu vào được xem như một vector cột bị quay đi một góc θ với hàng thứ i và j của ma trận bị thay đổi giá trị. Gọi x là một vector cột của ma trận đầu vào A, y là vector thu được khi quay vector x một góc θ, tức y = GT x. Kết quả được thể hiện ở Phương trình (3.10):
(3.10)
j = i i = k = i, k j sxk cxi − sxi + cxk xj yi = (cid:54)
Nếu muốn triệt tiêu phần tử yk về 0, các hệ số c và s của ma trận trực giao sẽ
được gán giá trị:
(3.11)
i +x2 k xk i +x2 k
c = xi √x2 s = − √x2
Ngược lại, nếu ma trận G được dùng làm nhân tử đứng sau, ma trận đầu vào lúc này được coi là một vector hàng bị quay đi một góc θ với giá trị của cột thứ i và j bị
65
thay đổi.
×
×
× n) và ma trận quay tích lũy cho lần quay kế tiếp G(m × ×
Cả hai bước chéo hóa ma trận Bidiagonalization và Diagonalization trong thuật toán tính SVD đều sử dụng phép quay Givens Rotation với mong muốn triệt tiêu phần tử yk về 0, tức góc quay θ được xác định theo Phương trình (3.11). Lưu đồ thuật toán các phép quay vector cột và hàng sử dụng trong tính toán SVD được thể hiện trên Hình 3.8, 3.9. Trong cả hai lưu đồ, A(m n) là ma trận đầu vào, m) là ma trận quay tích lũy trong các lần quay trước (ở lần quay đầu tiên, Gin(m m) là ma trận quay hiện tại. Kết thúc mỗi lần quay Gin là ma trận đơn vị), Gk(m thu được ma trận B(m m). Với phép quay vector cột (hàng), i, j là chỉ số hai hàng (cột) cần thay đổi giá trị và k là chỉ số xác định cột (hàng) cần triệt tiêu.
3.2.1 Bidiagonalization
Hình 3.8: Thuật toán quay vector cột
×
Trong bước thứ nhất, ma trận ban đầu được đưa về dạng ma trận hai đường chéo n Cm sử dụng phép quay Givens Rotation vừa được trình bày. Cụ thể, ma trận A ∈
66
Hình 3.9: Thuật toán quay vector hàng
được phân tích thành ba ma trận:
A = LBR (3.12)
n là ma trận hai đường chéo, L
m và R
n lần lượt là
×
×
×
Cm Cm Cn ∈ ∈ ∈ trong đó, B hai ma trận trực giao quay vector cột và hàng.
Để thực hiện điều này, phép quay Givens Rotation được áp dụng lần lượt lên các
cột và các hàng của ma trận A theo lưu đồ sau:
n với m × ≥
Trong lưu đồ trên, ở thời điểm bắt đầu, L và R được lựa chọn là các ma trận đơn vị. Ma trận đầu vào A có kích thước m n để phù hợp với bài toán SVD trong máy thu TR-UWB. Tại vòng lặp thứ j, thuật toán triệt tiêu các phần tử nằm trên cột j và hàng j để đưa về dạng ma trận mong muốn. Thứ tự triệt tiêu là từ dưới lên trên (với cột) và từ phải sang trái (với hàng) thông qua việc sử dụng các phép quay Givens Rotation liên tiếp. Kết thúc bước Bidiagonalization thu được ma trận B với hai đường chéo: một đường chéo chính và một đường chéo phụ nằm kề trên như Hình 3.11.
67
Hình 3.10: Thuật toán Bidiagonalization sử dụng phép quay Givens Rotation
3.2.2 Diagonalization
Hình 3.11: Ma trận thu được sau bước Bidiagonalization
Bước cuối cùng của thuật toán tính SVD là chuyển đổi ma trận hai đường chéo B vừa nhận được về dạng ma trận một đường chéo Σ. Quá trình này sử dụng phép
68
quay Givens Rotation dọc theo các đường chéo của ma trận đầu vào và được lặp đi lặp lại cho đến khi thu được dạng ma trận mong muốn. Biểu diễn dưới dạng toán học, bước Diagonalization được thể hiện qua phương trình sau:
B = P ΣQ (3.13)
m, Q
n lần lượt là các ma trận trực giao quay cột và hàng, và
×
×
Cn ∈ với P Σ Cm n là ma trận một đường chéo cần tìm. ∈ Cm × ∈
Hình 3.12: Thuật toán Diagonalization sử dụng phép quay Givens Rotation
Thuật toán triệt tiêu các phần tử xung quanh về 0, chỉ giữ lại các phần tử nằm trên đường chéo chính được thể hiện qua lưu đồ 3.12. Tại vòng lặp thứ i, các phần tử nằm bên phải và bên dưới của B(i, i) được triệt tiêu thông qua một phép quay hàng và quay cột. Tuy nhiên, các phần tử này không được triệt tiêu hoàn toàn sau
69
Hình 3.13: Ma trận thu được sau bước Diagonalization
3.2.3 SVD sử dụng phép quay Givens Rotation
một lần quay. Để đưa các giá trị này tiến sát về 0, thuật toán cần thực hiện với một số lần lặp nhất định. Kết thúc quá trình này, các giá trị nằm trên đường chéo chính của ma trận Σ sẽ hội tụ về các singular-value của ma trận đầu vào A.
3.3 Thuật toán CORDIC
Tóm lại, lưu đồ thuật toán hoàn chỉnh để tính toán SVD sử dụng phép quay Givens Rotation được thể hiện trên Hình 3.14 với số vòng lặp cần thiết được đặc trưng bởi tham số loop. Giá trị của tham số này sẽ được đánh giá trong phần tiếp theo. Quá trình kiểm tra khả năng hoạt động của thuật toán vừa trình bày với kết quả thu được từ hàm svd() trên MATLAB cho thấy sai số mắc phải gần như không đáng kể, chứng tỏ thuật toán hoạt động rất chính xác. Tuy nhiên, dễ dàng nhận thấy việc sử dụng các phép toán có độ phức tạp cao (như lũy thừa, khai căn, nhân ma trận) trong các phép quay Givens Rotation khiến cho thuật toán khó có thể triển khai được trên phần cứng. Trong phần tiếp theo của luận án, một giải pháp mới được đặt ra nhằm đơn giản hóa các thao tác tính toán phức tạp, tăng tính khả thi của thuật toán khi triển khai trên HDL/FPGA, đồng thời vẫn đảm bảo kết quả sau cùng có độ chính xác ở mức chấp nhận được.
Thuật toán CORDIC là một giải pháp hữu hiệu có khả năng thay thế cho phép quay Givens Rotation khi được triển khai trên phần cứng. CORDIC (COordinate
70
Hình 3.14: Thuật toán SVD hoàn chỉnh sử dụng phép quay Givens Rotation
Rotation DIgital Computer), hay thuật toán Volder, là một phương pháp đơn giản và hiệu quả để tính toán các hàm lượng giác và hyperbol, thường được dùng khi bộ nhân phần cứng không khả dụng (trên FPGA hay các vi xử lý đơn giản) và được xây dựng từ các bộ cộng-trừ, dịch bit, bảng tham chiếu.
Thuật toán CORDIC xuất phát từ phép quay Givens Rotation [4]:
= (3.14) cθ sθ (cid:32) sθ x − cθ (cid:33) (cid:32) y(cid:33) (cid:32) x(cid:48) y(cid:48)(cid:33)
71
hay
(3.15) − x(cid:48) = xcθ ysθ y(cid:48) = ycθ + xsθ (cid:40)
Phương trình (3.14) (hay (3.15)) thể hiện phép quay một vector trong mặt phẳng
Descartes với một góc θ. Phép quay này có thể được viết lại như sau:
(3.16) − y tan θ) x(cid:48) = cos θ(x y(cid:48) = cos θ(y + x tan θ) (cid:40)
i thì phép nhân với tan θ được đơn giản hóa bằng một phép dịch bit [4]. Nếu là một góc quay ngẫu nhiên thì có thể được thay thế bằng việc quay liên tiếp nhiều góc nhỏ, mỗi góc nhỏ thỏa mãn điều kiện trên. Khi ấy, cos θ là một hằng số và phương trình (3.16) có thể được viết lại:
Nếu góc quay được lựa chọn sao cho tan θ = 2− ±
i) i)
(3.17) − xi+1 = Ki(xi siyi2− yi+1 = Ki(yi + sixi2− (cid:40)
trong đó
i)) =
1(2−
2i
(3.18) Ki = cos(tan− 1 √1 + 2−
1 (3.19) si =
i)
± Các hằng số Ki có thể được loại bỏ khỏi phương trình cho mỗi vòng lặp và được bổ sung vào kết quả cuối cùng. Tích của các hằng số này sẽ tiến tới giá trị 0.60275 khi số vòng lặp là vô hạn. Góc quay tổng hợp cũng được xác định từ các góc quay nhỏ trong mỗi lần lặp. Giá trị của góc quay này được tính toán thông qua phương trình thứ ba sau đây:
(3.20) si. arctan(2− zi+1 = zi −
i) trong mỗi lần quay là các hằng số và được lưu trong Bảng 3.1 (trên phần cứng, bảng này được lưu trong bộ nhớ ROM). Như vậy, thuật toán CORDIC được thể hiện qua hệ ba phương trình:
i
Giá trị của arctan(2−
i)
1(2−
(3.21) siyi2− i sixi2− xi+1 = xi yi+1 = yi
− − si tan− zi+1 = zi −
72
i)
i
0 arctan(2− 0.785398
1 0.463648
2 0.244979
3 0.124354
4 0.062419
5 0.031239
... ...
Bảng 3.1: Hằng số arctan
3.3.1 Chế độ Rotation
CORDIC làm việc ở hai chế độ. Chế độ thứ nhất là chế độ quay (Rotation), trong đó, vector được quay đi một góc xác định bởi tham số đầu vào. Chế độ thứ hai là chế độ Vector (Vectoring) có nhiệm vụ quay vector về trục x (hay triệt tiêu y), đồng thời ghi lại giá trị góc quay được.
Ở chế độ này, thành phần lưu giá trị góc quay (thành phần z) được khởi tạo bằng giá trị góc cần quay. Hướng quay tại mỗi lần lặp được quyết định sao cho giảm dần sự sai khác giữa góc quay được và góc cần quay. Cụ thể, điều kiện cho hệ phương trình CORDIC ở chế độ quay có dạng:
+1 zi (3.22) si = ≥ 0 1 zi < 0 (cid:40) −
Thông số đầu vào của phép quay:
(3.23)
x0 = xin y0 = yin z0 = θ
73
Thông số đầu ra của phép quay:
K (xin cos z0 − yin sin z0) K (yin cos z0 + xin sin z0)
(3.24) xn = 1 yn = 1
zn = 0
3.3.2 Chế độ Vectoring
Khối CORDIC ở chế độ vector thực hiện quay vector đầu vào cho đến khi vector này trùng với trục x. Hướng quay tại mỗi lần lặp được lựa chọn sao cho thành phần y tiến dần về 0. Điều kiện cho hệ phương trình CORDIC ở chế độ này có dạng:
(3.25) si = +1 yi < 0 0 1 yi (cid:40) ≥ −
Thông số đầu vào của phép quay:
(3.26)
x0 = xin y0 = yin z0 = zin
in)
Thông số đầu ra của phép quay:
1( yin xin
(3.27) xn = 1 in + y2 x2 K yn = 0 (cid:112) ) zn = zin + tan−
3.4 Thuật toán CORDIC cải tiến
Khối CORDIC được dùng để thực hiện phép quay Givens Rotation trên phần cứng. Với bài toán Givens Rotation, hai hàng (hoặc hai cột) của ma trận đầu vào được quay đi một góc θ. Với ma trận đầu vào có mỗi hàng (hoặc cột) chứa N phần tử thì một phép quay Givens Rotation áp dụng cho ma trận cần sử dụng N khối CORDIC. Ngoài ra, việc xác định góc quay θ được thực hiện thông qua cặp phần tử (xk, yk), trong đó yk cần được triệt tiêu về 0. Như vậy, phép quay Givens Rotation được thực hiện trên phần cứng sử dụng khối CORDIC gồm hai bước:
74
• Bước 1: sử dụng một khối CORDIC ở chế độ Vectoring cho cặp phần tử (xk, yk) với mong muốn yk được đưa về 0, từ đó xác định góc cần quay θ,
1 khối CORDIC ở chế độ Rotation cho các cặp phần tử • − Bước 2: sử dụng N còn lại, với góc quay đầu vào là θ vừa xác định.
Hình 3.15: Phép quay Givens sử dụng các khối CORDIC
Theo sơ đồ trên Hình 3.15, cặp phần tử (xk, yk) trước tiên được xử lý bởi khối CORDIC - Vectoring. Tại đây, cặp (xk, yk) được quay đi một góc θ để triệt tiêu yk về 0. Góc cần quay θ được gán cho phần tử z và trở thành đầu vào cho các khối CORDIC - Rotation. Các khối CORDIC - Rotation này có nhiệm vụ quay các cặp phần tử còn lại theo tín hiệu đầu vào z. Kết thúc quá trình tính toán, tất cả N cặp phần tử của vector đầu vào được quay đi một góc θ xác định bởi cặp phần tử (xk, yk) ban đầu. Với cách thức thực hiện như trên, thời gian thực hiện mỗi phép quay Givens Rotation bằng hai lần thời gian thực hiện một phép toán CORDIC. Cụ thể, trong khoảng thời gian khối CORDIC - Vectoring xác định góc quay θ và quay cặp phần tử (xk, yk), các khối CORDIC - Rotation không hoạt động vì phải đợi giá trị z (chính là góc quay θ) để thực thi các phép toán. Như vậy, trong trường hợp này, năng lực phần cứng không được tận dụng triệt để, đồng thời phải có thêm các khối tính toán, xử lý cho góc quay θ.
Để gia tăng tốc độ thực hiện phép quay Givens Rotation trên phần cứng, một giải pháp được đưa ra là thực hiện quay đồng thời tất cả các cặp phần tử của vector đầu vào. Cụ thể, tại mỗi vòng lặp của thuật toán CORDIC - Vectoring, cặp phần tử (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ũng đượ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
75
(xk, yk). Kết thúc quá trình tính toán, tất cả các cặp phần tử của vector đầu vào đều được quay đi một góc θ mà không cần sử dụng đến khối tính toán góc như giải thuật ban đầu. Với giải pháp này, thời gian thực hiện mỗi phép quay Givens Rotation sẽ bằng thời gian thực hiện một phép toán CORDIC, tức tốc độ thực hiện phép quay đã được cải thiện gấp đôi. Đổi lại, ta cần thêm một khối CORDIC - Rotation nữa để thực hiện quay đồng thời toàn bộ N cặp phần tử của vector đầu vào so với kiến trúc ban đầu. Tuy nhiên, với bài toán phân tích ma trận SVD áp dụng trong máy thu TR-UWB, tốc độ thực thi là yếu tố cần được ưu tiên nhất với mong muốn đáp ứng yêu cầu xử lý ở thời gian thực. Do đó, cải tiến này là hoàn toàn phù hợp với mục tiêu đặt ra.
Hình 3.16: 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
Do thuật toán CORDIC được triển khai trên phần cứng, tác giả tiến hành đánh giá sự ảnh hưởng của các yếu tố định dạng dữ liệu đầu vào và số vòng lặp cần thực thi lên độ chính xác và tốc độ thực thi của thuật toán. Hình 3.16 cho thấy mối liên hệ giữa hai yếu tố này và độ chính xác của khối CORDIC trên phần cứng. Cụ thể,
76
SV D/NSV D
SV D)
# Operations per Second m x n k N (cid:48)
Non-pipeline (NSV D) Pipeline (N (cid:48) 312.499 265.957 10 1.174.999 4 x 3 20 143.678 156.249 1.087.499
10 147.058 208.332 1.416.664 8 x 4 20 86.206 104.166 1.208.331
10 49.407 89.284 1.807.127 16 x 8 20 31.806 44.642 1.403.559
10 16.005 25.986 1.623.662 32 x 16 20 11.563 20.832 1.801.597
10 4.798 6.296 1.312.277 64 x 32 20 3.875 6.296 1.624.524
Bảng 3.2: Số phép toán SVD/s
tác giả tiến hành mô phỏng thuật toán CORDIC với năm định dạng khác nhau cho dữ liệu đầu vào: số dấu phẩy động độ chính xác đơn (single) và kép (double), số dấu phẩy tĩnh dạng 8 bit, 8.8 bit (8 bit trước và 8 bit sau dấu phẩy) và 8.16 bit. Trong năm định dạng dữ liệu trên, dạng single và double của MATLAB khó triển khai trên phần cứng và được dùng trong mô phỏng với mục đích là tham chiếu cho các định dạng khác. Kết quả mô phỏng cho thấy định dạng dấu phẩy tĩnh với 16 bit sau dấu phẩy và 12 bit trước dấu phẩy (4 bit được thêm vào để ngăn hiện tượng tràn ở kết quả đầu ra sau mỗi vòng lặp) là thích hợp nhất để triển khai trên phần cứng. Ngoài ra, kết quả mô phỏng cho thấy khi số lượng vòng lặp lớn hơn 16, độ chính xác của khối CORDIC gần như không được cải thiện. Nguyên nhân là do giới hạn về độ phân giải của dải giá trị có thể biểu diễn được (phụ thuộc vào định dạng dữ liệu được sử dụng) không cho phép thể hiện những cải thiện về độ chính xác khi số vòng lặp vượt qua ngưỡng 16 này. Vì vậy, khi triển khai trên phần cứng, số vòng lặp tối ưu được lựa chọn là 16, tức cần 4 bit cho bộ đếm. 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 Rotation được thể hiện trên Hình 3.17, theo đó, tất cả N khối CORDIC đều thực thi phép toán 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
77
−
MUX. Khối CTRL có nhiệm vụ đưa ra tín hiệu điều khiển cho mỗi bộ CORDIC và chỉ số i trong mỗi vòng lặp. Khối MUX lựa chọn một trong các tín hiệu MSB để điều khiển các khối cộng/trừ (bên trong mỗi khối CORDIC) dựa theo chỉ số đầu vào (index). Chỉ số này chỉ thị cặp phần tử (xk, yk) cần thực thi phép toán CORDIC - Vectoring, chính là cặp phần tử giữ vai trò xác định chiều quay trong mỗi vòng lặp. Với thiết kế mới này, số lượng phép toán cần để thực hiện phép quay Givens Rotation 80% so với kiến trúc ban đầu (non-pipeline) tùy trên phần cứng được giảm đi từ 30 vào kích thước của ma trận (Bảng 3.2) nhờ tận dụng triệt để năng lực tính toán của các khối CORDIC, đồng thời tiết kiệm tài nguyên phần cứng cần sử dụng do loại bỏ được khối tính toán và xử lý góc quay θ.
3.5 Kết luận chương 3
Hình 3.17: Phép quay Givens sử dụng các khối CORDIC cải tiến
Trong chương này, tác giả đã trình bày một thuật toán máy thu mới không cần sử dụng tín hiệu dẫn đường cho máy thu TR-UWB dựa trên kĩ thuật phân tích ma trận (SVD). Đồng thời, một phương án triển khai phép phân tích SVD trên phần cứng đã được trình bày chi tiết bằng cách áp dụng thuật toán CORDIC. Các khối CORDIC tự thiết kế sử dụng những thành phần cơ bản và đơn giản nhất của FPGA như các bộ cộng, bộ dịch bit nhằm nâng cao tốc độ hoạt động và giảm độ phức tạp của máy thu. Việc áp dụng một số cải tiến cho khối CORDIC giúp nâng cao gấp đôi tốc độ xử lý, đồng thời cũng chứng minh sự khả thi khi triển khai trên phần cứng của kiến
78
trúc máy thu TR-UWB sử dụng thuật toán được đề xuất. Các kết quả này đã được thể hiện trong các bài báo “An Improved Blind Algorithm for Transmit-Reference UWB Receivers”, Tạp chí Khoa học và Công nghệ các trường đại học kĩ thuật số 101 năm 2014 và “Implementation of Singular Value Decomposition in Hardware", Tạp chí Khoa học và Công nghệ các trường đại học kĩ thuật số 103 năm 2014.
79
Chương 4
Thuật toán đồng bộ cho máy thu UWB IEEE 802.15.4a
Các chương trước đã đưa ra những phương án nhằm giải quyết Vấn đề 1 được trình bày ở chương 1 của luận án. Trong phần tiếp theo, tác giả sẽ tập trung giải quyết vấn đề còn lại: 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 thiết kế và chế tạo bộ xử lý băng gốc (Baseband DSP) cho máy thu trên phần cứng. Như đã đề cập ở chương 1, cho đến thời điểm hiện tại vẫn chưa có một thuật toán đồng bộ tín hiệu hoàn chỉnh cho máy thu UWB IEEE 802.15.4a. Trong chương này, tác giả sẽ đề xuất một thuật toán đồng bộ tín hiệu mới nhằm giải quyết vấn đề trên. Cụ thể, thuật toán đồng bộ dành cho máy thu không đồng bộ UWB IEEE 802.15.4a được trình bày sau đây có thể hoạt động mà không cần quan tâm việc vị trí máy thu bắt đầu nhận được tín hiệu có thuộc phần SYNC hay không. Quan trọng hơn, thuật toán mới đưa ra một cách xác định giá trị ngưỡng mà không cần sử dụng những thông tin về mức tạp âm, do đó giảm được độ phức tạp tính toán của máy thu nhờ loại bỏ khối đo đạc công suất tạp âm. Không những vậy, với cách tính toán giá trị ngưỡng mới này, máy thu chỉ cần sử dụng bộ ADC tốc độ thấp (cỡ 100MHz) thay vì phải triển khai một bộ ADC với tốc độ lấy mẫu cỡ GHz như trong [14]. Vì vậy, chi phí triển khai máy thu sẽ giảm đi đáng kể. Tuy nhiên, so với thuật toán của [14], thuật toán được phát triển trong chương này có sai số đồng bộ lớn hơn khá nhiều. Cụ thể, sai số đồng bộ mắc phải có thể lên tới một chu kì lấy mẫu (với bộ ADC tốc độ cỡ 100MHz). Tuy nhiên, đối với các ứng dụng truyền tải dữ liệu tốc độ thấp, sai lệch này không ảnh hưởng nhiều đến quá trình giải mã dữ liệu ở máy thu. Vì vậy, thuật toán mới thích hợp để phát triển các ứng dụng tốc độ dữ liệu thấp với tiêu chí tiết kiệm năng lượng và giá thành triển khai thấp như mạng sensor, điều khiển giao thông, giám sát sức khỏe,... Phần cuối của chương dành cho việc triển khai một máy thu UWB IEEE 802.15.4a trên phần cứng HDL/FPGA với trọng tâm là hai khối: đồng bộ tín hiệu sử dụng thuật toán được đề xuất và giải mã dữ liệu.
80
4.1 Cấu trúc khung tín hiệu IEEE 802.15.4a
Tháng 8-2007, chuẩn IEEE 802.15.4a chính thức được ra mắt, quy định cấu trúc lớp vật lý tiêu chuẩn cho các thiết bị UWB hoạt động trong mạng WPAN tốc độ thấp, trong đó định nghĩa cấu trúc của một khung tín hiệu UWB và những yêu cầu về dạng xung được phép sử dụng. Theo [31], tín hiệu UWB IEEE 802.15.4a được phát đi dưới dạng các khung tín hiệu, mỗi khung được cấu tạo gồm ba phần:
•
Tiêu đề đồng bộ (Synchronization HeadeR - SHR): gồm hai đoạn mào đầu đồng bộ (SYNChronization preamble - SYNC) và giới hạn khung (Start of Frame Delimiter - SFD), được phát đi đầu tiên và có chức năng hỗ trợ cho máy thu thực hiện các thao tác đồng bộ, định thời, khôi phục tần số và ước lượng kênh.
•
Tiêu đề lớp vật lý (Physical-layer HeadeR - PHR): được gắn ngay sau phần SHR và truyền tải những thông tin cần thiết giúp máy thu giải mã thành công tín hiệu được phát đi như độ rộng phần mào đầu, tốc độ truyền tải dữ liệu, kích thước phần tải tin (chứa dữ liệu) và các bit sửa sai.
4.1.1 Tiêu đề đồng bộ
• Phần dữ liệu (PHY Service Data Unit - PSDU): được truyền đi sau cùng và mang dữ liệu mong muốn.
Theo [31], SHR có cấu trúc gồm hai đoạn khác nhau (Hình 4.1) với chức năng riêng biệt: mào đầu đồng bộ (SYNC) thực hiện chức năng đồng bộ, giám sát và ước lượng kênh, và khối giới hạn khung (SFD) có nhiệm vụ chỉ thị điểm kết thúc phần tiêu đề đồng bộ.
Đoạn SYNC có thể chứa 16, 64, 1024 hoặc 4096 kí tự mào đầu Si với mỗi kí tự bởi hàm δL(n) có kích thước ck { } được tạo ra bằng cách trải chuỗi cân bằng hoàn hảo L kí tự, trong đó,
với ck • { } 1, 0, +1 } ∈ {−
là một chuỗi kí tự tam phân có đặc tính tự tương ck quan hoàn hảo và được dùng để định danh cho mỗi mạng PAN hoạt động ở một kênh vật lý UWB với băng tần cho phép,
81
Hình 4.1: Cấu trúc phần SHR
1 kí tự ’0’ như sau δL(n) gồm một kí tự ’1’ và L • −
(4.1) δL(n) = 1 n = 0 0 n = 1, 2, . . . , L 1 (cid:40) −
Phép trải chuỗi cân bằng hoàn hảo với hàm δL(n) được mô hình hóa bởi ck { } phương trình toán học:
(4.2) Si = ck δL(n) { } ⊗
⊗ chỉ thị cho tích Kronecker. Phương trình 4.2 tương đương với 1 kí tự ’0’ vào giữa trong đó, toán tử việc mỗi kí tự mào đầu Si được hình thành bằng cách chèn L −
82
4.1.2 Khối giới hạn khung
mỗi kí tự của chuỗi như Hình 4.1. ck { }
1 +1 0 0 − −
1 +1 0 0 1 +1 0 0 1 0 +1 0 1 0 +1 0 1 +1 0 0 1 0 +1 0 1 +1 0 0 − − 1 +1 0 0 − 1 0 +1 0 − 1 +1 0 0 − 1 0 +1 0 − 1 +1 0 0 1 0 +1 0 − − − − − − −
−
4.1.3 Phần tiêu đề lớp vật lý và tải dữ liệu
Khối giới hạn khung (SFD) được hình thành tương tự như đoạn SYC. Tuy nhiên, khối SFD không gồm các kí tự mào đầu giống hệt nhau như đoạn SYNC mà được 1] (dành cho các tạo ra bằng cách trải chuỗi mã gồm 8 kí tự [0 +1 0 ứng dụng truyền tải dữ liệu ở tốc độ mặc định và trung bình) hoặc 64 kí tự [0 +1 0 1 0 − − 1 +1 0 +1 0 0 1] (với các ứng dụng truyền tải dữ liệu tốc độ thấp) bởi kí tự mào đầu Si (phép trải tương đương với toán tử Kronecker như ở đoạn SYNC) [31]. Hình 4.1 minh họa cấu trúc của phần SHR với hai đoạn SYNC và SFD (trong trường hợp 8 kí tự).
Theo [31], phần PHR/PSDU được điều chế sử dụng phương pháp BPM-BPSK (Burst Position Modulation - Binary Phase-Shift Keying), trong đó, mỗi kí tự dữ liệu có khả năng truyền tải hai bit thông tin: một bit được dùng để xác định vị trí của burst trong kí tự dữ liệu và bit còn lại dùng để điều chế pha (sự phân cực) của chính burst này. Hình 4.2 thể hiện cấu trúc của một kí tự dữ liệu thuộc phần PHR/PSDU.
Hình 4.2: Cấu trúc của một kí tự dữ liệu IEEE 802.15.4a
Mỗi kí tự dữ liệu được chia làm hai nửa BPM có độ rộng bằng nhau TBP M = Tdsym/2 với Tdsym là chiều dài của một kí tự dữ liệu. Nếu burst dữ liệu nằm ở nửa BPM thứ nhất, bit đầu tiên được truyền đi là bit ’0’; ngược lại, nếu burst nằm ở nửa
83
4.2 Mô hình tín hiệu và kiến trúc máy thu
1 hoặc +1) − BPM thứ hai, bit đầu tiên là bit ’1’. Ngoài ra, pha của chính burst này ( sẽ được dùng để chỉ thị bit thứ hai được truyền đi.
Sơ đồ khối của máy thu UWB tách sóng năng lượng không đồng bộ sử dụng trong luận án được thể hiện trên Hình 4.3. Máy phát truyền tín hiệu qua kênh đa đường tới máy thu. Tại máy thu, tín hiệu nhận được lần lượt đi qua bộ lọc thông dải (Band Pass Filter - BPF) với tần số trung tâm f0, bộ bình phương và bộ lọc thông thấp (Low Pass Filter - LPF) trước khi được đưa vào bộ ADC có chu kì lấy mẫu Ts. Cuối cùng, các mẫu của tín hiệu tại đầu ra của bộ ADC được đưa vào khối xử lý tín hiệu số (DSP - Digital Signal Processor) để phục vụ quá trình đồng bộ và giải mã tín hiệu.
Hình 4.3: Sơ đồ khối của máy thu UWB tách sóng năng lượng không đồng bộ
Mô hình toán học của tín hiệu phát đi (phần SHR) theo chuẩn IEEE 802.15.4a
1
Nshr
−
được biểu diễn như sau:
t=0 (cid:88)
s(t) = (4.3) aiψ(t iTpsym) −
trong đó,
Nshr là tổng số kí tự mào đầu có trong phần SHR, •
Tpsym là độ rộng của một kí tự mào đầu, •
trong đoạn SFD, các hằng số ai = 1 trong đoạn SYNC và ai • 1, 0, +1 } ∈ {−
1
Kpbs
−
ψ(t) được định nghĩa là: •
k=0 (cid:88) 84
(4.4) ψ(t) = ckp(t kTpr) −
1
−
Kpbs k=0 }
∈ {− ck { ; p(t) là một 1, 0, +1 là một chuỗi cân bằng hoàn hảo , ck với } xung đơn chu trình UWB và Tpr = Tpsym/Kpbs là chu kì lặp xung.
Có thể chứng minh được: dạng xung q(t) nhận được tại đầu ra bộ BPF ở máy thu (bỏ qua ảnh hưởng của tạp âm) khi máy phát truyền đi xung p(t) qua kênh đa đường h(t) có dạng:
q(t) = [p(t) h(t)]2 (4.5) ∗
Hình 4.4: Dạng xung q(t) tại đầu ra của bộ lọc LPF
1
Kpbs
1
Nshr
−
−
Kí hiệu Tp, Th lần lượt là độ rộng xung p(t) và chiều dài kênh truyền h(t). Thuật toán đồng bộ được đề xuất trong các phần tiếp theo với giả thiết xung q(t) có độ rộng Tpr > Tp + Th để tránh hiện tượng giao thoa giữa các xung kế tiếp nhận được tại máy thu. Lúc này, tín hiệu tại đầu vào bộ ADC có dạng:
i=0 (cid:88)
k=0 (cid:88)
y(t) = (4.6) kTpr iTpsym ai τ0) + ny(t) c2 kq(t − − −
trong đó, ny(t) là tạp âm tại đầu ra của bộ LPF.
4.3 Thuật toán đồng bộ tín hiệu
Mục tiêu của quá trình đồng bộ là định vị chính xác thời điểm bắt đầu của phần PHR nhằm phục vụ cho thao tác giải mã dữ liệu. Phần tiếp theo của luận án sẽ trình bày một thuật toán đồng bộ hoàn chỉnh dành cho máy thu UWB IEEE 802.15.4a cũng như khả năng hoạt động của thuật toán mới dưới các điều kiện khác nhau.
Các bước của quá trình đồng bộ tín hiệu ở máy thu UWB IEEE 802.15.4a được thể hiện trên Hình 4.5. Giả thiết máy thu được bật lên tại một thời điểm ngẫu nhiên
85
Hình 4.5: Các bước thực hiện đồng bộ tín hiệu
sau khi máy phát bắt đầu gửi tín hiệu (được chọn là gốc thời gian) và nhận được tín hiệu phát đi tại thời điểm t0. Rõ ràng, vị trí t0 mà máy thu bắt đầu nhận được tín hiệu có thể thuộc một trong ba phần SHR (SYNC+SFD), PHR hoặc PSDU của khung tín hiệu. Mục tiêu của quá trình đồng bộ là xác định thời điểm bắt đầu tphr của phần PHR, không quan tâm đến vị trí t0 thuộc phần nào của khung tín hiệu. Để thực hiện điều này, một thuật toán đồng bộ được đề xuất gồm hai bước như sau:
1. Đồng bộ thô: từ t0, máy thu nhảy đến một vị trí t1 thuộc đoạn SYNC của
khung tín hiệu,
2. Đồng bộ tinh: loại bỏ các kí tự thuộc phần SHR tính từ vị trí t1 vừa xác định
để thu được kí tự đầu tiên của phần PHR.
4.3.1 Đồng bộ thô
Vị trí bắt đầu của kí tự PHR đầu tiên này chính là thời điểm tphr cần xác định.
Đoạn SYNC của khung tín hiệu IEEE 802.15.4a được tạo nên từ Nsync kí tự mào đầu giống hệt nhau Si. Đặt Ls = Tpsym/Ts là số mẫu có trong một kí tự mào đầu Si và Ns = Tpr/Ts là số mẫu có trong một đoạn tín hiệu có độ dài q(t). Thao tác xác định vị trí t1 thuộc một kí tự mào đầu trong đoạn SYNC của khung tín hiệu được thực hiện như sau.
chuỗi Trước tiên, máy thu tạo ra một mẫu tương quan sc dựa trên Kpbs phần tử của . Cụ thể, mẫu sc được tạo nên từ Ns bản sao của bình phương từng phần ck { }
86
tử trong chuỗi như sau: ck { }
(4.7) sc = sc0, sc1, . . . , scLs−1} {
j/Ns
(cid:99)
, j = 0 1. Ls với scj = c2 (cid:98) − ÷ Tiếp theo, tín hiệu y(nTs) tại đầu ra bộ ADC được chia nhỏ thành các nhóm có
kích thước Ls mẫu:
−
1)}
(4.8) yi = yi0, yi1, . . . , yi(Ls {
Từng nhóm mẫu yi này lần lượt được nhân với mẫu tương quan sc để thu được
1)], trong đó:
−
(k+1)N
mảng gi = [gi0, gi1, . . . , gi(P
j=kN +1 (cid:88)
k = 0, 1, . . . , (P 1) (4.9) yij, gik = scj · −
với P = và N = QNs. Kpbs/Q (cid:101) (cid:100)
Hình 4.6: Mảng gi được tính toán với từng nhóm mẫu yi
Ls. Do chuỗi ck { ≥ }
Trong công thức (4.9), Q là một số nguyên biến thiên trong khoảng [1, Kpbs] với quy ước: scj = yij = 0 khi j sở hữu đặc tính cân bằng hoàn hảo nên luôn tồn tại một giá trị của Q sao cho mỗi mảng gi thu được chỉ có một và chỉ một phần tử đạt giá trị cực đại. Luận án lựa chọn chuỗi cân bằng hoàn hảo thứ 5
87
−
1) trong chuỗi ck { − }
≤
K/2 (cid:101) (cid:100) 1, 0, +1 (tương ứng với hệ thống hoạt động trên kênh số 3 có tần gồm 31 phần tử số trung tâm 4492.8 MHz được quy định theo chuẩn IEEE 802.15.4a [31]). Khi đó, với Q = 3, mỗi mảng gi luôn chỉ có duy nhất một phần tử cực đại ứng với nhóm chỉ như Hình 4.7. Với giá trị này của chứa các phần tử +1 (hoặc Q, kết hợp với đặc điểm đoạn SYNC được cấu tạo từ Nsync kí tự giống nhau, máy thu lần lượt tiến hành tìm kiếm vị trí của phần tử cực đại gimax trong từng mảng gi Nsync) phần tử cực đại thuộc các mảng liên tiếp nhau cho đến khi xuất hiện K (K có cùng một vị trí. Lúc này, có thể khẳng định K nhóm mẫu tương ứng đều thuộc đoạn SYNC của khung tín hiệu. Thời điểm bắt đầu của nhóm mẫu thứ được lựa chọn là vị trí t1 cần xác định.
ck { }
Hình 4.7: Với chuỗi được sử dụng trong luận án, lựa chọn Q = 3 luôn cho một giá trị cực đại duy nhất của mảng gi. Hai phần tử 0 được thêm vào cuối chuỗi để mỗi nhóm có đủ 3 phần tử.
4.3.2 Đồng bộ tinh
Với thuật toán đồng bộ thô đề xuất, khi triển khai trên FPGA, máy thu hoàn toàn có thể thực hiện các thao tác nhân tương quan và tìm phần tử cực đại ngay khi nhận được các nhóm mẫu đầu vào yi. Không những vậy, các thao tác này còn có thể được xử lý song song cùng với quá trình đồng bộ tinh (sẽ được giới thiệu trong phần kế tiếp). Do đó, máy thu có thể bỏ qua việc sử dụng các bộ nhớ đệm tạm thời dùng để lưu trữ giá trị của các mẫu yij, giúp giảm bớt độ phức tạp của máy thu khi triển khai trên phần cứng cũng như tăng tốc độ xử lý tín hiệu.
Kết thúc bước đồng bộ thô, máy thu đã nhảy đến một kí tự mào đầu thuộc đoạn SYNC của tín hiệu nhận được. Nhiệm vụ lúc này là định vị được thời điểm bắt đầu của kí tự đầu tiên thuộc phần PHR (tính từ vị trí t1 vừa xác định). Thuật toán đồng bộ tinh được đề xuất sau đây sẽ giải quyết nhiệm vụ trên với hai giai đoạn chính:
• Giai đoạn 1: ước lượng khoảng thời gian τ (tính từ t1) đến vị trí bắt đầu của kí tự SYNC kế tiếp qua hai bước:
88
Hình 4.8: Quá trình thực hiện đồng bộ tinh
1. Tìm đỉnh lớn nhất đầu tiên của kí tự kế tiếp.
2. Tìm vị trí bắt đầu của kí tự kế tiếp.
•
Giai đoạn 2: loại bỏ các kí tự mào đầu còn lại thuộc phần SHR để nhận được kí tự PHR đầu tiên (tức định vị được thời điểm tphr mong muốn) nhờ vào sự chênh lệch năng lượng giữa ba phần của khung tín hiệu IEEE 802.15.4a như sau:
1. Đo năng lượng của từng đoạn tín hiệu.
2. So sánh năng lượng từng đoạn với giá trị ngưỡng.
89
Ước lượng giá trị của τ
Hình 4.9: Cách thức ước lượng τ
Hình 4.9 minh họa ý tưởng của thuật toán ước lượng giá trị τ [14]. Giả thiết t1 1) của đoạn SYNC. Dễ thấy, τ được xác định là hiệu số giữa − thuộc kí tự thứ (Nτ τh và ∆, với
• τh là độ trễ (so với thời điểm t1) của đỉnh lớn nhất đầu tiên thuộc kí tự SYNC kế tiếp Nτ ,
• ∆ là khoảng cách tính từ vị trí bắt đầu của kí tự Nτ tới đỉnh lớn nhất vừa tìm được.
Như vậy, quá trình ước lượng giá trị của τ được chia làm hai bước nhỏ:
1. Xác định độ trễ τh
2. Xác định khoảng cách ∆
Thuật toán ước lượng τ được phát triển dựa trên việc quan sát dạng của tín hiệu y(t), cụ thể hơn, là dạng của xung q(t), tại đầu ra bộ lọc LPF. Hình 4.10 minh họa một ví dụ về dạng xung q(t) có độ rộng Tpr trong trường hợp không có tạp âm.
A. Xác định độ trễ τh
90
Hình 4.10: Minh họa dạng xung q(t) (bỏ qua tạp âm)
1
Kpbs
M
1
−
−
m Đặt τh = mTpr + ε với 0 ≤ ≤ Kpbs và 0 ε/Ts ε < Tpr. Kí hiệu ˜m và ˜nε lần lượt là ). Theo [14], giá trị của m và nε được tính (cid:98) (cid:99) ≤ giá trị ước lượng của m và nε (nε = toán bằng cách xem xét tổng:
˜m
Kpbs
|
−
i=0 (cid:88)
k=0 (cid:88)
(4.10) S[ ˜m, ˜nε] = y(t˜nε+(k+iKpbs)Ns) 1 M c2 k |
b = a modulo b. | Cụ thể, khi ˜m = m và ˜nε = nε, tổng S[ ˜m, ˜nε] sẽ đạt giá trị lớn nhất và vượt trội so với các trường hợp còn lại (Hình 4.11 [14]). Do đó, máy thu xác định giá trị ước lượng của m và nε thông qua việc tìm kiếm thành phần cực đại trên tập giá trị của S[ ˜m, ˜nε] như sau:
trong đó tl = t1 + lTs (l = 0, 1, 2, . . . ) và a |
arg max m, nε = S[ ˜m, ˜nε] { } (4.11) 0 ˜m Kpbs ≤ ≤ 0 1 ˜nε Ns ≤ − ≤
Cuối cùng, giá trị của ε được ước lượng bằng ˆε = nεTs, từ đó suy ra τh ∼= mTpr + ˆε. Như vậy, máy thu đã xác định được vị trí của đỉnh cao nhất thuộc kí tự mào đầu kế tiếp Nτ .
91
Hình 4.11: Giá trị của S[ ˜m, ˜nε] đạt cực đại khi ˜m = m và ˜nε = nε
M
1
−
B. Xác định khoảng cách ∆ Đặt n∆ ∼= ∆/Ts; thuật toán xác định ∆ (hay n∆) được đề xuất sau đây dựa trên ý tưởng của thuật toán đã được trình bày trong [14]. Cụ thể, máy thu xem xét sự vượt ngưỡng của tổng:
Kpbs
m |
−
i=0 (cid:88)
Γ(m) (cid:88)k ∈
(4.12) y(t˜nε + (k + iKpbs)Ns) S(cid:48)[m, ˜nε] (cid:44) 1 M c2 k |
m
m
Kpbs
Kpbs
−
|
1 |
−
−
= 0. trong đó Γ(m) là tập hợp các chỉ số k thỏa mãn c2 k | = 1 và c2 k |
Quy trình thực hiện thuật toán ước lượng ∆ được thể hiện trên Hình 4.12: từ đỉnh cao nhất vừa tìm được (vị trí nε), máy thu tiến hành 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(cid:48)[m, ˜nε] có giá trị vượt qua một ngưỡng xác định λ nào đó. Thời điểm xảy ra sự vượt ngưỡng, kí hiệu nεcross, chỉ thị vị trí bắt đầu của kí tự kế tiếp Nτ . Cụ thể, giá trị ước lượng của ∆ được cho bởi công thức ˆ∆ = n∆Ts với n∆ = nε nεcross. −
92
Hình 4.12: Dạng sóng của S(cid:48)[m, ˜nε] (bỏ qua tạp âm)
Các tham số của quá trình ước lượng ∆ được lựa chọn tương tự như [14], ngoại trừ cách thức xác định giá trị ngưỡng λ. Dễ thấy, giá trị ngưỡng được sử dụng là yếu tố quyết định độ chính xác của thuật toán. Khi ngưỡng quá nhỏ, cụ thể, nhỏ hơn các mẫu có giá trị lớn nhất trong vùng tạp âm của S(cid:48)[m, ˜nε], ∆ sẽ bị ước lượng vượt quá giá trị chính xác do sự vượt ngưỡng xảy ra trước khi đạt tới vị trí bắt đầu thực sự của vùng chứa tín hiệu. Ngược lại, trong trường hợp ngưỡng được lựa chọn có giá trị quá lớn, sự vượt ngưỡng chỉ xảy ra sau khi điểm tìm kiếm vượt quá thời điểm bắt đầu thực sự của xung q(t) khiến cho giá trị ước lượng của ∆ nhỏ hơn thực tế. Để lựa chọn giá trị ngưỡng thích hợp, trong [14], một phương pháp xác định giá trị ngưỡng λ dựa trên mức tạp âm tại đầu ra của bộ lọc BPF được sử dụng. Khi sử dụng bộ ADC tốc độ cao (cỡ 1 GHz), phương pháp này cho độ chính xác rất cao: sai số đồng bộ vào khoảng một chu kì lấy mẫu, tương đương với sai số định vị cỡ 0.3m; do đó phù hợp với các ứng dụng định vị và đo đạc khoảng cách đòi hỏi độ chính xác cao.
Rõ ràng, thao tác tính toán giá trị của λ theo một hàm của mức tạp âm đòi hỏi cần triển khai ở máy thu một khối có chức năng đo đạc công suất tạp âm. Cũng giống như với các hệ thống băng hẹp truyền thống, việc xác định mức tạp âm ở máy thu UWB là rất phức tạp, thậm chí còn khó khăn hơn nhiều do bản chất băng siêu rộng với các xung cực hẹp được truyền đi. Một máy thu UWB với khối tính toán công suất tạp âm khi được triển khai trên FPGA sẽ tiêu tốn một lượng lớn tài nguyên phần
93
cứng, đồng thời gia tăng mức công suất tiêu thụ cũng như thời gian xử lý của cả hệ thống. Với mục tiêu đặt ra ban đầu của luận án là thiết kế một hệ thống thu/phát UWB IEEE 802.15.4a cho các ứng dụng truyền tải dữ liệu tốc độ thấp, thỏa mãn các tiêu chí giá thành rẻ và tiết kiệm năng lượng, rõ ràng cần phải tìm một giải pháp khác thích hợp và đơn giản hơn trong việc xác định giá trị ngưỡng λ.
Dựa vào đặc điểm cấu trúc khung dữ liệu theo chuẩn IEEE 802.15.4a, có thể nhận thấy việc giải mã thành công dữ liệu được truyền đi không nhất thiết đòi hỏi quá trình đồng bộ phải chính xác tuyệt tối. Cụ thể, do mỗi kí tự dữ liệu IEEE 802.15.4a chỉ chứa duy nhất một burst tại nửa đầu hoặc nửa sau của kí tự, máy thu hoàn toàn có thể xác định chính xác bit thông tin truyền đi ngay cả khi sai lệch đồng bộ cỡ 1/2 độ rộng của burst dữ liệu. Như vậy, thay vì phải sử dụng bộ ADC tốc độ cao (cỡ GHz) như trong [14], máy thu hoàn toàn có thể sử dụng một bộ ADC có tốc độ lấy mẫu thấp (cỡ MHz) mà không ảnh hưởng đến độ chính xác của quá trình giải mã dữ liệu. Nguyên nhân là do khi tốc độ lấy mẫu giảm xuống, sự chênh lệch giữa các mẫu thuộc vùng chỉ chứa tạp âm với vùng tín hiệu của tổng S(cid:48)[m, ˜nε] sẽ trở nên rõ ràng hơn. Dễ dàng quan sát thấy sự khác biệt này qua Hình 4.13 với hai trường hợp Ts = 2ns và Ts = 16ns.
Hình 4.13: Dạng của S(cid:48)[m, ˜nε] với Ts = 2ns và Ts = 16ns
94
1
Ns
−
Lúc này, việc tính toán giá trị ngưỡng λ theo mức tạp âm trở nên không cần thiết. Từ quan sát trên, tác giả đề xuất sử dụng một ngưỡng λ(cid:48) mới được xác định độc lập với mức tạp âm của hệ thống. Cụ thể, giá trị ngưỡng λ(cid:48) được tính toán một cách đơn giản là trung bình cộng của S(cid:48)[m, ˜nε] như sau:
˜nε=0 (cid:88)
(4.13) λ(cid:48) = S(cid:48)[m, ˜nε]
Quan sát trên Hình 4.14 với trường hợp Ts = 16ns, ngưỡng mới λ(cid:48) có giá trị xấp xỉ với ngưỡng λ được tính toán theo phương pháp của [14] và hoàn toàn có thể được sử dụng để phân biệt giữa các mẫu thuộc vùng chỉ chứa tạp âm và vùng chứa xung q(t). Tuy nhiên, khi chu kì lấy mẫu giảm xuống (cỡ 2ns như trong Hình 4.15), ngưỡng mới λ(cid:48) không có khả năng phân biệt giữa hai vùng chứa tạp âm và tín hiệu của tổng S(cid:48)[m, ˜nε] do sự chênh lệch giữa các mẫu thuộc hai vùng này là không đáng kể. Trong trường hợp này, việc sử dụng giá trị trung bình của S(cid:48)[m, ˜nε] làm ngưỡng sẽ cho kết quả sai lệch.
−
Kết thúc quá trình ước lượng giá trị của τh và ∆, máy thu xác định τ = τh ∆. Lúc này, thời điểm bắt đầu của kí tự kế tiếp Nτ trong đoạn SYNC đã được định vị. Nói cách khác, quá trình đồng bộ ở mức kí tự đã được hoàn thành. Nhiệm vụ còn lại lúc này là xác định vị trí bắt đầu của kí tự đầu tiên thuộc phần PHR, tức xác định thời điểm tphr.
Xác định phần PHR
Thuật toán phát hiện kí tự PHR đầu tiên tính từ kí tự mào đầu Nτ −
1 vừa xác định được phát triển dựa trên quan sát: chênh lệch công suất trung bình giữa phần chứa dữ liệu PHR/PSDU với hai đoạn SYNC và SFD thuộc phần mào đầu SHR là rất lớn. Cụ thể, công suất trung bình của một kí tự mào đầu (không kể nhiễu) trong phần SHR được cho bởi công thức:
1,+1Pq − Kpbs
K (4.14) Psync =
−
ck { } trong đó, K và Pq là 1,+1 là tổng số phần tử khác 0 trong chuỗi cân bằng công suất của một xung q(t). Tương tự, công suất trung bình của một đoạn dữ liệu
95
Hình 4.14: So sánh giữa λ(cid:48) với λ khi Ts = 16ns
PHR/PSDU có chiều dài bằng đúng chiều dài của một kí tự mào đầu Tpsym là:
. (4.15) Pdata = NcpbPq Nburst Tpsym Tdsym
với Ncpb và Tdsym lần lượt là số lượng chip trong một burst và độ rộng của một kí tự dữ liệu trong phần PHR/PSDU. Từ (4.14) và (4.15) rút ra tỉ số:
1,+1
−
= . . (4.16) Kpbs K Pdata Psync Ncpb Nburst Tpsym Tdsym
Với các tham số của khung tín hiệu IEEE 802.15.4a được sử dụng trong luận án: Kpbs = 31, Nburst = 32 và Ncpb = 16, ta có Pdata/Psync ∼= 3.75. Kết quả tính toán này hoàn toàn phù hợp với quan sát mức công suất của ba phần SYNC, SFD và PHR/PSDU trên Hình 4.16.
Dựa vào quan sát trên, kí tự đầu tiên trong phần PHR có thể được phát hiện như
96
Hình 4.15: So sánh giữa λ(cid:48) với λ khi Ts = 2ns
sau:
•
Trước tiên, thiết lập một ngưỡng α = f Psync, trong đó Psync được xác định bằng cách đo công suất trung bình của kí tự mào đầu Nτ vừa tìm được và hằng số 1 < f < 3.75 được đặt tên là hệ số so sánh,
•
4.4 Mô phỏng và kết quả
Kế đến, 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, bắt đầu từ vị trí t1 + τ + Tpsym, với ngưỡng α; khi xảy ra sự vượt ngưỡng, vị trí bắt đầu của đoạn tín hiệu đang xem xét chính là thời điểm tphr cần tìm kiếm.
Trong luận án này, một hệ thống UWB IEEE 802.15.4a băng gốc được mô phỏng để đánh giá khả năng hoạt động của thuật toán đồng bộ tín hiệu vừa đề xuất. Xung
97
Hình 4.16: Chênh lệch công suất giữa các phần của khung tín hiệu UWB IEEE 802.15.4a
UWB được lựa chọn sử dụng là đạo hàm bậc hai của xung đơn chu trình Gaussian với độ rộng 2ns. Kênh vô tuyến được mô phỏng là kênh trong nhà (CM1). Quá trình mô phỏng sử dụng 5000 vòng lặp Monte-Carlo để thu được đồ thị xác suất lỗi theo tỉ số Es/N0 cho từng thuật toán được đề xuất. Ở đây, tỉ số Es/N0 được định nghĩa là tỉ lệ năng lượng của một xung q(t) trên mật độ phổ công suất nhiễu và xác suất lỗi là tỉ lệ giữa số lần đồng bộ sai (khi sự sai lệch về mặt thời gian là đủ lớn khiến cho quá trình giải mã tín hiệu cho kết quả hoàn toàn không chính xác) trên tổng số vòng lặp Monte Carlo.
Các tham số đặc tả khung tín hiệu IEEE 802.15.4a của hệ thống mô phỏng được
ck {
liệt kê trong Bảng 4.1. Để thỏa mãn giả thiết Tpr > Tp + Th (phần 4.2), chuỗi } phải có 31 phần tử và hàm delta có chiều dài L = 64. Theo [31], độ rộng của một chip Tc xấp xỉ 2ns, do đó chu kì lặp xung là Tpr = LTc ∼= 128ns, lớn hơn nhiều so với độ trải trễ của kênh CM1 trong [55] và thỏa mãn giả thiết đặt ra. Ngoài ra, trong mô phỏng, Ncpb được lựa chọn là 16 để độ rộng của một kí tự dữ liệu
98
Tdsym = NburstNcpbTc ∼= 1025.64ns, nhỏ hơn nhiều độ rộng của một kí tự mào đầu Tpsym = KpbsTpr ∼= 3974.36ns.
Tham số Kpbs L Nsync Nsf d Nburst Ncpb 16 16 Giá trị 31 64 32 8
4.4.1 Đồng bộ thô
Bảng 4.1: Tham số mô phỏng
1 = 15. Độ chính xác của thuật toán đồng bộ thô với các giá trị khác nhau của K trong trường hợp Ts = 16 ns được thể hiện trên Hình 4.17. Dễ thấy, độ chính xác được cải thiện khi K tăng. Tuy nhiên, khi lựa chọn K = Nsync = 16, tức giá trị lớn nhất có thể của K, hiệu suất hoạt động của thuật toán lại giảm đột ngột. Nguyên nhân của sự suy giảm này là do trong đa số các trường hợp, đoạn đầu tiên (hoặc cuối cùng) trong Nsync đoạn đang xem xét thường chứa các mẫu thuộc phần PSDU (hoặc SFD) nên khả năng xuất hiện Nsync phần tử cực đại liên tiếp có cùng vị trí là rất thấp. Vì vậy, giá trị tối ưu được lựa chọn là K = Nsync −
Hình 4.17: Xác suất lỗi của thuật toán đồng bộ thô khi K thay đổi
Hình 4.18 thể hiện mối liên hệ giữa hiệu quả hoạt động của thuật toán đồng bộ thô với chu kì lấy mẫu. Kết quả mô phỏng cho thấy khi sử dụng bộ ADC với tốc
99
−
2, 4, 8, 16 } {
độ lấy mẫu giảm dần, tức chu kì lấy mẫu tăng dần, tỉ lệ lỗi của thuật toán đồng bộ thô được cải thiện không đáng kể. Cụ thể, tỉ lệ lỗi đạt được luôn xấp xỉ 5e 4 khi Ts = ns tại Es/N0 = 22 dB. Như vậy, hoàn toàn có thể triển khai thuật toán này trên phần cứng sử dụng một bộ ADC tốc độ thấp cỡ MHz (ví dụ, fs = 62.5 MHz tương ứng với trường hợp Ts = 16 ns) mà không làm giảm độ chính xác của thuật toán.
Hình 4.18: Xác suất lỗi của thuật toán đồng bộ thô khi Ts thay đổi
Một ưu điểm nữa của thuật toán được đề xuất là có thể hoạt động hiệu quả ngay cả khi máy thu sử dụng bộ ADC với số bit lượng tử hóa thấp. Hình 4.19 cho thấy tỉ lệ lỗi của thuật toán khi sử dụng bộ ADC với số bit lượng tử hóa khác nhau là 4, 8 và 32 bit (các tham số khác được lựa chọn là K = 15, Ts = 16 ns). Kết quả mô phỏng cho thấy, độ chính xác của thuật toán tăng lên khi số bit lượng tử hóa tăng; tuy nhiên, khi số bit lượng tử hóa vượt quá một giá trị nhất định, hiệu quả hoạt động của thuật toán được cải thiện không đáng kể. Cụ thể, với kịch bản mô phỏng được sử dụng, tỉ lệ lỗi đạt được luôn xấp xỉ 6e 4 tại Es/N0 = 22 dB cho dù số bit lượng − tử hóa là 8 bit hay cao hơn nữa. Do đó, chi phí triển khai máy thu trên phần cứng có thể được giảm xuống đáng kể nhờ sử dụng các bộ ADC với số bit lượng tử hóa thấp mà vẫn đem đến kết quả với độ chính xác mong muốn.
100
4.4.2 Đồng bộ tinh
Hình 4.19: Xác suất lỗi của thuật toán đồng bộ thô với số bit lượng tử hóa khác nhau
với K = Nsync K/2 (cid:101) − (cid:100)
Độ chính xác của thuật toán tìm điểm bắt đầu kí tự kế tiếp được trình bày trong luận án so với thuật toán do [14] đề xuất được thể hiện trên Hình 4.20 và 4.21. Kết thúc bước đồng bộ thô, vị trí bắt đầu đoạn thứ 1 = 15 được xem là thuộc phần SYNC của khung tín hiệu. Vì vậy, để đảm bảo tất cả M kí tự được sử dụng để xác định (4.10) và (4.12) đều thuộc phần SYNC, M được lựa chọn bằng Nsync/2 = 8.
4 với Ts = 8 ns và 9e − −
Có thể nhận thấy, khi máy thu sử dụng bộ ADC tốc độ thấp (với chu kì lấy mẫu Ts = 4 ns hoặc 2 ns), thuật toán mới sử dụng ngưỡng λ(cid:48) có tỉ lệ lỗi cao hơn rất nhiều so với thuật toán sử dụng ngưỡng λ được đề xuất trong [14]. Đặc biệt, khi Ts = 2 ns hay thấp hơn, thuật toán mới do tác giả đề xuất gần như không hoạt động. Tuy nhiên, nếu triển khai bộ ADC với chu kì lấy mẫu lớn hơn (từ 8 ns trở lên như Hình 4.21), khả năng hoạt động của thuật toán mới được cải thiện đáng kể: tại Es/N0 = 18 dB, tỉ lệ lỗi của thuật toán ước lượng τ xấp xỉ 5e 4 với Ts = 16 ns. Thậm chí, độ chính xác của thuật toán mới còn tốt hơn (xấp xỉ 0.5 dB) so với thuật toán sử dụng ngưỡng λ.
Có thể thấy nhược điểm của thuật toán được đề xuất trong luận án là không thể áp dụng cho các ứng dụng đòi hỏi độ chính xác cao (ví dụ, các ứng dụng định vị, đo đạc khoảng cách) do sai số đồng bộ mắc phải là khá lớn (tương đương một chu kì lấy
101
ns Hình 4.20: Xác suất lỗi của thuật toán ước lượng giá trị τ với Ts 4, 2 } ∈ {
ns Hình 4.21: Xác suất lỗi của thuật toán ước lượng giá trị τ với Ts 16, 8 } ∈ {
÷
16 ns). Tuy nhiên, với các ứng dụng truyền dữ liệu mẫu của bộ ADC, tức khoảng 8 tốc độ thấp và không đòi hỏi độ chính xác quá cao, nhược điểm này hoàn toàn có thể chấp nhận được do máy thu UWB IEEE 802.15.4a có thể giải mã chính xác dữ liệu được phát đi ngay cả khi sai lệch rơi vào khoảng 1/2 độ rộng của burst dữ liệu. Với
102
kịch bản mô phỏng được sử dụng, số lượng chip trên một burst dữ liệu là Ncpb = 16, do đó độ rộng của một burst sẽ là Tburst = NcpbTc ∼= 32ns. Sai số cho phép vào khoảng một nửa burst, tức xấp xỉ 16ns, đúng bằng một chu kì lấy mẫu của bộ ADC được sử dụng. Như vậy, với đối tượng nghiên cứu của luận án là các hệ thống tốc độ thấp, thay vì phải triển khai bộ ADC tốc độ cao (cỡ GHz) như trong [14], máy thu lúc này chỉ cần sử dụng bộ ADC với tốc độ thấp hơn rất nhiều (ví dụ, 62.5 MHz tương ứng với Ts = 16 ns) mà không ảnh hưởng đến khả năng hoạt động của hệ thống.
Hình 4.22: Xác suất lỗi của thuật toán phát hiện PHR với các giá trị khác nhau của f
÷ Cuối cùng, hiệu quả hoạt động của thuật toán phát hiện phần PHR được thể hiện trên Hình 4.22 và 4.23 với các trường hợp khác nhau của hệ số f và chu kì lấy mẫu Ts. Kết quả mô phỏng cho thấy giá trị tối ưu của f nằm trong khoảng từ 1.1 1.125. Do đó, f được lựa chọn bằng 1.1 cho các mô phỏng tiếp theo.
4 xuống 9e − −
Với f = 1.1, có thể nhận thấy độ chính xác của thuật toán phát hiện phần PHR gần như không được cải thiện đáng kể dù có giảm chu kì lấy mẫu của bộ ADC xuống: 4 khi Ts giảm từ 16 ns xuống 2 ns. Như vậy, cùng tỉ lệ lỗi giảm từ 17e với những nhận xét ở trên, có thể kết luận thuật toán đồng bộ tín hiệu cho máy thu UWB được trình bày trong luận án này là một giải pháp hiệu quả và kinh tế dành cho những hệ thống tốc độ thấp, không yêu cầu độ chính xác cao do không cần phải sử dụng các bộ ADC tốc độ cao (cỡ GHz) đắt đỏ.
103
4.5 Triển khai khối đồng bộ cho máy thu UWB
IEEE 802.15.4a trên FPGA
4.5.1 Thiết kế khối đồng bộ bằng HDL
Hình 4.23: Xác suất lỗi của thuật toán phát hiện PHR với các giá trị khác nhau của Ts
A. Yêu cầu kĩ thuật
Dữ liệu vào: số nguyên. •
Định dạng dữ liệu vào: 8 bit không dấu. •
Dữ liệu ra: dạng bit nhị phân. •
Định dạng dữ liệu ra: 1 bit không dấu. •
Tốc độ xung nhịp yêu cầu: 62.5 MHz. •
Độ dài phần dữ liệu PSDU tùy biến: 1 – 1028 bit •
• Thỏa mãn yêu cầu về mặt chức năng của hai khối đồng bộ thô và đồng bộ tinh đã phân tích trong thuật toán trên.
104
B. Thiết kế mô hình FSM cho khối đồng bộ Khi thiết kế RTL, do khối đồng bộ tín hiệu được yêu cầu với đầu vào là thời gian thực theo từng chu kì xung đồng hồ nên việc thao tác đồng bộ được thực hiện trước khi bắt đầu đồng bộ tinh là không hợp lí, đặc biệt là khi không sử dụng bộ nhớ cho dữ liệu đầu vào. Để triển khai được trên phần cứng, một hướng giải quyết được đề xuất như sau:
−
Tại thời điểm máy thu bắt đầu nhận được tín hiệu t0, khi khối đồng bộ thô nhận dữ liệu vào kiểm tra thì khối đồng bộ tinh cũng lấy ngay giá trị dữ liệu đầu vào tính từ thời điểm t0 để thực hiện các thao tác tính toán. Nếu khối đồng bộ thô kiểm tra 1 phần tử cực đại dữ liệu nhận được từ t0 và nhận thấy điều kiện tìm được Nsync liên tiếp có cùng chỉ số được thỏa mãn, khối đồng bộ tinh sẽ tiếp tục thực hiện các thao tác đang tiến hành. Ngược lại, nếu khối đồng bộ thô nhận thấy điều kiện trên không thỏa mãn, tức dữ liệu bắt được tại t0 không thuộc phần SYNC, một tín hiệu reset sẽ được xuất ra để yêu cầu máy thu thực hiện quá trình đồng bộ lại từ đầu tính từ thời điểm xuất hiện tín hiệu reset.
Dựa trên hướng giải quyết này, một bộ điều khiển máy trạng thái hữu hạn (FSM)
được đề xuất như Hình 4.24.
Khi máy thu được bật hay được reset, trạng thái của máy thu mặc định ở trạng thái SYNC1. Tại trạng thái này, máy thu tìm điểm bắt đầu của kí tự SYNC dựa trên nguyên lý mã cân bằng hoàn hảo. Sau khi xác định được điểm bắt đầu, máy thu chuyển sang trạng thái đồng bộ thứ hai với tên gọi SYNC2 với tín hiệu báo sync2_start có giá trị bằng 1 để tìm kiếm kí tự SFD đầu tiên. Quá trình tìm kiếm được thực hiện dựa trên sự chênh lệch năng lượng giữa các phần khác nhau của khung tín hiệu IEEE 802.15.4a đã trình bày ở phần 4.3.2. Khi phát hiện được kí tự SFD đầu tiên, tín hiệu báo data_start được kích lên 1; máy thu chuyển sang trạng thái thứ ba là DATA. Cuối cùng, khi nhận được đầy đủ khung dữ liệu, máy thu sẽ nhận tiếp một khung dữ liệu khác. Lúc này, do đã xác định được 19 bit PHR chứa các thông tin vật lý về dữ liệu nhận được, máy thu sẽ nhảy một đoạn đúng bằng độ dài của phần SHR (gồm hai đoạn SYNC và SFD). Thao tác nhảy được thể hiện ở trạng thái JUMP. Máy thu bỏ qua phần mào đầu SHR để truy nhập vào phần dữ liệu và trở về trạng thái DATA. Từ thời điểm này, máy thu liên tục chuyển đổi qua lại giữa hai trạng thái DATA và JUMP cho đến khi phần dữ liệu PHR được kiểm tra là sai. Khi đó, máy thu sẽ quay lại đồng bộ từ đầu.
C. Mô tả kĩ thuật Khi triển khai trên phần cứng HDL/FPGA, quá trình đồng bộ được thực hiện
105
Hình 4.24: Mô hình FSM cho bộ điều khiển
bởi các khối cơ bản sau (Hình 4.25). Sơ đồ I/O và tín hiệu vào/ra của mỗi khối được trình bày chi tiết trong phần Phụ lục của luận án.
106
4.5.2 Tổng hợp và triển khai thử nghiệm trên FPGA
Hình 4.25: Kiến trúc triển khai HDL
Kiểm tra chức năng của khối đồng bộ
Thao tác kiểm tra chức năng của khối đồng bộ được thực hiện sử dụng phương pháp đồng mô phỏng kết hợp Simulink/HDL với các mức Es/N0 khác nhau. Các đoạn mã HDL triển khai các module của khối đồng bộ được nhúng vào hệ thống đã được xây dựng trên Simulink sử dụng công cụ System Generator của Xilinx. Hình 4.26 trình bày cái nhìn tổng quan về công cụ System Generator với chức năng kết nối các phần mềm MATLAB/Simulink - ISE - ModelSim và thực hiện mô phỏng các thiết kế HDL thông qua phần mềm ISE Simulator để hiển thị kết quả trên Simulink.
Kết quả của quá trình đồng mô phỏng Simulink/HDL được thể hiện trên Hình
4.28. Với điều kiện Es/N0 = 0 dB, kết quả hiển thị dạng sóng
Kết quả hiển thị dạng sóng tại Es/N0 = 20 dB (Hình 4.27) cho thấy máy thu thực hiện thành công quá trình đồng bộ tín hiệu: phần dữ liệu PHR/PSDU được định vị chính xác để tiếp tục tiến hành thao tác giải mã dữ liệu. Có một lưu ý là khung dữ liệu đầu tiên đến máy thu được sử dụng để thực hiện đồng bộ nên quá trình giải mã
107
Hình 4.26: Quá trình đồng mô phỏng kết hợp Simulink/HDL
dữ liệu được tiến hành tính từ khung dữ liệu thứ hai.
Hình 4.27: Kết quả hiển thị dạng sóng tại Es/N0 = 20 dB
108
Tuy nhiên, khi công suất tạp âm lớn (tức mức Es/N0 thấp), kết quả giải mã phần
dữ liệu PHR/PSDU bị sai lệch nghiêm trọng (Hình 4.28).
Hình 4.28: Kết quả hiển thị dạng sóng tại Es/N0 = 0 dB
Triển khai trên FPGA
Thiết kế được triển khai trên FPGA sử dụng công cụ ISE 14.6 của Xilinx. Quá trình thử nghiệm thiết kế trên FPGA được thực hiện kết hợp với máy tính có sẵn mô hình Simulink của hệ thống qua giao thức Ethernet. Dữ liệu từ Simulink được truyền đến bo mạch FPGA đã được nạp thiết kế rồi được đưa trở lại Simulink để hiển thị kết quả. Thử nghiệm cho thấy thiết kế trên FPGA đạt được kết quả tương tự như với mô phỏng trên Simulink/HDL (Hình 4.29).
109
4.6 Kết luận chương 4
Hình 4.29: Kết quả thử nghiệm thiết kế trên FPGA tại Es/N0 = 20 dB
Trong chương này, một thuật toán đồng bộ tín hiệu hoàn chỉnh dành cho máy thu UWB IEEE 802.15.4a đã được trình bày chi tiết. So với thuật toán được trình bày trong [14] dựa trên giả thiết vị trí máy thu bắt được tín hiệu nằm trong phần SYNC của khung dữ liệu, luận án này đã đề xuất một thuật toán đồng bộ tổng quát hơn nhằm giải quyết những trường hợp mà giả thiết trên không được thỏa mãn. Trên thực tế, đây là những trường hợp hoàn toàn có thể xảy ra.
Kết quả mô phỏng trên MATLAB cho thấy thuật toán đồng bộ hoàn chỉnh được đề xuất là một giải pháp khả thi dành cho các ứng dụng truyền tải dữ liệu tốc độ thấp mà chuẩn IEEE 802.15.4a hướng tới nhờ thỏa mãn hai tiêu chí sau:
1. Đơn giản: do không cần sử dụng những thông tin về mức công suất tạp âm (nhờ đó loại bỏ được khối đo đạc công suất tạp âm) khi thực hiện đồng bộ như trong [14], kết hợp với việc khối DSP chỉ phải thực hiện những phép toán số học đơn giản (phép cộng và phép nhân với hằng số) nên độ phức tạp tính toán
110
và thời gian xử lý tín hiệu của máy thu được giảm đi đáng kể.
2. Hiệu quả: máy thu vẫn có khả năng giải mã dữ liệu chính xác khi sử dụng bộ ADC tốc độ thấp (khoảng 60-120 MHz) mà không cần thiết phải sử dụng bộ ADC tốc độ cao (xấp xỉ 1 GHz như trong [14]); nhờ đó, đặc biệt thích hợp cho các hệ thống thu/phát tốc độ thấp với tiêu chí giá thành rẻ và tiết kiệm năng lượng.
Ngoài ra, một thiết kế hoàn chỉnh cho khối đồng bộ tín hiệu sử dụng thuật toán này cũng được triển khai thử nghiệm trên phần cứng FPGA sử dụng ngôn ngữ Verilog HDL. Hiệu suất hoạt động của triển khai trên phần cứng tương tự với kết quả mô phỏng trên MATLAB cho thấy độ chính xác và tính khả thi của thuật toán được trình bày. Những kết quả này đã được công bố trong hai bài báo “A Practical Synchronization Algorithm for IEEE 802.15.4a UWB Receivers”, The 2013 International Conference on Advanced Technologies for Communications (ATC’13), và “Hardware Implementation of a UWB 802.15.4a Receiver”, Tạp chí Khoa học và Công nghệ các trường đại học kĩ thuật số 104 năm 2015.
111
Kết luận chung và hướng nghiên cứu tiếp theo
Những kết quả đạt được
Trong luận án này, hai hệ thống thu/phát UWB đã được nghiên cứu kĩ lưỡng và
nhận được những kết quả khả quan sau:
1. Hệ thống TR-UWB: luận án đã trình bày một thuật toán đồng bộ cho máy thu TR-UWB đơn giản sử dụng phương pháp cửa sổ trượt, đồng thời triển khai thành công thuật toán này trên FPGA với độ chính xác khá cao. Ưu điểm của thuật toán này là tính linh hoạt trong việc thay đổi cấu hình sao cho phù hợp với năng lực của phần cứng. Cụ thể, máy thu vẫn có khả năng hoạt động khá tốt ngay cả khi sử dụng bộ ADC với tốc độ lấy mẫu và số bit lượng tử hóa thấp. Để nâng cao độ chính xác, tác giả đã giới thiệu một thuật toán máy thu cải tiến không cần sử dụng tín hiệu dẫn đường dựa trên kĩ thuật phân tích ma trận (SVD). Kết quả mô phỏng cho thấy thuật toán mới cho độ lợi từ 1-4 dB so với máy thu TR đơn giản. Ngoài ra, một triển khai phép tính toán SVD trên phần cứng sử dụng các khối CORDIC tự thiết kế cũng được trình bày chi tiết trong luận án, là tiền đề cho việc triển khai thuật toán máy thu cải tiến trên FPGA được nhanh chóng và dễ dàng.
Hướng nghiên cứu tiếp theo
2. Hệ thống UWB IEEE 802.15.4a: tác giả đã phát triển một thuật toán đồng bộ hoàn chỉnh (với hai bước đồng bộ thô và đồng bộ tinh) cho máy thu UWB IEEE 802.15.4a, nhờ đó giải quyết được bài toán tổng quát hơn so với thuật toán được đề xuất trong [14]. Ngoài ra, kiến trúc máy thu UWB được trình bày trong luận án cũng không cần sử dụng bộ ADC tốc độ cao (cỡ GHz) và khối đo đạc công suất tạp âm phức tạp như trong [14]; do đó, chi phí triển khai và độ phức tạp tính toán được giảm đi đáng kể. Kết quả triển khai thử nghiệm kiến trúc này trên FPGA đã chứng minh tính khả thi của thuật toán được đề xuất.
• Đồng bộ tín hiệu cho máy thu UWB IEEE 802.15.4a trong bài toán đa người dùng: yêu cầu về độ chính xác của thao tác đồng bộ tín hiệu lúc này sẽ cao
112
hơn rất nhiều so với trường hợp một người dùng, kéo theo việc phải sử dụng bộ ADC tốc độ lớn hơn (cỡ GHz) với giá thành rất cao; do đó, một thuật toán đồng bộ mới hiệu quả và khả thi dành cho hệ thống đa người dùng là mục tiêu hướng tới trong tương lai gần của tác giả.
•
Kiểm nghiệm khả năng hoạt động của các thuật toán được đề xuất trong những môi trường mới phức tạp hơn (môi trường “ngoài nhà”, môi trường công/nông nghiệp), từ đó đưa ra những điều chỉnh phù hợp trước khi tiến tới triển khai trên phần cứng HDL/FPGA.
•
Thiết kế một thuật toán đơn giản với độ phức tạp thấp giúp cho máy thu kích hoạt chỉ khi nhận được tín hiệu đến nhằm tiết kiệm năng lượng và kéo dài thời gian hoạt động của thiết bị.
113
Danh mục các công trình đã công bố của luận án
1. Tran Manh Hoang, Luong Duc Bang, Nguyen Hong Son, Le Tuan Nam, Dang Quang Hieu (2012), “Impulse-Radio Ultra-Wideband Communications From Sig- nal Processing Perspectives”, Journal of Science & Technology, pg. 54-60, no. 88.
2. Hai Viet Nguyen, Manh Hoang Tran (2012), “Synchronization Algorithm and FPGA Implementation for Transmit-Reference UWB Receiver”, The Fourth In- ternational Conference on Communications and Electronics (ICCE) 2012, pg 506-511.
3. Tan Nghia Duong, Minh Tu Hoang, Quang Hieu Dang, Manh Hoang Tran (2013), “A Practical Synchronization Algorithm for IEEE 802.15.4a UWB Re- ceivers”, The 2013 International Conference on Advanced Technologies for Com- munications (ATC’13), pg 170-175.
4. Tran Manh Hoang, Pham Van Binh (2014), “An Improved Blind Algorithm for Transmit-Reference UWB Receivers”, Journal of Science & Technology (Tech- nical Universities), pg. 118-121, no. 101.
5. Tran Manh Hoang, Ta Xuan Tung, Hoang Phuong Chi, Dang Quang Hieu, Nguyen Duc Minh (2014), “Implementation of Singular Value Decomposition in Hardware”, Journal of Science & Technology (Technical Universities), pg. 31-36, no. 103.
6. Tran Manh Hoang, Ha Van Phu, Hoang Phuong Chi, Dang Quang Hieu, Nguyen Duc Minh (2015), "Hardware Implementation of a UWB 802.15.4a Receiver", Journal of Science & Technology (Technical Universities), pg. 36-40, no. 104.
114
Tài liệu tham khảo
[1] Dương Tấn Nghĩa (2013), “Xử lý tín hiệu trong truyền thông băng siêu rộng và ứng dụng trong mạng vô tuyến cá nhân”, Luận văn Thạc sĩ Khoa học, Đại học Bách Khoa Hà Nội.
[2] Hoàng Mạnh Thắng (2011), “Nghiên cứu thiết kế và chế tạo bộ điều chế/giải điều chế tín hiệu băng thông siêu rộng sử dụng kĩ thuật hỗn loạn (chaotic UWB)”, Đề tài độc lập cấp Nhà nước (Mã số đề tài: ĐTĐL2009G/44).
[3] Vũ Văn Yêm (2010), “Phân tích, thiết kế và chế tạo anten kích thước nhỏ sử dụng vật liệu có cấu trúc đặc biệt cho hệ thống thông tin vô tuyến băng rộng”, Nhiệm vụ KHCN cấp Nhà nước thoe Nghị định thư với nước ngoài (Mã số 11/355/2008/HĐ-NĐT).
[4] Andraka R. (1998), “A Survey of CORDIC Algorithms for FPGA Based Com- puters”, Proceedings of The 1998 ACM/SIGDA 6th International Symposium on Field Programmable Gate Arrays, pg. 191-200.
[5] Antonio Trindade, Quang Hieu Dang and Alle-Jan van der Veen (2003), “Signal Processing Model for a Transmitted-Reference UWB Wireless Communication System”, 2003 IEEE Conference on Ultra Wideband Systems and Technologies, pg. 270-274.
[6] Carbonelli C. and Mengali U. (2006), “M-PPM Noncoherent Receivers for UWB Applications”, IEEE Transactions on Wireless Communications, vol. 5, no. 8, pg. 2285-2294.
[7] Cardoza M., Cummings D. and Kerkhoff A. (2001), “Final Report Data Collection Campaign for Measuring UWB/GPS Compatibility Effects”, Center for Ultra Wideband Research and Engineering, University of Texas at Austin, TL-SG-01- 01, vol. 26.
[8] Cassioli D., Win M. Z. and Molisch A. F. (2002), “The Ultra-Wide Bandwidth Indoor Channel: from Statistical Model to Simulations”, The 2002 IEEE Journal on Selected Areas in Communications, pg. 1247-1257.
115
[9] Chao Y.-L. (2004), “Optimal Integration Time for UWB Transmitted Reference Correlation Receivers”, Conference Record of the Thirty-Eighth Asilomar Con- ference on Signals, Systems and Computers, vol. 1, pg. 647-651.
[10] Choi J. D. and Stark W. E. (2002), “Performance of Ultra-Wideband Communica- tions with Suboptimal Receivers in Multipath Channels”, The 2002 IEEE Journal on Selected Areas in Communications, vol. 20, pg. 1754-1766.
[11] Coyne J. W. (2007), “FPGA-Based Co-processor for Singular Value Array Rec- onciliation Tomography”, PhD Dissertation, Worcester Polytechnic Institute.
[12] D’Amico A. A. et. al. (2007), “Energy-Detection UWB Receivers with Multiple Energy Measurements”, IEEE Transactions on Wireless Communications, vol. 6, no. 7, pg. 2652-2659.
[13] D’Amico A. A., Mengali U. and Taponecco L. (2008), “Energy-based TOA Es- timation”, IEEE Transactions on Wireless Communications, vol. 7, no. 3, pg. 838-847.
[14] D’Amico A. A., Mengali U. and Taponecco L. (2010), “TOA Estimation with the IEEE 802.15. 4a Standard”, IEEE Transactions on Wireless Communications, vol. 9, no. 7, pg. 2238-2247.
[15] Dao Ngoc Chien (2010), “A Small Monopole Antenna for UWB Mobile Applica- tions with WLAN Band Rejected”, The 2010 Third International Conference on Communications and Electronics, pg. 379-383.
[16] Djapic R., Leus G., Trindade A. and van der Veen A. J. (2005), “Blind Syn- chronization in Multiuser Transmit-Reference UWB Systems”, The 2005 13th European Signal Processing Conference, pg. 1-4.
[17] European Electronic Communications Committee (2005), “Harmonise radio spec-
trum use for Ultra-Wideband systems in the European Union”.
[18] Federal Communications Commission (2002), “Revision of Part 15 of the Com- mission’s Rules Regarding Ultra-Wideband Transmission Systems, First Report and Order, FCC 02”.
116
[19] Foerster J. et. al. (2003), “IEEE P802. 15 Working Group for Wireless Personal Area Networks (WPANs), Channel Modeling Sub-committee Report Final”, IEEE J. Sel. Areas. Commun.
[20] Funk E. E., Saddow S. E., Jasper L. J. and Lee C. H. (1995), “Time Coherent Ultra-Wideband Pulse Generation Using Photoconductive Wwitching”, Flat Panel Display Technology/Technologies for a Global Information Infrastructure/ICs for New Age Lightwave Communications/RF Optoelectronics, 1995 Digest of the LEOS Summer Topical Meetings, pg. 55-56.
[21] Gezici S., Kobayashi H., Poor H. V. Poor and Molisch A. F. (2004), “Optimal and Suboptimal Linear Receivers for Time-Hopping Impulse Radio Systems”, The 2004 International Workshop on Ultra Wideband Systems. Joint with Conference on Ultrawideband Systems and Technologies, pg. 11-15.
[22] Gezici S. et. al. (2005), “Localization via Ultra-Wideband Radios”, IEEE Signal
Processing Magazine, vol. 22, no. 4, pg. 70-84.
[23] Gezici S. and Sahinoglu Z. (2007), “Theoretical Limits for Estimation of Vital Signal Parameters Using Impulse Radio UWB”, The 2007 IEEE International Conference on Communications, pg. 5751-5756.
[24] Golub G. H. and van Loan C. F. (2012), “Matrix Computations”, vol. 3, JHU
Press.
[25] Guvenc I. and Sahinoglu Z. (2005), “Threshold-based TOA Estimation for Im- pulse Radio UWB Systems”, The 2005 IEEE International Conference on Ultra- Wideband, pg. 420-425.
[26] Guvenc I., Sahinoglu Z., Molisch A. F. and Orlik P. (2005), “Non-coherent TOA Estimation in IR-UWB Systems with Different Signal Waveforms”, The Second International Conference on Broadband Networks, pg. 1168-1174.
[27] Hoctor R. T. and Tomlinson H. W. (2002) “An Overview of Delay-Hopped, Transmitted-Reference RF Communications”, Ultra Wideband Systems and Technologies, 2002. Digest of Papers. 2002 IEEE Conference on (pg. 265-269).
[28] Hoyos S., Sadler B. M. and Arce G. R. (2003), “Dithering and Σ∆ modulation in mono-bit digital receivers for ultra-wideband communications”, The 2003 IEEE Conference on Ultra Wideband Systems and Technologies, pg. 71-75.
117
[29] Hoyos S., Sadler B. M. and Arce G. R. (2005), “Monobit digital receivers for ul- trawideband communications”, IEEE Transactions on Wireless Communications, vol. 4, no. 4, pg. 1337-1344.
[30] Hua Y. and Wax M. (1996), “Strict Identifiability of Multiple FIR Channels Rriven by an Unknown Arbitrary Sequence”, IEEE Transactions on Signal Pro- cessing, vol. 44, no. 3, pg. 756-759.
[31] IEEE Standard 802.15.4a-2007 Task Group (2007), “IEEE standard 802.15.4a- 2007, Specific Requirement Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (WPANs)”.
[32] Jean Paul Linnartz’ Reference Website on Wireless Communication, http:// www.wirelesscommunication.nl/reference/chaptr05/cdma/rake.htm, Ac- cessed: 29/06/2015.
[33] Joy Lin (Electronics News), http://www.electronicsnews.com.au/
technical-articles/developing-next-generation-signal-processing-and-c, Accessed: 29/06/2015
[34] Keysight Technology, Inc., http://rfmw.em.keysight.com/wireless/
helpfiles/89600B/webhelp/subsystems/mbofdm/content/mbofdm_ modoverview.htm, Accessed: 29/06/2015.
[35] Kreiser D. and Olonbayar S. (2011), “Design and ASIC Implementation of an IR-UWB-baseband Transceiver for IEEE 802.15.4a” The 2011 Internation Con- ference on Wireless Communications and Signal Processing, pg. 1-6.
[36] Lample L. and Witrisial K. (2010), “Challenges and Recent Advances in IR-UWB System Design”, Proceedings of 2010 IEEE International Symposium on Circuits and Systems, pg. 3288-3291.
[37] Loubaton P., Moulines E., Regalia P. (2000), “Signal Processing Advances in Wireless and Mobile Communications. Volume II - Trends in Single-and Multi- User Systems”, Chapter Subspace Method for Blind Identification and Deconvo- lution, Prentice-Hall.
118
[38] Moe Z. Win and Robert A. Scholtz (1998), “Impulse Radio: How it works”, IEEE
Communications Letters, vol. 2, pp. 36-38.
[39] Molisch A. F., Foerester J. R. and Pendergrass M. (2003), “Channel Models for Ultra-wideband Personal Area Networks”, IEEE Wireless Communications, vol. 10, no. 6, pg. 14-21.
[40] Molisch A. F. et. al. (2004), “IEEE 802.15.4a Channel Model - Final Report”,
IEEE P802, vol. 15, no. 4, pg. 662, Citeseer.
[41] Nakache Y.-P. and Molisch A. F. (2003), “Spectral Shape of UWB Signals - In- fluence of Modulation Format, Multiple Access Scheme and Pulse Shape”, The 2003 IEEE Vehicular Technology Conference, vol. 4, pg. 2510-2514.
[42] Nguyen Xuan Quyen, Bui Tran Quyet, Vu Van Yem, Nguyen Tien Dzung and Hoang Manh Thang (2010), “Simulation and Implementation of Improved Chaotic Colpitts Circuit for UWB Communications”, The 2010 Third Interna- tional Conference on Communications and Electronics, pg. 307-312.
[43] Novakov E. (2013), “A Low Complexity, Medium Data Rate, Ultra-Wideband Communication Method and System”, The 2013 19th Asia-Pacific Conference on Communications, pg. 26-31.
[44] Oppermann I., Hamalinen M. and Iinatti J. (2005), “UWB: Theory and Appli-
cations”, John Wiley & Sons.
[45] Parr B., Cho B. L., Wallace K. and Ding Z. (2003), “A Novel Ultra-Wideband Pulse Design Algorithm”, IEEE Communications Letters, vol. 7, no. 5, pg. 219- 221.
[46] Proakis J. G., Salehi M., Zhou N. and Li X.(1994), “Communication Systems
Engineering”, vol. 2, Prentice-Hall Englewood Cliffs.
[47] Quang Hieu Dang and Alle-Jan van der Veen (2006), “Resolving Interframe In- terference in a Transmitted-Reference Ultra-Wideband Communication System”, Acoustic, Speech and Signal Processing, 2006. ICASSP 2006 Proceedings. 2006 IEEE International Conference on, vol. 4, 2006, pp. IV-IV.
119
[48] Quang Hieu Dang, Antonio Trindade, Alle-Jan van der Veen and Geert Leus (2006), “Signal Model and Receiver Algorithms for a Transmit-Reference Ultra- Wideband Communication System”, IEEE Journal on Selected Areas in Commu- nications, vol. 24, no. 4, pg. 773-779.
[49] Quang Hieu Dang and Alle-Jan Van der Veen (2007), “A Decorrelating Multiuser Receiver for Transmit-Reference UWB Systems”, IEEE Journal of Selected Top- ics in Signal Processing, vol. 1, no. 3, pg. 431-442.
[50] Quang Hieu Dang (2008), “Signal Processing Algorithms for Ultra-Wideband Wireless Communication Systems”, PhD Dissertation, Delft University of Tech- nology.
[51] Romme J. and Witrisal W. (2005), “Oversampled Weighted Autocorrelation Re- ceivers for Transmitted-Reference UWB Systems”, The 2005 IEEE 61st Vehicular Technology Conference, vol. 2, pg. 1375-1380.
[52] Rushforth C. K. (1964), “Transmitted-Reference Techniques for Random or Un- known Channels”, IEEE Transactions on Information Theory, vol. 10, no. 1, pg. 39-42.
[53] Schantz H. G. and Fullerton L. (2001), “The diamond dipole: a Gaussian impulse antenna”, Antennas and Propagation Society International Symposium, vol. 4, pg. 100-103.
[54] Scholtz R. and Lee J.-Y. (2002), “Problems in Modeling UWB Channels”, The Thirty Sixth Asilonar Conference on Signals, Systems and Computers, vol. 1, pg. 706-711.
[55] Saleh A. A. and Valenzuela R. A. (1987), “A Statistical Model for Indoor Multi- path Propagation”, IEEE Journal on Selected Areas in Communications, vol. 5, no. 2, pg. 128-137.
[56] Tang J., Xu Z. and Sadler B. M. (2005), “Digital Receiver for TR-UWB Sys- tems with Inter-Pulse Interference”, The 2005 IEEE 6th Workshop on Signal Processing Advances in Wireless Communications, pg. 420-424.
[57] Tian Z., Ge H. and Scharf L. L. (2005), “Low-Complexity Multiuser Detection and Reduced-Rank Wiener Filters for Ultra-Wideband Multiple Access”, The 2005
120
IEEE International Conference on Acoustics, Speech and Signal Processing, vol. 3, pg. 621.
[58] Tong L., Xu G. and Kailath T. (1994), “Blind Identification and Equalization Based on Second-Order Statistics: a Time Domain Approach”, IEEE Transaction on Information Theory, vol. 40, no. 2, pg. 340-349.
[59] Trinh Van Son and Dao Ngoc Chien (2010), “A Novel Quadruple L-shaped Mean- dered Line ElectromagneticBband Gap Structure”, The 2010 Third International Conference on Communications and Electronics, pg. 318-322.
[60] Van der Veen A. J. and Leus G. (2004), “Transmit Reference UWB Systems”, in ”Short Range Wireless Communication: Emerging Technologies and Applica- tions”, R. Kraemer, M. Katz (Ed.), Wiley & Sons, 2009.
[61] Vu Van Yem and Tran The Phuong (2010), “Ultra-Wide Band Low-Profile Spiral Antennas Using an EBG Ground Plane”, The 2010 International Conference on Advanced Technologies, pg. 89-94.
[62] Win M. Z. and Scholtz R. A. (2000), “Ultra-Wide Bandwidth Time-Hopping Spread Spectrum Impulse Radio for Multiple Access Communications”, The 2000 IEEE Transactions on Communications, vol. 48, pg. 679-689.
[63] Wang Y., Leus G. and Van der Veen A. J. (2009), “Digital Receiver Design for Transmitted Reference Ultra-Wideband Systems”, EURASIP Journal on Wireless Communications and Networking, vol. 2009, pg. 13.
[64] Witrisal K., Pausini M. and Trindade A. (2004), “Multiuser Interference and Interframe Interference in UWB Transmitted-Reference Systems”, The 2004 In- ternational Workshop on Ultra Wideband Systems. Joint with Conference on Ultrawideband Systems and Technologies, pg. 96-100.
[65] Witrisal K. et. al. (2009), “Non-coherent Ultra-wideband Systems”, IEEE Signal
Processing Magazine, vol. 26, no. 4, pg. 48-66.
[66] Wu X., Tian Z. , Davidson T. N. and Giannakis G. B. (2004), “Orthogonal Wave- form Design for UWB Radios”, The 2004 IEEE 5th Workshop on Signal Pro- cessing Advances in Wireless Communications, pg. 150-154.
121
[67] Xilinx, http://www.innovative-dsp.com/products/xilinxsysgen.htm, Ac-
cessed: 29/06/2015.
[68] Yang L. and Giannakis G. B. (2004), “Ultra-Wideband Communications: an Idea Whose Time has Come”, IEEE Signal Processing Magazine, vol. 21, no. 6, pg. 26-54.
[69] Yang L. and Giannakis G. B. (2005), “Timing Ultra-Wideband Signals with Dirty
Templates”, IEEE Transactions on Communications, vol. 7, pg. 838-847.
[70] Yang L. and Swami A. (2006), “Noncoherent Demodulator for PPM-UWB Ra- dios”, The 2006 International Conference on Acoustic, Speech and Signal Pro- cessing, vol. 4.
[71] Yang L., Giannakis G. B. and Swami A. (2007), “Non-coherent Ultra-wideband (De)Modulation”, IEEE Transactions on Communications, vol. 55, no. 4, pg. 810- 819.
[72] Yiyin Wang, Rene van Leuken and Alle-Jan van der Veen (2006), “Design of a Practical Scheme for Ultra-Wideband Communication”, The 2006 IEEE Interna- tional Symposium on Circuits and Systems, p.4-pp.
[73] Witrisal K., Leus G., Pausini M. and Krall C. (2005), “Equivalent System Model and Equalization of Differential Impulse Radio UWB Systems”, IEEE Journal on Selected Areas in Communications, vol. 23, pg. 1851-1862.
[74] Yue W. (2010), “Singular Value Decomposition Based Pipeline Architecture for
MIMO Communication Systems”, PhD Dissertation, Drexel University.
[75] Zhang H. and Goeckel D. L. (2003), “Generalized Transmitted-Reference UWB Systems”, The 2003 IEEE Conference on Ultra Wideband Systems and Tech- nologies, pg. 147-151.
122
Phụ lục Sơ đồ I/O và tín hiệu vào/ra của các khối cơ bản trong máy thu UWB IEEE 802.15.4a
123
A. Khối điều khiển FSM
Sơ đồ I/O khối SYN_FSM
Kích thước Hướng Mô tả tín hiệu
Cổng Tín hiệu vào clk in_start 1 bit 1 bit Vào Vào
in_rst sync2_start 1 bit 1 bit Vào Vào
sfd_start 1 bit Vào
data_start 1 bit Vào
data_end 1 bit Vào
phr_check 1 bit Vào Tín hiệu xung nhịp chạy ở tần số 62.5 MHz Tín hiệu cho phép mạch hoạt động; Active mức cao Tín hiệu reset mạch; Active mức thấp Tín hiệu báo hiệu chuyển trạng thái từ SYNC1 sang SYNC2; Active mức cao Tín hiệu báo hiệu chuyển trạng thái từ SYNC2 sang SFD; Active mức cao Tín hiệu báo hiệu chuyển trạng thái từ SFD sang DATA hoặc từ JUMP sang DATA; Ac- tive mức cao Tín hiệu báo hiệu chuyển trạng thái từ DATA sang JUMP; Active mức cao Tín hiệu báo phần giải mã PHR bị sai và chuyển về trạng thái ban đầu SYNC1; Active mức cao
Tín hiệu ra state 2 bit Ra Tín hiệu điều khiển báo hiệu trạng thái hoạt động của mạch
Tín hiệu vào ra của khối SYN_FSM
124
B. Khối đếm kí tự (SYN_COUNTER): thực hiện đếm lần lượt từ 0-247 để
nhận biết một kí tự SYNC hay SFD và đếm từ 0-63 để nhận biết kí tự PPDU.
Sơ đồ I/O khối SYN_COUNTER
C. Khối đồng bộ thô (SYN_COARSE)
Sơ đồ I/O khối SYN_COARSE
125
D. Khối đồng bộ tinh (SYN_DATAPATH)
Sơ đồ I/O khối SYN_DATAPATH
E. Khối giải mã tín hiệu PHR (PHR_DECODER): giải mã phần PHR để
thu được 19 bit chứa các thông tin về khung dữ liệu.
Sơ đồ I/O khối PHR_DECODER
126
Kích thước Hướng Mô tả tín hiệu
Cổng Tín hiệu vào clk 1 bit Vào
in_start 1 bit Vào
in_rst rst_countsample 1 bit 1 bit Vào Vào
rst_countsync 1 bit Vào
en_countdata 1 bit Vào
state 3 bit Vào
coarse_error 1 bit Vào
coarse_off 1 bit Vào
phr_check 1 bit Vào
Tín hiệu xung nhịp chạy ở tần số 62.5MHz Tín hiệu cho phép mạch hoạt động; Active mức cao Tín hiệu reset mạch; Active mức thấp Tín hiệu reset bộ đếm 248 mẫu SHR; Active mức cao Tín hiệu reset bộ đếm kí tự SYNC; Active mức cao Tín hiệu cho phép đếm kí tự dữ liệu; Active mức cao Tín hiệu báo hiệu trạng thái hoạt động của mạch Tín hiệu báo đồng bộ thô sai để reset bộ đếm coarse_error = 1: Đồng bộ thô sai. Active mức cao Tín hiệu báo trạng thái hoạt động của khối đồng bộ thô coarse_off = 1: Kết thúc đồng bộ thô. Active mức cao Tín hiệu báo đúng sai của khối giải mã PHR phr_check = 1: Dữ liệu phần PHR sai. Active mức cao
8 bit 13 bit 8 bit Ra Ra Ra Tín hiệu ra countsample countsyncsym count_coarsesample
Ra count_coarsesyncsym 5 bit
11 bit Ra countdatasym
3 bit Ra count0to7
4 bit Ra countgroup
Tín hiệu đếm các mẫu của kí tự SHR Tín hiệu đếm số kí tự SYNC Tín hiệu đếm số mẫu phục vụ cho đồng bộ thô Tín hiệu đếm số kí tự SYNC cho đồng bộ thô Tín hiệu đếm số kí tự dữ liệu cho đồng bộ tinh Tín hiệu đếm số vị trí burst trong một khoảng chứa dữ liệu BPM Tín hiệu đếm số vị trí được chia trong một kí tự SYNC khi tìm số imax trong đồng bộ thô
Tín hiệu vào ra của khối SYN_COUNTER
127
Kích thước Hướng Mô tả tín hiệu
Cổng Tín hiệu vào clk in_start 1 bit 1 bit Vào Vào
in_rst in_data countsample 1 bit 8 bit 8 bit Vào Vào Vào
countsyncsym 5 bit Vào
countgroup 4 bit Vào
phr_check 1 bit Vào
Tín hiệu xung nhịp chạy ở tần số 62.5MHz Tín hiệu cho phép mạch hoạt động; Active mức cao Tín hiệu reset mạch; Active mức thấp Tín hiệu dữ liệu vào lấy từ đầu ra ADC Tín hiệu đếm số mẫu phục vụ cho đồng bộ thô Tín hiệu đếm số kí tự SYNC cho đồng bộ thô Tín hiệu đếm số vị trí được chia trong một kí tự SYNC khi tìm số imax trong đồng bộ thô Tín hiệu báo đúng sai của khối giải mã PHR phr_check = 1: Dữ liệu phần PHR sai. Active mức cao
Tín hiệu ra coarse_error 1 bit Ra
coarse_off 1 bit Ra
Tín hiệu báo đồng bộ thô sai để reset bộ đếm coarse_error = 1: Đồng bộ thô sai. Active mức cao Tín hiệu báo trạng thái hoạt động của khối đồng bộ thô coarse_off = 1: Kết thúc đồng bộ thô. Active mức cao
Tín hiệu vào ra của khối SYN_COARSE
128
Kích thước Hướng Mô tả tín hiệu
Cổng Tín hiệu vào clk in_start 1 bit 1 bit Vào Vào
in_rst in_data state 1 bit 8 bit 2 bit Vào Vào Vào
sync_mode 2 bit Vào
psdu_octets 7 bit Vào
countsample countsyncsym countdatasym 8 bit 13 bit 11 bit Vào Vào Vào
count0to7 3 bit Vào
coarse_error 1 bit Vào
phr_check 1 bit Vào Tín hiệu xung nhịp chạy ở tần số 62.5MHz Tín hiệu cho phép mạch hoạt động. Active mức cao Tín hiệu reset mạch. Active mức thấp Tín hiệu dữ liệu vào lấy từ đầu ra ADC Tín hiệu báo hiệu trạng thái hoạt động của mạch. Active mức cao Tín hiệu cho biết chế độ phát tín hiệu SYNC: 00, 01, 10, 11 tương ứng với SYNC có chiều dài 16, 64, 1028, 4096 symbol Tín hiệu nội suy độ dài của phần PSDU, được tách ra từ khung giá trị PHR Tín hiệu đếm các mẫu của kí tự SHR Tín hiệu đếm số kí tự SYNC Tín hiệu đếm số kí tự dữ liệu cho đồng bộ tinh Tín hiệu đếm số vị trí burst trong một khoảng chứa dữ liệu BPM Tín hiệu báo đồng bộ thô sai để reset bộ đếm coarse_error = 1: Đồng bộ thô sai. Tín hiệu báo đúng sai của khối giải mã PHR phr_check = 1: Dữ liệu phần PHR sai
Tín hiệu ra sync2_start 1 bit Ra
data_signal 1 bit Ra
data_start 1 bit Ra
data_end 1 bit Ra
phr_signal 1 bit Ra
Vào rst_countsample 1 bit
1 bit Vào rst_countsync
1 bit Ra psdu_en 129 Tín hiệu báo hiệu chuyển trạng thái từ SYNC1 sang SYNC2; Active mức cao Tín hiệu báo hiệu sự xuất hiện của PPDU; Active mức cao Tín hiệu báo hiệu chuyển trạng thái từ SFD sang DATA hoặc từ JUMP sang DATA; Active mức cao Tín hiệu báo hiệu chuyển trạng thái từ DATA sang JUMP; Active mức cao Tín hiệu báo hiệu sự xuất hiện của phần tín hiệu PHR; Active mức cao Tín hiệu reset bộ đếm 248 mẫu SHR; Active mức cao Tín hiệu reset bộ đếm kí tự SYNC; Active mức cao Tín hiệu báo sự xuất hiện của phần tín hiệu PSDU; Active mức cao
Tín hiệu vào ra của khối SYN_DATAPATH
Kích thước Hướng Mô tả tín hiệu
Cổng Tín hiệu vào clk 1 bit Vào
in_start 1 bit Vào
in_rst in_bit 1 bit 1 bit Vào Vào
ddpOuten_i_reg 1 bit Vào
state 3 bit Vào
coarse_error 1 bit Vào
countsample countdatasym 8 bit 11 bit Vào Vào
coarse_off 1 bit Vào
Tín hiệu xung nhịp chạy ở tần số 62.5MHz Tín hiệu cho phép mạch hoạt động; Active mức cao Tín hiệu reset mạch; Active mức thấp Tín hiệu bit vào, lấy từ đầu ra khối giải mã dữ liệu Tín hiệu báo hiệu sự có mặt của các bit đầu vào ở trạng thái hợp lệ Tín hiệu báo hiệu trạng thái hoạt động của mạch Tín hiệu báo đồng bộ thô sai và chuyển về trạng thái ban đầu SYNC1; Active mức cao Tín hiệu đếm các mẫu của kí tự SHR Tín hiệu đếm số kí tự dữ liệu cho đồng bộ tinh Tín hiệu báo trạng thái hoạt động của khối đồng bộ thô coarse_off = 1: Kết thúc đồng bộ thô. Active mức cao
Tín hiệu ra out_check 1 bit Ra
sync_mode 2 bit Ra
psdu_octets 7 bit Ra
Tín hiệu báo phần giá trị giải mã PHR bị sai; Active mức cao Tín hiệu cho biết chế độ phát tín hiệu SYNC, được tách ra từ khung giá trị PHR: 00, 01, 10, 11 tương ứng với SYNC có chiều dài 16, 64, 1028, 4096 symbol Tín hiệu nội suy độ dài của phần PSDU, được tách ra từ khung giá trị PHR
Tín hiệu vào ra của khối PHR_DECODER
130