Thực thi thuật toán music trên kit dsptms320c6713 Thực thi thuật toán music trên kit dsptms320c6713 Thực thi thuật toán music trên kit dsptms320c6713 Thực thi thuật toán music trên kit dsptms320c6713
;; 2011 Khóa luận tốt nghiệp TĨM TẮT NỘI DUNG KHĨA LUẬN Mục tiêu khóa luận thực thi thuật toán MUSIC kit DSP TMS320C6713 Texas Instrument, với cấu trúc anten mảng khác nhƣ ULA, UCA Vì trọng tâm khóa luận mơ thuật tốn MUSIC với cấu trúc mảng khác nhau, từ tìm giải thuật để triển khai thuật tốn kit DSP Chi tiết khóa luận bao gồm chƣơng: Chƣơng 1: Thực thuật toán MUSIC với cấu trúc anten mảng ULA, UCA: thực việc mơ thuật tốn sử dụng chƣơng trình Matlab, từ đánh giá ƣu, nhƣợc điểm thuật toán với cấu trúc anten khác Chƣơng 2: Giới thiệu kit DSP TMS320C6713 Chƣơng phân tích đặc điểm kit, từ nêu lý sử dụng kit để thực thi thuật tốn MUSIC Tiếp giới thiệu mơi trƣờng giao tiếp với kit chƣơng trình Code Composer Studio, nghiên cứu khả tích hợp Code Composer Studio Matlab qua tính “Real Time Data Exchange” Chƣơng 3: Thực thi thuật toán MUSIC kit TMS320C6713: nêu lên công việc thực đƣợc kết đạt đƣợc thực tế Cuối phần kết luận hƣớng phát triển cho khóa luận i 2011 Khóa luận tốt nghiệp LỜI CAM ĐOAN Tơi xin cam đoan khóa luận tốt nghiệp: “Thực thi thuật tốn MUSIC kit DSPTMS320C6713” cơng trình nghiên cứu thân Những phần sử dụng tài liệu tham khảo khóa luận đƣợc nêu rõ phần tài liệu tham khảo Các số liệu, kết trình bày khóa luận hồn tồn trung thực, sai tơi xin chịu hồn tồn trách nhiệm chịu kỷ luật khoa nhà trƣờng đề Tác giả khóa luận Nguyễn Đức Anh ii 2011 Khóa luận tốt nghiệp LỜI CẢM ƠN Để hồn thành tốt khóa luận này, em xin chân thành gửi lời cảm ơn tới Ths.Trần Thị Thúy Quỳnh, ngƣời hƣớng dẫn tận tình giúp đỡ em nhiều q trình thực khóa luận Ngồi ra, q trình thực khóa luận em nhận đƣợc nhiều động viên giúp đỡ từ phía gia đình, ngƣời thân tập thể bạn lớp Do kết nhƣ tính khả dụng luận văn thực tế lời cảm ơn sâu sắc em gửi tới ngƣời nguồn động lực để em tự tin vào kiến thức thu đƣợc sau tốt nghiệp iii 2011 Khóa luận tốt nghiệp MỤC LỤC CHƢƠNG LÝ THUYẾT VÀ MƠ HÌNH THUẬT TỐN MUSIC 1.1 Giới thiệu thuật toán MUSIC 1.2 Thuật toán MUSIC dàn anten ULA 1.2.1 Mơ hình dàn anten ULA 1.2.2 Tín hiệu thu đƣợc sau qua dàn anten ULA 1.2.3 Thuật toán MUSIC với dàn anten ULA 1.2.4 Mô thuật toán MUSIC với dàn anten ULA Matlab 1.3 Thuật toán MUSIC dàn anten UCA 10 1.3.1 Mơ hình dàn anten UCA 10 1.3.2 Tín hiệu thu đƣợc sau qua dàn anten ULA 10 1.3.3 Thuật toán MUSIC với dàn anten UCA 11 1.3.4 Mơ thuật tốn MUSIC với dàn anten UCA 11 CHƢƠNG TỔNG QUAN VỀ KIT DSP TMS320C6713 13 2.1 Lựa chọn phần cứng 13 2.2 Giới thiệu chung kit 13 2.3 Bảng mạch DSP 14 2.4 Code Composer Studio 16 2.5 Tích hợp CCS với Matlab thơng qua tính Real Time Data Exchange 18 CHƢƠNG THỰC THI THUẬT TOÁN MUSIC TRÊN KIT TMS320C6713 21 3.1 Thiết kế thuật toán 21 3.2 Lập trình thuật toán 21 3.3 Thực thi thuật toán kit 26 3.3.1 Mơ tả q trình 27 3.3.2 Phân vùng nhớ kit cho liệu chƣơng trình 28 3.3.3 Kết thực thi thuật toán: 30 iv 2011 Khóa luận tốt nghiệp DANH MỤC CÁC CHỮ VIẾT TẮT Thuật ngữ Tiếng anh Tiếng Việt Direction of Arrival Hƣớng sóng tới MUSIC MUltiple Signal Classification Phƣơng pháp phân lớp đa tín hiệu ESPRIT Estimation of Signal Phƣơng pháp đánh giá thơng số Parameters via Rotational Invariance Techniques tín hiệu thông qua kỹ thuật quay bất biến SNR Signal to Noise Ratio Tỷ số tín hiệu nhiễu ULA Uniform Linear Array Hệ anten xếp theo đƣờng thẳng UCA Uniform Circular Array Hệ anten xếp theo đƣờng trịn DSP Digital Signal Proccessor Bộ xử lý tín hiệu số FPGA Field-programmable gate array Vi mạch cấu trúc mảng phần tử khả trình RTDX Real Time Data Exchange Trao đổi liệu thời gian thực API Application programming interface Giao diện lập trình ứng dụng JTAG Joint Test Action Group CCS Code Composer Studio DOA v 2011 Khóa luận tốt nghiệp DANH MỤC BẢNG BIỂU Bảng 1: Lịch sử phát triển thuật tốn tìm hƣớng sóng đến Bảng 3: Thông số mô dàn anten 12 Bảng 4: Các dạng file sử dụng CCS 17 Bảng 5: Các lệnh thƣ viện RTDX.h để liên kết CCS→Matlab 19 Bảng 6: Các lệnh toolbox để liên kết Matlab → CCS 20 Bảng 7: So sánh thuật tốn MUSIC ngơn ngữ Matlab ngơn ngữ C 22 Bảng 8: Mơ hình hệ thống thực thi thuật toán MUSIC với anten ULA 30 vi 2011 Khóa luận tốt nghiệp DANH MỤC HÌNH VẼ Hình 1: Mơ hình cấu trúc anten ULA Hình 2: Lƣu đồ thuật toán MUSIC Hình 3: Dạng phân bố giá trị riêng ma trận tƣơng quan Hình 5: Hệ anten ULA trƣờng hợp hai tín hiệu đối xứng Hình 6: Mơ hình cấu trúc anten UCA 10 Hình 7:Kết mơ hệ anten UCA 12 Hình 8: Kit TMS320C6713 14 Hình 9: Sơ đồ khối kit TMS320C6713 15 Hình 10: Sơ đồ địa vùng nhớ L2 kit 16 Hình 11: Giao diện chƣơng trình Code Composer Studio 17 Hình 12: Mơ hình giao tiếp kit PC thơng qua RTDX 18 Hình 13: Quá trình liên kết từ kit đến máy tính 19 Hình 14: Quá trình liên kết từ máy tính đến kit 20 Hình 15: Mơ hình xây dựng thuật tốn 21 Hình 16: Lƣu đồ thuật tốn Jacobi 26 Hình 17: Quá trình thực thi thuật tốn MUSIC kit DSP 27 Hình 18: Thực thi hệ thống DSP với mảng anten ULA 30 Hình 19: So sánh kết thực thi thuật tốn mơ dàn anten ULA 31 Hình 20: Thực thi hệ thống DSP với mảng anten UCA 32 Hình 21: So sánh kết thực thi thuật tốn mơ phỏngtrên dàn anten UCA 32 Hình 22: Số nhịp CPU chip chạy đến kết thúc nhận liệu 33 Hình 23: Số nhịp CPU chip chạy đến bắt đầu gửi liệu 33 vii 2011 Khóa luận tốt nghiệp MỞ ĐẦU Anten thông minh công nghệ đƣợc quan tâm nhiều thời gian gần với ƣu điểm: cải thiện vùng phủ sóng, giảm nhiễu, tăng dung lƣợng, mở rộng phạm vi hệ thống [1] Nói cách đơn giản, anten thơng minh gồm nhiều phần tử anten đơn giản kết hợp với xử lý tín hiệu để thay đổi búp sóng cách tự động Các cấu trúc anten mảng phổ biến cấu trúc dạng đƣờng thẳng cách (ULA), cấu trúc dạng chữ nhật cách (URA) hay cấu trúc dạng đƣờng tròn cách (UCA) Trong cấu trúc anten thơng minh, việc xử lý tín hiệu đƣợc thực thi cách thay đổi trọng số phần tử anten theo tham số tối ƣu xác định Việc xác định sơ hƣớng sóng đến (DOA) số trọng số MUSIC thuật toán xác định DOA với nhiều ƣu điểm nhƣ độ xác cao, khả áp dụng với nhiều cấu trúc anten mảng Vì thuật toán MUSIC ngày phát triển đƣợc ứng dụng rộng rãi hệ thống quân sự, điều khiển, thông tin liên lạc, truyền thông… Để phục vụ cho việc đo lƣờng, lƣu trữ xử lý tín hiệu thu thập từ anten thực tế, thuật toán MUSIC đƣợc thực thi xử lý số DSP Các xử lý số DSP đƣợc lựa chọn khả xử lý tín hiệu số mạnh khả tái lập trình đơn giản Khóa luận tốt nghiệp thực việc thƣc thi thuật tốn MUSIC kit DSP TMS320C6713 nhằm mục đích tiến tới thực tiễn hóa hệ thống xác định hƣớng sóng tới Khóa luận tốt nghiệp Chƣơng CHƢƠNG LÝ THUYẾT VÀ MƠ HÌNH THUẬT TỐN MUSIC 1.1 Giới thiệu thuật toán MUSIC MUSIC thuật tốn xác định hƣớng sóng tới (DOA-Direction Of Arrival) dựa vào tín hiệu thu thập đƣợc từ mảng anten Trên giới việc nghiên cứu phƣơng pháp tìm hƣớng sóng năm 70 kỷ trƣớc, nhiều thuật tốn đƣợc tìm tiếp tục đƣợc nghiên cứu phát triển đến tận Lịch sử phát triển thuật tốn đƣợc trình bày tóm tắt qua bảng sau [5]: Bảng 1: Lịch sử phát triển thuật tốn tìm hướng sóng đến Năm tìm Tên thuật tốn Tác giả thuật toán 1967 Maximum Entropy Method Burg 1969 Maximum Likehood Method Capon 1973 Covariance Method Pisarenco 1977 Subspace Method –MUSIC Schmidt 1979 Subspace Method –MUSIC Bienvenu 1989 Subspace Method –ESPRIT Richchard Roy,Thomas Kailath Từ bảng ta thấy: phƣơng pháp tìm hƣớng sóng đến dựa hai phƣơng pháp không gian con: phƣơng pháp phân lớp đa tín hiệu (MUltiple Signal Classification – MUSIC) phƣơng pháp đánh giá thơng số tín hiệu thông qua kỹ thuật quay bất biến (Estimation Of Signal Parameters Via Rotational Invariance Techniques – ESPRIT) Phƣơng pháp ESPRIT đời sau nên tốc độ thực nhanh MUSIC, nhiên MUSIC lại có ƣu điểm đơn giản, linh hoạt việc áp dụng cho cấu trúc anten khác nên đƣợc nghiên cứu ứng dụng thực tế nhiều Đƣợc tìm nghiên cứu độc lập Schmidt (1977) Bienvenu (1979), thuật tốn xác định số lƣợng tín hiệu đến anten nhƣ hƣớng tín hiệu đó, dựa vectơ tín hiệu đầu vào Khóa luận tốt nghiệp Chƣơng 1.2 Thuật tốn MUSIC dàn anten ULA 1.2.1 Mơ hình dàn anten ULA Anten ULA hay dàn chấn tử đồng pha ULA loại anten mảng đơn giản Dạng hình học dàn anten đƣợc biểu diễn qua hình vẽ sau: Y θ … M-1 X d Hình 1: Mơ hình cấu trúc anten ULA Cấu trúc dàn anten ULA bao gồm M chấn tử đặt song song trục thẳng với khoảng cách d Mỗi phần tử hệ anten đóng vai trò nguồn đẳng hƣớng Các chấn tử hoạt động pha với tạo nên hƣớng xạ tín hiệu tới xử lí giữ nguyên đƣợc pha biên độ so với tín hiệu tới hệ anten 1.2.2 Tín hiệu thu sau qua dàn anten ULA Nhƣ vậy, với nguồn sóng đến, tín hiệu nhận đƣợc phần tử (phần tử tham chiếu) đƣợc biểu diễn dƣới dạng: u0 (t ) a(t )cos(2f c t (t ) ) với: (1.1) a(t): biên độ tín hiệu fc : tần số sóng mang t : thành phần mang tin : pha tín hiệu Giả sử khoảng cách từ anten tới nguồn tín hiệu r >> d Do tia sóng Khóa luận tốt nghiệp - Chƣơng Trong phần khai bào biến dùng cấu trúc #pragma để ánh xạ biến vào vùng nhớ vừa tạo Ví dụ với biến var: #pragma DATA_SECTION (var,“EDATA”); 3.3.3 Kết thực thi thuật toán: Tiến hành thực thi thuật toán kit DSP với dàn anten ULA, UCA trƣờng hợp số nguồn sóng tới nhỏ số phần tử anten,sử dụng mơ hình hệ giống với trƣờng hợp mô phỏng: Với dàn anten ULA: - Mơ hình hệ thống: Bảng 7: Mơ hình hệ thống thực thi thuật tốn MUSIC với anten ULA Các thơng số nguồn STT Các thông số hệ anten Số nguồn tín hiệu: Góc tới nguồn tín hiệu: [20o 40o 60o 80o] Độ dài cung tròn: m= λ/2 (m) Tỷ số SNR: 25dB Kết thực thi: 250 X: 20 X: 60 Y: 223.3 Y: 225.3 Relative Space Spectrum - dB - Số phần tử anten: X: 300 Y: 223.3 X: 80 Y: 218.4 40 200X: Y: 216.4 X: 280 Y: 218.4 X: 340 Y: 225.3 X: 320 Y: 216.4 150 100 50 0 50 100 150 200 250 300 MUSIC ULA DOA - degree 350 400 Hình 17: Thực thi hệ thống DSP với mảng anten ULA 30 Khóa luận tốt nghiệp Chƣơng Nhận xét: thực thi hệ thống DSP cho kết xác định đỉnh phổ tƣơng đƣơng với nguồn sóng tới Trong hệ thống DSP xác định xác nguồn tín hiệu góc [200 400 600 800] Các hƣớng cịn lại đối xứng với nguồn tín hiệu, hạn chế dàn anten ULA mà ta nói 250 X: 20 Y: 227.7 Relative Space Spectrum - dB 200 Simulation X: 40 Y: 226.6 DSP X: 80 Y: 228 X: 60 Y: 216.4 150 100 50 0 60 120 180 240 MUSIC ULA DOA - degree 300 360 Hình 18: So sánh kết thực thi thuật tốn mơ dàn anten ULA Nhận xét: so với kết mô phỏng, kết thực thi có thêm hai đỉnh với biên độ không đáng kể so với biên độ nguồn tín hiệu Mặc dù hai xác định xác góc tới, ta nhận thấy kết thực thi chút so với mô phỏng, thể mức ồn cao Điều có lẽ thuật tốn tìm giá trị riêng khơng đƣợc tối ƣu nhƣ thuật tốn Matlab Với dàn anten UCA: STT Mơ hình hệ thống: Các thông số nguồn Các thông số hệ anten Số nguồn tín hiệu: Góc tới nguồn tín hiệu: [20o 40o Khoảng cách phần tử: λ/2 60o 80o] (m) Tỷ số SNR: 25dB Số phần tử anten: 31 Khóa luận tốt nghiệp - Chƣơng Kết thực thi: 250X: 40 X: 60 Y: 228.8 Relative Space Spectrum - dB Y: 228.7 X: 80 Y: 225.1 X: 20 Y: 223 200 150 100 50 0 50 100 150 200 250 300 MUSIC UCA DOA - degree 350 400 Hình 19: Thực thi hệ thống DSP với mảng anten UCA Nhận xét: thực thi hệ UCA cho ta kết xác định xác bốn góc tới ứng với nguồn tín hiệu [200 400 600 800] Kết đánh giá độ xác so với hệ mơ đƣợc thể hình dƣới: Relative Space Spectrum - dB 250 X: 20 Y: 229.7 X: 40 X: 80 Y: 224.2 Simulation DSP X: 60 Y: 218.3 200Y: 219.6 150 100 50 0 60 120 180 240 MUSIC UCA DOA - degree 300 360 Hình 20: So sánh kết thực thi thuật tốn mơ phỏngtrên dàn anten UCA 32 Khóa luận tốt nghiệp Chƣơng Nhận xét: dàn anten UCA, kết mô so với kết thực thi không khác nhiều nhƣ dàn ULA Khơng có thêm đỉnh phụ, mức ồn không cao Đánh giá tốc độ thực thi kit: Ở đánh giá tốc độ xử lý thuật toán, nên ta bỏ qua phần xử lý đọc liệu kit Thời gian xử lý thuật tốn đƣợc tính Đặt breakpoint cuối khối nhận liệu ta nhận đƣợc 78.561.604 chu kỳ chip chạy Hình 21: Số nhịp CPU chip chạy đến kết thúc nhận liệu Tiếp tục đặt breakpoint đầu khối gửi liệu, ta nhận đƣợc 133.283.611 chu kỳ Hình 22: Số nhịp CPU chip chạy đến bắt đầu gửi liệu Thời gian xử lý thuật toán t = 133,283,611 78,561,604 0.216( s) 225 106 Nhận xét: Thời gian tương đối lớn so với kết mô phỏng, nhiên việc thực thi chip có xung nhịp 225 MHz so sánh với thống có xung nhịp lớn cỡ vài Ghz 33 Khóa luận tốt nghiệp Chƣơng KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CHO ĐỀ TÀI Từ phân tích mặt lý thuyết tốn học vật lý, mơ chƣơng trình MATLAB, khóa luận nghiên cứu thuật tốn MUSIC nhƣ mơ tả thuật tốn với cấu trúc anten mảng xếp theo đƣờng thẳng cách đều, cấu trúc đƣờng anten mảng xếp theo đƣơng tròn cách đều, từ đƣa ƣu nhƣợc điểm cấu trúc Khóa luận đƣa mơ hình thực thi thuật toán MUSIC kit TMS320C6713 Mặc dù việc thực thi thuật tốn kit có tốc độ chậm nhƣng điều khắc phục đƣợc Trong tƣơng lai hệ thống đƣa vào áp dụng với liệu từ mảng anten thực tế tối ƣu tốc độ xử lý để ứng dụng hệ thống dị tìm, giám sát thời gian thực, với chi phí thấp khả di động cao 34 Khóa luận tốt nghiệp Chƣơng TÀI LIỆU THAM KHẢO Tiếng Việt: [1] GS TSKH Phan Anh, Lý thuyết kỹ thuật anten, nhà xuất khoa học kỹ thuật, xuất 12- 2007 [2] Nguyễn Đình Trí, Lê Trọng Vinh, Dƣơng Thủy Vỹ, Giáo trình tốn học cao cấp, xuất tháng năm 2005, NXB Giáo Dục [3] Vũ Văn Yêm, Lâm Hồng Thạch, Phan Anh, “Ứng dụng thuật toán MUSIC việc xác định vị trí tàu thuyền đánh cá loại vừa nhỏ hoạt động vùng ven biển”, đề tài QC.06.19, Đại học Quốc Gia Hà Nội Tiếng Anh: [4] A.W.Rudge, K.Milne, A.D.Olver, P.Knight, The Handbook of antenna design, volume 2, IEE Electromagnetic waves series 16, July 1987 [5] Hamid Krim and Mats Viberg “Two Decades of Array Signal Processing Research”, IEEE Signal Processing Magazine, July 1996 [6] R.O.Schmidt,“Multiple emitter location and signal parameter estimation”, pp.271-280, Mar 1986” [7] Rulph Chassaing, Digital Signal Processing and Applications with the C6713 and C6416 DSK, Copyright© 2005 by John Wiley & Sons, Inc [8] Texas Instruments Incorporated, TMS320C6713B Floating point digital signal processor, SPRS294B, October 2005, revised June 2006 [9] Texas Instruments Incorporated,Real-Time Data Exchange, SPRY012, Dallas, TX, 1998 [10]Matlab Overview, http://www.mathworks.com/products/matlab/ [11]William H.Press, Saul A.Teukolsky, William T.Vetterling, Brian P.Flannery, NUMERICAL RECIPES, The Art of Scientific Computing, 3rd Edition, Chap 11, Sep 2007 35 Khóa luận tốt nghiệp Phụ lục PHỤ LỤC Chƣơng trình mơ tín hiệu dàn anten ULA Ne=8; %So phan tu cua mang anten Nb=1000; %So mau tin hieu thu duoc lamda=0.01; %Buoc song cua tin hieu (m) d=0.005; %Khoang cach giua cac phan tu anten mang ULA (m) %THAM SO NGUON TIN HIEU DEN [S] D=4; %So nguon tin hieu %Goc toi cua cac nguon tin hieu angles=[20 40 60 80]*(pi/180); SNRs=[25 25 25 25]; %Tao ma tran vecto dau vao tin hieu ban dau S[D,Nb] va ma tran vecto lai A(D,Ne) for k=1:D S(k,:)=(20^(SNRs(k)/10))*exp(j*2*pi*rand(1,Nb)); A(k,:)=exp(j*2*pi/lamda*((0:Ne-1)*d*cos(angles(k)))); %ULA normal end % Tao ma tran nhieu N[Nb,Ne] N=rand(Nb,Ne)+j*rand(Nb,Ne); % Tao ma tran du lieu thu duoc boi mang anten U[Nb,Ne] U=S.'*A + N; % Ghi file reU=real(U); imU=imag(U); fid = fopen('u.txt','w'); fprintf(fid,'%d ',Ne ); fprintf(fid,'%d ',Nb ); -1- Khóa luận tốt nghiệp Phụ lục fprintf(fid,'%f ' ,reU'); fprintf(fid,'%f ' ,imU'); fclose(fid); Chƣơng trình thực thi thuật toán MUSIC #include #include #include "a.h" #define SIZE 2000 #define M 5000 #define PREC 0.001 short row,col,i,j,k,l,it,I0,L0,signal; double delta,s,s0,t0,t1,w0; typedef struct //define struct { double R,I; } COMPLEX; typedef COMPLEX mat[SIZE][SIZE]; typedef double vec[SIZE]; COMPLEX c0,c1,c2,c3,u0,u1,z0,z1,temp; mat ruu,evector,b,aa,aat,c,power; vec evalue; mat u,ut; void ADD(COMPLEX c1, COMPLEX c2, COMPLEX *c3){ c3->R=c1.R+c2.R; c3->I=c1.I+c2.I;} void SUB(COMPLEX c1, COMPLEX c2, COMPLEX *c3){ c3->R=c1.R-c2.R; c3->I=c1.I-c2.I;} void MUL(COMPLEX c1, COMPLEX c2, COMPLEX *c3){ c3->R=c1.R*c2.R - c1.I*c2.I; c3->I=c1.R*c2.I + c1.I*c2.R;} void RMUL(double alpha, COMPLEX c, COMPLEX *c1){ c1->R=alpha*c.R; c1->I=alpha*c.I;} double SQR(double a) -2- Khóa luận tốt nghiệp Phụ lục { return a*a;} double ABS(COMPLEX c) { return sqrt(SQR(c.R)+SQR(c.I));} void CONJ(COMPLEX c, COMPLEX *c1){ c1->R=c.R; c1->I=-c.I;} void CDIV(double AR, double AI, double BR, double BI, double *ZR, double *ZI) { double YR,YI,W; YR=BR; YI=BI; if(fabs(YR) > fabs(YI)){ W=YI/YR; YR=W*YI+YR; *ZR=(AR+W*AI)/YR; *ZI=(AI-W*AR)/YR;} else { W=YR/YI; YI=W*YR+YI; *ZR=(W*AR+AI)/YI; *ZI=(W*AI-AR)/YI; } } void transpose(mat a,short cola,short rowa, mat at) //chuyen vi lien hop { for (i=1; i