Đồng bộ tinh

Một phần của tài liệu Thuật toán đồng bộ và giải mã dữ liệu trong máy thu IRUWB tốc độ thấp (Trang 92 - 101)

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:

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.

Ướ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

thuộc kí tự thứ (Nτ −1) của đoạn SYNC. Dễ thấy, τ được xác định là hiệu số giữa

τ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ếpNτ,

• ∆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.

Hình 4.10: Minh họa dạng xung q(t)(bỏ qua tạp âm)

Đặt τh =mTpr+ε với 0≤m ≤Kpbs và 0≤ε < Tpr. Kí hiệu m˜ và n˜ε lần lượt là giá trị ước lượng củam vànε (nε =bε/Tsc). Theo [14], giá trị của m vànε được tính toán bằng cách xem xét tổng: S[ ˜m,n˜ε] = 1 M MX−1 i=0 Kpbs−1 X k=0 c2|k−m˜| Kpbsy(tn˜ε+(k+iKpbs)Ns) (4.10) trong đó tl =t1+lTs(l = 0,1,2, . . .) và |a|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:

m, nε= arg max {S[ ˜m,n˜ε]} 0≤m˜ ≤Kpbs

0≤n˜ε ≤Ns−1

(4.11)

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τ.

Hình 4.11: Giá trị của S[ ˜m,n˜ε]đạt cực đại khi m˜ =m và n˜ε =nε

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:

S0[m,n˜ε], 1 M MX−1 i=0 X k∈Γ(m) c2|k−m| Kpbsy(tn˜ε+ (k+iKpbs)Ns) (4.12) trong đó Γ(m) là tập hợp các chỉ sốk thỏa mãn c2|k−m| Kpbs = 1 và c2|k−m−1| Kpbs = 0. 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 S0[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

Hình 4.12: Dạng sóng của S0[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ủaS0[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 xungq(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

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 S0[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.

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 λ0 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 λ0 được tính toán một cách đơn giản là trung bình cộng củaS0[m,˜nε]như sau:

λ0 = NXs−1

˜

nε=0

S0[m,n˜ε] (4.13)

Quan sát trên Hình 4.14 với trường hợp Ts = 16ns, ngưỡng mới λ0 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 λ0 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

S0[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 S0[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τ −1vừ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:

Psync= K−1,+1Pq

Kpbs (4.14)

trong đó, K−1,+1 là tổng số phần tử khác 0 trong chuỗi cân bằng {ck} và Pq là 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

Hình 4.14: So sánh giữa λ0 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à:

Pdata = NcpbPq

Nburst . Tpsym

Tdsym (4.15)

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

Pdata Psync = Kpbs K−1,+1 . Ncpb Nburst .Tpsym Tdsym (4.16)

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.

Hình 4.15: So sánh giữa λ0 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,

• 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.

Một phần của tài liệu Thuật toán đồng bộ và giải mã dữ liệu trong máy thu IRUWB tốc độ thấp (Trang 92 - 101)