Mô phỏng thuật toán Music trong DOA Bài tập lớn : Siêu cao tần và anten Sử dụng Matlab xây dựng hệ thống để mô phỏng thuật toán Music trong DOA , khảo sát các yếu tố ảnh hướng đến thuật toán , độ chính xác và tin cậy của thuật toán. Và nêu lên một số lĩnh vực sử dụng anten thông minh có sử dụng thuật toán tìm hướng sóng đến Music.
Thuật Toán MUSIC xác định DOA với phân tử Mơ thuật tốn Music DOA Bài tập lớn : Siêu cao tần anten Giáo viên hướng dẫn : Nguyễn Khuyến Sinh viên thực : Nguyễn Văn Trình 20072992 Hồng Trung Long Lưu Văn Khoa 20071572 Phạm Bá Quảng Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hồng Trung Long, Phạm Bá Quảng Trang Thuật Toán MUSIC xác định DOA với phân tử Mở đầu Hiện ,khi khoa học kĩ thuật ngày phát triển , hàng loạt loại anten xử lí tín hiệu đời Nó mang lại nhiều lợi ích lĩnh vực thơng tin truyền thông thông tin di động , truyền hình thơng tin vệ tinh , giám sát .Do mà hệ thống anten thông minh nghiên cứu phát triển Một hướng phát triển kĩ thuật xử lý tín hiệu anten xác định hướng sóng tới , hay từ hướng sóng mà xác định nguồn phát sóng , từ ta có biện pháp xử lí phù hợp với mục đính sử dụng hệ thống điều chỉnh búp sóng anten hay vị trí anten Cho đến có nhiều thuật tốn đời nhằm giải tốn tìm hướng sóng tới : ước lượng phổ , thuật toán khả lớn , thuật toán Music Và thuật toán Music sử dụng phổ biến ưu điểm vượt trội : Độ xác cao , áp dụng phù hợp nhiều hoàn cảnh , phân biệt nguồn tốt Thuật toán Music ( Multiple Signal Classification algorithm) Do Schimidt đề xuất từ 1979,đạt độ phân giải cao phát phân loại nhiều sóng đến đồng thời.Thuật toán Music dựa việc khai thác cấu trúc riêng ma trận hiệp phương sai vector tín hiệu thu u(t) Trong báo cáo chúng em sử dụng Matlab xây dựng hệ thống để mơ thuật tốn Music DOA , khảo sát yếu tố ảnh hướng đến thuật toán , độ xác tin cậy thuật tốn Và nêu lên số lĩnh vực sử dụng anten thông minh có sử dụng thuật tốn tìm hướng sóng đến Music Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hồng Trung Long, Phạm Bá Quảng Trang Thuật Toán MUSIC xác định DOA với phân tử Chương : Ứng dụng thuật toán Music xác đinh DOA Hệ thống anten cho phép xác định đồng thời hướng sóng đến từ K nguồn phát sóng độc lập thực chất hệ anten có xử lý tín hiệu, cho phép xác định hướng sóng đến cách xác điều kiện có nhiễu Ta xét K sóng tới, tần số với góc phương vị tương ứng φ1 , φ2, …, φk,…, φK tới dàn anten thông minh gồm M phần tử, với K < M (hình 1) Gọi U(t) tổng tín hiệu nhận đầu M máy thu Rx1 RxM đặt M phần tử dàn, bao gồm nhiễu, coi phẩn tử thứ chuẩn, ta có: Viết biểu thức dạng ma trận, ta được: U(t)= A(S(t) + N(t) (2) Trong : (1) U(T) – Là véc tơ M chiều biểu thị đáp ứng đầu M cổng máy thu: U(t)=[u1(t), u2(t), … ,um(t), …, uM(t)]T (3) A(φ) - Đây ma trận vectơ phương(direction vector steering vector), kích thước M × K mang thơng tin góc pha tín hiệu tới (4) (5) S(t) - véctơ K tín hiệu tới: S(t) = [s1(t) s2(t) sK(t)]T Với sk(t) tín hiệu tới thứ k N(t) véctơ nhiễu nhận M cổng máy thu: N(t)=[n1(t), n2(t), … ,nm(t), … nM(t)]T (6) (7) Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hồng Trung Long, Phạm Bá Quảng Trang Thuật Toán MUSIC xác định DOA với phân tử Hinh K sóng tới dàn M phần tử Ma trận hiệp phương sai Ruu véctơ tín hiệu thu U(t) tính bởi: (8) Với : UH(t) - Phép biến đổi Hermitien L - Số mẫu quan sát Kết hợp (3) (8) ta có: Ruu = E{(A.S+N )(A.S + N)H } (9) = A.E{S.SH}AH+E{N.NH} (10) Coi nhiễu N tạp âm trắng, ta nhận được: Ruu = A RS AH + σ2I (3-11) (11) Trong đó: RS = E[S.SH] - Ma trận hiệp phương sai tín hiệu thu khơng kể nhiễu σ2 - Năng lượng tạp âm trắng I - Ma trận đơn vị, kích thước K x K Từ ma trận hiệp phưong sai Ruu ta tính giá trị riêng μi vectơ riêng Vì ma trận Ruu Hermitien xác định dương, nên giá trị riêng Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hồng Trung Long, Phạm Bá Quảng Trang Thuật Tốn MUSIC xác định DOA với phân tử thực dương K giá trị riêng không âm biểu thị cho K sóng tới, xắp xếp theo thứ tự biên độ giảm dần: μ1 > μ2 > μ3 > … > μk …….> μK > Do lượng tạp âm ơ2 nên giá trị riêng nhận cổng máy thu, tính nhiễu, bằng: λ = μ1 + σ … λ K = μK + σ Và: λK+1 = λK+2 = … = λM = σ2 Do : λ1 > λ2 > > λK > λK+1 = … = λM μ1+ σ2 >μ2 + σ2 >μK + σ2 >λK+1 =λK+2 =λM = σ2 (12) M giá trị riêng tương ứng với M véctơ riêng β1 , β2 , …, βK ,…, βM Ma trận hiệp phương sai cuối viết sau: (13) Trong (14) (15) lại tách làm hai véctơ EK EM-K: EK - Véctơ hợp thành K giá trị riêng có giá trị lớn EK chứa vectơ riêng liên kết với không gian tín hiệu, phương với véctơ phương EK= [β1 ,β2 , ,βK] (16) EM-K - Véctơ hợp thành vectơ riêng tương ứng với giá M-K giá trị riêng nhỏ EM-K chứa vectơ riêng không gian nhiễu, trực giao với véctơ phương EM-K=[ βK+1 ,βK+2 , ,βM ] (17) Trên hình giản đồ trình bày giá trị riêng ma trận Ruu Như vậy, cách tính ma trận hiệp phương sai giá trị riêng ta phân loại tín hiệu nhiễu thu thành hai khơng gian con: - Khơng gian tín hiệu có kích thước K, tương ứng K tín hiệu K giá trị riêng xắp xếp theo thứ tự biên độ giảm dần - Không gian nhiễu, kích thước M-K, mà giá trị riêng có mức σ Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hoàng Trung Long, Phạm Bá Quảng Trang Thuật Toán MUSIC xác định DOA với phân tử Ta thấy để tồn khơng gian nhiễu cần có điều kiện M > K Đó điều kiện để xây dựng thuật tốn MUSIC Hình 2: Giản đồ xếp giá trị riêng Như để xác định đồng thời K sóng tới ta cần dàn anten thích nghi với số phần tử M=K+1 Dựa EK EM-K ta xây dựng hàm độ lệch (hàm phân loại), hàm FD(λ, φ): (18) Việc xấp xỉ hướng sóng tới từ nguồn phát xác định độ lệch cực tiểu: FD(λ, φ) => Min Hay: PMUSIC = 1/ FD(λ,φ) => Max Vậy việc ước lượng góc sóng tới trở thành việc tìm giá trị lớn hàm sau: Trên hinh sơ đồ khối thực việc xácđịnh hướng sóng tới DOA Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hồng Trung Long, Phạm Bá Quảng Trang Thuật Tốn MUSIC xác định DOA với phân tử Hình 3: Sơ đồ khối xác định hướng sóng tới Chương : Xây dựng tốn mơ thuật tốn Music Các thành phần tốn mơ Nguồn phát Khơng gian truyền sóng Hệ thống thu Xử lí tín hiệu Sơ đồ khối thực việc mơ Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hoàng Trung Long, Phạm Bá Quảng Trang Thuật Toán MUSIC xác định DOA với phân tử , , , K Véctơ biên độ đường bao phức S(t) Véctơ nhiễu N(t) k Thuật tốn ước lượng góc sóng tới MUSIC Hình 2.5 Sơ đồ mơ thuật tốn MUSIC Các bước giải toán o Giả thiết số nguồn sóng tới D Số phần tử mảng anten Ne , số mẫu tín hiệu quan sát Nb o Giả thiết khoảng cách phần tử anten mảng , góc ban đầu xây dựng vector hướng A o Xây dựng ma trận tín hiệu thu tín hiệu ngẫu nhiên X o Xác định ma trận hiệp phương sai tìm giá trị riêng , vector riêng nó, từ xác định vector hợp thành D giá trị riêng có giá trị lớn ứng với khơng gian tín hiệu vector hợp thành giá trị riêng tương ứng với Ne-D giá trị riêng nhỏ ứng với không gian nhiễu o Xây dựng hàm độ lệch , xác định giá trị góc mà hàm độ lệch đạt cực tiểu hay nghịch đảo cực đại Góc kết thuật toán MUSIC việc xác định hướng sóng tới Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hoàng Trung Long, Phạm Bá Quảng Trang Thuật Toán MUSIC xác định DOA với phân tử Xây dựng Guide Matlab Ở ta nhập tham số đầu vào cho thuật toán Với : DOA’s of signal in rad : hướng sóng tới điền giá trị hướng sóng tới Number of array elements : Số phần tử mảng anten ( Theo yêu cầu Ne=9) Number of data snapshots : số mẫu tín hiệu quan sát Noise_var : khảo sát nhiễu Dlamda : khoảng cách anten chia cho bước sóng Câu lệnh thực bước đưa tham số đầu vào Việc đặt thông số đảm bảo điều kiện số phần tử mảng anten phải lớn số nguồn tín hiệu.Cùng với số phần tử khơng lớn để giảm thiểu kích thước anten.Về tham số số mẫu quan sát tín hiệu , lý thuyết , số bit cần phải tiến tới vô nhiên kết chương trình cho thấy Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hồng Trung Long, Phạm Bá Quảng Trang Thuật Toán MUSIC xác định DOA với phân tử số mẫu quan sát đạt khoảng 1000 kết thuật tốn có chênh lệch khơng đáng kể function edit1_Callback(hObject, eventdata, s1=str2double(get(hObject,'String')) handles.metricdata.s1 = s1; guidata(hObject,handles) function edit2_Callback(hObject, eventdata, s2=str2double(get(hObject,'String')) handles.metricdata.s2 = s2; guidata(hObject,handles) function edit3_Callback(hObject, eventdata, s3=str2double(get(hObject,'String')) handles.metricdata.s3 = s3; guidata(hObject,handles) function edit4_Callback(hObject, eventdata, s4=str2double(get(hObject,'String')) handles.metricdata.s4 = s4; guidata(hObject,handles) function edit5_Callback(hObject, eventdata, s5=str2double(get(hObject,'String')) handles.metricdata.s5 = s5; guidata(hObject,handles) function edit6_Callback(hObject, eventdata, Ne=str2double(get(hObject,'String')) handles.metricdata.Ne = Ne; guidata(hObject,handles) function edit7_Callback(hObject, eventdata, Nb=str2double(get(hObject,'String')) handles.metricdata.Nb = Nb; guidata(hObject,handles) function edit8_Callback(hObject, eventdata, noise_var=str2double(get(hObject,'String')) handles.metricdata.noise_var = noise_var; guidata(hObject,handles) function edit9_Callback(hObject, eventdata, d=str2double(get(hObject,'String')) handles.metricdata.d = d; guidata(hObject,handles) handles) handles) handles) handles) handles) handles) handles) handles) handles) Lấy giá trị vào hàm vẽ đồ thị với câu lệnh s1=handles.metricdata.s1; s2=handles.metricdata.s2; s3=handles.metricdata.s3; s4=handles.metricdata.s4; s5=handles.metricdata.s5; Nb=handles.metricdata.Nb; Ne=handles.metricdata.Ne; d=handles.metricdata.d; noise_var=handles.metricdata.noise_var; Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hồng Trung Long, Phạm Bá Quảng Trang 10 Thuật Toán MUSIC xác định DOA với phân tử Xây dựng vec tơ hướng A dựa công thức A(φ) = [a(φ), a(φ),…,a(φ),…a(φ)] Với : a(φ) = [1,e,…, e,…, e] Các câu lệnh tương ứng thực công việc : angles=[ s1 s2 s3 s4 s5 ]*(pi/180); H=zeros(Ne,Nb); for k=1:length(angles) mu=2*pi*d*cos(angles(1,k)) A=exp(j*mu*(0:Ne-1)); end Xây dựng ma trận tín hiệu thu vector ngẫu nhiên X ( bao gồm nhiễu ) Do nguồn tín hiệu S xây dựng hồn tồn ngẫu nhiên nên để chương trình cho kết xác ta cần phải có số bít tín hiệu hay số mẫu quan sát (Nb) đủ lớn để đảm bảo tính thống kê Véc tơ A (véctơ hướng) câu lệnh xây dựng phần ma trận tín hiệu thu tính theo cơng thức sau : U(t) = A(φ).S(t)+Noise Dưới dạng cụ thể, ta có : U(t) = +Noise Ở cơng thức này, U(t) véctơ tín hiệu thu, thành phần véctơ hướng tính phần trên, thành phần tín hiệu từ nguồn phát xây dựng từ phép lấy ngẫu nhiên angles=[ s1 s2 s3 s4 s5 ]*(pi/180); H=zeros(Ne,Nb); for k=1:length(angles) mu=2*pi*d*cos(angles(1,k)) A=exp(j*mu*(0:Ne-1)); Temp=rand(1,Nb); Nhóm SV: Nguyễn Văn Trình, Lưu Văn Khoa, Hoàng Trung Long, Phạm Bá Quảng Trang 11 Thuật Toán MUSIC xác định DOA với phân tử Sr=ones(1,Nb); Sr(find(temp