Tại Việt Nam, phần nhiều hướng nghiên cứu về UWB tập trung vào thiết kế antenhoặc mạch tạo xung theo kĩ thuật chaotic UWB mà ít quan tâm đến các thuật toán xử lý tín hiệu và thiết kế bộ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2Công trình được hoàn thành tại:
Trường Đại học Bách khoa Hà Nội
Người hướng dẫn khoa học:
Vào hồi …… giờ, ngày … tháng … năm ………
Có thể tìm hiểu luận án tại thư viện:
1 Thư viện Tạ Quang Bửu - Trường ĐHBK Hà Nội
2 Thư viện Quốc gia Việt Nam
Trang 3Phần mở đầu
1 Giới thiệu chung về UWB
1.1 Khái niệm UWB
Truyền thông băng siêu rộng (UWB) là kĩ thuật truyền tín hiệu vô tuyến trên dảibăng tần siêu rộng (không cần cấp phép) với mức công suất rất thấp trong sơ đồthu/phát gần như hoàn toàn số; do đó thường có độ phức tạp và công suất tiêu thụthấp, có thể truyền dữ liệu ở tốc độ cao hoặc ở tốc độ thấp với độ chính xác cao
1.2 Tình hình nghiên cứu UWB trên thế giới và ở Việt Nam
Việc triển khai UWB trên thực tế vẫn còn nhiều thách thức như (i) chi phí triểnkhai lớn, (ii) máy thu phức tạp hay (iii) khó thực hiện ước lượng kênh và đồng bộ tínhiệu Hiện nay, có hai hướng phát triển chính là sử dụng kĩ thuật truyền tham chiếu(TR) và thiết kế tối ưu bộ xử lý băng gốc để đạt được độ phức tạp tính toán và côngsuất tiêu thụ thấp
Tại Việt Nam, phần nhiều hướng nghiên cứu về UWB tập trung vào thiết kế antenhoặc mạch tạo xung theo kĩ thuật chaotic UWB mà ít quan tâm đến các thuật toán
xử lý tín hiệu và thiết kế bộ xử lý băng gốc cho máy thu IR-UWB
2 Tính cần thiết của luận án và những vấn đề sẽ giải quyết
Những đột phá trong công nghệ số thời gian gần đây đã kéo theo sự xuất hiệnrộng khắp của các thiết bị điện tử cá nhân trong cuộc sống hằng ngày Yêu cầu đặt
ra với những thiết bị này là kích thước nhỏ gọn, tiết kiệm năng lượng, trao đổi thôngtin qua sóng vô tuyến và truyền dữ liệu có độ tin cậy cao với tốc độ thỏa mãn yêu cầucủa ứng dụng Mặt khác, nguồn tài nguyên tần số ngày càng khan hiếm khiến choviệc phát triển một kĩ thuật truyền dẫn mới không gây can nhiễu lên các hệ thốnghiện có trở nên cấp thiết
Trang 4tạp, (iii) cần sử dụng bộ ADC tốc độ siêu cao đắt đỏ hay (iv) khó thực hiện đồng bộtín hiệu Trong luận án này, tác giả hướng sự tập trung vào những vấn đề cụ thể sau:
• Vấn đề 1: phát triển thuật toán xử lý tín hiệu đơn giản và hiệu quả cho máythu 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 IEEE802.15.4a, tiến tới việc chế tạo bộ DSP băng gốc cho máy thu trên phần cứng
3 Mục tiêu, đối tượng, phạm vi và phương pháp nghiên cứu
3.1 Mục tiêu nghiên cứu
• Đề xuất và tối ưu hóa được các thuật toán xử lý tín hiệu cho máy thu UWBvới độ tin cậy cao, độ phức tạp thấp, phù hợp cho các ứng dụng WPAN tốc độthấp
• Thiết kế, kiểm tra và triển khai thử nghiệm bộ DSP băng gốc UWB trên FPGA
3.2 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: hệ thống thu/phát số IR-UWB với trọng tâm là bộ xử lýtín hiệu số băng gốc cho máy thu và được chia thành các phần sau:
• Các thuật toán xử lý tín hiệu cho máy thu IR-UWB: tách kí hiệu, đồng bộ tínhiệu
• Thiết kế số cho bộ DSP băng gốc IR-UWB: thiết kế kiến trúc và các khối chứcnăng, thiết kế logic, tích hợp, kiểm tra và triển khai hệ thống trên FPGA
Phạm vi nghiên cứu: bộ DSP băng gốc cho máy thu IR-UWB, từ nghiên cứu vàphát triển thuật toán (lý thuyết) đến triển khai trên phần cứng (thực hành)
Trang 53.3 Phương pháp nghiên cứu
• Chất lượng thuật toán máy thu được đánh giá sử dụng phương pháp Carlo trên MATLAB
Monte-• Các khối chức năng cho máy thu UWB được thiết kế trên Simulink trước khichuyển sang thiết kế logic trên FPGA và tích hợp thành hệ thống trên chip
• Các công cụ toán học được sử dụng để kiểm tra hệ thống UWB
• Hệ thống trên FPGA được kết nối với môi trường Simulink/MATLAB để kiểmnghiệm và tối ưu hóa
4 Cấu trúc nội dung của luận án
Nội dung của luận án gồm 4 chương Chương 1 giới thiệu tổng quan về kỹ thuậtUWB, phép phân tích SVD và mô hình kênh IEEE 802.15.4a Chương 2 đề xuất kịchbản truyền tham chiếu cho máy thu UWB và một thuật toán máy thu mới Chương
3 triển khai thuật toán SVD trên phần cứng sử dụng khối CORDIC tự thiết kế chomáy thu TR-UWB cải tiến Chương 4 phát triển một thuật toán đồng bộ cho máythu UWB IEEE 802.15.4a, đồng thời triển khai máy thu này trên HDL/FPGA
Trang 6Chương 1
Tổng quan về truyền thông băng siêu rộng
Hệ thống UWB có băng thông B > 500 MHz hay B > 20%fc
1.1.1 Các phương án triển khai hệ thống UWB
Hiện đang có hai phương pháp chính để triển khai một hệ thống UWB:
• Multiband (MB)-OFDM: sử dụng OFDM để chia băng thông thành các băngcon, sau đó kí tự dữ liệu được điều chế và truyền đi bởi các sóng mang con
• Impulse-Radio (IR)-UWB: truyền các xung rất hẹp trong miền thời gian (cỡns) mà không sử dụng sóng mang và ở mức công suất phát rất thấp
1.1.2 Chuẩn hóa và ứng dụng
IEEE-SA đã thành lập hai nhóm chuẩn hóa: nhóm 802.15.3a cho ứng dụng tốc độcao (đang tạm dừng hoạt động) và nhóm 802.15.4a cho ứng dụng tốc độ thấp
Phương pháp IR-UWB sử dụng hai kĩ thuật điều chế: PAM và PPM
1.2.1 Máy thu RAKE
Sử dụng một dãy các bộ tương quan để nhân tín hiệu nhận được với các bản trễcủa xung mẫu, sau đó tổng hợp lại để xác định kí tự truyền đi Nhược điểm: ướclượng kênh truyền phức tạp, sử dụng bộ ADC tốc độ cao
Trang 71.2.2 Máy thu truyền tham chiếu
Kịch bản thu/phát tín hiệu, trong đó mỗi khung gồm hai xung được phát đi làxung tham chiếu và xung mang tin Ưu điểm: không cần ước lượng kênh truyền và
bộ ADC tốc độ cao, bỏ qua thao tác đồng bộ ở phần tương tự của máy thu
• Phần cứng: biến dạng xung do anten, chuyển đổi tương tự-số
• Xử lý tín hiệu: đồng bộ, giải mã dữ liệu (khi chưa biết kênh), ước lượng kênh
Mọi ma trận X ∈ Cm×n có thể được phân tích thành: X = UΣVH với U, V làcác ma trận trực giao và Σ là ma trận đường chéo
1.5.1 Mô hình kênh Saleh-Valenzuela
Các tia đến máy thu theo từng cụm và các tia trong mỗi cụm tuân theo tiến trìnhPoisson
1.5.2 Mô hình kênh UWB IEEE 802.15.4a
Mô hình kênh UWB IEEE 802.15.4a tương tự như mô hình kênh Saleh-Valenzuela,chỉ thay đổi ở một số điểm: phân bố Poisson kết hợp cho các tia trong cụm, hằng
số suy hao theo thời gian trong mỗi cụm phụ thuộc vào trễ, small-scale fading theophân phối Nakagami và block fading
Trang 8(k−1)T sh2(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ụngcửa sổ trượt Ở đây, việc sử dụng cửa sổ trượt với chiều dài cửa sổ bằng 1/3 chiềudài khung dữ liệu (tức bằngD) để cộng dồn năng lượng của tín hiệu thu, sau đó mớithự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ộ.
Sử dụng phương pháp thiết kế dựa trên mô hình (MBD), trong đó: máy phát,kênh truyền và một số phần của máy thu được triển khai trên Simulink; thuật toánđồng bộ và giải mã tín hiệu được triển khai trên phần cứng sử dụng Verilog HDL
2.2.1 Thiết kế
Sau khi qua bộ nhân tương quan, tín hiệu được đưa tới bộ DSP băng gốc gồmhai phần datapath và controller (Hình 2.2) Mọi xử lý của phần datapath được điềukhiển bởi phần controller với sơ đồ máy trạng thái hữu hạn như Hình 2.3
2.2.2 Triển khai bằng ngôn ngữ mô tả phần cứng
Bộ DSP băng gốc cho máy thu TR-UWB được triển khai sử dụng ngôn ngữ VerilogHDL với 4 đầu vào và 1 đầu ra (Bảng 2.1) File Verilog mô tả các khối trong Hình2.2 được nạp vào mô hình Simulink
Trang 9Hình 2.1: Hệ thống thu phát TR-UWB trên Simulink
Hình 2.2: Kiến trúc của bộ xử lý băng gốc
2.3.1 Tổng hợp
Thiết kế bộ DSP băng gốc được tổng hợp sử dụng Xilinx ISE với 8 bit lượng tửhóa (Bảng 2.2)
Trang 10Hình 2.3: Lưu đồ FSM
Cổng Vào / Ra Loại Số bit
sample_in vào Signed m
Bảng 2.1: Các đầu vào/ra của hệ thống
Number of fully used LUT-FF pairs 49 14
Bảng 2.2: Báo cáo tổng hợp trên dòng Spartan 6 XC6SLX45 package CSG324
Trang 112.3.2 Kết quả mô phỏng
Kịch bản mô phỏng: xung UWB là xung Gauss đơn chu trình có độ rộng 2 ns;khung có kích thướcTf = 180 ns, khoảng cách giữa hai xung D = 60 ns; kênh truyềnIEEE CM1; tần số lấy mẫu 100 MHz; chạy 1000 vòng lặp Monte-Carlo, mỗi vòngphát 100 kí tự dữ liệu Simulink và System Generator được sử dụng để mô phỏng vàtính toán tỉ lệ BER theo SNR cho các trường hợp: C1 - giả thiết đã đồng bộ hoànhảo (trên Simulink), C2 - máy thu thực hiện đồng bộ trên Simulink và C3 - máy thuthực hiện đồng bộ trên HDL/FPGA Kết quả mô phỏng cho thấy tỉ lệ BER của cáctriển khai trên Simulink (C2) và HDL/FPGA (C3) khá gần với trường hợp lí tưởng(C1): độ chênh lệch rơi vào khoảng 3 dB
Hình 2.4: BER vs SNR
Trang 12Hình 3.1: Một khung tín hiệu x(t) tại phía thu
3.1.2 Các thuật toán máy thu cải tiến
Sử dụng kĩ thuật ”integrate-and-dump” với nhiều hơn một mẫu trên một khung.Mỗi khung có3N mẫu, nhưng máy thu chỉ sử dụng N mẫu ở phân khung II chứa tínhiệu có ích
Trang 13Máy thu lấy N mẫu trong phân khung II của tín hiệu xi(t) như sau:
Khi biết được thông tin về kênh, thuật toán ZF cho máy thu được xây dựng từ
mô hình dữ liệu (3.3) với giả thiết nhiễu và các đại lượng tương quan chéo giữa nhiễu
và tín hiệu bằng 0 Khi đó, mỗi kí hiệu được xác định bởi:
Thuật toán cải tiến không sử dụng tín hiệu dẫn đường (blind)
Xét quá trình thu/phátM kí tự liên tiếp với giả thiết kênh truyền không đổi trongquãng thời gian này Đưa tất cả các vector xi từ (3.3) thành một ma trận, thu được
mô hình dữ liệu cho nhiều kí hiệu:
[x0, x1, , xM−1] = [s0h, s1h, , sM−1h] (3.5)
Áp dụng SVD cho ma trận X trong bài toán xấp xỉ hạng 1 thu được đồng thờihai vector h và s; sau đó tách kí hiệu bằng phép quyết định cứng
Trang 14(a) (b)Hình 3.2: BER vs SNR cho các thuật toán máy thu khác nhau (a) và khả năng chốngsai lỗi thời gian của máy thu cải tiến (b)
Nhận xét
Máy thu ZF sử dụng các trọng số hi khác nhau khi cộng dồn các phần tử xi: phầntín hiệu lớn hơn được nhân với trọng số lớn tương xứng; do đó máy thu sẽ có chấtlượng tốt hơn
Kết quả mô phỏng
Hình 3.2 (a) cho thấy thuật toán máy thu cải tiến có chất lượng tốt hơn hẳn máythu đơn giản từ 2 dB - 5 dB (được cải thiện khi N tăng) Tuy nhiên, khiN ≥ 8, chấtlượng không được cải thiện đáng kể nữa Ngoài ra, khả năng chống sai lỗi thời giancủa máy thu cải tiến (Hình 3.2 (b)) là rất tốt: hạn chế về BER dưới 0.5 dB
Thuật toán tính SVD gồm hai bước:
1 Bidiagonalization: đưa ma trận ban đầu về dạng ma trận hai đường chéo,
2 Diagonalization: đưa ma trận hai đường chéo về dạng ma trận đường chéo
Trang 15Kế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ácsingular value của ma trận ban đầu Hai bước chéo hóa ma trận đều sử dụng mộtphép quay có tên là Givens Rotation để xoay liên tiếp ma trận ban đầu về dạng mongmuốn bằng cách nhân ma trận đầu vào với một ma trận trực giao.
Thuật toán CORDIC xuất phát từ phép quay Givens Rotation khi góc quay θthỏa mãn tan θ = ±2−i Lúc này, phép nhân với tan θ được đơn giản hóa bằng mộtphép dịch bit Việc quay một góc ngẫu nhiên được thay thế bằng việc quay liên tiếpnhiều góc nhỏ thỏa mãn điều kiện trên Giá trị củatan−1(2−i) là các hằng số và đượclưu sẵn vào bộ nhớ ROM trên phần cứng Như vậy, thuật toán CORDIC được thểhiện qua hệ ba phương trình:
Trên phần cứng, phép quay Givens Rotation được thực hiện bằng khối CORDICqua hai bước:
• Bước 1: sử dụng một khối CORDIC Vectoring cho cặp (xk, yk), thu được θ,
• Bước 2: sử dụng N − 1 khối CORDIC Rotation cho các cặp còn lại với góc quayđầu vào là θ
Với cách thức trên, khi khối CORDIC Vectoring quay cặp (xk, yk) và xác định góc
Trang 16Để cải thiện điều này, tại mỗi vòng lặp CORDIC - Vectoring, cặp (xk, yk) đượcquay đi một góc nhỏ nào đó dựa vào dấu của yk và chỉ số vòng lặp i Các tín hiệuđiều khiển này đồng thời được đưa vào các khối CORDIC còn lại để quay các cặpphần tử khác của vector đầu vào một góc tương tự như với cặp(xk, yk) Như vậy, tất
cả các cặp của vector đầu vào đều được quay một góc θ mà không cần sử dụng đếnkhối tính toán góc
Do góc quay trong mỗi vòng lặp có giá trị xác định, góc quay tổng hợp sau một
số vòng lặp nhất định thường không đạt tới giá trị góc cần quay Sai số tuyệt đối giữahai giá trị này phụ thuộc vào vị trí của vector đầu vào trong mặt phẳng Descartes(Hình 3.3): khi vector đầu vào thuộc góc phần tư thứ II hoặc III, sai số mắc phải làrất lớn (xấp xỉ 1 radian) ngay cả khi tăng số vòng lặp lên rất nhiều (100 vòng lặp)
Để khắc phục sai số này, cải tiến được đưa ra là quay vector đầu vào đi một góc ±π/2radian trước khi tiến hành phép quay CORDIC
Hình 3.3: Sai số của phép quay CORDIC phụ thuộc vào vị trí của vector đầu vào
Hình 3.4 cho thấy ảnh hưởng của hai yếu tố định dạng dữ liệu đầu vào và số vònglặp lên độ chính xác của khối CORDIC trên phần cứng Kết quả mô phỏng cho thấy
Trang 17Hình 3.4: Sai số của phép quay CORDIC phụ thuộc vào định dạng dữ liệu và số vònglặp
định dạng dấu phẩy tĩnh 8.16 (gồm 16 bit sau dấu phẩy và 12 bit trước dấu phẩy – 4bit được thêm vào để chống tràn) và 16 vòng lặp là thích hợp nhất để triển khai trênphần cứng Khi đó, mỗi phép quay Givens được thực hiện bởi khối CORDIC trong
16 xung clock
Sơ đồ ghép nối các khối CORDIC cải tiến để thực hiện phép quay Givens đượcthể hiện trên Hình 3.5, theo đó, tất cả N khối CORDIC đều hoạt động cùng lúc(pipeline) dựa trên tín hiệu điều khiển từ khối điều khiển (CTRL) và khối MUX.Với thiết kế mới này, thời gian thực thi phép quay Givens trên phần cứng được giảm
đi từ 30 − 80% so với kiến trúc tuần tự ban đầu (non-pipeline) tùy vào kích thướccủa ma trận (Bảng 3.1)
Trang 18m x n k # Operations per Second NSV D0 /NSV D
CORDIC CORDIC CORDIC
Y out [N-1:0]
Trang 19Chương 4
Thuật toán đồng bộ cho máy thu UWB IEEE 802.15.4a
Khung tín hiệu UWB IEEE 802.15.4a cấu tạo bởi ba phần: tiêu đề đồng bộ (SHR)gồm hai đoạn SYNC và SFD, tiêu đề lớp vật lí (PHR) và phần dữ liệu (PSDU)
Sơ đồ khối của máy thu UWB dò năng lượng non-coherent được thể hiện trênHình 4.1 Các mẫu tín hiệu tại đầu ra bộ ADC được đưa vào khối xử lý tín hiệu số(DSP) để thực hiện đồng bộ và giải mã tín hiệu
Hình 4.1: Sơ đồ khối của máy thu UWB dò năng lượng non-coherent
Tín hiệu tại đầu vào bộ ADC có dạng:
Luận án đề xuất một thuật toán đồng bộ gồm hai bước:
Trang 20y(t)
t
t
SYNC SFD PHR+PSDU SYNC SFD PHR+PSDU
Quá trình đồng bộ thô được thực hiện như sau:
• Máy thu tạo ra một mẫu tương quan sc dựa trên Kpbs phần tử của chuỗi {ck}:
4.3.2 Đồng bộ tinh
Thuật toán đồng bộ tinh gồm hai giai đoạn chính:
1 Ước lượng khoảng thời gian τ (tính từ t1) đến kí tự SYNC kế tiếp
2 Loại bỏ các kí tự SHR còn lại để nhận được kí tự PHR đầu tiên
Trang 21Ước lượng giá trị của τ
Hình 4.3: Cách thức ước lượng τ
A Xác định độ trễ τh
Đặt τh = mTpr + ε Kí hiệu ˜m và ˜nε lần lượt là giá trị ước lượng của m và nε
(nε = bε/Tsc) Giá trị của m và nε được xác định như sau:
PK pbs −1 k=0 c2
Từ vị trí nε, máy thu nhảy ngược về phía tráinback mẫu, sau đó bắt đầu tìm kiếm
về phía phải mẫu đầu tiên của S0[m, ˜n ] có giá trị lớn hơn ngưỡng λ0 (xác định bởi
Trang 22Hình 4.4: Dạng sóng củaS0[m, ˜nε] (bỏ qua tạp âm)
• Lần lượt so sánh công suất trung bình của từng đoạn tín hiệu có chiều dài Tpsym
(tính từt1+ τ + Tpsym) vớiα; tphr chính là vị trí bắt đầu của đoạn tín hiệu xảy
ra sự vượt ngưỡng
Trang 23Hình 4.5: Xác suất lỗi của thuật toán đồng bộ thô khi Ts thay đổi
4.4.1 Đồng bộ thô
Hình 4.5 cho thấy độ chính xác của thuật toán đồng bộ thô không phụ thuộc vàotốc độ của bộ ADC Do đó, có thể sử dụng bộ ADC tốc độ thấp (ví dụ,fs = 62.5MHzvới Ts= 16ns) mà không ảnh hưởng đến khả năng hoạt động của thuật toán