Nghiên cứu khoa học công nghệ<br />
<br />
THUẬT TOÁN PHÁT HIỆN TÍN HIỆU PILOT<br />
TRONG CẢM NHẬN PHỔ CHO VÔ TUYẾN NHẬN THỨC<br />
Vũ Lê Hà1*, Trần Đình Lâm1, Lưu Thị Thu Hồng1<br />
<br />
Tóm tắt: Bài báo đề xuất một thuật toán xử lý tín hiệu để tăng độ chính xác<br />
phép đo năng lượng tín hiệu pilot. Thuật toán thực hiện điều chỉnh tốc độ lấy mẫu<br />
cho bộ FFT, với mục tiêu đưa chính xác tần số tín hiệu pilot vào giữa bin tần số,<br />
giảm thiểu hiệu ứng dò phổ. Kết quả mô phỏng cho thấy thuật toán đạt được độ lợi<br />
đến 3,6 dB khi phát hiện tín hiệu pilot so với bộ phát hiện không có tính năng điều<br />
chỉnh tốc độ lấy mẫu. Thuật toán được sử dụng trong mô hình máy thu vô tuyến<br />
nhận thức (Cognitive Radio – CR) thực hiện chức năng cảm nhận phổ (spectrum<br />
sensing).<br />
Từ khóa: Tín hiệu pilot, Vô tuyến nhận thức, Cảm nhận phổ.<br />
<br />
1. MỞ ĐẦU<br />
Vô tuyến nhận thức (Cognitive Radio - CR) đang là một trong những xu hướng<br />
phát triển đầy hứa hẹn trong lĩnh vực thông tin liên lạc vô tuyến thông minh thế hệ<br />
mới. Một trong những đặc điểm chính của CR đó là khả năng thích nghi với môi<br />
trường xung quanh, nơi mà các tham số như tần số, công suất tiêu thụ, phương<br />
thức điều chế, băng thông,..có thể thay đổi phụ thuộc vào môi trường, tình huống<br />
của người dùng, điều kiện mạng, vị trí địa lý,... CR hoạt động theo một chu trình<br />
khép kín thích nghi gọi là chu kỳ nhận thức (cognitive cycle) [1]. Trong chu kỳ<br />
nhận thức này, cảm nhận phổ (spectrum sensing) là một trong những chức năng<br />
quan trọng. Để cảm nhận phát hiện tín hiệu băng hẹp, có nhiều thuật toán phát hiện<br />
đã được nghiên cứu. Trong [9], sự ảnh hưởng của kích thước dữ liệu đầu vào bộ<br />
biến đổi Fourier nhanh (FFT) tới khả năng phát hiện tín hiệu được phân tích, kích<br />
thước FFT phù hợp được tính toán để nâng cao xác suất phát hiện. Ý tưởng của<br />
thuật toán là đưa các thành phần tần số băng hẹp cần phát hiện vào gần vị trí các<br />
thành phần tần số đầu ra bộ FFT (còn gọi là các bin tần số) bằng một mô hình bộ<br />
FFT với chiều dài N có thể thay đổi.<br />
Xuất hiện trong nhiều dạng tín hiệu thông tin liên lạc vô tuyến hiện nay, tín hiệu<br />
pilot được sử dụng cho mục đích giám sát, đồng bộ hoặc nhận biết sự tồn tại của<br />
nguồn phát xạ. Ví dụ như phổ tín hiệu điều tần băng rộng WFM [8] có tín hiệu<br />
pilot tại 19 kHz. Thông thường tín hiệu này là đơn tần (1 tone), định vị ở một vị trí<br />
cố định trong băng thông tín hiệu và có mức năng lượng vượt trội so với các thành<br />
phần tín hiệu khác. Vì vậy để xác định một kênh tần số là đang trống hay đã được<br />
sử dụng, một phương pháp tiếp cận là đi tìm sự có mặt của tín hiệu pilot thay vì<br />
phải phân tích phổ toàn bộ kênh.<br />
Bài toán tìm nhanh và chính xác năng lượng tần số pilot phụ thuộc vào thuật<br />
toán tính toán và tốc độ lấy mẫu để số hóa tín hiệu. Khối phân tích phổ là một<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 53<br />
Kỹ thuật điện tử<br />
<br />
thành phần quan trọng trong bộ cảm nhận phổ, thông thường được thực hiện bằng<br />
thuật toán FFT của Cooley-Turkey [4]. Thuật toán này rất hiệu quả khi cần tính<br />
toàn bộ các thành phần tần số. Tuy nhiên khi chỉ cần tính một hoặc một vài thành<br />
phần tần số trong băng tần (như tần số pilot), thuật toán Goertzel [5] tính toán các<br />
thành phần tần số đơn cho thấy hiệu quả tốt hơn cả về tốc độ và độ chính xác, đặc<br />
biệt khi số tần số cần tính nhỏ hơn giá trị log2N, với N là số mẫu cần phân tích.<br />
Hơn nữa, không như thuật toán Cooley-Turkey, chỉ tính toán hiệu quả tối ưu khi số<br />
lượng mẫu là một lũy thừa của 2, thuật toán Goertzel có khả năng tính toán hệ số<br />
Fourier với một tập N mẫu bất kỳ [2].<br />
Một trong những thuật toán phát hiện tín hiệu pilot được đề xuất trong [3]. Tác<br />
giả chỉ ra rằng các thành phần tần số tín hiệu quanh tín hiệu pilot có các xác suất<br />
xuất hiện năng lượng tín hiệu khác nhau, vì vậy có thể gán trước một xác suất phát<br />
hiện tương ứng với thứ tự được kiểm tra tại các tần số này, sau đó sử dụng thuật<br />
toán Goertzel phát hiện tuần tự để duyệt qua danh sách các tần số. Thuật toán này<br />
cũng được [10] thực thi trên nền FPGA để phát hiện các tần số của tín hiệu DTMF.<br />
Để phát hiện biên độ lớn nhất của thành phần tần số trong vùng phổ cần phân tích,<br />
một bộ dao động điều chỉnh tần số được sử dụng trong [7]. Bộ dao động này có<br />
chức năng làm tần số ngoại sai để trộn với tín hiệu cao tần. Tín hiệu sau bộ trộn<br />
được đưa qua bộ lọc dải thông và đưa vào bộ phát hiện đỉnh năng lượng. Trong [6]<br />
bộ lọc Goertzel bậc hai được sử dụng thay thế cho bộ lọc FIR của bộ phân tích<br />
phổ, cho thấy hiệu quả tốt hơn về độ phân giải tần số và dung lượng tài nguyên<br />
phần cứng. Khi phát hiện tín hiệu pilot băng hẹp, [9] đã chứng minh trong trường<br />
hợp vị trí tần số của tín hiệu pilot không nằm đúng vị trí của các thành phần tần số<br />
đầu ra bộ FFT, tỷ số tín/tạp (SNR) ở hai thành phần tần số lân cận sẽ giảm và tín<br />
hiệu pilot sẽ khó bị phát hiện và khi tăng kích thước FFT sẽ làm tăng SNR.<br />
Trong hình 1, khi thực hiện biến đổi FFT độ dài N, kết quả đầu ra là năng lượng<br />
tín hiệu tại các tần số có chỉ số 0, ..., k, k+1, k+2,...,N-1. Giả thiết tần số tín hiệu<br />
pilot nằm tại tần số k trong đó là độ lệch tần số từ bin tần số thứ k đến tần số<br />
pilot.<br />
<br />
<br />
<br />
<br />
Hình 1. Vị trí tín hiệu pilot nằm lệch các khay tần số bộ FFT.<br />
Nghiên cứu [9] đã chứng minh rằng, Khi nằm lệch ở chính giữa các bin tần<br />
số đầu ra bộ FFT, tỷ số SNR ở hai thành phần tần số lân cận (k và k+1) sẽ nhỏ<br />
nhất. Khi tăng kích thước FFT sẽ làm tăng được tỷ số SNR. Trên cơ sở nghiên cứu<br />
<br />
<br />
54 V.L. Hà, Tr.Đ.Lâm, L.T.T.Hồng, “Thuật toán phát hiện tín hiệu … vô tuyến nhận thức.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
này, bài báo xây dựng thuật toán sử dụng biến đổi Goertzel để đánh giá chính xác<br />
biên độ các thành phần tần số băng hẹp. Tuy nhiên không giống như [9] (cần tăng<br />
số điểm FFT để có thể đưa thành phần tần số pilot vào gần tâm bin tần số), giải<br />
pháp xử lý tín hiệu mà bài báo đưa ra là thay đổi tần số lấy mẫu với bước tần nhỏ.<br />
Nội dung giải pháp được trình bày trong phần 2.<br />
2. ĐỀ XUẤT MÔ HÌNH VÀ THUẬT TOÁN PHÁT HIỆN PILOT<br />
Mô hình cấu trúc thực thi thuật toán như hình 2:<br />
<br />
<br />
<br />
<br />
Hình 2. Sơ đồ khối tìm chính xác tần số pilot.<br />
Ý tưởng của thuật toán là điều khiển khối tổ hợp tần số (THTS) kiểu DDS để<br />
tạo ra các tần số lấy mẫu khác nhau cho bộ ADC. Tần số lấy mẫu được tính toán để<br />
đưa thành phần tín hiệu pilot băng hẹp vào chính xác vị trí tâm của các khay tần số<br />
sau bộ biến đổi FFT. Gọi tần số lấy mẫu ban đầu là fs, tín hiệu băng hẹp có tần số<br />
là fc nằm tại một vị trí giữa các khay tần số fk và fk+1. Cần tính tần số fs1 để fc nằm<br />
tại vị trí k khi phân tích tập N điểm mẫu dữ liệu mới sử dụng tần số lấy mẫu fs1.<br />
Với tần số lấy mẫu fs chỉ số k của thành phần tần số fk là:<br />
k N . fk / fs (1)<br />
Như vậy, trong trường hợp tín hiệu PU nằm tại tần số f k với 0,1 , cần<br />
phải điều chỉnh các tham số ở vế phải của biểu thức (1) để có thể đưa f k vào<br />
đúng vị trí thứ k (thành phần tần số thứ k) hoặc vị trí thứ (k+1) (thành phần tần số<br />
thứ k +1). Với độ dài chuỗi dữ liệu N không đổi, để thực hiện điều này cần phải<br />
N . fk<br />
thay đổi tần số lấy mẫu fs . Từ (1), tần số lấy mẫu là: f s <br />
k<br />
Hiển nhiên fs và fk tỷ lệ thuận với nhau (khi tăng fs thì fk cũng sẽ tăng và ngược<br />
lại). Gọi fs1 là tần số lấy mẫu mới để cho tần số f k nằm tại bin tần số thứ k, sẽ có:<br />
N ( f k f . ) N . f k N .f . f .<br />
f s1 fs s (2)<br />
k k k k<br />
Khi chạy từ 0 đến 1 tần số lấy mẫu sẽ chạy từ fs đến [fs+ fs/k].<br />
<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 55<br />
Kỹ thuật điện tử<br />
<br />
Để xác định được chính xác tần số fc của PU, tần số lấy mẫu fs* sẽ được điều<br />
1<br />
chỉnh dần trong phạm vi f s [1 (1 )] với bước tần f s* đặt trước (giới hạn tối<br />
k<br />
thiểu của f s* phụ thuộc vào giới hạn phân giải tần số của bộ DDS). Giá trị fc* lớn<br />
nhất chính là giá trị tần số sóng mang của pilot.<br />
DDS tạo ra tần số lấy mẫu để thực hiện thuật toán phát hiện tín hiệu pilot như<br />
trong phương trình (2). Vì trước khi vào bộ phân tích và lấy mẫu, tín hiệu đã được<br />
đưa xuống băng tần gốc, nên tốc độ lấy mẫu không cần cao, có nghĩa là hạn chế<br />
của bộ DDS về giới hạn trên của tần số đầu ra cũng không phải là vấn đề lớn. Tần<br />
số lấy mẫu tín hiệu cần phải được điều chỉnh với một bước tần đủ mịn với tốc độ<br />
nhanh. Đây chính là ưu điểm của bộ DDS. Việc điều chỉnh tần số lấy mẫu được<br />
thực hiện bằng bộ tổ hợp tần số DDS thực thi trên nền FPGA. Thuật toán xác định<br />
chính xác tần số pilot được xây dựng như hình 3. Giả sử trong dải phổ tín hiệu cần<br />
phân tích B bằng 200kHz, tần số pilot định vị tại fpilot bằng 150kHz. Vì nhiều<br />
nguyên nhân khác nhau, tín hiệu pilot thực tế thu được sẽ nằm tại một tần số nào<br />
đó (giả sử 150,1 kHz) gần tần số 150kHz trung tâm.<br />
Giả sử thuật toán phát hiện pilot sử dụng phân tích FFT với độ dài N điểm, để<br />
đạt được các bin tần số với độ phân dải ffft_res bằng 0,1kHz trong dải DC đến<br />
200kHz, độ dài dữ liệu cần phân tích là: N fft 2* B / f fft _ res 2* 200 / 0.1 4000 .<br />
Tốc độ lấy mẫu cần tạo ra từ DDS là: f DDS 2* B 400 (kHz ) . Với tín hiệu pilot<br />
nằm quanh vị trí tần số 150 kHz, chỉ số bin tần số của tín hiệu này là:<br />
1 N fft * f pilot 1 4000*150<br />
k 1500<br />
2 B 2 200<br />
Thực hiện quét qua các tần số lân cận với bước nhảy tần f 0.01kHz . Gọi n là<br />
f fft _ res 0.1<br />
số tần số sẽ được được quét qua, số này được xác định là: n 10 .<br />
f 0.01<br />
1<br />
Như vậy 0.1 . Cho n chạy từ -4 đến 5, các tần số cần được phân tích là<br />
n<br />
fpilot_i bằng 149,96 kHz đến 150,15 kHz. Để đưa được các tần số fpilot_i vào tâm<br />
khay tần số thứ k=1500, tần số lấy mẫu fsi mà DDS cần được thiết lập quanh tần số<br />
f .<br />
fs=400kHz ban đầu là: f si f s s .<br />
k<br />
Bảng thiết lập tần số lấy mẫu như bảng 1.<br />
<br />
<br />
<br />
<br />
56 V.L. Hà, Tr.Đ.Lâm, L.T.T.Hồng, “Thuật toán phát hiện tín hiệu … vô tuyến nhận thức.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
<br />
Bắt đầu<br />
<br />
<br />
Khởi tạo:<br />
Đặt Fs, N, k<br />
<br />
<br />
Tính toán:<br />
fs*max=fs[1+1/Nk]<br />
<br />
Tính thành phần tần số thứ k<br />
X[k]=G(fs*,N,k)<br />
<br />
<br />
So sánh tìm X[k] max<br />
Thay đổi tần số lấy mẫu<br />
fs*=fs*+DeltaF<br />
<br />
<br />
fs*>fs*max?<br />
<br />
<br />
<br />
Xác định vị trí X[k] max<br />
<br />
<br />
Kết thúc<br />
<br />
Hình 3. Thuật toán xác định chính xác vị trí tần số pilot.<br />
<br />
Bảng 1. Thiết lập tần số lấy mẫu thực hiện thuật toán phát hiện pilot.<br />
fs (kHz) N k fk (kHz) fsi (kHz)<br />
400 4000 1500 150 -0.4 399.893<br />
400 4000 1500 150 -0.3 399.920<br />
400 4000 1500 150 -0.2 399.947<br />
400 4000 1500 150 -0.1 399.973<br />
400 4000 1500 150 0 400.000<br />
400 4000 1500 150 0.1 400.027<br />
400 4000 1500 150 0.2 400.053<br />
400 4000 1500 150 0.3 400.080<br />
400 4000 1500 150 0.4 400.107<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 57<br />
Kỹ thuật điện tử<br />
<br />
Từ bảng thiết lập tần số cho bộ DDS, hệ số tăng pha được xác định để cấu hình<br />
lại bộ DDS. Cấu hình thực thi bộ DDS bằng công nghệ FPGA.<br />
<br />
3. KẾT QUẢ MÔ PHỎNG<br />
Cài đặt tham số đầu vào cho mô phỏng đo các thành phần tần số khác nhau như<br />
sau: Tần số clock hệ thống: fs = 100 MHz; Băng tần: B=50 MHz; N = 200. Chọn<br />
lựa khảo sát các tần số nằm tại các khay tần thứ 1, 11, 21, 31, 41. Các tần số nằm<br />
chính giữa các khay tần số này là: f1=0.25MHz, f11=5.25MHz, f21=10.25MHz và<br />
f31=15.25MHz. Khoảng cách tần số giữa hai bin tần số liền kề là 0.5MHz. Đặt các<br />
tần số pilot cần khảo sát gần các vị trí trung tâm của các bin tần số, với các khoảng<br />
cách khác nhau như trong Bảng 2 và tính toán các thành phần tần số.<br />
Bảng 2. Đặt tần số khảo sát khả năng phát hiện pilot.<br />
ST Tần số pilot (MHz) Tần số trung tâm Bin tần số Độ lệch tần<br />
T (MHz) (MHz)<br />
1 f01’=0,25 f01 = 0,25 01 0<br />
2 f11’= 5,35 f11 = 5,25 11 0,1<br />
3 f21’ = 10,45 f21 = 10,25 21 0,2<br />
4 f31’=15,55 f31 = 15,25 31 0,3<br />
<br />
<br />
<br />
<br />
Hình 4. Phổ tín hiệu của 5 thành phần tần số.<br />
Kết quả mô phỏng cho thấy, khi các thành phần tần số càng lệch xa so với tâm<br />
của các bin tần số, biên độ tín hiệu sau phân tích phổ bị suy giảm đi đáng kể. Để<br />
đánh giá sự hiệu quả đo đạc khi thay đổi tần số lấy mẫu: đo tín hiệu tại các tần số f1<br />
và f2 bin tần số 15 và 20. Điều chỉnh tần số lấy mẫu fs sao cho tần số f1 nằm lệch<br />
khỏi tâm bin tần số với một lượng dịch tần thay đổi với bước f0 bằng 1/8 bước tần<br />
của bộ biến đổi FFT. Trong khi đó f2 luôn được điều chỉnh ở chính giữa bin 20 với<br />
mục đích tham chiếu. Khảo sát sự thay đổi biên độ của tần số f1 so với tần số f2.<br />
Kết quả mô phỏng thể hiện như trong hình 5.<br />
<br />
<br />
58 V.L. Hà, Tr.Đ.Lâm, L.T.T.Hồng, “Thuật toán phát hiện tín hiệu … vô tuyến nhận thức.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
<br />
<br />
<br />
Hình 5. Điều chỉnh tần số lấy mẫu.<br />
<br />
Kết quả đo năng lượng tín hiệu pilot trong hình 5 được tổng hợp và mô tả lại<br />
như trong hình 6, với các giá trị năng lượng tín hiệu pilot trong 9 trường hợp, khi<br />
tín hiệu pilot nằm tại một vị trí tần số trong khoảng từ tâm bin thứ k đến tâm bin<br />
thứ k+1.<br />
Đồ thị khảo sát sự thay đổi biên độ khi<br />
tín hiệu pilot nằm trong khoảng tần số<br />
giữa hai thành phần fk và fk+1 cho thấy:<br />
biên độ f1 bị suy giảm đáng kể khi độ lệch<br />
tần lớn nhất (lệch 4f0 hoặc 5f0), mức tín<br />
hiệu pilot bị suy giảm tới 3,6dB so với khi<br />
tần số tín hiệu pilot nằm chính xác tại các<br />
bin tần số. Như vậy: việc điều chỉnh tần số<br />
lấy mẫu phù hợp sẽ cho phép đo năng Hình 6. Cường độ pilot khi nằm tại<br />
vị trí khác nhau trong bin tần số.<br />
lượng tín hiệu pilot tốt nhất tại f0 bằng 0<br />
hoặc 8, tức là tín hiệu nằm chính xác tại<br />
các bin tần số của bộ phân tích FFT.<br />
<br />
4. KẾT LUẬN<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 10 - 2015 59<br />
Kỹ thuật điện tử<br />
<br />
Để làm tăng độ chính xác đo năng lượng tín hiệu pilot, thuật toán điều chỉnh tốc<br />
độ lấy mẫu cho bộ FFT được đề xuất, với mục tiêu đưa chính xác tần số tín hiệu<br />
pilot vào giữa bin tần số, giảm thiểu hiệu ứng dò phổ. Thiết kế, mô phỏng và thực<br />
thi các khối chức năng trên nền FPGA đã được trình bày. Kết quả cho thấy thuật<br />
toán đạt được độ lợi đến 3,6 dB khi phát hiện tín hiệu pilot so với bộ phát hiện<br />
không có tính năng điều chỉnh tốc độ lấy mẫu.<br />
TÀI LIỆU THAM KHẢO<br />
[1]. Josef Mitola, "Cognitive Radio: An Integrated Agent Architecture for Software<br />
Defined Radio", Ph.D. dissertation, Royal Inst. of Tech., Sweden, May (2000).<br />
[2]. Dương Tử Cường (2001), Xử lý tín hiệu số, NXB KH&KT, Hà Nội.<br />
[3]. Carlos C., (Aug 2007), “Spectrum sensing for dynamic spectrum access of TV<br />
band”, in Proc.2th International Conference on Cognitive Radio Oriented<br />
Wireless Networks and Communications.<br />
[4]. Cooley J., Tukey J. (1965), “An Algorithm for the machine calculation of<br />
complex fourier series”, Machine calculation of complex fourier serie.<br />
[5]. Goertzel G.(1958),“An Algorithm for the Evaluation of Finite Trigonometric<br />
Series”,The American Mathematical Monthly,Vol.65,pp. 34-35.<br />
[6]. Jung Hoiyoon (2011), “Non-uniform spectrum sensing using computationally<br />
efficient 2-level (FFT-Goertzel) based Energy Detection”, 5/11/IEEE.<br />
[7]. Lin M.Chuan, Tsai Guo-Ruey, Tu Yung-Chin, Chang Tai-Hsiung, Lin Ching-<br />
Hu (2008), “FPGA based spectrum analyzer with high area efficiency by<br />
Goertzel algorithm”, Congress on Image and Signal Processing, IEEE 2008.<br />
[8]. Roland Proesch (2011), Technical Handbook for Radio Monitoring<br />
VHF/UHF, Nordersteds, Germany.<br />
[9]. Yan Y., Gong Y. (2010), “Energy Detection of Narrowband Signals in<br />
Cognitive Radio Systems”, 978-1-4244-7555-1/10, IEEE 2010<br />
[10]. Zhang Xinyi (2010), ”The FPGA Implementation of Modified Goertzel<br />
Algorithm for DTMF Signal Detection”, International Conference on<br />
Electrical and Control Engineering, IEEE 2010.<br />
ABSTRACT<br />
PILOT DETECTION ALGORITHM FOR<br />
SPECTRUM SENSING IN COGNITIVE RADIO<br />
The article proposes a new model and algorithm in order to increase the<br />
accuracy of pilot signal power measurement. The sampling rate control algorithm<br />
for the FFT is proposed, aiming to take the pilot frequency to the center of frequency<br />
bin, minimize the spectrum leak effect. Simulation results show that the algorithm<br />
achieves 3.6 dB better than the detector without sampling rate adjustment feature.<br />
This algorithm is accommodated in cognitive radio for spectrum sensing function.<br />
Keywords: Cognitive radio, Pilot signal detect, Spectrum sensing.<br />
Nhận bài ngày 21 tháng 07 năm 2015<br />
Hoàn thiện ngày 10 tháng 08 năm 2015<br />
Chấp nhận đăng ngày 07 tháng 09 năm 2015<br />
Địa chỉ: * Viện Điện Tử, Viện KH-CN quân sự. Email: vulehuongha@yahoo.com.<br />
<br />
<br />
60 V.L. Hà, Tr.Đ.Lâm, L.T.T.Hồng, “Thuật toán phát hiện tín hiệu … vô tuyến nhận thức.”<br />