Phương pháp Vogt

Một phần của tài liệu Nghiên cứu cơ chế giải quyết xung đột thẻ theo hướng tiếp cận tdma và ứng dụng cho bộ đọc sm (Trang 51)

3.4.4.1 Ước lượng số thẻ

Gọi:

c = : lần lượt là số slot trống, số slot thành công và số slot xung đột sau khi thực hiện chu kỳ hiện tại.

n: số thẻ hiện diện trong vùng từ trường của bộ đọc. N: kích thước frame của chu kỳ hiện tại.

Cụ thể hơn, Vogt đề xuất hai phương pháp:

Phương pháp thứ nhất đạt được thông qua nhận xét rằng: slot thành công là slot chỉ chứa một thẻ duy nhất, còn slot xung đột là slot có chứa ít nhất hai thẻ. Vì thế, dễ dàng chỉ ra cận dưới của n theo công thức 3.13.

Phương pháp thứ hai dựa vào ý nghĩa của bất đẳng thức Chebyshev. Bất đẳng thức Chebyshev cho biết rằng kết quả thực nghiệm của một biến ngẫu nhiên rời rạc X có nhiều khả năng sẽ nằm gần giá trị mong đợi của X. Vì thế, nếu biết được N và n ở chu kỳ trước đó, sẽ tính được giá trị mong đợi bộ ba ở chu kỳ hiện tại. Hàm ước lượng số thẻ dựa vào khoảng cách giữa vector và vector giá trị mong đợi để dự đoán n theo công thức 3.14.

Trong đó:

, , : lần lượt là giá trị mong đợi của . : là vector với ba phần tử (x,y,z).

: chọn cặp chứa kết quả nhỏ nhất trong 3 cặp

, và từ đó tính n. : giá trị tuyệt đối của x – y.

Trong đó chính là xác suất r thẻ trong n thẻ cùng chọn một slot trong N slot theo mô hình phân phối nhị thức:

Để chứng minh tính khả thi của hai phương pháp ước lượng số thẻ đề xuất, Vogt đưa ra công thức tính lỗi mong đợi , nó cho ta biết chất lượng của việc ước lượng. Trong đó, tác giả tính tổng trọng số lỗi phát sinh trong tất cả các chu kỳ:

Trong đó:

: là hàm ước lượng số thẻ chu kỳ hiện tại.

: là xác suất xảy ra c = ở chu kỳ hiện tại.

Áp dụng thực nghiệm hàm ước lượng và vào hàm tính lỗi mong đợi , ta được đồ thị sau: Số thẻ Tr n g số lỗ i Hình 3.9 Đồ thị so sánh trọng số lỗi giữa lb và vd

Điều rút ra từ đồ thị trên là hoàn toàn chính xác với giá trị n nhỏ, tuy nhiên khi n tăng nhanh thì độ chính xác lại giảm đi rất nhanh, trong khi đó lại chiếm tỉ lệ lỗi cao với n nhỏ nhưng khi n tăng nhanh thì vẫn duy trì lỗi ổn định. Ngoài ra, về độ phức tạp tính toán thì rõ ràng đơn giản hơn .

3.4.4.2 Điều chỉnh kích thước frame

Do các phương pháp ước lượng số thẻ chỉ mang tính chất tương đối và kết quả thực nghiệm cũng chỉ ra rằng có một sự biến động nhất định giữa số thẻ với các kích thước frame nên việc chọn kích thước frame sẽ tương ứng với một miền giá trị của số thẻ. Số thẻ K íc h t h ư c fr am e t i ư u Số c h u k

Hình 3.10 Kết quả thực nghiệm việc chọn kích thước frame

Ví dụ, nếu thì ta chọn N là 32 hay 64 đều thích hợp vì cả hai giá trị đều làm tốn số chu kỳ tương đương nhau. Miền giá trị của số thẻ n tương ứng với việc lựa chọn kích thước frame N tối ưu được thể hiện ở hình 3.16.

3.4.4.3 Mã giả

int adapt_frame_size(N, n_est) {

while (n_est < low(N)) { N = N/2; } while (n_est > high(N)) { N = N*2 ; } return N ; } void identify() { N = 16 ; n_est = 0 ; step_N = 0 ; do { step_N++ ; c = perform_read_cycle(N) ; t = estimate_tags(N, c) ; if (t > n_est) { n_est = t ; NO = adapt_frame_size(N, n_est) ; if (NO > N) {

step_N = 0 ; // bắt đầu với kích thước frame mới N = NO ;

} }

} while (step_N < max_step(N, n_est)) ; }

Quá trình xác định thẻ thực sự bắt đầu khi một chu kỳ đạt được kết quả , tức là có ít nhất một thẻ được đặt vào vùng năng lượng của bộ đọc. Quá trình tiếp tục cho đến khi tất cả các thẻ được xác định. Sau khi ước lượng số thẻ, kích thước frame tối ưu N được đưa ra dựa vào Hình 3.16.

Khi quá trình được bắt đầu, một giá trị cho N được lựa chọn, nhưng giá trị này không phải là tối ưu trong nhiều trường hợp. Điều này cũng làm cho việc ước tính giá trị đầu tiên của n sẽ không chính xác và chỉ có thể hy vọng rằng việc chọn N sẽ giúp ta đến gần hơn giá trị thật sự của n trong các chu kỳ tiếp theo. Do đó, trong vài chu kỳ đầu tiên chỉ cung cấp ít thông tin về số lượng thẻ. Một khi đã đạt đến kích thước frame N tối ưu, số lượng chu kỳ cần thiết để xác định được tất cả thẻ với mức đảm bảo cao sẽ là ít nhất.

Giá trị khởi đầu cho N được thiết lập là 16, giá trị này hợp lý và thấp nhất theo Hình 3.16. Lưu ý rằng thẻ chỉ gửi dữ liệu của nó khi hiện diện lúc bắt đầu của một chu kỳ, nếu thẻ xen vào vùng năng lượng ở giữa chu kỳ, thời gian cho chu kỳ này sẽ bị lãng phí. Bằng cách lựa chọn một giá trị bắt đầu thấp cho N, chúng ta làm giảm thiểu thời gian trống ban đầu này. Một lý do khác cho sự lựa chọn này là chúng ta đang lựa chọn N chỉ bằng chiến lược tăng nó, vì vậy, để tận dụng lợi thế của tất cả giá trị có thể của N, chúng ta phải bắt đầu với giá trị thấp nhất. (adsbygoogle = window.adsbygoogle || []).push({});

Biến step_N là bộ đếm các chu kỳ thực hiện với việc chọn kích thước frame tối ưu hiện tại cho N. Nếu bộ đếm đạt giá trị tối đa, quá trình chấm dứt. Bộ đếm thiết lập lại giá trị 0 bất cứ khi nào việc chọn giá trị mới cho N được thực hiện. Biến n_est

Chương 4 Các thuật toán giải quyết xung đột thẻ Tree-based

Một phần của tài liệu Nghiên cứu cơ chế giải quyết xung đột thẻ theo hướng tiếp cận tdma và ứng dụng cho bộ đọc sm (Trang 51)