SlideShare a Scribd company logo
1 of 51
Khóa luận tốt nghiệp 2011
i
TÓM TẮT NỘI DUNG KHÓA LUẬN
Mục tiêu chính của khóa luận là thực thi thuật toán MUSIC trên kit DSP
TMS320C6713 của Texas Instrument, với các cấu trúc anten mảng khác nhau nhƣ
ULA, UCA... Vì vậy trọng tâm của khóa luận là mô phỏng thuật toán MUSIC với các
cấu trúc mảng khác nhau, từ đó tìm các giải thuật để triển khai thuật toán trên kit DSP.
Chi tiết khóa luận bao gồm 5 chƣơng:
Chƣơng 1: Thực hiện thuật toán MUSIC với các cấu trúc anten mảng ULA,
UCA: thực hiện việc mô phỏng thuật toán sử dụng chƣơng trình Matlab, từ đó đánh
giá ƣu, nhƣợc điểm của thuật toán với các cấu trúc anten khác nhau.
Chƣơng 2: Giới thiệu cơ bản về kit DSP TMS320C6713. Chƣơng này phân tích
các đặc điểm của kit, từ đó nêu lý do sử dụng kit để thực thi thuật toán MUSIC. Tiếp
đó giới thiệu môi trƣờng giao tiếp với kit là chƣơng trình Code Composer Studio, và
nghiên cứu khả năng tích hợp giữa Code Composer Studio và Matlab qua tính năng
“Real Time Data Exchange”.
Chƣơng 3: Thực thi thuật toán MUSIC trên kit TMS320C6713: nêu lên các công
việc thực hiện đƣợc và các kết quả đạt đƣợc trong thực tế.
Cuối cùng là phần kết luận và hƣớng phát triển tiếp theo cho khóa luận.
Khóa luận tốt nghiệp 2011
ii
LỜI CAM ĐOAN
Tôi xin cam đoan khóa luận tốt nghiệp: “Thực thi thuật toán MUSIC trên kit
DSPTMS320C6713” là công trình nghiên cứu của bản thân. Những phần sử dụng tài
liệu tham khảo trong khóa luận đã đƣợc nêu rõ trong phần tài liệu tham khảo. Các số
liệu, kết quả trình bày trong khóa luận là hoàn toàn trung thực, nếu sai tôi xin chịu
hoàn toàn trách nhiệm và chịu mọi kỷ luật của khoa và nhà trƣờng đề ra.
Tác giả khóa luận
Nguyễn Đức Anh
Khóa luận tốt nghiệp 2011
iii
LỜI CẢM ƠN
Để có thể hoà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 và giúp đỡ em rất nhiều trong
quá trình thực hiện bài khóa luận của mình.
Ngoài ra, trong quá trình thực hiện khóa luận em còn nhận đƣợc rất nhiều sự
động viên và giúp đỡ từ phía gia đình, ngƣời thân và tập thể các bạn trong lớp. Do đó
kết quả cũng nhƣ tính khả dụng của bài luận văn này trong thực tế là lời cảm ơn sâu
sắc nhất của em gửi tới mọi ngƣời và là nguồn động lực để em có thể tự tin vào các
kiến thức mình đã thu đƣợc sau khi tốt nghiệp.
Khóa luận tốt nghiệp 2011
iv
MỤC LỤC
CHƢƠNG 1 LÝ THUYẾT VÀ MÔ HÌNH THUẬT TOÁN MUSIC .................... 2
1.1 Giới thiệu về thuật toán MUSIC .............................................................. 2
1.2 Thuật toán MUSIC đối với dàn anten ULA............................................... 3
1.2.1 Mô hình dàn anten ULA ................................................................... 3
1.2.2 Tín hiệu thu đƣợc sau khi qua dàn anten ULA .................................... 3
1.2.3 Thuật toán MUSIC với dàn anten ULA.............................................. 5
1.2.4 Mô phỏng thuật toán MUSIC với dàn anten ULA trên Matlab.............. 8
1.3 Thuật toán MUSIC đối với 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 khi 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ô phỏng thuật toán MUSIC với dàn anten UCA............................. 11
CHƢƠNG 2 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 về 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 năng Real Time Data Exchange. 18
CHƢƠNG 3 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 trên kit.................................................................... 26
3.3.1 Mô tả quá trình .............................................................................. 27
3.3.2 Phân vùng bộ nhớ của kit cho dữ liệu và chƣơng trình....................... 28
3.3.3 Kết quả thực thi thuật toán:............................................................. 30
Khóa luận tốt nghiệp 2011
v
DANH MỤC CÁC CHỮ VIẾT TẮT
Thuật ngữ Tiếng anh Tiếng Việt
DOA 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
Parameters via Rotational
Invariance Techniques
Phƣơng pháp đánh giá các thông số
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 trên nhiễu
ULA Uniform Linear Array Hệ anten sắp xếp theo đƣờng thẳng
UCA Uniform Circular Array Hệ anten sắp 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 dữ 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
Khóa luận tốt nghiệp 2011
vi
DANH MỤC BẢNG BIỂU
Bảng 1: Lịch sử phát triển của thuật toán tìm hƣớng sóng đến .................................. 2
Bảng 3: Thông số mô phỏng dàn anten................................................................. 12
Bảng 4: Các dạng file sử dụng trong CCS............................................................. 17
Bảng 5: Các lệnh cơ bản trong thƣ viện RTDX.h để liên kết CCS→Matlab............. 19
Bảng 6: Các lệnh cơ bản của toolbox để liên kết Matlab → CCS............................ 20
Bảng 7: So sánh thuật toán MUSIC trên ngôn ngữ Matlab và 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
Khóa luận tốt nghiệp 2011
vii
DANH MỤC HÌNH VẼ
Hình 1: Mô hình cấu trúc anten ULA ..................................................................... 3
Hình 2: Lƣu đồ thuật toán MUSIC ......................................................................... 5
Hình 3: Dạng phân bố các giá trị riêng của ma trận tƣơng quan ................................ 7
Hình 5: Hệ anten ULA trong trƣờng hợp hai tín hiệu đối xứng ................................. 9
Hình 6: Mô hình cấu trúc anten UCA................................................................... 10
Hình 7:Kết quả mô phỏng hệ anten UCA.............................................................. 12
Hình 8: Kit TMS320C6713................................................................................. 14
Hình 9: Sơ đồ khối kit TMS320C6713................................................................. 15
Hình 10: Sơ đồ và địa chỉ vùng nhớ L2 của 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 giữa kit và 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 toán ................................................................. 21
Hình 16: Lƣu đồ thuật toán Jacobi ....................................................................... 26
Hình 17: Quá trình thực thi thuật toán MUSIC trên 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 quả thực thi thuật toán và mô phỏng trên 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 quả thực thi thuật toán và mô phỏngtrên dàn anten UCA......... 32
Hình 22: Số nhịp CPU của chip chạy đến khi kết thúc nhận dữ liệu......................... 33
Hình 23: Số nhịp CPU của chip chạy đến khi bắt đầu gửi dữ liệu............................ 33
Khóa luận tốt nghiệp 2011
1
MỞ ĐẦU
Anten thông minh là một công nghệ mới đƣợc quan tâm nhiều trong thời gian
gần đây với các ƣ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 của hệ thống...[1].
Nói một 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 bộ xử lý tín hiệu để có thể thay đổi búp sóng một cách tự động. Các cấu trúc
anten mảng phổ biến là cấu trúc dạng đƣờng thẳng cách đều (ULA), cấu trúc dạng chữ
nhật cách đều (URA) hay cấu trúc dạng đƣờng tròn cách đều (UCA).
Trong các cấu trúc anten thông minh, việc xử lý tín hiệu đƣợc thực thi bằng cách
thay đổi các trọng số tại mỗi phần tử anten theo một tham số tối ƣu xác định. Việc xác
định sơ bộ hƣớng sóng đến (DOA) là một trong số các trọng số này. MUSIC là một
trong những thuật toán xác định DOA với nhiều ƣu điểm nhƣ độ chính xác cao, khả
năng áp dụng với nhiều cấu trúc anten mảng. Vì vậy thuật toán MUSIC đang ngày
càng phát triển và đƣợc ứng dụng rộng rãi trong các 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ữ và xử lý các tín hiệu thu thập từ anten
trong thực tế, thuật toán MUSIC đƣợc thực thi trên các bộ xử lý số DSP. Các bộ xử lý
số DSP đƣợc lựa chọn bởi khả năng xử lý tín hiệu số rất mạnh cùng khả năng tái lập
trình đơn giản. Khóa luận tốt nghiệp thực hiện việc thƣc thi thuật toán MUSIC trên 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 3
2
CHƢƠNG 1
LÝ THUYẾT VÀ MÔ HÌNH THUẬT TOÁN MUSIC
1.1 Giới thiệu về thuật toán MUSIC
MUSIC là một thuật toán xác định hƣớng sóng tới (DOA-Direction Of Arrival)
dựa vào những tín hiệu thu thập đƣợc từ mảng anten. Trên thế giới việc nghiên cứu
phƣơng pháp tìm hƣớng sóng bắt đầu từ những năm 70 của thế kỷ trƣớc, và rất nhiều
thuật toán đƣợc tìm ra và tiếp tục đƣợc nghiên cứu phát triển đến tận bây giờ. Lịch sử
phát triển các thuật toán có thể đƣợc trình bày tóm tắt qua bảng sau [5]:
Bảng 1: Lịch sử phát triển của thuật toán tìm hướng sóng đến
Năm tìm ra Tên thuật toá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 có thể thấy: các phƣơng pháp tìm hƣớng sóng đến hiện nay cơ bản
dựa trên 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) và phƣơng pháp đánh giá các 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 ra đời sau nên
tốc độ thực hiện nhanh hơn MUSIC, tuy nhiên MUSIC lại có ƣu điểm là đơn giản, linh
hoạt hơn trong việc áp dụng cho các cấu trúc anten khác nhau nên đƣợc nghiên cứu và
ứng dụng thực tế nhiều hơn. Đƣợc tìm ra bởi những nghiên cứu độc lập của Schmidt
(1977) và Bienvenu (1979), thuật toán này có thể xác định số lƣợng tín hiệu đến anten
cũng nhƣ hƣớng của các tín hiệu đó, chỉ dựa trên vectơ tín hiệu đầu vào.
Khóa luận tốt nghiệp Chƣơng 3
3
1.2 Thuật toán MUSIC đối với 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 là loại anten mảng đơn giản nhất.
Dạng hình học của dàn anten này đƣợc biểu diễn qua hình vẽ sau:
…0
Y
X
d
1 2 M-1
θ
Hình 1: Mô hình cấu trúc anten ULA
Cấu trúc của dàn anten ULA bao gồm M chấn tử đặt song song trên cùng một
trục thẳng với cùng khoảng cách d. Mỗi phần tử trong hệ anten đóng vai trò là một
nguồn đẳng hƣớng. Các chấn tử này hoạt động cùng pha với nhau tạo nên một hƣớng
bức xạ duy nhất và để cho tín hiệu tới bộ xử lí giữ nguyên đƣợc pha và biên độ so với
tín hiệu tới hệ anten.
1.2.2 Tín hiệu thu được sau khi qua dàn anten ULA
Nhƣ vậy, với một nguồn sóng đến, tín hiệu nhận đƣợc tại phần tử 0 (phần tử
tham chiếu) đƣợc biểu diễn dƣới dạng:
0 ( ) ( ) os(2 ( ) )cu t a t c f t t      (1.1)
với: a(t): biên độ của tín hiệu
fc : tần số sóng mang
 t : thành phần mang tin
 : pha của tín hiệu.
Giả sử rằng khoảng cách từ anten tới nguồn tín hiệu r >> d. Do vậy tia sóng ở
Khóa luận tốt nghiệp Chƣơng 3
4
phần tử thứ i sẽ song song với tia sóng ở phần tử tham chiếu, nhƣng bị trễ đi 1 khoảng
thời gian truyền dẫn:
t i   (1.2)
với τ là thời gian trễ truyền dẫn giữa hai phần tử kế tiếp.
Trong dàn anten ULA, τ có giá trị bằng:
cos( )d
c



 (1.3)
Ở đây θ: góc tới của tia sóng xuất phát từ nguồn
c: vận tốc truyền ánh sáng 8
3.10c  m/s
Từ công thức (1.1), (1.2), (1.3) ta có tín hiệu nhận đƣợc ở phần tử anten thứ nhất:
1( ) ( )cos(2 2 ( ) )c cu t a t f t f t        (1.4)
Sử dụng đồng nhất thức Euler, đồng thời loại bỏ thành phần sóng mang của tín
hiệu ta có dạng tín hiệu xét ở phần tử thứ nhất là:
cos
( 2 ( ) )
1
( cos ( ) )
( ) ( )
( )
c
d
j f t
c
j d t
u t a t e
a t e


  
   
 


(1.5)
với:
2


 
 gọi là hệ số truyền sóng
Do đó với phần tử thứ k của hệ ta có dạng tín hiệu nhận đƣợc:
 cos ( )
( ) ( )
j kd t
ku t a t e
   
 (1.6)
So sánh với dạng tín hiệu nhận đƣợc ở phần tử tham chiếu:
( ( ) )
0( ) ( ) ( ) j t
s t u t a t e  
  (1.7)
Ta đƣợc dạng rút gọn của tín hiệu nhận đƣợc tại phần tử thứ k:
cos
( ) ( ) j kd
ku t s t e  
 (1.8)
Tổng quát với D nguồn tín hiệu độc lập đến dàn anten, tín hiệu lấy mẫu tại phần
tử anten thứ k lúc này sẽ là:
cos
1
( ) ( ) ( )i
D
j kd
k i k
i
u nT s nT e n nT 

   (1.9)
Khóa luận tốt nghiệp Chƣơng 3
5
Trong đó: ( )ku nT là mẫu tín hiệu thu đƣợc tại phần tử thứ k tại thời điểm n.
( )is nT là mẫu tín hiệu tới dàn anten (mẫu tín hiệu thu đƣợc tại
phần tử tham chiếu) tại thời điểm n.
( )kn nT là mẫu tín hiệu nhiễu tại phần tử thứ k tại thời điểm n.
Do vậy ta có biểu diễn tổng quát của cả hệ nhƣ sau:
0
1
1
1
( )
( )
( ) ( ) ( ) ( )
...
( )
D
i i
i
M
u t
u t
u t A s t n t
u t



 
 
   
 
 
 
 (1.10)
Ở đây: ( )A  đƣợc gọi là vectơ lái của dàn anten.
 
 
cos
1 cos
1
...
j d
j M d
e
A
e
 
 


 
 
 
 
 
 
  
(1.11)
( )is t là các tín hiệu tới dàn anten với 1i D 
( )n t là tín hiệu nhiễu M chiều.
Công thức thu gọn của (1.10):
U A S N   (1.12)
Đây cũng là công thức thể hiện tín hiệu thu nhận đƣợc sau khi qua dàn anten.
1.2.3 Thuật toán MUSIC với dàn anten ULA
Thuật toán MUSIC thực hiện việc tìm hƣớng sóng tới DOA dựa trên các mẫu thu
thập đƣợc từ anten [6]. Thuật toán gồm 4 bƣớc chính, đƣợc thể hiện qua lƣu đồ sau:
Tìm ma trận
hiệp phương sai
Tính giá trị
riêng, vector
riêng
Tính phổ không
gian
Kết luận
hướng sóng tới
của mỗi nguồn
Phân chia
tín hiện-nhiễu
Tín hiệu từ
hệ anten
Thuật toán MUSIC
Hình 2: Lưu đồ thuật toán MUSIC
Khóa luận tốt nghiệp Chƣơng 3
6
Nội dung của từng bƣớc:
1. Tìm ma trận hiệp phương sai của các mẫu tín hiệu thu được
Giả thiết các nguồn tín hiệu tới hệ anten không tƣơng quan với ồn, nghĩa là:
    0k lE s t n t    ∀k (1.13)
Khi đó ma trận hiệp biến tín hiệu lối vào sẽ là:
H H H H
UUR E UU AE SS A E NN             (1.14)
Vì:     2
0
k l
noise
l k
E n t n t
l k

    
(1.15)
Nên (1.14) trở thành:
2H H
UU SS noiseR E UU AR A I     (1.16)
Trong đó: RSS là ma trận tƣơng quan của các nguồn tín hiệu ban đầu.
Giả thiết các nguồn tín hiệu không tƣơng quan với nhau, ta có đẳng thức:
   
0
SS k l
i
l k
R E s t s t
p l k

     
(1.17)
với pi là công suất của tín hiệu thứ i.
2. Tính giá trị riêng, vectơ riêng của ma trận hiệp phương sai
Nếu gọi { 0 1 1, , , N    } là các giá trị riêng của ma trận tự tƣơng quan Ruu thì:
UUR 0i I  (1.18)
Phƣơng trình (1.10) có thể viết lại thành:
 2 2
0H H
SS noise i SS noise iAR A I I AR A I         (1.19)
Do đó  2
n i  chính là các giá trị riêng của ma trận ARSSAH
. Do ma trận
ARSSAH
là đối xứng, các phần tử là các số phức dƣơng, nên các giá trị riêng của nó là
thực và dƣơng.
Vì trong không gian tín hiệu chỉ có D nguồn sóng nên chỉ có D giá trị riêng
tƣơng ứng với nguồn, N – D giá trị riêng còn lại của ma trận tƣơng ứng với nhiễu sẽ
Khóa luận tốt nghiệp Chƣơng 3
7
bằng không. Trên thực tế, do ảnh hƣởng của nhiễu nên khó xác định N – D giá trị
riêng ứng với nhiễu. Tuy nhiên, khi xem xét giá trị riêng của ma trận ARSSAH
ta thấy
rằng có thể phân N giá trị này thành hai không gian con [3]:
- D giá trị riêng đầu tiên hợp thành không gian con tín hiệu, đƣợc sắp xếp theo
thứ tự giảm dần:
1 2 ... D     (1.20)
- N – D giá trị riêng còn lại hợp thành không gian con tƣơng ứng với nhiễu, có
cùng mức:
2
1 1, , ,D D N n      (1.21)
Sự phân bố các giá trị riêng của ma trận hiệp phƣơng sai đƣợc thể hiện ở hình dƣới:
Hình 3: Dạng phân bố các giá trị riêng của ma trận tương quan
3. Từ các giá trị riêng tìm được, phân tách không gian tín hiệu và không gian
nhiễu
Phƣơng pháp xử lý ở đây là đƣa ra tìm giới hạn 2
'n > 2
n sao cho từ tập N giá tri
riêng có một số K các giá trị riêng nhỏ nhất và số tín hiệu tới hệ anten sẽ là:
D’ N – K (1.22)
Ứng với mỗi giá trị riêng sẽ tìm đƣợc một vectơ qi (i= D…N-1) thỏa mãn:
  0UU i iR I q  (1.23)
Từ (1.16), (1.21) và (1.23) ta có:
2
'n
22D 'D1 2... 1D 
Không gian con
tín hiệu
Không gian con ứng
với nhiễu
Khóa luận tốt nghiệp Chƣơng 3
8
 2 2 2
SSR 0H
UU n i i n nR I q A A q I I       (1.24)
Suy ra:
0H
SS iAR A q  (1.25)
Trong điều kiện tích ARSS ≠ 0 (*) (A là ma trận đủ hạng và RSS không phải là ma
trận kì dị ) thì:
H
A 0iq  (1.26)
Hay:
 
 
 
0
1
1
0
0
......
0
H
i
H
i
H
M i
a q
a q
a q


 
   
   
      
   
    
(1.27)
Điều này có nghĩa là các vectơ riêng của ARSSAH
cũng đƣợc chia thành hai
không gian: các vectơ riêng ứng với tín hiệu thì cùng phƣơng với các vectơ lái, còn
những vectơ riêng còn lại tƣơng ứng với nhiễu thì trực giao với vectơ hƣớng sóng đến,
hay:
      0 1 1,..., ,...,D D Ma a q q    (1.28)
4. Tính phổ không gian
Thuật toán MUSIC tính phổ không gian của tín hiệu theo công thức:
 
   
   
H
H H
n n
a a
P
a V V a
 

 
 (1.29)
với  1,...,n D MV q q  là các vectơ riêng của không gian nhiễu.
Khi thay đổi góc  trùng với góc tới hệ anten của tín hiệu, do các vectơ lái
luôn trực giao với các vectơ riêng của không gian nhiễu nên mẫu số của (1.25) sẽ tiến
tới không và phổ không gian của tín hiệu sẽ đạt cực đại.
Nhƣ vậy, các điểm cực đại trên đồ thị biểu diễn  P  cho phép ta xác định
đƣợc hƣớng sóng tới.
1.2.4 Mô phỏng thuật toán MUSIC với dàn anten ULA trên Matlab
- Mô hình hệ mô phỏng
Khóa luận tốt nghiệp Chƣơng 3
9
Thuật toán đƣợc mô phỏng với dàn anten ULA với các thông số của nguồn cũng
nhƣ của hệ anten đƣợc cho trong bảng:
Nhận xét: Kết quả mô phỏng thuật toán MUSIC với hệ anten ULA xác định
đƣợc 8 nguồn sóng tới tại các góc lần lƣợt là [200
, 400
, 600
, 800
, 2800
, 3000
, 3200
,
3400
].
So với thông số các nguồn sóng đến đƣợc mô phỏng, kết quả mô phỏng thuật
toán cho ta giá trị chính xác 4 góc tới là [200
, 400
, 600
, 800
]. Ngoài ra trong phổ không
gian còn xuất hiện thêm 4 góc tới khác ở các hƣớng [2800
, 3000
, 3200
, 3400
].
Nguyên nhân của hiện tƣợng này là do phƣơng trình biểu diễn vectơ lái hay do
cấu trúc hình học của hệ anten. Từ công thức tính vectơ lái của mảng anten (1.8) ta có:
cos( )
( ) ij d
iA e  
 
 (1.30)
Trong cấu trúc dàn anten ULA, vì:
cos( ) cos( )i i i     (1.31)
nên
( ) ( )i iA A   (1.32)
Lại do cấu trúc dàn anten ULA có các phần tử sắp xếp cách đều theo đƣờng
thẳng nên vectơ lái của mảng với các góc θ và (–θ) là nhƣ nhau, dẫn đến kết quả phổ
không gian đánh giá DOA ở góc θ cũng giống với góc (–θ). Vấn đề này đƣợc thể hiện
rõ ràng hơn ở hình sau:
Y
X1 2
θ
S2
S1
-θ
Hình 4: Hệ anten ULA trong trường hợp hai tín hiệu đối xứng
Khóa luận tốt nghiệp Chƣơng 3
10
Ví dụ nhƣ ở hình trên, hệ anten không thể nhận ra đƣợc nguồn âm ở phía trên hay
phía dƣới của hệ. Điều này dẫn đến việc, khi xây dựng một hệ ULA cần phải thiết kế
vị trí đặt hệ thích hợp để có thể che khuất nửa mặt phẳng mà hệ không phân biệt đƣợc,
hoặc phải kết hợp các hệ ULA lại sao cho có thể tìm đƣợc vị trí tín hiệu cần nhận biết.
1.3 Thuật toán MUSIC đối với dàn anten UCA
1.3.1 Mô hình dàn anten UCA
Khác với cấu trúc anten ULA, cấu trúc anten sắp xếp theo đƣờng tròn cách đều
UCA đƣợc nghiên cứu từ lâu, nhƣng phải tới những năm 1960 khi mà khái niệm về sự
kích thích chế độ pha bắt đầu phát triển thì các nghiên cứu về hệ anten này mới đạt
đƣợc những thành tựu đột phá [4]. Mô hình dàn anten UCA đƣợc thể hiện ở hình dƣới:
X
2π /N
R 0
2
N
13
m
Hình 5: Mô hình cấu trúc anten UCA
Cấu tạo của dàn anten gồm N phần tử anten đặt trong không gian thành hình tròn
có bán kính R = Nmλ/2π trong mặt phẳng XY, trong đó m là độ dài cung giữa hai phần
tử kề nhau, bƣớc sóng λ.
1.3.2 Tín hiệu thu được sau khi qua dàn anten ULA
So với hệ anten mảng thẳng ULA, hệ anten mảng tròn chỉ khác cách bố trí
anten trong không gian. Do vậy dạng tín hiệu nhận đƣợc tại mỗi anten riêng lẻ cũng
nhƣ cấu trúc tín hiệu ở đầu vảo hệ anten là giống nhau, chỉ khác biệt ở thành phần
Khóa luận tốt nghiệp Chƣơng 3
11
vectơ lái:
Vectơ lái của dàn anten ULA:
 
 
cos
1 cos
1
...
i
i
j d
i ULA
j M d
e
A
e
 
 


 
 
 
 
 
 
  
(1.33)
Đối với dàn anten UCA, phân tích tƣơng tự nhƣ với dàn anten ULA ta cũng có
đƣợc vectơ lái của dàn là:
1
2
cos( )
cos( )
cos( )
1
( )
i
i
i N
j R
j R
i UCA
j R
e
A e
e
 
 
 




 
 
 
  
 
 
  
(1.34)
Và dạng tín hiệu đầu vảo của dàn anten UCA là:
0
1
1
1
( )
( )
( ) ( ) ( ) ( )
...
( )
D
i i
i
M
u t
u t
u t A s t n t
u t



 
 
   
 
 
 
 (1.35)
1.3.3 Thuật toán MUSIC với dàn anten UCA
Thuật toán MUSIC trong dàn anten UCA cũng được áp dụng giống như trong
dàn anten ULA.
1.3.4 Mô phỏng thuật toán MUSIC với dàn anten UCA
Nhằm so sánh, đánh giá hiệu quả thuật toán MUSIC với các cấu trúc dàn anten
ULA và UCA, việc mô phỏng đƣợc thực hiện với cùng thông số về môi trƣờng và
nguồn sóng với dàn anten ULA.
- Mô hình hệ mô phỏng
Khóa luận tốt nghiệp Chƣơng 3
12
Bảng 2: Thông số mô phỏng dàn anten
STT Các thông số của nguồn Các thông số của hệ anten
1 Số nguồn tín hiệu: 4 Số phần tử anten: 8
2
Góc tới của các nguồn tín hiệu: [20o
40o
60o
80o
]
Độ dài cung tròn: m= λ/2
(m)
3 Tỷ số SNR: 25 dB
- Kết quả mô phỏng
0 60 120 180 240 300 360
0
5
10
15
20
25
X: 40
Y: 21.69
MUSIC UCA DOA - degree
RelativeSpaceSpectrum-dB
X: 60
Y: 21.73
X: 20
Y: 20.56
X: 80
Y: 19.43
Hình 6:Kết quả mô phỏng hệ anten UCA
Nhận xét: kết quả mô phỏng hệ anten UCA thể hiện 4 đỉnh (với hệ ULA là 8
đỉnh) tƣơng ứng với 4 nguồn sóng tới. Có thể phân biệt dễ dàng các đỉnh. Nhƣ vậy dàn
anten UCA đã khắc phục nhƣợc điểm của hệ ULA: phổ không gian thu đƣợc không
xuất hiện các đỉnh phụ.
Khóa luận tốt nghiệp Chƣơng 3
13
CHƢƠNG 2
TỔNG QUAN VỀ KIT DSP TMS320C6713
2.1 Lựa chọn phần cứng
Hiện nay có nhiều giải pháp xử lý tín hiệu số cho các anten thông minh, mà nổi
bật nhất là sử dụng chip xử lý tín hiệu số - Digital Signal Processor (DSP) hoặc dùng
các vi mạch mảng phần tử logic khả trình (FPGA), FPGA là vi mạch thuộc họ vi mạch
tích hợp chuyên dụng (ASIC) lập trình đƣợc, sử dụng các ngôn ngữ đặc tả phần cứng
để thiết kế những cấu trúc đƣợc tối ƣu hóa cho những ứng dụng cụ thể. Ƣu việt của
FPGA là không thể bàn cãi, đặc biệt là khả năng xử lý nhiều tập lệnh cùng lúc cho tốc
độ cao, và khả năng tiêu thụ ít điện năng hơn chip DSP. Tuy nhiên việc thực thi thuật
toán trên kit DSP cũng có những đặc điểm nổi bật:
- DSP có khả năng thực hiện đa tác vụ từ điều khiển đến xử lý tín hiệu, với giá
thành rẻ hơn so với FPGA.
- Để đạt đƣợc hiệu suất tối đa cho FPGA cần nhiều thời gian và kiến thức để tối
ƣu, trong khi đó tốc độ xử lý của kit DSP chỉ phụ thuộc chủ yếu vào xung nhịp
của chip, do đó có thể đạt đƣợc hiệu suất cao hơn trong thời gian ngắn
- DSP sử dụng ngôn ngữ lập trình C, ASM tƣơng đối phổ dụng, không đòi hỏi
hiểu biết ngôn ngữ mô phỏng phần cứng nhƣ FPGA, khi cần thay đổi, lập trình
lại, chip DSP cũng tỏ ra mềm dẻo hơn do chỉ cần chỉnh sửa code, trong khi đó
với FPGA gặp khó khăn hơn do phải tái cấu trúc lại các cổng logic.
Dựa trên những phân tích trên, cùng với thực tế quá trình làm khóa luận trong
thời gian ngắn, tập trung vào mục tiêu nghiên cứu, không đòi hỏi tối ƣu điện năng tiêu
thụ, ta chọn giải pháp thực thi trên chip DSP, cụ thể là kit DSP TMS320C6713của
Texas Instrument.
2.2 Giới thiệu chung về kit
Kit TMS320C6713 DSP là giải pháp tất cả trong một cho việc lập trình trên nền
DSP, cụ thể ở đây là lập trình trên chip TMS320C6713 của Texas Instrument. Các
thành phần của kit bao gồm: bảng mạch sử dụng thiết kế chuẩn cho chip C6713 của
TI, đĩa phần mềm chứa driver và phần mềm Code Composer Studio (CCS) để lập trình
và giao tiếp với chip DSP, ngoài ra còn có sách giới thiệu, cáp USB và một adapter
dùng để cấp nguồn 5V cho mạch. Hình ảnh tổng quan về các thành phần này đƣợc thể
hiện ở hình dƣới:
Khóa luận tốt nghiệp Chƣơng 3
14
Hình 7: Kit TMS320C6713
Trong chương này sẽ đề cập đến tính năng và vai trò của hai thành phần quan trọng
nhất trong kit: bảng mạch và phần mềm CCS, ngoài ra chương này cũng đề cập đến
việc tích hợp giữa CCS và môi trường Matlab thông qua tính năng Real Time Data
Exchange.
2.3 Bảng mạch DSP
Bảng mạch DSP của kit có thể coi nhƣ 1 hệ thống DSP hoàn chỉnh cho việc xử lý
tín hiệu. Nó có tất cả các cổng kết nối để giao tiếp với máy tính qua cáp USB, khối
ADC với 4 đƣờng vào ra để nhận tín hiệu từ bên ngoài cũng nhƣ xuất tín hiệu ra.
Ngoài ra trên board còn có khối JTAG giúp ta phân tích chƣơng trình, sửa lỗi thời gian
thực. Các yêu cầu phần cứng cao hơn cũng có thể đƣợc đáp ứng với các khe cắm mở
rộng đƣợc thiết kế sẵn trên bảng mạch. Sơ đồ cấu tạo của bảng mạch đƣợc miêu tả ở
hình vẽ dƣới:
Khóa luận tốt nghiệp Chƣơng 3
15
Hình 8: Sơ đồ khối kit TMS320C6713
Cụ thể cấu tạo của bảng mạch gồm các thành phần sau:
- Trung tâm của bảng mạch là chip xử lý tín hiệu TMS320C6713, chạy ở xung
nhịp 225 MHz. TMS320 là tên chung cho một loạt các bộ xử lý số đến từ Texas
Instrument. Nằm trong dòng chip TMS320C6x của TI, đây là dòng vi xử lý tốc
độ cao, sử dụng kiến trúc đặc biệt để đáp ứng các tác vụ xử lý tín hiệu. Dựa trên
kiến trúc VLIW (Very Long Instruction Word), TMS320C6713 có khả năng xử
lý các số thực dấu phẩy động. và đƣợc coi là dòng chip xử lý tín hiệu mạnh nhất
của TI hiện nay.
- Bộ biến đổi tín hiệu AIC23 sử dụng công nghệ sigma delta, đóng vai trò biến
đổi tƣơng tự - số và ngƣợc lại. Tần số lấy mẫu có thể thay đổi từ 8 đến 96 kHz.
- Bốn cổng kết nối tín hiệu vào ra: MIC IN, LINE IN, LINE OUT, và
HEADPHONE.
- Bốn đèn LED và công tắc DIPS. Các đèn và khóa có thể cấu hình điều khiển
theo nhu cầu của ngƣời sử dụng.
- Cổng USB để giao tiếp với PC. Trên cổng cũng đƣợc thiết kế bộ JTAG nhúng
giúp ta có thể sửa lỗi chƣơng trình chạy trên chip mà không cần nối JTAG
ngoài.
- Cổng PWR (+5V) cung cấp nguồn cho board. Cổng này cung cấp điện thế 1,26
V cho chip C6713 và 3,3 V để nuôi bộ nhớ và các thiết bị ngoại vi khác.
Khóa luận tốt nghiệp Chƣơng 3
16
- Bộ nhớ trong: trên mạch có 264 kB bộ nhớ trong. Dƣới đây là sơ đồ phân vùng
và địa chỉ bộ nhớ trong của kit [9]
Hình 9: Sơ đồ và địa chỉ vùng nhớ L2 của kit
- Bộ nhớ ngoài: kit DSP có sẵn 16 Mb bộ nhớ ngoài. Các bộ nhớ ngoài này đều
là các bộ nhớ truy cập ngẫu nhiên (RAM). Ngoài ra kit cũng có thể bổ sung bộ
nhớ ngoài qua khe cắm mở rộng. Với chiều dài thanh ghi là 32 bit, kit có thể
quản lý 4 GB bộ nhớ ngoài.
Có thể thấy rằng tuy xung nhịp không cao nhƣng kit TMS320C6713 có dung lƣợng
bộ nhớ lƣu trữ lớn, khả năng xử lý dấu phẩy động, có sẵn JTAG nhúng thuận tiện cho
debug và tính năng xử lý thời gian thực RTDX, hoàn toàn thích hợp để thực thi thuật
toán MUSIC trên kit.
2.4 Code Composer Studio
Để giao tiếp giữa bộ xử lý số và PC, TI có cung cấp cho ta công cụ là Code
Composer Studio (CCS). CCS đƣợc xây dựng trên nền tảng Eclipse, là một môi
trƣờng phát triển tích hợp (IDE) khá tốt. Sử dụng CCS, ta có thể thiết kế, chỉnh sửa,
sửa lỗi trong code và biên dich code. CCS còn cung cấp tính năng phân tích code thời
gian thực, từ đó có thể tối ƣu phần cứng, phần mềm để thực hiện hệ thống thời gian
thực.
Khóa luận tốt nghiệp Chƣơng 3
17
Hình 10: Giao diện chương trình Code Composer Studio
Trong CCS có nhiều dạng file với nhiều mục đích khác nhau. Bảng dƣới đây giới
thiệu một số dạng file và vai trò của nó [7]:
Bảng 3: Các dạng file sử dụng trong CCS
STT Dạng file Vai trò
1 file.pjt Tập tin đƣợc tạo khi xây dựng 1 project để quản lý file và thông tin
của project
2 file.c Các tập tin chứa code C, phần thuật toán chính của chƣơng trình
3 file.asm Các tập tin chứa mã hợp ngữ đƣợc tạo ra bởi trình biên dịch C,
hoặc do ngƣời sử dụng
4 file.h Các tập tin tiêu đề hỗ trợ cho project, có thể sử dụng để chứa hàm
hoặc dữ liệu
5 file.lib Các thƣ viện hỗ trợ khởi tạo Chip, mạch, ADC và các thiết bị ngoại
vi trên bảng mạch
6 file.cmd Các tập tin liên kết giúp phân hoạch các vùng chƣơng trình và dữ
liệu vào bộ nhớ
7 file.out Tập tin khả thi, đƣợc tạo bởi CMD file để có thể nạp vào kit
8 file.cdb Tập tin cấu hình, sử dụng khi dùng tính năng DSP/BIOS
Khóa luận tốt nghiệp Chƣơng 3
18
2.5 Tích hợp CCS với Matlab thông qua tính năng Real Time Data
Exchange
Để tích hợp môi trƣờng Code Composer Studio với môi trƣờng Matlab nhằm trao
đổi dữ liệu một cách liền mạch giữa kit và PC, ta có thể sử dụng tính năng RTDX.
Tính năng này cho phép trao đổi tín hiệu giữa máy chủ PC và các thiết bị DSP mà
không cần dừng các ứng dụng điều khiển. Mô hình giao tiếp giữa kit và máy tính đƣợc
thể hiện ở hình dƣới đây [8]:
Hình 11: Mô hình giao tiếp giữa kit và PC thông qua RTDX
Tính năng RTDX bao gồm các thành phần nằm trên cả máy tính và kit DSP. Nó
cho phép dữ liệu đƣợc truyền trong các kênh vào ra riêng biệt, do đó giảm thiểu sự mất
mát do xung đột dữ liệu. Khi sử dụng RTDX với môi trƣờng lập trình khác CCS
(Matlab, Visual C), ta có thể kết nối với kit DSP, điều khiển kit mà không cần qua
CCS, do vậy không cần truy cập vào CCS để khởi tạo và chạy chƣơng trình. Việc sử
dụng cũng đơn giản hơn khi ta có thể lập trình giao diện ở môi trƣờng khác, rồi kết nối
với CCS.
RTDX kết nối với Matlab thông qua toolbox “The Embedded Target for TI
C6000 DSP” và “MATLAB Link for CCS”. Quá trình kết nối đƣợc chia thành hai
phần:
- Liên kết từ kit đến máy tính
- Liên kết từ máy tính đến kit
Khóa luận tốt nghiệp Chƣơng 3
19
Trong quá trình liên kết từ kit đến máy tính, trƣớc tiên 1 kênh truyền đƣợc kit
khởi tạo, sử dụng các hàm API của RTDX để chuyển dữ liệu qua kênh truyền này đến
bộ nhớ đệm tạo bởi thƣ viện RTDX. Sau đó dữ liệu đƣợc gửi tới máy tính qua giao
diện JTAG. Dữ liệu đƣợc thu thập tại máy tính, sau đó đƣợc ghi vào bộ nhớ đệm của
phần mềm máy tính, hoặc ghi ra log file. Quá trình này diễn ra liên tục, tự động mà
không cần phải dừng xử lý trên chip. Sơ đồ biểu diễn quá trình đƣợc thể hiện qua hình
dƣới.
Hình 12: Quá trình liên kết từ kit đến máy tính
Để kết nối với RTDX, trong CCS ta cần khai báo thƣ viện RTDX.h. Các lệnh
cơ bản để thiết lập liên kết và kênh truyền từ kit đến Matlab:
Bảng 4: Các lệnh cơ bản trong thư viện RTDX.h để liên kết CCS→Matlab
Lệnh Tác dụng
RTDX_CreateInputChannel() Tạo kênh truyền từ Kit đến máy tính. Tên kênh
truyền phải định nghĩa giống trên Matlab
RTDX_CreateOutputChannel() Tạo kênh truyền từ Kit đến PC
RTDX_read Đọc dữ liệu từ kênh truyền
RTDX_write Gửi dữ liệu đến kênh truyền
Để có thể liên kết và truyền dữ liệu từ máy tính đến kit, trƣớc tiên ta phải định
nghĩa một kênh nhận dữ liệu ở kit (xem bảng 6). Tiếp đó, khi kit yêu cầu dữ liệu từ
kênh nhận, toàn bộ dữ liệu sẽ đƣợc gửi sang bộ nhớ đệm trên kit, sau đó đƣợc ghi vào
từng vùng nhớ xác định. Sau khi truyền hết dữ liệu, máy tính sẽ thông báo cho RTDX
để đóng kênh truyền. Quá trình này giao tiếp từ máy tính đến kit đƣợc mô tả ở hình
Khóa luận tốt nghiệp Chƣơng 3
20
dƣới:
Hình 13: Quá trình liên kết từ máy tính đến kit
Các lệnh cơ bản để tạo liên kết từ Matlab tới kit, khởi chạy chƣơng trình, tạo các
kênh truyền đƣợc mô tả trong bảng sau [7]:
Bảng 5: Các lệnh cơ bản của toolbox để liên kết Matlab → CCS
Lệnh Tác dụng
ccsboardinfo Lấy thông tin về bảng mạch và chip chuẩn bị kết nối
cc = ccsdsp('boardnum',0) Tạo liên kết đến CCS
cc.rtdx.configure(num1,num2) Tạo bộ đệm có kích cỡ num1 byte cho num2 kênh
truyền
cc.rtdx.open('name','sign') Tạo các kênh truyền dùng để đọc (sign='r') dữ liệu từ
Kit hoặc viết (sign='w') chuyển dữ liệu ngƣợc lại. Tên
kênh truyền (trƣờng name) có thể đặt tùy ý
cc.rtdx.enable Kích hoạt kênh truyền
cc.rtdx.set('timeout', num) Đặt lại thời gian đợi việc truyền dữ liệu. Tùy vào kích
cỡ và loại dữ liệu mà thời gian này phải đặt hợp lý
Khóa luận tốt nghiệp Chƣơng 3
21
CHƢƠNG 3
THỰC THI THUẬT TOÁN MUSIC TRÊN KIT TMS320C6713
Ngày nay với sự phát triển không ngừng của các phần mềm mô phỏng nhƣ
Matlab, chúng ta có khả năng thiết kế thuật toán chỉ dựa vào các công cụ Simulink,
sau đó sử dụng các toolbox nhƣ Real-Time Workshop để sinh ra code C, từ đó đƣa vào
kit để thực hiện. Tuy nhiên code đƣợc tạo ra có dung lƣợng lớn và khó để tùy biến tối
ƣu về sau. Vì vậy em lựa chọn giải pháp tự thiết kế thuật toán trên C, sau đó chuyển
code vào môi trƣờng CCS để biên dịch thành chƣơng trình chạy cho kit DSP.
Các bƣớc xây dựng thuật toán trên nền tảng DSP bao gồm 4 bƣớc đƣợc mô tả
bởi lƣu đồ dƣới đây:
Thiết kế
thuật toán
Lập trình
thuật toán
Thực thi thuật
toán trên Kit
Phân tích, sửa
lỗi, tối ƣu
Hình 14: Mô hình xây dựng thuật toán
3.1 Thiết kế thuật toán
Cụ thể về thuật toán MUSIC đã đƣơc nghiên cứu ở chƣơng đầu. Tuy nhiên khi
nhúng vào DSP, ta phải làm sao cho chƣơng trình không quá nặng nề với chip DSP,
bảo đảm chƣơng trình vẫn cho ra kết quả khá chính xác với tốc độ nhanh nhất. Sau đó
ta có thể mô phỏng thuật toán trên Matlab để kiểm tra tính đúng đắn của thuật toán,
trƣớc khi áp dụng vào kit DSP.
3.2 Lập trình thuật toán
Sau khi đã có một giải thuật đúng đắn, đã đƣợc kiểm chứng bằng Matlab, ở bƣớc
này ta tiến hành chuyển đổi các dòng code Matlab sang code C. Tuy nhiên do Matlab
đƣợc xây dựng dựa trên hai thƣ viện EISPACK và LINPACK [10], vốn rất mạnh về
xử lý các phƣơng trình tuyến tính, tính toán các ma trận (LINPACK), và giải các giá
trị riêng, vectơ riêng của ma trận (EISPACK), nó cung cấp nhiều hàm tính toán số học
mà với ngôn ngữ C không thể giải quyết qua một vài dòng lệnh. Những khó khăn khi
chuyển thuật toán MUSIC sang ngôn ngữ C đƣợc tóm tắt qua bảng dƣới:
Khóa luận tốt nghiệp Chƣơng 3
22
Bảng 6: So sánh thuật toán MUSIC trên ngôn ngữ Matlab và ngôn ngữ C
STT Các bƣớc thực hiện Code Matlab Code C Khó khăn
1 Thu nhân tín hiệu
vào
Có sẵn trƣờng
số phức
Không có Phải xây dựng trƣờng
số phức với các phép
tính thông thƣờng và
các phép biến đổi ma
trận
2 Tính ma trận tự
tƣơng quan
Thuận tiện
trong việc tính
toán ma trận,
có thể thực
hiện bƣớc này
trong 1 dòng
lệnh
Sử dụng cấu
trúc mảng với
các giá trị
thực phức,
tính toán
chậm
Các biến xử lý đều là
các ma trận kích cỡ
lớn, mỗi phần tử đều
là các số phức nên
đòi hỏi tối ƣu để tính
toán nhanh hơn
3 Tìm giá trị riêng,
vectơ riêng
Sử dụng hàm
eig có sẵn
trong Matlab
Không có hàm
có sẵn
Đòi hỏi tìm kiếm giải
thuật tính giá trị
riêng, vectơ riêng.
4 Phân tách thành
không gian tín hiệu
và không gian nhiễu,
tính phổ không gian
của tín hiệu
Hàm eig tự sắp
xếp các giá trị
riêng và vectơ
riêng tƣơng
ứng
Không có khả
năng này
Phải sắp xếp các giá
trị riêng, vectơ riêng
theo thứ tự giảm dần
Từ bảng trên ta thấy thách thức lớn nhất khi thực hiện thuật toán MUSIC bằng
ngôn ngữ C là phải tính đƣợc giá trị riêng, vectơ riêng của ma trận tự tƣơng quan. Có 2
giải pháp đƣa ra để giải quyết vấn đề này.
- Sử dụng các thƣ viện tích hợp sẵn, có các hàm với chức năng tƣơng đƣợc thƣ
viện EISPACK của Matlab.
- Thiết kế thuật toán phù hợp để tính giá trị riêng, vectơ riêng.
Việc sử dụng các thƣ viện tích hợp sẵn có ƣu điểm về tốc độ do đã đƣợc tối ƣu
sẵn, tiết kiệm thời gian tìm hiểu và lập trình thuật toán tính giá trị riêng, vectơ riêng,
nhất là khi các thuật toán này rất phức tạp. Tuy nhiên khi áp dụng vào khóa luận, các
Khóa luận tốt nghiệp Chƣơng 3
23
thƣ viện tích hợp lại có những hạn chế sau:
- Kích cỡ: các thƣ viện tích hợp viết bằng ngôn ngữ C thƣờng có kích cỡ lớn, một
phần do phải bao quát hết tất cả các trƣờng hợp (một thƣ viện chuẩn nhƣ
EISPACK có các tiến trình khác nhau cho 9 trƣờng hợp ma trận, mỗi tiến trình
lại có nhiều phƣơng pháp tính toán khác nhau). Do vậy gặp khó khăn khi đƣa
các thƣ viện này vào kit DSP vốn có bộ nhớ hữu hạn.
- Giá thành: ngoài các thƣ viện ở trên còn có các loại thƣ viện đặc biệt đƣợc tối
ƣu cho các hoạt động xử lý trên DSP. Chúng có kích cỡ nhỏ và tốc độ xử lý
nhanh. Tuy nhiên giá các thƣ viện này không hề rẻ, hơn nữa do khác biệt về cấu
trúc mà những thƣ viện này chỉ sử dụng cho một dòng chip nhất định.
Thêm vào đó, từ việc phân tích dạng ma trận tự tƣơng quan Ruu cho thấy việc
tìm giá trị riêng và vectơ riêng cho ma trận này chỉ là một trƣờng hợp đặc biệt, do
đó việc lập trình thuật toán trở nên đơn giản hơn. Do vậy em sử dụng phƣơng án
lập trình thuật toán tính giá trị riêng, vectơ riêng cho ma trận tự tương quan trong
khóa luận này.
Bài toán tính giá trị riêng, vectơ riêng
1. Tính toán lý thuyết
Để tìm giá trị riêng, vectơ riêng của 1 ma trận ta làm theo các bƣớc sau [2]:
 Bƣớc 1: Giải phƣơng trình đặc trựng
Nghiệm của phƣơng trình tìm đƣợc là các giá trị riêng cần tìm
 Bƣớc 2: Ứng với mỗi giá trị riêng vừa tìm đƣợc, giải hệ phƣơng trình tuyến
tính thuần nhất với mỗi nghiệm vừa tìm đƣợc ở trên,
Kết quả là vectơ riêng ui ứng với giá trị riêng .
2. Áp dụng vào việc tính toán trên máy tính
Từ định lý Anbơ: với m > 5 tồn tại phƣơng trình bậc m mà không thể biểu diễn
nghiệm tổng quát bằng cách sử dụng số hữu tỉ, phép cộng, trừ, nhân, chia và lấy khai
căn.
Định lí này chỉ ra rằng không thể có thuật toán giải phƣơng trình nào cho ra
nghiệm chính xác của đa thức bậc bất kì lớn hơn 5 sau một số bƣớc hữu hạn. Vì vậy
không thể áp dụng phƣơng pháp trên để tìm trị riêng của các ma trận có số chiều lớn
Khóa luận tốt nghiệp Chƣơng 3
24
hơn 4. Điều này đòi hỏi ta phải sử dụng phƣơng pháp khác, cụ thể ở đây là phƣơng
pháp lặp đơn Jacobi.
3. Phương pháp lặp đơn Jacobi
Xét ma trận tƣơng quan của mảng tín hiệu: Ruu là một ma trận Hermitian cỡ
N×N, đây là dạng ma trận vuông đối xứng với các phần tử là số phức.
Một ma trận vuông đối xứng bất kì sẽ luôn chéo hóa đƣợc. Ý tƣởng của phƣơng
pháp Jacobi trong khóa luận là chéo hóa ma trận Ruu để thu đƣợc ma trận đƣờng chéo:
1
T
2D O R O dia ,g( ), .uu n    (4.1)
Khi đó các phần tử đƣờng chéo là các gía trị riêng , còn các cột của
ma trận làm chéo hóa O sẽ là các vectơ riêng tƣơng ứng với các giá trị riêng cần tìm
4. Lập trình phương pháp lặp đơn jacobi
Xây dựng một dãy các ma trận (Ok) k≥1 các ma trận trực giao sao cho [11]:
1 1 2 1 2... .. ).( ) ( 1T T
k k k k k kO O O O OA O A O A O k     (4.2)
Biến đổi liên tục dãy này dẫn đến ma trận A hội tụ về một ma trận đƣờng chéo
1
2
1 3
n
λ 0 0 0
0 λ .. ... 0
0 λ
0
0 0 0 λ
kA 

   

 
 
 
 
 
 

 
  

(4.3)
Đặt Ok = là các ma trận trực giao có cột là các vectơ hội tụ về vectơ
riêng của ma trận A
Nguyên tắc biến đổi:
1 1T
k k k k kA A O A O k    (4.4)
Triệt tiêu hết các phần tử aij (i≠j) hay các phần tử nằm ngoài đƣờng chéo chính
của ma trận:
Đặt:
1
ij
( )
( )
k ij
k
k
A b
A a
O O
 


 
(4.5)
Khóa luận tốt nghiệp Chƣơng 3
25
Ta thực hiện các việc quay Jacobi các phần tử của ma trận A dựa vào công thức
quay:
Định lý: nếu apq ≠ 0, tồn tại một và chỉ một giá trị của θ ∈
làm cho bpq = 0. Giá trị θ đƣợc xác định nhƣ sau:
cotan 2
2
qq pp
pq
a a
a


 (4.6)
Từ đó tính đƣợc các phần tử của ma trận Ak+1 theo Ak:
2 2
2 2
cos sin
sin cos
cos sin sin2
sin cos sin2
cos2 sin2
2
ij ij
pj pi qi
qi pi qi
pp pp qq pq
qq pp qq pq
pp qq
pq qp pq
b a
b a a
b a a
b a a a
b a a a
a a
b b a
 
 
  
  
 



  

   

  






  

(4.7)
Từ công thức (3.1), sử dụng các phép biến đổi lƣợng giác ta có:
Đặt = tan θ là nghiệm ≤ của phƣơng trình bậc 2:
2
t 2mt – 1 0  (4.8)
Các hàm lƣợng giác còn lại của θ theo tan θ:
2
2
2
2
2
1
cos
1
sin
1
2
sin2
1
1
cos2
1
c
t
t
s
t
t
t
t
t




 

 

















(4.9)
Kết hợp với (4.10) ta thu đƣợc công thức quay thu gọn:
Khóa luận tốt nghiệp Chƣơng 3
26
cos2 sin2
2
pi pi qi
qi qi pi
pp pp pq
qq qq pq
pp qq
pq qp pq
b ca sa
b ca sa
b a ta
b a ta
a a
b b a  

  

 

 
  
 
  

(4.10)
Sau mỗi bƣớc quay, cặp phần tử nằm ngoài đƣờng chéo chình bị triệt tiêu, tuy
nhiên các phần tử bị triệt tiêu trƣớc đó lại khác không. Tuy nhiên các giá trị này sẽ
ngày càng tiến tới 0 đến khi thỏa mãn điều kiện về độ chính xác, ta nhận đƣợc ma trận
với các phần tử nằm ngoài đƣờng chéo có giá trị xấp xỉ 0. Giải thuật cài đặt trên máy
tính có lƣu đồ nhƣ sau:
START Nhập ma trận Ruu
Xác định phần tử
ngoài đường chéo
cần triệt tiêu
Tính cotan θ
(Công thức 4.6)
Tạo ma trận O
Biến đỏi ma trận
Ruu (Công thức
4.10)
O=O*Ruu
Lấy tông các phần tử
ngoài đường chéo
của Ruu
Tổng >độ chính
xác
Đúng
Giá trị riêng là phần tử
đường chéo của Ruu
Vector riêng là cột của O
Sai
END
Hình 15: Lưu đồ thuật toán Jacobi
3.3 Thực thi thuật toán trên kit
Với mục đích tập trung vào thuật toán và khả năng thực thi của thuật toán trên kit
DSP, khóa luận không đi sâu vào thực hiện các phần cứng khác của hệ thống, ví dụ
nhƣ hệ thống anten. Thay vào đó các tín hiệu đầu vào của dàn anten đƣợc mô phỏng
trên chƣơng trình Matlab rồi đƣợc đƣa vào kit để xử lý. Sau khi kit xử lý xong, kết quả
về phổ không gian của tín hiệu đƣợc đƣa lại trở về máy tính để vẽ phổ tín hiệu bằng
chƣơng trình Matlab. Tóm tắt quá trình thực thi trên kit nhƣ sau:
Khóa luận tốt nghiệp Chƣơng 3
27
Mô phỏng
tín hiệu từ
anten
Tính ma trận
tƣơng quan
Xác định
vectơ riêng,
giá trị riêng
Tính phổ
không gian
Biểu diễn
phổ trên
máy tính
Hình 16: Quá trình thực thi thuật toán MUSIC trên kit DSP
3.3.1 Mô tả quá trình
1. Mô phỏng tín hiệu từ anten
Các tín hiệu thu thập của hệ anten đƣợc tính bởi các yếu tố sau:
- Vectơ tín hiệu đầu vào s đƣợc xác định theo phân bố Gaussian, với giá trị trung
bình
- Vectơ lái a( ) phụ thuộc vào góc  trong không gian, vị trí của mối phần tử
anten trong không gian
Vectơ nhiễu N, với các giá trị ồn giả ngẫu nhiên cho từng mẫu tín hiệu thu
đƣợc.
Khi đó vectơ cuối cùng thu đƣợc tại mỗi phần tử anten sẽ đƣợc tính bởi
U AS N  (4.11)
2. Tính ma trân tự tương quan của vectơ tín hiệu thu được
Giả thiết nhiễu không tƣơng quan và là các biến đồng mức:
(4.12)
Khóa luận tốt nghiệp Chƣơng 3
28
với Ns là số mẫu tín hiệu thu đƣợc.
3. Xác định các vectơ riêng và giá trị riêng tương ứng với không gian nhiễu: sử
dụng phƣơng pháp Jacobi đã đƣợc đề cập ở trên.
Sau khi các giá trị riêng đƣợc sắp xếp từ nhỏ nhất tới lớn nhất, chúng ta có thể
chia ma trận Ruu
thành hai không gian con nhƣ sau:
[ ]uu s nR V V (4.13)
Trong đó:
Vs đƣợc gọi là không gian con tín hiệu và chứa M vectơ riêng kết hợp với các
tín hiệu tới. Không gian con tín hiệu là ma trận cỡ N×M.
Vn đƣợc gọi là không gian con của nhiễu và bao gồm N – M vectơ riêng kết hợp
với nhiễu. Không gian con của nhiễu là một không gian cỡ N×(N – M).
4. Tính phổ không gian của tín hiệu
Phổ không gian của tín hiệu đƣợc tính theo công thức:
 
   
   
H
H H
n n
a a
P
a V V a
 

 
 (4.14)
Trong đó, khi cho góc θ thay đổi từ 0 đến 3600
, nếu góc θ trùng với góc tới của
nguồn tín hiệu, P(θ) đạt cực đại và ta sẽ quan sát đƣợc một đỉnh phổ trong phổ tín
hiệu quan sát ở bƣớc 5.
5. Biểu diễn phổ trên máy tính
Với dữ liệu về phổ không gian đƣợc kit trả về, thực hiện lệnh plot (θ,P) trên
Matlab.
3.3.2 Phân vùng bộ nhớ của kit cho dữ liệu và chương trình
Theo mặc định ban đầu, kit chỉ sử dụng bộ nhớ trong để lƣu trữ các dữ liệu cũng
nhƣ chƣơng trình đƣợc nạp vào. Do bộ nhớ này khá nhỏ (264 kB), ta cần phải cấu hình
vùng nhớ mà kit có thể sử dụng thông qua file liên kết (Linker File) [7]:
Cấu trúc tập tin liên kết:
MEMORY
{
IVECS: org=0h, len=0x220
Khóa luận tốt nghiệp Chƣơng 3
29
IRAM: org=0x00000220, len=0x0002FDE0 /*internal memory*/
EDATA: org=0x80000000, len=0x0100000
SDRAM: org=0x80F00000, len=0x01000000 /*external memory*/
FLASH: org=0x90000000, len=0x00020000 */ /*flash memory*/
}
SECTIONS
{
.EXT_RAM :> SDRAM
.vectors :> IRAM
.text :> IRAM
.bss :> IRAM
.cinit :> IRAM
.stack :> IRAM
.sysmem :> IRAM
.const :> SDRAM
.switch :> IRAM
.far :> SDRAM
.cio :> IRAM
.csldata :> IRAM
}
Để ánh xạ một trƣờng bất kỳ sang bộ nhớ ngoài chỉ cần sửa “IRAM” thành
“SDRAM”. Ví dụ: .const : > SDRAM
Để ánh xạ một biến bất kỳ trong code (có thể là biến cần kích cỡ lớn mà bộ nhớ
trong không chứa đƣợc) ta làm nhƣ sau:
- Định nghĩa một vùng nhớ trong bộ nhớ ngoài. Ví dụ:
EDATA: org = 0x80000000, len = 0x0100000 định nghĩa phần nhớ ngoài
EDATA kích thƣớc 1Mb.
Khóa luận tốt nghiệp Chƣơng 3
30
- 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 quả thực thi thuật toán:
Tiến hành thực thi thuật toán trên kit DSP với các dàn anten ULA, UCA trong
trƣờng hợp số nguồn sóng tới nhỏ hơn số phần tử anten,sử dụng mô hình của 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 toán MUSIC với anten ULA
STT Các thông số của nguồn Các thông số của hệ anten
1 Số nguồn tín hiệu: 4 Số phần tử anten: 8
2 Góc tới của các nguồn tín hiệu: [20o
40o
60o
80o
] Độ dài cung tròn: m= λ/2 (m)
3 Tỷ số SNR: 25dB
- Kết quả thực thi:
0 50 100 150 200 250 300 350 400
0
50
100
150
200
250
MUSIC ULA DOA - degree
RelativeSpaceSpectrum-dB
X: 20
Y: 225.3
X: 40
Y: 216.4
X: 60
Y: 223.3
X: 80
Y: 218.4
X: 280
Y: 218.4
X: 300
Y: 223.3
X: 320
Y: 216.4
X: 340
Y: 225.3
Hình 17: Thực thi hệ thống DSP với mảng anten ULA
Khóa luận tốt nghiệp Chƣơng 3
31
Nhận xét: thực thi hệ thống trên DSP cho kết quả xác định 8 đỉnh phổ tƣơng
đƣơng với 8 nguồn sóng tới. Trong đó hệ thống DSP xác định chính xác 4 nguồn tín
hiệu ở các góc [200
400
600
800
]. Các hƣớng còn lại là đối xứng với 4 nguồn tín hiệu,
đây là hạn chế của dàn anten ULA mà ta đã nói ở trên.
0 60 120 180 240 300 360
0
50
100
150
200
250
MUSIC ULA DOA - degree
RelativeSpaceSpectrum-dB
X: 20
Y: 227.7
X: 40
Y: 226.6
X: 60
Y: 216.4
X: 80
Y: 228
Simulation
DSP
Hình 18: So sánh kết quả thực thi thuật toán và mô phỏng trên dàn anten ULA
Nhận xét: so với kết quả mô phỏng, kết quả thực thi có thêm hai đỉnh với biên
độ không đáng kể so với biên độ của các nguồn tín hiệu. Mặc dù cả hai cùng xác định
chính xác các góc tới, ta có thể nhận thấy rằng kết quả thực thi kém hơn một chút so
với mô phỏng, thể hiện ở các mức ồn cao hơn. Điều này có lẽ là do thuật toán tìm giá
trị riêng không đƣợc tối ƣu nhƣ thuật toán trên Matlab.
Với dàn anten UCA:
- Mô hình hệ thống:
STT Các thông số của nguồn Các thông số của hệ anten
1 Số nguồn tín hiệu: 4 Số phần tử anten: 8
2
Góc tới của các nguồn tín hiệu: [20o
40o
60o
80o
]
Khoảng cách giữa các phần tử: λ/2
(m)
3 Tỷ số SNR: 25dB
Khóa luận tốt nghiệp Chƣơng 3
32
- Kết quả thực thi:
0 50 100 150 200 250 300 350 400
0
50
100
150
200
250
MUSIC UCA DOA - degree
RelativeSpaceSpectrum-dB
X: 20
Y: 223
X: 40
Y: 228.7
X: 60
Y: 228.8
X: 80
Y: 225.1
Hình 19: Thực thi hệ thống DSP với mảng anten UCA
Nhận xét: thực thi trên hệ UCA cho ta kết quả xác định chính xác bốn góc tới
ứng với các nguồn tín hiệu ở [200
400
600
800
]. Kết quả đánh giá độ chính xác so với
hệ mô phỏng đƣợc thể hiện ở hình dƣới:
0 60 120 180 240 300 360
0
50
100
150
200
250 X: 20
Y: 229.7
MUSIC UCA DOA - degree
RelativeSpaceSpectrum-dB
X: 40
Y: 219.6
X: 60
Y: 218.3
X: 80
Y: 224.2
Simulation
DSP
Hình 20: So sánh kết quả thực thi thuật toán và mô phỏngtrên dàn anten UCA
Khóa luận tốt nghiệp Chƣơng 3
33
Nhận xét: ở dàn anten UCA, kết quả mô phỏng so với kết quả thực thi không
khác nhau nhiều nhƣ dàn ULA. Không có thêm các đỉnh phụ, các mức ồn cũng không
quá cao.
Đánh giá tốc độ thực thi trên kit:
Ở đây chỉ đánh giá tốc độ xử lý thuật toán, nên ta bỏ qua phần xử lý đọc dữ liệu
của kit.
Thời gian xử lý thuật toán đƣợc tính bằng
Đặt breakpoint ở cuối khối nhận dữ liệu ta nhận đƣợc 78.561.604 chu kỳ chip đã chạy
Hình 21: Số nhịp CPU của chip chạy đến khi kết thúc nhận dữ liệu
Tiếp tục đặt breakpoint ở đầu khối gửi dữ liệu, ta nhận đƣợc 133.283.611 chu kỳ.
Hình 22: Số nhịp CPU của chip chạy đến khi bắt đầu gửi dữ liệu
Thời gian xử lý thuật toán t = 6
133,283,611 78,561,604
0.216( )
225 10
s



Nhận xét: Thời gian này là tương đối lớn so với kết quả mô phỏng, tuy nhiên việc thực
thi trên chip có xung nhịp 225 MHz không thể so sánh với các hê thống có xung nhịp
lớn cỡ vài Ghz.
Khóa luận tốt nghiệp Chƣơng 3
34
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CHO ĐỀ TÀI
Từ những phân tích về mặt lý thuyết toán học và vật lý, mô phỏng bằng chƣơng
trình MATLAB, khóa luận đã nghiên cứu thuật toán MUSIC cũng nhƣ mô tả thuật
toán với các cấu trúc anten mảng sắp xếp theo đƣờng thẳng cách đều, cấu trúc đƣờng
anten mảng sắp xếp theo đƣơng tròn cách đều, từ đó đƣa ra ƣu nhƣợc điểm của mỗi
cấu trúc. Khóa luận cũng đƣa ra mô hình thực thi thuật toán MUSIC trên kit
TMS320C6713.
Mặc dù việc thực thi thuật toán trên kit có tốc độ khá chậm nhƣng đây là điều có
thể khắc phục đƣợc. Trong tƣơng lai hệ thống có thể đƣa vào áp dụng với các dữ liệu
từ mảng anten trong thực tế và có thể tối ƣu tốc độ xử lý để ứng dụng trong các hệ
thống dò tìm, giám sát thời gian thực, với chi phí thấp và khả năng di động cao.
Khóa luận tốt nghiệp Chƣơng 3
35
TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1]GS. TSKH. Phan Anh, Lý thuyết và kỹ thuật anten, nhà xuất bản khoa học kỹ
thuật, xuất bản 12- 2007.
[2]Nguyễn Đình Trí, Lê Trọng Vinh, Dƣơng Thủy Vỹ, Giáo trình toán học cao
cấp, xuất bản tháng 9 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
trong việc xác định vị trí tàu thuyền đánh cá loại vừa và 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.
Khóa luận tốt nghiệp Phụ lục
- 1 -
PHỤ LỤC
1. Chƣơng trình mô phỏng 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 trong 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 ra file
reU=real(U);
imU=imag(U);
fid = fopen('u.txt','w');
fprintf(fid,'%d ',Ne );
fprintf(fid,'%d ',Nb );
Khóa luận tốt nghiệp Phụ lục
- 2 -
fprintf(fid,'%f ' ,reU');
fprintf(fid,'%f ' ,imU');
fclose(fid);
2. Chƣơng trình thực thi thuật toán MUSIC
#include <stdio.h>
#include <math.h>
#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)
Khóa luận tốt nghiệp Phụ lục
- 3 -
{ 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<=cola; i++)
{ for (j=1; j<=rowa; j++)
{ at[j][i].R=a[i][j].R;
at[j][i].I=-a[i][j].I;
}
}
}
void mul(mat a,short cola,short rowa, mat b, short rowb, mat c,short fac)
{
for (j=1; j<=rowb; j++)
{ for (i=1; i<=cola; i++)
Khóa luận tốt nghiệp Phụ lục
- 4 -
{ temp.R=0;
temp.I=0;
c[i][j].R=0;
c[i][j].I=0;
for (k=1;k<=rowa;k++)
{ MUL(a[i][k],b[k][j],&temp);
ADD(temp,c[i][j],&c[i][j]);
}
c[i][j].R=c[i][j].R/fac;
c[i][j].I=c[i][j].I/fac;
}
}
}
void sorteigen(int N, vec R, mat Z)
{ vec Tr,Ti;
double VR;
// sort in ascending order
for (j=2; j<=N; j++){
VR=R[j];
for (k=1; k<=N; k++){
Tr[k]=Z[k][j].R;
Ti[k]=Z[k][j].I;
}
for (i=j-1; i>0; i--){
if (fabs(R[i]) <= fabs(VR)) goto e5;
R[i+1]=R[i];
for (k=1; k<=N; k++){
Z[k][i+1].R=Z[k][i].R;
Z[k][i+1].I=Z[k][i].I;
}
}
i=0;
e5: R[i+1]=VR;
for (k=1; k<=N; k++){
Z[k][i+1].R=Tr[k];
Khóa luận tốt nghiệp Phụ lục
- 5 -
Z[k][i+1].I=Ti[k];
}
}
}
void output(mat a,int row)
{
FILE *p;
p = fopen("eigenvector.txt","wt");
fprintf(p,"%d",row);
for (j=1; j<=row; j++){
fprintf(p," %f ", a[1][j].R);
}
fprintf(p,"n");
fclose(p);
}
int main()
{
FILE *p;
p = fopen("u.txt","r");
fscanf(p,"%hd %hd",&row,&col);
for (i=1; i<=col; i++)
for (j=1; j<=row; j++)
fscanf(p, "%lf", &u[i][j].R);
for (i=1; i<=col; i++)
for (j=1; j<=row; j++)
fscanf(p, "%lf", &u[i][j].I);
transpose(u,col,row,ut);
mul(ut,row,col,u,row,ruu,row);
//begin of eigen
z0.R=0.0;z0.I=0.0;
z1.R=1.0;z1.I=0.0;
for(i=1; i<=row; i++)
for (j=1; j<=row; j++)
if (i==j)
evector[i][j]=z1;
Khóa luận tốt nghiệp Phụ lục
- 6 -
else evector[i][j]=z0;
it=-1; l=1;
while (l<=M && it!=1)
{
s=0.0;
for (i=1; i<row; i++)
for (j=i+1; j<=row; j++)
{
t0=ABS(ruu[i][j]);
if (t0 > s)
{
s=t0; I0=i; L0=j;
}
}
if (s==0.0) it=1;
else
{
delta=SQR(ruu[L0][L0].R-
ruu[I0][I0].R)+4.0*SQR(ABS(ruu[I0][L0]));
t0=ruu[L0][L0].R-ruu[I0][I0].R + sqrt(delta);
t1=ruu[L0][L0].R-ruu[I0][I0].R - sqrt(delta);
if (fabs(t0) >= fabs(t1))
w0=t0;
else w0=t1;
s0=fabs(w0)/sqrt(SQR(w0)+4.0*SQR(ABS(ruu[I0][L0])));
t0=2.0*s0/w0;
RMUL(t0,ruu[I0][L0],&c0);
CONJ(c0,&c1);
for (i=1; i<I0; i++){
u0=ruu[i][I0];
MUL(c0,u0,&c2);
RMUL(s0,ruu[i][L0],&c3);
ADD(c2,c3,&ruu[i][I0]);
MUL(c1,ruu[i][L0],&c2);
RMUL(s0,u0,&c3);
Khóa luận tốt nghiệp Phụ lục
- 7 -
SUB(c2,c3,&ruu[i][L0]);
}
for (k=I0+1; k<L0; k++) {
u0=ruu[I0][k];
MUL(c1,u0,&c2);
CONJ(ruu[k][L0],&u1);
RMUL(s0,u1,&c3);
ADD(c2,c3,&ruu[I0][k]);
MUL(c1,ruu[k][L0],&c2);
CONJ(u0,&u1);
RMUL(s0,u1,&c3);
SUB(c2,c3,&ruu[k][L0]);
}
for (j=L0+1; j<=row; j++)
{
u0=ruu[I0][j];
MUL(c1,u0,&c2);
RMUL(s0,ruu[L0][j],&c3);
ADD(c2,c3,&ruu[I0][j]);
MUL(c0,ruu[L0][j],&c2);
RMUL(s0,u0,&c3);
SUB(c2,c3,&ruu[L0][j]);
}
t0=ruu[I0][I0].R;
t1=4.0*SQR(s0*ABS(ruu[I0][L0]))/w0;
ruu[I0][I0].R=SQR(ABS(c0))*t0 + t1+SQR(s0)*ruu[L0][L0].R;
ruu[L0][L0].R=SQR(s0)*t0 - t1+SQR(ABS(c0))*ruu[L0][L0].R;
ruu[I0][L0]=z0;
for (i=1; i<=row; i++)
{
u0=evector[i][I0];
MUL(c0,u0,&c2);
RMUL(s0,evector[i][L0],&c3);
ADD(c2,c3,&evector[i][I0]);
Khóa luận tốt nghiệp Phụ lục
- 8 -
MUL(c1,evector[i][L0],&c2);
RMUL(s0,u0,&c3);
SUB(c2,c3,&evector[i][L0]);
}
t0=0.0;
for (i=1; i<row; i++)
for (j=i+1; j<=row; j++)
t0 += SQR(ABS(ruu[i][j]));
s=2.0*t0;
if (s < PREC)
it=1;
else l++;
}
}
if (it==1)
for (i=1; i<=row; i++)
evalue[i]=ruu[i][i].R;
//End of eigen*/
sorteigen(row, evalue, evector);
signal=0;
for (i = 0; i<=row;i++)
{
if(evalue[i]>evalue[row]/1000) signal++;
}
I0=row-signal;
transpose(evector,row,I0,ruu);
mul(evector,row,I0,ruu,row,b,1);
l=0;
for (signal=1;signal<=p2;signal++){
for (k=1;k<=row;k++){
aa[1][k].R=areal[l];
aa[1][k].I=aimag[l];
l++;
}
mul(aa,1,row,b,row,c,1);
Khóa luận tốt nghiệp Phụ lục
- 9 -
c2.R=0.0;c2.I=0.0;
for (k=1;k<=row;k++){
CONJ(aa[1][k],&c0);
MUL(c[1][k],c0,&c1);
ADD(c1,c2,&c2);
}
CDIV(row,0,c2.R,c2.I,&power[1][signal].R,&power[1][signal].I);
}
output(power,p2);
return 0;
}

More Related Content

What's hot

Báo cáo chuyển mạch
Báo cáo chuyển mạchBáo cáo chuyển mạch
Báo cáo chuyển mạchHải Dương
 
Huong dan ghost hdh linux qua g4 l
Huong dan ghost hdh linux qua g4 lHuong dan ghost hdh linux qua g4 l
Huong dan ghost hdh linux qua g4 lTran Minh Tuan
 
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)Phần bai tap mau anten & truyen song (mang tinh chat tham khao)
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)tiểu minh
 
Chapter 3 gsm - part 1
Chapter 3   gsm - part 1Chapter 3   gsm - part 1
Chapter 3 gsm - part 1Đá Tảng
 
Giáo trình Thông tin vệ tinh - Học viện Bưu chính Viễn thông TP.HCM
Giáo trình Thông tin vệ tinh - Học viện Bưu chính Viễn thông TP.HCMGiáo trình Thông tin vệ tinh - Học viện Bưu chính Viễn thông TP.HCM
Giáo trình Thông tin vệ tinh - Học viện Bưu chính Viễn thông TP.HCMfrank5991
 
Aon vs pon 2
Aon vs pon 2Aon vs pon 2
Aon vs pon 2vanliemtb
 
Giáo Trình CCNA Full Tiếng Việt
Giáo Trình CCNA Full Tiếng ViệtGiáo Trình CCNA Full Tiếng Việt
Giáo Trình CCNA Full Tiếng ViệtNgoc Hoang
 
Trac nghiem dap an
Trac nghiem dap anTrac nghiem dap an
Trac nghiem dap anTrí Ibanez
 
Truyen song-va-anten
Truyen song-va-antenTruyen song-va-anten
Truyen song-va-antenĐỗ Kiệt
 
Ch ng 1-2_-_b_i_gi_ng_anten-truy_n_s_ng
Ch ng 1-2_-_b_i_gi_ng_anten-truy_n_s_ngCh ng 1-2_-_b_i_gi_ng_anten-truy_n_s_ng
Ch ng 1-2_-_b_i_gi_ng_anten-truy_n_s_ngDuy Quang Nguyen Ly
 
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...https://www.facebook.com/garmentspace
 
[BTL] Cảm biến đo độ ẩm
[BTL] Cảm biến đo độ ẩm[BTL] Cảm biến đo độ ẩm
[BTL] Cảm biến đo độ ẩmHoàng Phạm
 
công nghệ MIMO trong 4G-Lte
công nghệ MIMO trong 4G-Ltecông nghệ MIMO trong 4G-Lte
công nghệ MIMO trong 4G-LtePTIT HCM
 

What's hot (20)

Báo cáo chuyển mạch
Báo cáo chuyển mạchBáo cáo chuyển mạch
Báo cáo chuyển mạch
 
Đồ Án Tốt Nghiệp Lưu Đồ Giải Thuật Và Chương Trình Điều Khiển.docx
Đồ Án Tốt Nghiệp Lưu Đồ Giải Thuật Và Chương Trình Điều Khiển.docxĐồ Án Tốt Nghiệp Lưu Đồ Giải Thuật Và Chương Trình Điều Khiển.docx
Đồ Án Tốt Nghiệp Lưu Đồ Giải Thuật Và Chương Trình Điều Khiển.docx
 
Huong dan ghost hdh linux qua g4 l
Huong dan ghost hdh linux qua g4 lHuong dan ghost hdh linux qua g4 l
Huong dan ghost hdh linux qua g4 l
 
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)Phần bai tap mau anten & truyen song (mang tinh chat tham khao)
Phần bai tap mau anten & truyen song (mang tinh chat tham khao)
 
Chapter 3 gsm - part 1
Chapter 3   gsm - part 1Chapter 3   gsm - part 1
Chapter 3 gsm - part 1
 
Giáo trình Thông tin vệ tinh - Học viện Bưu chính Viễn thông TP.HCM
Giáo trình Thông tin vệ tinh - Học viện Bưu chính Viễn thông TP.HCMGiáo trình Thông tin vệ tinh - Học viện Bưu chính Viễn thông TP.HCM
Giáo trình Thông tin vệ tinh - Học viện Bưu chính Viễn thông TP.HCM
 
Aon vs pon 2
Aon vs pon 2Aon vs pon 2
Aon vs pon 2
 
Giáo Trình CCNA Full Tiếng Việt
Giáo Trình CCNA Full Tiếng ViệtGiáo Trình CCNA Full Tiếng Việt
Giáo Trình CCNA Full Tiếng Việt
 
Trac nghiem dap an
Trac nghiem dap anTrac nghiem dap an
Trac nghiem dap an
 
Truyen song-va-anten
Truyen song-va-antenTruyen song-va-anten
Truyen song-va-anten
 
Kỹ thuật vô tuyến cho hệ thống lai ghép giữa vệ tinh và mặt đất, 9đ
Kỹ thuật vô tuyến cho hệ thống lai ghép giữa vệ tinh và mặt đất, 9đKỹ thuật vô tuyến cho hệ thống lai ghép giữa vệ tinh và mặt đất, 9đ
Kỹ thuật vô tuyến cho hệ thống lai ghép giữa vệ tinh và mặt đất, 9đ
 
Ch ng 1-2_-_b_i_gi_ng_anten-truy_n_s_ng
Ch ng 1-2_-_b_i_gi_ng_anten-truy_n_s_ngCh ng 1-2_-_b_i_gi_ng_anten-truy_n_s_ng
Ch ng 1-2_-_b_i_gi_ng_anten-truy_n_s_ng
 
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
Luận án tiến sĩ kỹ thuật viễn thông nâng cao chất lượng xác định hướng sóng t...
 
Chuong 3 he thong viba va ve tinh
Chuong 3 he thong viba va ve tinhChuong 3 he thong viba va ve tinh
Chuong 3 he thong viba va ve tinh
 
Luận văn: Vận hành, quản lý, giám sát hệ thống BTS Viettel, HAY
Luận văn: Vận hành, quản lý, giám sát hệ thống BTS Viettel, HAYLuận văn: Vận hành, quản lý, giám sát hệ thống BTS Viettel, HAY
Luận văn: Vận hành, quản lý, giám sát hệ thống BTS Viettel, HAY
 
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
 
luan van thac si thiet ke che tao may rua tay sat khuan
luan van thac si thiet ke che tao may rua tay sat khuanluan van thac si thiet ke che tao may rua tay sat khuan
luan van thac si thiet ke che tao may rua tay sat khuan
 
[BTL] Cảm biến đo độ ẩm
[BTL] Cảm biến đo độ ẩm[BTL] Cảm biến đo độ ẩm
[BTL] Cảm biến đo độ ẩm
 
FTTH
FTTHFTTH
FTTH
 
công nghệ MIMO trong 4G-Lte
công nghệ MIMO trong 4G-Ltecông nghệ MIMO trong 4G-Lte
công nghệ MIMO trong 4G-Lte
 

Similar to Đề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đ

MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)nataliej4
 
Thinghiemxlths 121102232414-phpapp02
Thinghiemxlths 121102232414-phpapp02Thinghiemxlths 121102232414-phpapp02
Thinghiemxlths 121102232414-phpapp02KUTY UIT - VNU HCM
 
Một số lớp bài toán tối ưu không lồi, Thuật toán và ứng dụng.pdf
Một số lớp bài toán tối ưu không lồi, Thuật toán và ứng dụng.pdfMột số lớp bài toán tối ưu không lồi, Thuật toán và ứng dụng.pdf
Một số lớp bài toán tối ưu không lồi, Thuật toán và ứng dụng.pdfMan_Ebook
 
03 - LUANVAN_NopQuyen.pdf
03 - LUANVAN_NopQuyen.pdf03 - LUANVAN_NopQuyen.pdf
03 - LUANVAN_NopQuyen.pdfNguyễn Thái
 
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdf
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdfHệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdf
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdfHanaTiti
 
Đồ án Xây dựng đồng hồ thời gian thực hiển thị trên LED 7 thanh
Đồ án Xây dựng đồng hồ thời gian thực hiển thị trên LED 7 thanhĐồ án Xây dựng đồng hồ thời gian thực hiển thị trên LED 7 thanh
Đồ án Xây dựng đồng hồ thời gian thực hiển thị trên LED 7 thanhJazmyne Padberg
 
Luận văn: Nghiên cứu hệ thống điều khiển bám cho panel lắp đặt pin năng lượng...
Luận văn: Nghiên cứu hệ thống điều khiển bám cho panel lắp đặt pin năng lượng...Luận văn: Nghiên cứu hệ thống điều khiển bám cho panel lắp đặt pin năng lượng...
Luận văn: Nghiên cứu hệ thống điều khiển bám cho panel lắp đặt pin năng lượng...Dịch vụ viết thuê Khóa Luận - ZALO 0932091562
 
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdf
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdfNguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdf
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdfHnPhmVn
 
Giáo trình Lập trình PLC theo ngôn ngữ bậc thang.pdf
Giáo trình Lập trình PLC theo ngôn ngữ bậc thang.pdfGiáo trình Lập trình PLC theo ngôn ngữ bậc thang.pdf
Giáo trình Lập trình PLC theo ngôn ngữ bậc thang.pdfMan_Ebook
 
Thiết kế cung cấp điện cho xưởng in sử dụng phần mềm ecodial 4.2 theo tiêu ch...
Thiết kế cung cấp điện cho xưởng in sử dụng phần mềm ecodial 4.2 theo tiêu ch...Thiết kế cung cấp điện cho xưởng in sử dụng phần mềm ecodial 4.2 theo tiêu ch...
Thiết kế cung cấp điện cho xưởng in sử dụng phần mềm ecodial 4.2 theo tiêu ch...Man_Ebook
 
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...mokoboo56
 
Đề tài: Áp dụng hệ thống thông tin quang vào mạng lưới viễn thông - Gửi miễn ...
Đề tài: Áp dụng hệ thống thông tin quang vào mạng lưới viễn thông - Gửi miễn ...Đề tài: Áp dụng hệ thống thông tin quang vào mạng lưới viễn thông - Gửi miễn ...
Đề tài: Áp dụng hệ thống thông tin quang vào mạng lưới viễn thông - Gửi miễn ...Dịch vụ viết bài trọn gói ZALO: 0909232620
 

Similar to Đề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đ (20)

MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
 
Thi nghiem xlths
Thi nghiem xlthsThi nghiem xlths
Thi nghiem xlths
 
Thinghiemxlths 121102232414-phpapp02
Thinghiemxlths 121102232414-phpapp02Thinghiemxlths 121102232414-phpapp02
Thinghiemxlths 121102232414-phpapp02
 
Một số lớp bài toán tối ưu không lồi, Thuật toán và ứng dụng.pdf
Một số lớp bài toán tối ưu không lồi, Thuật toán và ứng dụng.pdfMột số lớp bài toán tối ưu không lồi, Thuật toán và ứng dụng.pdf
Một số lớp bài toán tối ưu không lồi, Thuật toán và ứng dụng.pdf
 
03 - LUANVAN_NopQuyen.pdf
03 - LUANVAN_NopQuyen.pdf03 - LUANVAN_NopQuyen.pdf
03 - LUANVAN_NopQuyen.pdf
 
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdf
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdfHệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdf
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdf
 
Thiết kế, chế tạo và thử nghiệm robot ổn định thế khâu cuối.doc
Thiết kế, chế tạo và thử nghiệm robot ổn định thế khâu cuối.docThiết kế, chế tạo và thử nghiệm robot ổn định thế khâu cuối.doc
Thiết kế, chế tạo và thử nghiệm robot ổn định thế khâu cuối.doc
 
Hệ thống điều khiển bám cho panel lắp đặt pin năng lượng mặt trời
Hệ thống điều khiển bám cho panel lắp đặt pin năng lượng mặt trờiHệ thống điều khiển bám cho panel lắp đặt pin năng lượng mặt trời
Hệ thống điều khiển bám cho panel lắp đặt pin năng lượng mặt trời
 
Phát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thể
Phát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thểPhát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thể
Phát hiện ngã sử dụng đặc trưng chuyển động và hình dạng cơ thể
 
Đồ án Xây dựng đồng hồ thời gian thực hiển thị trên LED 7 thanh
Đồ án Xây dựng đồng hồ thời gian thực hiển thị trên LED 7 thanhĐồ án Xây dựng đồng hồ thời gian thực hiển thị trên LED 7 thanh
Đồ án Xây dựng đồng hồ thời gian thực hiển thị trên LED 7 thanh
 
Luận văn: Nghiên cứu hệ thống điều khiển bám cho panel lắp đặt pin năng lượng...
Luận văn: Nghiên cứu hệ thống điều khiển bám cho panel lắp đặt pin năng lượng...Luận văn: Nghiên cứu hệ thống điều khiển bám cho panel lắp đặt pin năng lượng...
Luận văn: Nghiên cứu hệ thống điều khiển bám cho panel lắp đặt pin năng lượng...
 
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đLuận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
 
Thiết kế và chế tạo cảm biến vi hạt trong dòng chảy chất lỏng dựa trên cấu tr...
Thiết kế và chế tạo cảm biến vi hạt trong dòng chảy chất lỏng dựa trên cấu tr...Thiết kế và chế tạo cảm biến vi hạt trong dòng chảy chất lỏng dựa trên cấu tr...
Thiết kế và chế tạo cảm biến vi hạt trong dòng chảy chất lỏng dựa trên cấu tr...
 
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdf
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdfNguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdf
Nguyen-Lam-Phi_1914613_ThuyetMinh - Phi Nguyễn Lâm.pdf
 
Giáo trình Lập trình PLC theo ngôn ngữ bậc thang.pdf
Giáo trình Lập trình PLC theo ngôn ngữ bậc thang.pdfGiáo trình Lập trình PLC theo ngôn ngữ bậc thang.pdf
Giáo trình Lập trình PLC theo ngôn ngữ bậc thang.pdf
 
Thiết kế cung cấp điện cho xưởng in sử dụng phần mềm ecodial 4.2 theo tiêu ch...
Thiết kế cung cấp điện cho xưởng in sử dụng phần mềm ecodial 4.2 theo tiêu ch...Thiết kế cung cấp điện cho xưởng in sử dụng phần mềm ecodial 4.2 theo tiêu ch...
Thiết kế cung cấp điện cho xưởng in sử dụng phần mềm ecodial 4.2 theo tiêu ch...
 
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus RtuLuận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
 
Luận văn: Phát hiện xâm nhập theo thời gian thực trong internet
Luận văn: Phát hiện xâm nhập theo thời gian thực trong internetLuận văn: Phát hiện xâm nhập theo thời gian thực trong internet
Luận văn: Phát hiện xâm nhập theo thời gian thực trong internet
 
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...
Đồ Án Tốt Nghiệp Về Đánh Giá Một Số Giao Thức Trong Mạng Cảm Nhận Không Dây B...
 
Đề tài: Áp dụng hệ thống thông tin quang vào mạng lưới viễn thông - Gửi miễn ...
Đề tài: Áp dụng hệ thống thông tin quang vào mạng lưới viễn thông - Gửi miễn ...Đề tài: Áp dụng hệ thống thông tin quang vào mạng lưới viễn thông - Gửi miễn ...
Đề tài: Áp dụng hệ thống thông tin quang vào mạng lưới viễn thông - Gửi miễn ...
 

More from Dịch vụ viết bài trọn gói ZALO 0917193864

Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDanh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDịch vụ viết bài trọn gói ZALO 0917193864
 
Kho 200 đề tài luận văn thạc sĩ công nghệ sinh học, từ các trường đại học
Kho 200 đề tài luận văn thạc sĩ công nghệ sinh học, từ các trường đại họcKho 200 đề tài luận văn thạc sĩ công nghệ sinh học, từ các trường đại học
Kho 200 đề tài luận văn thạc sĩ công nghệ sinh học, từ các trường đại họcDịch vụ viết bài trọn gói ZALO 0917193864
 

More from Dịch vụ viết bài trọn gói ZALO 0917193864 (20)

200 de tai khoa luạn tot nghiep nganh tam ly hoc
200 de tai khoa luạn tot nghiep nganh tam ly hoc200 de tai khoa luạn tot nghiep nganh tam ly hoc
200 de tai khoa luạn tot nghiep nganh tam ly hoc
 
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểmDanh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
 
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểmDanh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
 
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhấtDanh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
 
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDanh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
 
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểmDanh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
 
danh sach 200 de tai luan van thac si ve rac nhua
danh sach 200 de tai luan van thac si ve rac nhuadanh sach 200 de tai luan van thac si ve rac nhua
danh sach 200 de tai luan van thac si ve rac nhua
 
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay NhấtKinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
 
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểmKho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
 
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại họcKho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
 
Kho 200 đề tài luận văn ngành thương mại điện tử
Kho 200 đề tài luận văn ngành thương mại điện tửKho 200 đề tài luận văn ngành thương mại điện tử
Kho 200 đề tài luận văn ngành thương mại điện tử
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu HọcKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
 
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhấtKho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
 
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểmKho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin HọcKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập KhẩuKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
 
Kho 200 đề tài luận văn thạc sĩ công nghệ sinh học, từ các trường đại học
Kho 200 đề tài luận văn thạc sĩ công nghệ sinh học, từ các trường đại họcKho 200 đề tài luận văn thạc sĩ công nghệ sinh học, từ các trường đại học
Kho 200 đề tài luận văn thạc sĩ công nghệ sinh học, từ các trường đại học
 

Recently uploaded

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Học viện Kstudy
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếngTonH1
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếngTonH1
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 

Recently uploaded (20)

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tế
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 

Đề tài: Thực thi thuật toán MUSIC trên kit DSPTMS320C6713, 9đ

  • 1. Khóa luận tốt nghiệp 2011 i TÓM TẮT NỘI DUNG KHÓA LUẬN Mục tiêu chính của khóa luận là thực thi thuật toán MUSIC trên kit DSP TMS320C6713 của Texas Instrument, với các cấu trúc anten mảng khác nhau nhƣ ULA, UCA... Vì vậy trọng tâm của khóa luận là mô phỏng thuật toán MUSIC với các cấu trúc mảng khác nhau, từ đó tìm các giải thuật để triển khai thuật toán trên kit DSP. Chi tiết khóa luận bao gồm 5 chƣơng: Chƣơng 1: Thực hiện thuật toán MUSIC với các cấu trúc anten mảng ULA, UCA: thực hiện việc mô phỏng thuật toán sử dụng chƣơng trình Matlab, từ đó đánh giá ƣu, nhƣợc điểm của thuật toán với các cấu trúc anten khác nhau. Chƣơng 2: Giới thiệu cơ bản về kit DSP TMS320C6713. Chƣơng này phân tích các đặc điểm của kit, từ đó nêu lý do sử dụng kit để thực thi thuật toán MUSIC. Tiếp đó giới thiệu môi trƣờng giao tiếp với kit là chƣơng trình Code Composer Studio, và nghiên cứu khả năng tích hợp giữa Code Composer Studio và Matlab qua tính năng “Real Time Data Exchange”. Chƣơng 3: Thực thi thuật toán MUSIC trên kit TMS320C6713: nêu lên các công việc thực hiện đƣợc và các kết quả đạt đƣợc trong thực tế. Cuối cùng là phần kết luận và hƣớng phát triển tiếp theo cho khóa luận.
  • 2. Khóa luận tốt nghiệp 2011 ii LỜI CAM ĐOAN Tôi xin cam đoan khóa luận tốt nghiệp: “Thực thi thuật toán MUSIC trên kit DSPTMS320C6713” là công trình nghiên cứu của bản thân. Những phần sử dụng tài liệu tham khảo trong khóa luận đã đƣợc nêu rõ trong phần tài liệu tham khảo. Các số liệu, kết quả trình bày trong khóa luận là hoàn toàn trung thực, nếu sai tôi xin chịu hoàn toàn trách nhiệm và chịu mọi kỷ luật của khoa và nhà trƣờng đề ra. Tác giả khóa luận Nguyễn Đức Anh
  • 3. Khóa luận tốt nghiệp 2011 iii LỜI CẢM ƠN Để có thể hoà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 và giúp đỡ em rất nhiều trong quá trình thực hiện bài khóa luận của mình. Ngoài ra, trong quá trình thực hiện khóa luận em còn nhận đƣợc rất nhiều sự động viên và giúp đỡ từ phía gia đình, ngƣời thân và tập thể các bạn trong lớp. Do đó kết quả cũng nhƣ tính khả dụng của bài luận văn này trong thực tế là lời cảm ơn sâu sắc nhất của em gửi tới mọi ngƣời và là nguồn động lực để em có thể tự tin vào các kiến thức mình đã thu đƣợc sau khi tốt nghiệp.
  • 4. Khóa luận tốt nghiệp 2011 iv MỤC LỤC CHƢƠNG 1 LÝ THUYẾT VÀ MÔ HÌNH THUẬT TOÁN MUSIC .................... 2 1.1 Giới thiệu về thuật toán MUSIC .............................................................. 2 1.2 Thuật toán MUSIC đối với dàn anten ULA............................................... 3 1.2.1 Mô hình dàn anten ULA ................................................................... 3 1.2.2 Tín hiệu thu đƣợc sau khi qua dàn anten ULA .................................... 3 1.2.3 Thuật toán MUSIC với dàn anten ULA.............................................. 5 1.2.4 Mô phỏng thuật toán MUSIC với dàn anten ULA trên Matlab.............. 8 1.3 Thuật toán MUSIC đối với 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 khi 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ô phỏng thuật toán MUSIC với dàn anten UCA............................. 11 CHƢƠNG 2 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 về 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 năng Real Time Data Exchange. 18 CHƢƠNG 3 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 trên kit.................................................................... 26 3.3.1 Mô tả quá trình .............................................................................. 27 3.3.2 Phân vùng bộ nhớ của kit cho dữ liệu và chƣơng trình....................... 28 3.3.3 Kết quả thực thi thuật toán:............................................................. 30
  • 5. Khóa luận tốt nghiệp 2011 v DANH MỤC CÁC CHỮ VIẾT TẮT Thuật ngữ Tiếng anh Tiếng Việt DOA 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 Parameters via Rotational Invariance Techniques Phƣơng pháp đánh giá các thông số 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 trên nhiễu ULA Uniform Linear Array Hệ anten sắp xếp theo đƣờng thẳng UCA Uniform Circular Array Hệ anten sắp 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 dữ 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
  • 6. Khóa luận tốt nghiệp 2011 vi DANH MỤC BẢNG BIỂU Bảng 1: Lịch sử phát triển của thuật toán tìm hƣớng sóng đến .................................. 2 Bảng 3: Thông số mô phỏng dàn anten................................................................. 12 Bảng 4: Các dạng file sử dụng trong CCS............................................................. 17 Bảng 5: Các lệnh cơ bản trong thƣ viện RTDX.h để liên kết CCS→Matlab............. 19 Bảng 6: Các lệnh cơ bản của toolbox để liên kết Matlab → CCS............................ 20 Bảng 7: So sánh thuật toán MUSIC trên ngôn ngữ Matlab và 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
  • 7. Khóa luận tốt nghiệp 2011 vii DANH MỤC HÌNH VẼ Hình 1: Mô hình cấu trúc anten ULA ..................................................................... 3 Hình 2: Lƣu đồ thuật toán MUSIC ......................................................................... 5 Hình 3: Dạng phân bố các giá trị riêng của ma trận tƣơng quan ................................ 7 Hình 5: Hệ anten ULA trong trƣờng hợp hai tín hiệu đối xứng ................................. 9 Hình 6: Mô hình cấu trúc anten UCA................................................................... 10 Hình 7:Kết quả mô phỏng hệ anten UCA.............................................................. 12 Hình 8: Kit TMS320C6713................................................................................. 14 Hình 9: Sơ đồ khối kit TMS320C6713................................................................. 15 Hình 10: Sơ đồ và địa chỉ vùng nhớ L2 của 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 giữa kit và 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 toán ................................................................. 21 Hình 16: Lƣu đồ thuật toán Jacobi ....................................................................... 26 Hình 17: Quá trình thực thi thuật toán MUSIC trên 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 quả thực thi thuật toán và mô phỏng trên 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 quả thực thi thuật toán và mô phỏngtrên dàn anten UCA......... 32 Hình 22: Số nhịp CPU của chip chạy đến khi kết thúc nhận dữ liệu......................... 33 Hình 23: Số nhịp CPU của chip chạy đến khi bắt đầu gửi dữ liệu............................ 33
  • 8. Khóa luận tốt nghiệp 2011 1 MỞ ĐẦU Anten thông minh là một công nghệ mới đƣợc quan tâm nhiều trong thời gian gần đây với các ƣ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 của hệ thống...[1]. Nói một 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 bộ xử lý tín hiệu để có thể thay đổi búp sóng một cách tự động. Các cấu trúc anten mảng phổ biến là cấu trúc dạng đƣờng thẳng cách đều (ULA), cấu trúc dạng chữ nhật cách đều (URA) hay cấu trúc dạng đƣờng tròn cách đều (UCA). Trong các cấu trúc anten thông minh, việc xử lý tín hiệu đƣợc thực thi bằng cách thay đổi các trọng số tại mỗi phần tử anten theo một tham số tối ƣu xác định. Việc xác định sơ bộ hƣớng sóng đến (DOA) là một trong số các trọng số này. MUSIC là một trong những thuật toán xác định DOA với nhiều ƣu điểm nhƣ độ chính xác cao, khả năng áp dụng với nhiều cấu trúc anten mảng. Vì vậy thuật toán MUSIC đang ngày càng phát triển và đƣợc ứng dụng rộng rãi trong các 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ữ và xử lý các tín hiệu thu thập từ anten trong thực tế, thuật toán MUSIC đƣợc thực thi trên các bộ xử lý số DSP. Các bộ xử lý số DSP đƣợc lựa chọn bởi khả năng xử lý tín hiệu số rất mạnh cùng khả năng tái lập trình đơn giản. Khóa luận tốt nghiệp thực hiện việc thƣc thi thuật toán MUSIC trên 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.
  • 9. Khóa luận tốt nghiệp Chƣơng 3 2 CHƢƠNG 1 LÝ THUYẾT VÀ MÔ HÌNH THUẬT TOÁN MUSIC 1.1 Giới thiệu về thuật toán MUSIC MUSIC là một thuật toán xác định hƣớng sóng tới (DOA-Direction Of Arrival) dựa vào những tín hiệu thu thập đƣợc từ mảng anten. Trên thế giới việc nghiên cứu phƣơng pháp tìm hƣớng sóng bắt đầu từ những năm 70 của thế kỷ trƣớc, và rất nhiều thuật toán đƣợc tìm ra và tiếp tục đƣợc nghiên cứu phát triển đến tận bây giờ. Lịch sử phát triển các thuật toán có thể đƣợc trình bày tóm tắt qua bảng sau [5]: Bảng 1: Lịch sử phát triển của thuật toán tìm hướng sóng đến Năm tìm ra Tên thuật toá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 có thể thấy: các phƣơng pháp tìm hƣớng sóng đến hiện nay cơ bản dựa trên 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) và phƣơng pháp đánh giá các 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 ra đời sau nên tốc độ thực hiện nhanh hơn MUSIC, tuy nhiên MUSIC lại có ƣu điểm là đơn giản, linh hoạt hơn trong việc áp dụng cho các cấu trúc anten khác nhau nên đƣợc nghiên cứu và ứng dụng thực tế nhiều hơn. Đƣợc tìm ra bởi những nghiên cứu độc lập của Schmidt (1977) và Bienvenu (1979), thuật toán này có thể xác định số lƣợng tín hiệu đến anten cũng nhƣ hƣớng của các tín hiệu đó, chỉ dựa trên vectơ tín hiệu đầu vào.
  • 10. Khóa luận tốt nghiệp Chƣơng 3 3 1.2 Thuật toán MUSIC đối với 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 là loại anten mảng đơn giản nhất. Dạng hình học của dàn anten này đƣợc biểu diễn qua hình vẽ sau: …0 Y X d 1 2 M-1 θ Hình 1: Mô hình cấu trúc anten ULA Cấu trúc của dàn anten ULA bao gồm M chấn tử đặt song song trên cùng một trục thẳng với cùng khoảng cách d. Mỗi phần tử trong hệ anten đóng vai trò là một nguồn đẳng hƣớng. Các chấn tử này hoạt động cùng pha với nhau tạo nên một hƣớng bức xạ duy nhất và để cho tín hiệu tới bộ xử lí giữ nguyên đƣợc pha và biên độ so với tín hiệu tới hệ anten. 1.2.2 Tín hiệu thu được sau khi qua dàn anten ULA Nhƣ vậy, với một nguồn sóng đến, tín hiệu nhận đƣợc tại phần tử 0 (phần tử tham chiếu) đƣợc biểu diễn dƣới dạng: 0 ( ) ( ) os(2 ( ) )cu t a t c f t t      (1.1) với: a(t): biên độ của tín hiệu fc : tần số sóng mang  t : thành phần mang tin  : pha của tín hiệu. Giả sử rằng khoảng cách từ anten tới nguồn tín hiệu r >> d. Do vậy tia sóng ở
  • 11. Khóa luận tốt nghiệp Chƣơng 3 4 phần tử thứ i sẽ song song với tia sóng ở phần tử tham chiếu, nhƣng bị trễ đi 1 khoảng thời gian truyền dẫn: t i   (1.2) với τ là thời gian trễ truyền dẫn giữa hai phần tử kế tiếp. Trong dàn anten ULA, τ có giá trị bằng: cos( )d c     (1.3) Ở đây θ: góc tới của tia sóng xuất phát từ nguồn c: vận tốc truyền ánh sáng 8 3.10c  m/s Từ công thức (1.1), (1.2), (1.3) ta có tín hiệu nhận đƣợc ở phần tử anten thứ nhất: 1( ) ( )cos(2 2 ( ) )c cu t a t f t f t        (1.4) Sử dụng đồng nhất thức Euler, đồng thời loại bỏ thành phần sóng mang của tín hiệu ta có dạng tín hiệu xét ở phần tử thứ nhất là: cos ( 2 ( ) ) 1 ( cos ( ) ) ( ) ( ) ( ) c d j f t c j d t u t a t e a t e              (1.5) với: 2      gọi là hệ số truyền sóng Do đó với phần tử thứ k của hệ ta có dạng tín hiệu nhận đƣợc:  cos ( ) ( ) ( ) j kd t ku t a t e      (1.6) So sánh với dạng tín hiệu nhận đƣợc ở phần tử tham chiếu: ( ( ) ) 0( ) ( ) ( ) j t s t u t a t e     (1.7) Ta đƣợc dạng rút gọn của tín hiệu nhận đƣợc tại phần tử thứ k: cos ( ) ( ) j kd ku t s t e    (1.8) Tổng quát với D nguồn tín hiệu độc lập đến dàn anten, tín hiệu lấy mẫu tại phần tử anten thứ k lúc này sẽ là: cos 1 ( ) ( ) ( )i D j kd k i k i u nT s nT e n nT      (1.9)
  • 12. Khóa luận tốt nghiệp Chƣơng 3 5 Trong đó: ( )ku nT là mẫu tín hiệu thu đƣợc tại phần tử thứ k tại thời điểm n. ( )is nT là mẫu tín hiệu tới dàn anten (mẫu tín hiệu thu đƣợc tại phần tử tham chiếu) tại thời điểm n. ( )kn nT là mẫu tín hiệu nhiễu tại phần tử thứ k tại thời điểm n. Do vậy ta có biểu diễn tổng quát của cả hệ nhƣ sau: 0 1 1 1 ( ) ( ) ( ) ( ) ( ) ( ) ... ( ) D i i i M u t u t u t A s t n t u t                   (1.10) Ở đây: ( )A  đƣợc gọi là vectơ lái của dàn anten.     cos 1 cos 1 ... j d j M d e A e                      (1.11) ( )is t là các tín hiệu tới dàn anten với 1i D  ( )n t là tín hiệu nhiễu M chiều. Công thức thu gọn của (1.10): U A S N   (1.12) Đây cũng là công thức thể hiện tín hiệu thu nhận đƣợc sau khi qua dàn anten. 1.2.3 Thuật toán MUSIC với dàn anten ULA Thuật toán MUSIC thực hiện việc tìm hƣớng sóng tới DOA dựa trên các mẫu thu thập đƣợc từ anten [6]. Thuật toán gồm 4 bƣớc chính, đƣợc thể hiện qua lƣu đồ sau: Tìm ma trận hiệp phương sai Tính giá trị riêng, vector riêng Tính phổ không gian Kết luận hướng sóng tới của mỗi nguồn Phân chia tín hiện-nhiễu Tín hiệu từ hệ anten Thuật toán MUSIC Hình 2: Lưu đồ thuật toán MUSIC
  • 13. Khóa luận tốt nghiệp Chƣơng 3 6 Nội dung của từng bƣớc: 1. Tìm ma trận hiệp phương sai của các mẫu tín hiệu thu được Giả thiết các nguồn tín hiệu tới hệ anten không tƣơng quan với ồn, nghĩa là:     0k lE s t n t    ∀k (1.13) Khi đó ma trận hiệp biến tín hiệu lối vào sẽ là: H H H H UUR E UU AE SS A E NN             (1.14) Vì:     2 0 k l noise l k E n t n t l k       (1.15) Nên (1.14) trở thành: 2H H UU SS noiseR E UU AR A I     (1.16) Trong đó: RSS là ma trận tƣơng quan của các nguồn tín hiệu ban đầu. Giả thiết các nguồn tín hiệu không tƣơng quan với nhau, ta có đẳng thức:     0 SS k l i l k R E s t s t p l k        (1.17) với pi là công suất của tín hiệu thứ i. 2. Tính giá trị riêng, vectơ riêng của ma trận hiệp phương sai Nếu gọi { 0 1 1, , , N    } là các giá trị riêng của ma trận tự tƣơng quan Ruu thì: UUR 0i I  (1.18) Phƣơng trình (1.10) có thể viết lại thành:  2 2 0H H SS noise i SS noise iAR A I I AR A I         (1.19) Do đó  2 n i  chính là các giá trị riêng của ma trận ARSSAH . Do ma trận ARSSAH là đối xứng, các phần tử là các số phức dƣơng, nên các giá trị riêng của nó là thực và dƣơng. Vì trong không gian tín hiệu chỉ có D nguồn sóng nên chỉ có D giá trị riêng tƣơng ứng với nguồn, N – D giá trị riêng còn lại của ma trận tƣơng ứng với nhiễu sẽ
  • 14. Khóa luận tốt nghiệp Chƣơng 3 7 bằng không. Trên thực tế, do ảnh hƣởng của nhiễu nên khó xác định N – D giá trị riêng ứng với nhiễu. Tuy nhiên, khi xem xét giá trị riêng của ma trận ARSSAH ta thấy rằng có thể phân N giá trị này thành hai không gian con [3]: - D giá trị riêng đầu tiên hợp thành không gian con tín hiệu, đƣợc sắp xếp theo thứ tự giảm dần: 1 2 ... D     (1.20) - N – D giá trị riêng còn lại hợp thành không gian con tƣơng ứng với nhiễu, có cùng mức: 2 1 1, , ,D D N n      (1.21) Sự phân bố các giá trị riêng của ma trận hiệp phƣơng sai đƣợc thể hiện ở hình dƣới: Hình 3: Dạng phân bố các giá trị riêng của ma trận tương quan 3. Từ các giá trị riêng tìm được, phân tách không gian tín hiệu và không gian nhiễu Phƣơng pháp xử lý ở đây là đƣa ra tìm giới hạn 2 'n > 2 n sao cho từ tập N giá tri riêng có một số K các giá trị riêng nhỏ nhất và số tín hiệu tới hệ anten sẽ là: D’ N – K (1.22) Ứng với mỗi giá trị riêng sẽ tìm đƣợc một vectơ qi (i= D…N-1) thỏa mãn:   0UU i iR I q  (1.23) Từ (1.16), (1.21) và (1.23) ta có: 2 'n 22D 'D1 2... 1D  Không gian con tín hiệu Không gian con ứng với nhiễu
  • 15. Khóa luận tốt nghiệp Chƣơng 3 8  2 2 2 SSR 0H UU n i i n nR I q A A q I I       (1.24) Suy ra: 0H SS iAR A q  (1.25) Trong điều kiện tích ARSS ≠ 0 (*) (A là ma trận đủ hạng và RSS không phải là ma trận kì dị ) thì: H A 0iq  (1.26) Hay:       0 1 1 0 0 ...... 0 H i H i H M i a q a q a q                             (1.27) Điều này có nghĩa là các vectơ riêng của ARSSAH cũng đƣợc chia thành hai không gian: các vectơ riêng ứng với tín hiệu thì cùng phƣơng với các vectơ lái, còn những vectơ riêng còn lại tƣơng ứng với nhiễu thì trực giao với vectơ hƣớng sóng đến, hay:       0 1 1,..., ,...,D D Ma a q q    (1.28) 4. Tính phổ không gian Thuật toán MUSIC tính phổ không gian của tín hiệu theo công thức:           H H H n n a a P a V V a       (1.29) với  1,...,n D MV q q  là các vectơ riêng của không gian nhiễu. Khi thay đổi góc  trùng với góc tới hệ anten của tín hiệu, do các vectơ lái luôn trực giao với các vectơ riêng của không gian nhiễu nên mẫu số của (1.25) sẽ tiến tới không và phổ không gian của tín hiệu sẽ đạt cực đại. Nhƣ vậy, các điểm cực đại trên đồ thị biểu diễn  P  cho phép ta xác định đƣợc hƣớng sóng tới. 1.2.4 Mô phỏng thuật toán MUSIC với dàn anten ULA trên Matlab - Mô hình hệ mô phỏng
  • 16. Khóa luận tốt nghiệp Chƣơng 3 9 Thuật toán đƣợc mô phỏng với dàn anten ULA với các thông số của nguồn cũng nhƣ của hệ anten đƣợc cho trong bảng: Nhận xét: Kết quả mô phỏng thuật toán MUSIC với hệ anten ULA xác định đƣợc 8 nguồn sóng tới tại các góc lần lƣợt là [200 , 400 , 600 , 800 , 2800 , 3000 , 3200 , 3400 ]. So với thông số các nguồn sóng đến đƣợc mô phỏng, kết quả mô phỏng thuật toán cho ta giá trị chính xác 4 góc tới là [200 , 400 , 600 , 800 ]. Ngoài ra trong phổ không gian còn xuất hiện thêm 4 góc tới khác ở các hƣớng [2800 , 3000 , 3200 , 3400 ]. Nguyên nhân của hiện tƣợng này là do phƣơng trình biểu diễn vectơ lái hay do cấu trúc hình học của hệ anten. Từ công thức tính vectơ lái của mảng anten (1.8) ta có: cos( ) ( ) ij d iA e      (1.30) Trong cấu trúc dàn anten ULA, vì: cos( ) cos( )i i i     (1.31) nên ( ) ( )i iA A   (1.32) Lại do cấu trúc dàn anten ULA có các phần tử sắp xếp cách đều theo đƣờng thẳng nên vectơ lái của mảng với các góc θ và (–θ) là nhƣ nhau, dẫn đến kết quả phổ không gian đánh giá DOA ở góc θ cũng giống với góc (–θ). Vấn đề này đƣợc thể hiện rõ ràng hơn ở hình sau: Y X1 2 θ S2 S1 -θ Hình 4: Hệ anten ULA trong trường hợp hai tín hiệu đối xứng
  • 17. Khóa luận tốt nghiệp Chƣơng 3 10 Ví dụ nhƣ ở hình trên, hệ anten không thể nhận ra đƣợc nguồn âm ở phía trên hay phía dƣới của hệ. Điều này dẫn đến việc, khi xây dựng một hệ ULA cần phải thiết kế vị trí đặt hệ thích hợp để có thể che khuất nửa mặt phẳng mà hệ không phân biệt đƣợc, hoặc phải kết hợp các hệ ULA lại sao cho có thể tìm đƣợc vị trí tín hiệu cần nhận biết. 1.3 Thuật toán MUSIC đối với dàn anten UCA 1.3.1 Mô hình dàn anten UCA Khác với cấu trúc anten ULA, cấu trúc anten sắp xếp theo đƣờng tròn cách đều UCA đƣợc nghiên cứu từ lâu, nhƣng phải tới những năm 1960 khi mà khái niệm về sự kích thích chế độ pha bắt đầu phát triển thì các nghiên cứu về hệ anten này mới đạt đƣợc những thành tựu đột phá [4]. Mô hình dàn anten UCA đƣợc thể hiện ở hình dƣới: X 2π /N R 0 2 N 13 m Hình 5: Mô hình cấu trúc anten UCA Cấu tạo của dàn anten gồm N phần tử anten đặt trong không gian thành hình tròn có bán kính R = Nmλ/2π trong mặt phẳng XY, trong đó m là độ dài cung giữa hai phần tử kề nhau, bƣớc sóng λ. 1.3.2 Tín hiệu thu được sau khi qua dàn anten ULA So với hệ anten mảng thẳng ULA, hệ anten mảng tròn chỉ khác cách bố trí anten trong không gian. Do vậy dạng tín hiệu nhận đƣợc tại mỗi anten riêng lẻ cũng nhƣ cấu trúc tín hiệu ở đầu vảo hệ anten là giống nhau, chỉ khác biệt ở thành phần
  • 18. Khóa luận tốt nghiệp Chƣơng 3 11 vectơ lái: Vectơ lái của dàn anten ULA:     cos 1 cos 1 ... i i j d i ULA j M d e A e                      (1.33) Đối với dàn anten UCA, phân tích tƣơng tự nhƣ với dàn anten ULA ta cũng có đƣợc vectơ lái của dàn là: 1 2 cos( ) cos( ) cos( ) 1 ( ) i i i N j R j R i UCA j R e A e e                           (1.34) Và dạng tín hiệu đầu vảo của dàn anten UCA là: 0 1 1 1 ( ) ( ) ( ) ( ) ( ) ( ) ... ( ) D i i i M u t u t u t A s t n t u t                   (1.35) 1.3.3 Thuật toán MUSIC với dàn anten UCA Thuật toán MUSIC trong dàn anten UCA cũng được áp dụng giống như trong dàn anten ULA. 1.3.4 Mô phỏng thuật toán MUSIC với dàn anten UCA Nhằm so sánh, đánh giá hiệu quả thuật toán MUSIC với các cấu trúc dàn anten ULA và UCA, việc mô phỏng đƣợc thực hiện với cùng thông số về môi trƣờng và nguồn sóng với dàn anten ULA. - Mô hình hệ mô phỏng
  • 19. Khóa luận tốt nghiệp Chƣơng 3 12 Bảng 2: Thông số mô phỏng dàn anten STT Các thông số của nguồn Các thông số của hệ anten 1 Số nguồn tín hiệu: 4 Số phần tử anten: 8 2 Góc tới của các nguồn tín hiệu: [20o 40o 60o 80o ] Độ dài cung tròn: m= λ/2 (m) 3 Tỷ số SNR: 25 dB - Kết quả mô phỏng 0 60 120 180 240 300 360 0 5 10 15 20 25 X: 40 Y: 21.69 MUSIC UCA DOA - degree RelativeSpaceSpectrum-dB X: 60 Y: 21.73 X: 20 Y: 20.56 X: 80 Y: 19.43 Hình 6:Kết quả mô phỏng hệ anten UCA Nhận xét: kết quả mô phỏng hệ anten UCA thể hiện 4 đỉnh (với hệ ULA là 8 đỉnh) tƣơng ứng với 4 nguồn sóng tới. Có thể phân biệt dễ dàng các đỉnh. Nhƣ vậy dàn anten UCA đã khắc phục nhƣợc điểm của hệ ULA: phổ không gian thu đƣợc không xuất hiện các đỉnh phụ.
  • 20. Khóa luận tốt nghiệp Chƣơng 3 13 CHƢƠNG 2 TỔNG QUAN VỀ KIT DSP TMS320C6713 2.1 Lựa chọn phần cứng Hiện nay có nhiều giải pháp xử lý tín hiệu số cho các anten thông minh, mà nổi bật nhất là sử dụng chip xử lý tín hiệu số - Digital Signal Processor (DSP) hoặc dùng các vi mạch mảng phần tử logic khả trình (FPGA), FPGA là vi mạch thuộc họ vi mạch tích hợp chuyên dụng (ASIC) lập trình đƣợc, sử dụng các ngôn ngữ đặc tả phần cứng để thiết kế những cấu trúc đƣợc tối ƣu hóa cho những ứng dụng cụ thể. Ƣu việt của FPGA là không thể bàn cãi, đặc biệt là khả năng xử lý nhiều tập lệnh cùng lúc cho tốc độ cao, và khả năng tiêu thụ ít điện năng hơn chip DSP. Tuy nhiên việc thực thi thuật toán trên kit DSP cũng có những đặc điểm nổi bật: - DSP có khả năng thực hiện đa tác vụ từ điều khiển đến xử lý tín hiệu, với giá thành rẻ hơn so với FPGA. - Để đạt đƣợc hiệu suất tối đa cho FPGA cần nhiều thời gian và kiến thức để tối ƣu, trong khi đó tốc độ xử lý của kit DSP chỉ phụ thuộc chủ yếu vào xung nhịp của chip, do đó có thể đạt đƣợc hiệu suất cao hơn trong thời gian ngắn - DSP sử dụng ngôn ngữ lập trình C, ASM tƣơng đối phổ dụng, không đòi hỏi hiểu biết ngôn ngữ mô phỏng phần cứng nhƣ FPGA, khi cần thay đổi, lập trình lại, chip DSP cũng tỏ ra mềm dẻo hơn do chỉ cần chỉnh sửa code, trong khi đó với FPGA gặp khó khăn hơn do phải tái cấu trúc lại các cổng logic. Dựa trên những phân tích trên, cùng với thực tế quá trình làm khóa luận trong thời gian ngắn, tập trung vào mục tiêu nghiên cứu, không đòi hỏi tối ƣu điện năng tiêu thụ, ta chọn giải pháp thực thi trên chip DSP, cụ thể là kit DSP TMS320C6713của Texas Instrument. 2.2 Giới thiệu chung về kit Kit TMS320C6713 DSP là giải pháp tất cả trong một cho việc lập trình trên nền DSP, cụ thể ở đây là lập trình trên chip TMS320C6713 của Texas Instrument. Các thành phần của kit bao gồm: bảng mạch sử dụng thiết kế chuẩn cho chip C6713 của TI, đĩa phần mềm chứa driver và phần mềm Code Composer Studio (CCS) để lập trình và giao tiếp với chip DSP, ngoài ra còn có sách giới thiệu, cáp USB và một adapter dùng để cấp nguồn 5V cho mạch. Hình ảnh tổng quan về các thành phần này đƣợc thể hiện ở hình dƣới:
  • 21. Khóa luận tốt nghiệp Chƣơng 3 14 Hình 7: Kit TMS320C6713 Trong chương này sẽ đề cập đến tính năng và vai trò của hai thành phần quan trọng nhất trong kit: bảng mạch và phần mềm CCS, ngoài ra chương này cũng đề cập đến việc tích hợp giữa CCS và môi trường Matlab thông qua tính năng Real Time Data Exchange. 2.3 Bảng mạch DSP Bảng mạch DSP của kit có thể coi nhƣ 1 hệ thống DSP hoàn chỉnh cho việc xử lý tín hiệu. Nó có tất cả các cổng kết nối để giao tiếp với máy tính qua cáp USB, khối ADC với 4 đƣờng vào ra để nhận tín hiệu từ bên ngoài cũng nhƣ xuất tín hiệu ra. Ngoài ra trên board còn có khối JTAG giúp ta phân tích chƣơng trình, sửa lỗi thời gian thực. Các yêu cầu phần cứng cao hơn cũng có thể đƣợc đáp ứng với các khe cắm mở rộng đƣợc thiết kế sẵn trên bảng mạch. Sơ đồ cấu tạo của bảng mạch đƣợc miêu tả ở hình vẽ dƣới:
  • 22. Khóa luận tốt nghiệp Chƣơng 3 15 Hình 8: Sơ đồ khối kit TMS320C6713 Cụ thể cấu tạo của bảng mạch gồm các thành phần sau: - Trung tâm của bảng mạch là chip xử lý tín hiệu TMS320C6713, chạy ở xung nhịp 225 MHz. TMS320 là tên chung cho một loạt các bộ xử lý số đến từ Texas Instrument. Nằm trong dòng chip TMS320C6x của TI, đây là dòng vi xử lý tốc độ cao, sử dụng kiến trúc đặc biệt để đáp ứng các tác vụ xử lý tín hiệu. Dựa trên kiến trúc VLIW (Very Long Instruction Word), TMS320C6713 có khả năng xử lý các số thực dấu phẩy động. và đƣợc coi là dòng chip xử lý tín hiệu mạnh nhất của TI hiện nay. - Bộ biến đổi tín hiệu AIC23 sử dụng công nghệ sigma delta, đóng vai trò biến đổi tƣơng tự - số và ngƣợc lại. Tần số lấy mẫu có thể thay đổi từ 8 đến 96 kHz. - Bốn cổng kết nối tín hiệu vào ra: MIC IN, LINE IN, LINE OUT, và HEADPHONE. - Bốn đèn LED và công tắc DIPS. Các đèn và khóa có thể cấu hình điều khiển theo nhu cầu của ngƣời sử dụng. - Cổng USB để giao tiếp với PC. Trên cổng cũng đƣợc thiết kế bộ JTAG nhúng giúp ta có thể sửa lỗi chƣơng trình chạy trên chip mà không cần nối JTAG ngoài. - Cổng PWR (+5V) cung cấp nguồn cho board. Cổng này cung cấp điện thế 1,26 V cho chip C6713 và 3,3 V để nuôi bộ nhớ và các thiết bị ngoại vi khác.
  • 23. Khóa luận tốt nghiệp Chƣơng 3 16 - Bộ nhớ trong: trên mạch có 264 kB bộ nhớ trong. Dƣới đây là sơ đồ phân vùng và địa chỉ bộ nhớ trong của kit [9] Hình 9: Sơ đồ và địa chỉ vùng nhớ L2 của kit - Bộ nhớ ngoài: kit DSP có sẵn 16 Mb bộ nhớ ngoài. Các bộ nhớ ngoài này đều là các bộ nhớ truy cập ngẫu nhiên (RAM). Ngoài ra kit cũng có thể bổ sung bộ nhớ ngoài qua khe cắm mở rộng. Với chiều dài thanh ghi là 32 bit, kit có thể quản lý 4 GB bộ nhớ ngoài. Có thể thấy rằng tuy xung nhịp không cao nhƣng kit TMS320C6713 có dung lƣợng bộ nhớ lƣu trữ lớn, khả năng xử lý dấu phẩy động, có sẵn JTAG nhúng thuận tiện cho debug và tính năng xử lý thời gian thực RTDX, hoàn toàn thích hợp để thực thi thuật toán MUSIC trên kit. 2.4 Code Composer Studio Để giao tiếp giữa bộ xử lý số và PC, TI có cung cấp cho ta công cụ là Code Composer Studio (CCS). CCS đƣợc xây dựng trên nền tảng Eclipse, là một môi trƣờng phát triển tích hợp (IDE) khá tốt. Sử dụng CCS, ta có thể thiết kế, chỉnh sửa, sửa lỗi trong code và biên dich code. CCS còn cung cấp tính năng phân tích code thời gian thực, từ đó có thể tối ƣu phần cứng, phần mềm để thực hiện hệ thống thời gian thực.
  • 24. Khóa luận tốt nghiệp Chƣơng 3 17 Hình 10: Giao diện chương trình Code Composer Studio Trong CCS có nhiều dạng file với nhiều mục đích khác nhau. Bảng dƣới đây giới thiệu một số dạng file và vai trò của nó [7]: Bảng 3: Các dạng file sử dụng trong CCS STT Dạng file Vai trò 1 file.pjt Tập tin đƣợc tạo khi xây dựng 1 project để quản lý file và thông tin của project 2 file.c Các tập tin chứa code C, phần thuật toán chính của chƣơng trình 3 file.asm Các tập tin chứa mã hợp ngữ đƣợc tạo ra bởi trình biên dịch C, hoặc do ngƣời sử dụng 4 file.h Các tập tin tiêu đề hỗ trợ cho project, có thể sử dụng để chứa hàm hoặc dữ liệu 5 file.lib Các thƣ viện hỗ trợ khởi tạo Chip, mạch, ADC và các thiết bị ngoại vi trên bảng mạch 6 file.cmd Các tập tin liên kết giúp phân hoạch các vùng chƣơng trình và dữ liệu vào bộ nhớ 7 file.out Tập tin khả thi, đƣợc tạo bởi CMD file để có thể nạp vào kit 8 file.cdb Tập tin cấu hình, sử dụng khi dùng tính năng DSP/BIOS
  • 25. Khóa luận tốt nghiệp Chƣơng 3 18 2.5 Tích hợp CCS với Matlab thông qua tính năng Real Time Data Exchange Để tích hợp môi trƣờng Code Composer Studio với môi trƣờng Matlab nhằm trao đổi dữ liệu một cách liền mạch giữa kit và PC, ta có thể sử dụng tính năng RTDX. Tính năng này cho phép trao đổi tín hiệu giữa máy chủ PC và các thiết bị DSP mà không cần dừng các ứng dụng điều khiển. Mô hình giao tiếp giữa kit và máy tính đƣợc thể hiện ở hình dƣới đây [8]: Hình 11: Mô hình giao tiếp giữa kit và PC thông qua RTDX Tính năng RTDX bao gồm các thành phần nằm trên cả máy tính và kit DSP. Nó cho phép dữ liệu đƣợc truyền trong các kênh vào ra riêng biệt, do đó giảm thiểu sự mất mát do xung đột dữ liệu. Khi sử dụng RTDX với môi trƣờng lập trình khác CCS (Matlab, Visual C), ta có thể kết nối với kit DSP, điều khiển kit mà không cần qua CCS, do vậy không cần truy cập vào CCS để khởi tạo và chạy chƣơng trình. Việc sử dụng cũng đơn giản hơn khi ta có thể lập trình giao diện ở môi trƣờng khác, rồi kết nối với CCS. RTDX kết nối với Matlab thông qua toolbox “The Embedded Target for TI C6000 DSP” và “MATLAB Link for CCS”. Quá trình kết nối đƣợc chia thành hai phần: - Liên kết từ kit đến máy tính - Liên kết từ máy tính đến kit
  • 26. Khóa luận tốt nghiệp Chƣơng 3 19 Trong quá trình liên kết từ kit đến máy tính, trƣớc tiên 1 kênh truyền đƣợc kit khởi tạo, sử dụng các hàm API của RTDX để chuyển dữ liệu qua kênh truyền này đến bộ nhớ đệm tạo bởi thƣ viện RTDX. Sau đó dữ liệu đƣợc gửi tới máy tính qua giao diện JTAG. Dữ liệu đƣợc thu thập tại máy tính, sau đó đƣợc ghi vào bộ nhớ đệm của phần mềm máy tính, hoặc ghi ra log file. Quá trình này diễn ra liên tục, tự động mà không cần phải dừng xử lý trên chip. Sơ đồ biểu diễn quá trình đƣợc thể hiện qua hình dƣới. Hình 12: Quá trình liên kết từ kit đến máy tính Để kết nối với RTDX, trong CCS ta cần khai báo thƣ viện RTDX.h. Các lệnh cơ bản để thiết lập liên kết và kênh truyền từ kit đến Matlab: Bảng 4: Các lệnh cơ bản trong thư viện RTDX.h để liên kết CCS→Matlab Lệnh Tác dụng RTDX_CreateInputChannel() Tạo kênh truyền từ Kit đến máy tính. Tên kênh truyền phải định nghĩa giống trên Matlab RTDX_CreateOutputChannel() Tạo kênh truyền từ Kit đến PC RTDX_read Đọc dữ liệu từ kênh truyền RTDX_write Gửi dữ liệu đến kênh truyền Để có thể liên kết và truyền dữ liệu từ máy tính đến kit, trƣớc tiên ta phải định nghĩa một kênh nhận dữ liệu ở kit (xem bảng 6). Tiếp đó, khi kit yêu cầu dữ liệu từ kênh nhận, toàn bộ dữ liệu sẽ đƣợc gửi sang bộ nhớ đệm trên kit, sau đó đƣợc ghi vào từng vùng nhớ xác định. Sau khi truyền hết dữ liệu, máy tính sẽ thông báo cho RTDX để đóng kênh truyền. Quá trình này giao tiếp từ máy tính đến kit đƣợc mô tả ở hình
  • 27. Khóa luận tốt nghiệp Chƣơng 3 20 dƣới: Hình 13: Quá trình liên kết từ máy tính đến kit Các lệnh cơ bản để tạo liên kết từ Matlab tới kit, khởi chạy chƣơng trình, tạo các kênh truyền đƣợc mô tả trong bảng sau [7]: Bảng 5: Các lệnh cơ bản của toolbox để liên kết Matlab → CCS Lệnh Tác dụng ccsboardinfo Lấy thông tin về bảng mạch và chip chuẩn bị kết nối cc = ccsdsp('boardnum',0) Tạo liên kết đến CCS cc.rtdx.configure(num1,num2) Tạo bộ đệm có kích cỡ num1 byte cho num2 kênh truyền cc.rtdx.open('name','sign') Tạo các kênh truyền dùng để đọc (sign='r') dữ liệu từ Kit hoặc viết (sign='w') chuyển dữ liệu ngƣợc lại. Tên kênh truyền (trƣờng name) có thể đặt tùy ý cc.rtdx.enable Kích hoạt kênh truyền cc.rtdx.set('timeout', num) Đặt lại thời gian đợi việc truyền dữ liệu. Tùy vào kích cỡ và loại dữ liệu mà thời gian này phải đặt hợp lý
  • 28. Khóa luận tốt nghiệp Chƣơng 3 21 CHƢƠNG 3 THỰC THI THUẬT TOÁN MUSIC TRÊN KIT TMS320C6713 Ngày nay với sự phát triển không ngừng của các phần mềm mô phỏng nhƣ Matlab, chúng ta có khả năng thiết kế thuật toán chỉ dựa vào các công cụ Simulink, sau đó sử dụng các toolbox nhƣ Real-Time Workshop để sinh ra code C, từ đó đƣa vào kit để thực hiện. Tuy nhiên code đƣợc tạo ra có dung lƣợng lớn và khó để tùy biến tối ƣu về sau. Vì vậy em lựa chọn giải pháp tự thiết kế thuật toán trên C, sau đó chuyển code vào môi trƣờng CCS để biên dịch thành chƣơng trình chạy cho kit DSP. Các bƣớc xây dựng thuật toán trên nền tảng DSP bao gồm 4 bƣớc đƣợc mô tả bởi lƣu đồ dƣới đây: Thiết kế thuật toán Lập trình thuật toán Thực thi thuật toán trên Kit Phân tích, sửa lỗi, tối ƣu Hình 14: Mô hình xây dựng thuật toán 3.1 Thiết kế thuật toán Cụ thể về thuật toán MUSIC đã đƣơc nghiên cứu ở chƣơng đầu. Tuy nhiên khi nhúng vào DSP, ta phải làm sao cho chƣơng trình không quá nặng nề với chip DSP, bảo đảm chƣơng trình vẫn cho ra kết quả khá chính xác với tốc độ nhanh nhất. Sau đó ta có thể mô phỏng thuật toán trên Matlab để kiểm tra tính đúng đắn của thuật toán, trƣớc khi áp dụng vào kit DSP. 3.2 Lập trình thuật toán Sau khi đã có một giải thuật đúng đắn, đã đƣợc kiểm chứng bằng Matlab, ở bƣớc này ta tiến hành chuyển đổi các dòng code Matlab sang code C. Tuy nhiên do Matlab đƣợc xây dựng dựa trên hai thƣ viện EISPACK và LINPACK [10], vốn rất mạnh về xử lý các phƣơng trình tuyến tính, tính toán các ma trận (LINPACK), và giải các giá trị riêng, vectơ riêng của ma trận (EISPACK), nó cung cấp nhiều hàm tính toán số học mà với ngôn ngữ C không thể giải quyết qua một vài dòng lệnh. Những khó khăn khi chuyển thuật toán MUSIC sang ngôn ngữ C đƣợc tóm tắt qua bảng dƣới:
  • 29. Khóa luận tốt nghiệp Chƣơng 3 22 Bảng 6: So sánh thuật toán MUSIC trên ngôn ngữ Matlab và ngôn ngữ C STT Các bƣớc thực hiện Code Matlab Code C Khó khăn 1 Thu nhân tín hiệu vào Có sẵn trƣờng số phức Không có Phải xây dựng trƣờng số phức với các phép tính thông thƣờng và các phép biến đổi ma trận 2 Tính ma trận tự tƣơng quan Thuận tiện trong việc tính toán ma trận, có thể thực hiện bƣớc này trong 1 dòng lệnh Sử dụng cấu trúc mảng với các giá trị thực phức, tính toán chậm Các biến xử lý đều là các ma trận kích cỡ lớn, mỗi phần tử đều là các số phức nên đòi hỏi tối ƣu để tính toán nhanh hơn 3 Tìm giá trị riêng, vectơ riêng Sử dụng hàm eig có sẵn trong Matlab Không có hàm có sẵn Đòi hỏi tìm kiếm giải thuật tính giá trị riêng, vectơ riêng. 4 Phân tách thành không gian tín hiệu và không gian nhiễu, tính phổ không gian của tín hiệu Hàm eig tự sắp xếp các giá trị riêng và vectơ riêng tƣơng ứng Không có khả năng này Phải sắp xếp các giá trị riêng, vectơ riêng theo thứ tự giảm dần Từ bảng trên ta thấy thách thức lớn nhất khi thực hiện thuật toán MUSIC bằng ngôn ngữ C là phải tính đƣợc giá trị riêng, vectơ riêng của ma trận tự tƣơng quan. Có 2 giải pháp đƣa ra để giải quyết vấn đề này. - Sử dụng các thƣ viện tích hợp sẵn, có các hàm với chức năng tƣơng đƣợc thƣ viện EISPACK của Matlab. - Thiết kế thuật toán phù hợp để tính giá trị riêng, vectơ riêng. Việc sử dụng các thƣ viện tích hợp sẵn có ƣu điểm về tốc độ do đã đƣợc tối ƣu sẵn, tiết kiệm thời gian tìm hiểu và lập trình thuật toán tính giá trị riêng, vectơ riêng, nhất là khi các thuật toán này rất phức tạp. Tuy nhiên khi áp dụng vào khóa luận, các
  • 30. Khóa luận tốt nghiệp Chƣơng 3 23 thƣ viện tích hợp lại có những hạn chế sau: - Kích cỡ: các thƣ viện tích hợp viết bằng ngôn ngữ C thƣờng có kích cỡ lớn, một phần do phải bao quát hết tất cả các trƣờng hợp (một thƣ viện chuẩn nhƣ EISPACK có các tiến trình khác nhau cho 9 trƣờng hợp ma trận, mỗi tiến trình lại có nhiều phƣơng pháp tính toán khác nhau). Do vậy gặp khó khăn khi đƣa các thƣ viện này vào kit DSP vốn có bộ nhớ hữu hạn. - Giá thành: ngoài các thƣ viện ở trên còn có các loại thƣ viện đặc biệt đƣợc tối ƣu cho các hoạt động xử lý trên DSP. Chúng có kích cỡ nhỏ và tốc độ xử lý nhanh. Tuy nhiên giá các thƣ viện này không hề rẻ, hơn nữa do khác biệt về cấu trúc mà những thƣ viện này chỉ sử dụng cho một dòng chip nhất định. Thêm vào đó, từ việc phân tích dạng ma trận tự tƣơng quan Ruu cho thấy việc tìm giá trị riêng và vectơ riêng cho ma trận này chỉ là một trƣờng hợp đặc biệt, do đó việc lập trình thuật toán trở nên đơn giản hơn. Do vậy em sử dụng phƣơng án lập trình thuật toán tính giá trị riêng, vectơ riêng cho ma trận tự tương quan trong khóa luận này. Bài toán tính giá trị riêng, vectơ riêng 1. Tính toán lý thuyết Để tìm giá trị riêng, vectơ riêng của 1 ma trận ta làm theo các bƣớc sau [2]:  Bƣớc 1: Giải phƣơng trình đặc trựng Nghiệm của phƣơng trình tìm đƣợc là các giá trị riêng cần tìm  Bƣớc 2: Ứng với mỗi giá trị riêng vừa tìm đƣợc, giải hệ phƣơng trình tuyến tính thuần nhất với mỗi nghiệm vừa tìm đƣợc ở trên, Kết quả là vectơ riêng ui ứng với giá trị riêng . 2. Áp dụng vào việc tính toán trên máy tính Từ định lý Anbơ: với m > 5 tồn tại phƣơng trình bậc m mà không thể biểu diễn nghiệm tổng quát bằng cách sử dụng số hữu tỉ, phép cộng, trừ, nhân, chia và lấy khai căn. Định lí này chỉ ra rằng không thể có thuật toán giải phƣơng trình nào cho ra nghiệm chính xác của đa thức bậc bất kì lớn hơn 5 sau một số bƣớc hữu hạn. Vì vậy không thể áp dụng phƣơng pháp trên để tìm trị riêng của các ma trận có số chiều lớn
  • 31. Khóa luận tốt nghiệp Chƣơng 3 24 hơn 4. Điều này đòi hỏi ta phải sử dụng phƣơng pháp khác, cụ thể ở đây là phƣơng pháp lặp đơn Jacobi. 3. Phương pháp lặp đơn Jacobi Xét ma trận tƣơng quan của mảng tín hiệu: Ruu là một ma trận Hermitian cỡ N×N, đây là dạng ma trận vuông đối xứng với các phần tử là số phức. Một ma trận vuông đối xứng bất kì sẽ luôn chéo hóa đƣợc. Ý tƣởng của phƣơng pháp Jacobi trong khóa luận là chéo hóa ma trận Ruu để thu đƣợc ma trận đƣờng chéo: 1 T 2D O R O dia ,g( ), .uu n    (4.1) Khi đó các phần tử đƣờng chéo là các gía trị riêng , còn các cột của ma trận làm chéo hóa O sẽ là các vectơ riêng tƣơng ứng với các giá trị riêng cần tìm 4. Lập trình phương pháp lặp đơn jacobi Xây dựng một dãy các ma trận (Ok) k≥1 các ma trận trực giao sao cho [11]: 1 1 2 1 2... .. ).( ) ( 1T T k k k k k kO O O O OA O A O A O k     (4.2) Biến đổi liên tục dãy này dẫn đến ma trận A hội tụ về một ma trận đƣờng chéo 1 2 1 3 n λ 0 0 0 0 λ .. ... 0 0 λ 0 0 0 0 λ kA                           (4.3) Đặt Ok = là các ma trận trực giao có cột là các vectơ hội tụ về vectơ riêng của ma trận A Nguyên tắc biến đổi: 1 1T k k k k kA A O A O k    (4.4) Triệt tiêu hết các phần tử aij (i≠j) hay các phần tử nằm ngoài đƣờng chéo chính của ma trận: Đặt: 1 ij ( ) ( ) k ij k k A b A a O O       (4.5)
  • 32. Khóa luận tốt nghiệp Chƣơng 3 25 Ta thực hiện các việc quay Jacobi các phần tử của ma trận A dựa vào công thức quay: Định lý: nếu apq ≠ 0, tồn tại một và chỉ một giá trị của θ ∈ làm cho bpq = 0. Giá trị θ đƣợc xác định nhƣ sau: cotan 2 2 qq pp pq a a a    (4.6) Từ đó tính đƣợc các phần tử của ma trận Ak+1 theo Ak: 2 2 2 2 cos sin sin cos cos sin sin2 sin cos sin2 cos2 sin2 2 ij ij pj pi qi qi pi qi pp pp qq pq qq pp qq pq pp qq pq qp pq b a b a a b a a b a a a b a a a a a b b a                                      (4.7) Từ công thức (3.1), sử dụng các phép biến đổi lƣợng giác ta có: Đặt = tan θ là nghiệm ≤ của phƣơng trình bậc 2: 2 t 2mt – 1 0  (4.8) Các hàm lƣợng giác còn lại của θ theo tan θ: 2 2 2 2 2 1 cos 1 sin 1 2 sin2 1 1 cos2 1 c t t s t t t t t                           (4.9) Kết hợp với (4.10) ta thu đƣợc công thức quay thu gọn:
  • 33. Khóa luận tốt nghiệp Chƣơng 3 26 cos2 sin2 2 pi pi qi qi qi pi pp pp pq qq qq pq pp qq pq qp pq b ca sa b ca sa b a ta b a ta a a b b a                      (4.10) Sau mỗi bƣớc quay, cặp phần tử nằm ngoài đƣờng chéo chình bị triệt tiêu, tuy nhiên các phần tử bị triệt tiêu trƣớc đó lại khác không. Tuy nhiên các giá trị này sẽ ngày càng tiến tới 0 đến khi thỏa mãn điều kiện về độ chính xác, ta nhận đƣợc ma trận với các phần tử nằm ngoài đƣờng chéo có giá trị xấp xỉ 0. Giải thuật cài đặt trên máy tính có lƣu đồ nhƣ sau: START Nhập ma trận Ruu Xác định phần tử ngoài đường chéo cần triệt tiêu Tính cotan θ (Công thức 4.6) Tạo ma trận O Biến đỏi ma trận Ruu (Công thức 4.10) O=O*Ruu Lấy tông các phần tử ngoài đường chéo của Ruu Tổng >độ chính xác Đúng Giá trị riêng là phần tử đường chéo của Ruu Vector riêng là cột của O Sai END Hình 15: Lưu đồ thuật toán Jacobi 3.3 Thực thi thuật toán trên kit Với mục đích tập trung vào thuật toán và khả năng thực thi của thuật toán trên kit DSP, khóa luận không đi sâu vào thực hiện các phần cứng khác của hệ thống, ví dụ nhƣ hệ thống anten. Thay vào đó các tín hiệu đầu vào của dàn anten đƣợc mô phỏng trên chƣơng trình Matlab rồi đƣợc đƣa vào kit để xử lý. Sau khi kit xử lý xong, kết quả về phổ không gian của tín hiệu đƣợc đƣa lại trở về máy tính để vẽ phổ tín hiệu bằng chƣơng trình Matlab. Tóm tắt quá trình thực thi trên kit nhƣ sau:
  • 34. Khóa luận tốt nghiệp Chƣơng 3 27 Mô phỏng tín hiệu từ anten Tính ma trận tƣơng quan Xác định vectơ riêng, giá trị riêng Tính phổ không gian Biểu diễn phổ trên máy tính Hình 16: Quá trình thực thi thuật toán MUSIC trên kit DSP 3.3.1 Mô tả quá trình 1. Mô phỏng tín hiệu từ anten Các tín hiệu thu thập của hệ anten đƣợc tính bởi các yếu tố sau: - Vectơ tín hiệu đầu vào s đƣợc xác định theo phân bố Gaussian, với giá trị trung bình - Vectơ lái a( ) phụ thuộc vào góc  trong không gian, vị trí của mối phần tử anten trong không gian Vectơ nhiễu N, với các giá trị ồn giả ngẫu nhiên cho từng mẫu tín hiệu thu đƣợc. Khi đó vectơ cuối cùng thu đƣợc tại mỗi phần tử anten sẽ đƣợc tính bởi U AS N  (4.11) 2. Tính ma trân tự tương quan của vectơ tín hiệu thu được Giả thiết nhiễu không tƣơng quan và là các biến đồng mức: (4.12)
  • 35. Khóa luận tốt nghiệp Chƣơng 3 28 với Ns là số mẫu tín hiệu thu đƣợc. 3. Xác định các vectơ riêng và giá trị riêng tương ứng với không gian nhiễu: sử dụng phƣơng pháp Jacobi đã đƣợc đề cập ở trên. Sau khi các giá trị riêng đƣợc sắp xếp từ nhỏ nhất tới lớn nhất, chúng ta có thể chia ma trận Ruu thành hai không gian con nhƣ sau: [ ]uu s nR V V (4.13) Trong đó: Vs đƣợc gọi là không gian con tín hiệu và chứa M vectơ riêng kết hợp với các tín hiệu tới. Không gian con tín hiệu là ma trận cỡ N×M. Vn đƣợc gọi là không gian con của nhiễu và bao gồm N – M vectơ riêng kết hợp với nhiễu. Không gian con của nhiễu là một không gian cỡ N×(N – M). 4. Tính phổ không gian của tín hiệu Phổ không gian của tín hiệu đƣợc tính theo công thức:           H H H n n a a P a V V a       (4.14) Trong đó, khi cho góc θ thay đổi từ 0 đến 3600 , nếu góc θ trùng với góc tới của nguồn tín hiệu, P(θ) đạt cực đại và ta sẽ quan sát đƣợc một đỉnh phổ trong phổ tín hiệu quan sát ở bƣớc 5. 5. Biểu diễn phổ trên máy tính Với dữ liệu về phổ không gian đƣợc kit trả về, thực hiện lệnh plot (θ,P) trên Matlab. 3.3.2 Phân vùng bộ nhớ của kit cho dữ liệu và chương trình Theo mặc định ban đầu, kit chỉ sử dụng bộ nhớ trong để lƣu trữ các dữ liệu cũng nhƣ chƣơng trình đƣợc nạp vào. Do bộ nhớ này khá nhỏ (264 kB), ta cần phải cấu hình vùng nhớ mà kit có thể sử dụng thông qua file liên kết (Linker File) [7]: Cấu trúc tập tin liên kết: MEMORY { IVECS: org=0h, len=0x220
  • 36. Khóa luận tốt nghiệp Chƣơng 3 29 IRAM: org=0x00000220, len=0x0002FDE0 /*internal memory*/ EDATA: org=0x80000000, len=0x0100000 SDRAM: org=0x80F00000, len=0x01000000 /*external memory*/ FLASH: org=0x90000000, len=0x00020000 */ /*flash memory*/ } SECTIONS { .EXT_RAM :> SDRAM .vectors :> IRAM .text :> IRAM .bss :> IRAM .cinit :> IRAM .stack :> IRAM .sysmem :> IRAM .const :> SDRAM .switch :> IRAM .far :> SDRAM .cio :> IRAM .csldata :> IRAM } Để ánh xạ một trƣờng bất kỳ sang bộ nhớ ngoài chỉ cần sửa “IRAM” thành “SDRAM”. Ví dụ: .const : > SDRAM Để ánh xạ một biến bất kỳ trong code (có thể là biến cần kích cỡ lớn mà bộ nhớ trong không chứa đƣợc) ta làm nhƣ sau: - Định nghĩa một vùng nhớ trong bộ nhớ ngoài. Ví dụ: EDATA: org = 0x80000000, len = 0x0100000 định nghĩa phần nhớ ngoài EDATA kích thƣớc 1Mb.
  • 37. Khóa luận tốt nghiệp Chƣơng 3 30 - 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 quả thực thi thuật toán: Tiến hành thực thi thuật toán trên kit DSP với các dàn anten ULA, UCA trong trƣờng hợp số nguồn sóng tới nhỏ hơn số phần tử anten,sử dụng mô hình của 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 toán MUSIC với anten ULA STT Các thông số của nguồn Các thông số của hệ anten 1 Số nguồn tín hiệu: 4 Số phần tử anten: 8 2 Góc tới của các nguồn tín hiệu: [20o 40o 60o 80o ] Độ dài cung tròn: m= λ/2 (m) 3 Tỷ số SNR: 25dB - Kết quả thực thi: 0 50 100 150 200 250 300 350 400 0 50 100 150 200 250 MUSIC ULA DOA - degree RelativeSpaceSpectrum-dB X: 20 Y: 225.3 X: 40 Y: 216.4 X: 60 Y: 223.3 X: 80 Y: 218.4 X: 280 Y: 218.4 X: 300 Y: 223.3 X: 320 Y: 216.4 X: 340 Y: 225.3 Hình 17: Thực thi hệ thống DSP với mảng anten ULA
  • 38. Khóa luận tốt nghiệp Chƣơng 3 31 Nhận xét: thực thi hệ thống trên DSP cho kết quả xác định 8 đỉnh phổ tƣơng đƣơng với 8 nguồn sóng tới. Trong đó hệ thống DSP xác định chính xác 4 nguồn tín hiệu ở các góc [200 400 600 800 ]. Các hƣớng còn lại là đối xứng với 4 nguồn tín hiệu, đây là hạn chế của dàn anten ULA mà ta đã nói ở trên. 0 60 120 180 240 300 360 0 50 100 150 200 250 MUSIC ULA DOA - degree RelativeSpaceSpectrum-dB X: 20 Y: 227.7 X: 40 Y: 226.6 X: 60 Y: 216.4 X: 80 Y: 228 Simulation DSP Hình 18: So sánh kết quả thực thi thuật toán và mô phỏng trên dàn anten ULA Nhận xét: so với kết quả mô phỏng, kết quả thực thi có thêm hai đỉnh với biên độ không đáng kể so với biên độ của các nguồn tín hiệu. Mặc dù cả hai cùng xác định chính xác các góc tới, ta có thể nhận thấy rằng kết quả thực thi kém hơn một chút so với mô phỏng, thể hiện ở các mức ồn cao hơn. Điều này có lẽ là do thuật toán tìm giá trị riêng không đƣợc tối ƣu nhƣ thuật toán trên Matlab. Với dàn anten UCA: - Mô hình hệ thống: STT Các thông số của nguồn Các thông số của hệ anten 1 Số nguồn tín hiệu: 4 Số phần tử anten: 8 2 Góc tới của các nguồn tín hiệu: [20o 40o 60o 80o ] Khoảng cách giữa các phần tử: λ/2 (m) 3 Tỷ số SNR: 25dB
  • 39. Khóa luận tốt nghiệp Chƣơng 3 32 - Kết quả thực thi: 0 50 100 150 200 250 300 350 400 0 50 100 150 200 250 MUSIC UCA DOA - degree RelativeSpaceSpectrum-dB X: 20 Y: 223 X: 40 Y: 228.7 X: 60 Y: 228.8 X: 80 Y: 225.1 Hình 19: Thực thi hệ thống DSP với mảng anten UCA Nhận xét: thực thi trên hệ UCA cho ta kết quả xác định chính xác bốn góc tới ứng với các nguồn tín hiệu ở [200 400 600 800 ]. Kết quả đánh giá độ chính xác so với hệ mô phỏng đƣợc thể hiện ở hình dƣới: 0 60 120 180 240 300 360 0 50 100 150 200 250 X: 20 Y: 229.7 MUSIC UCA DOA - degree RelativeSpaceSpectrum-dB X: 40 Y: 219.6 X: 60 Y: 218.3 X: 80 Y: 224.2 Simulation DSP Hình 20: So sánh kết quả thực thi thuật toán và mô phỏngtrên dàn anten UCA
  • 40. Khóa luận tốt nghiệp Chƣơng 3 33 Nhận xét: ở dàn anten UCA, kết quả mô phỏng so với kết quả thực thi không khác nhau nhiều nhƣ dàn ULA. Không có thêm các đỉnh phụ, các mức ồn cũng không quá cao. Đánh giá tốc độ thực thi trên kit: Ở đây chỉ đánh giá tốc độ xử lý thuật toán, nên ta bỏ qua phần xử lý đọc dữ liệu của kit. Thời gian xử lý thuật toán đƣợc tính bằng Đặt breakpoint ở cuối khối nhận dữ liệu ta nhận đƣợc 78.561.604 chu kỳ chip đã chạy Hình 21: Số nhịp CPU của chip chạy đến khi kết thúc nhận dữ liệu Tiếp tục đặt breakpoint ở đầu khối gửi dữ liệu, ta nhận đƣợc 133.283.611 chu kỳ. Hình 22: Số nhịp CPU của chip chạy đến khi bắt đầu gửi dữ liệu Thời gian xử lý thuật toán t = 6 133,283,611 78,561,604 0.216( ) 225 10 s    Nhận xét: Thời gian này là tương đối lớn so với kết quả mô phỏng, tuy nhiên việc thực thi trên chip có xung nhịp 225 MHz không thể so sánh với các hê thống có xung nhịp lớn cỡ vài Ghz.
  • 41. Khóa luận tốt nghiệp Chƣơng 3 34 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CHO ĐỀ TÀI Từ những phân tích về mặt lý thuyết toán học và vật lý, mô phỏng bằng chƣơng trình MATLAB, khóa luận đã nghiên cứu thuật toán MUSIC cũng nhƣ mô tả thuật toán với các cấu trúc anten mảng sắp xếp theo đƣờng thẳng cách đều, cấu trúc đƣờng anten mảng sắp xếp theo đƣơng tròn cách đều, từ đó đƣa ra ƣu nhƣợc điểm của mỗi cấu trúc. Khóa luận cũng đƣa ra mô hình thực thi thuật toán MUSIC trên kit TMS320C6713. Mặc dù việc thực thi thuật toán trên kit có tốc độ khá chậm nhƣng đây là điều có thể khắc phục đƣợc. Trong tƣơng lai hệ thống có thể đƣa vào áp dụng với các dữ liệu từ mảng anten trong thực tế và có thể tối ƣu tốc độ xử lý để ứng dụng trong các hệ thống dò tìm, giám sát thời gian thực, với chi phí thấp và khả năng di động cao.
  • 42. Khóa luận tốt nghiệp Chƣơng 3 35 TÀI LIỆU THAM KHẢO Tiếng Việt: [1]GS. TSKH. Phan Anh, Lý thuyết và kỹ thuật anten, nhà xuất bản khoa học kỹ thuật, xuất bản 12- 2007. [2]Nguyễn Đình Trí, Lê Trọng Vinh, Dƣơng Thủy Vỹ, Giáo trình toán học cao cấp, xuất bản tháng 9 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 trong việc xác định vị trí tàu thuyền đánh cá loại vừa và 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.
  • 43. Khóa luận tốt nghiệp Phụ lục - 1 - PHỤ LỤC 1. Chƣơng trình mô phỏng 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 trong 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 ra file reU=real(U); imU=imag(U); fid = fopen('u.txt','w'); fprintf(fid,'%d ',Ne ); fprintf(fid,'%d ',Nb );
  • 44. Khóa luận tốt nghiệp Phụ lục - 2 - fprintf(fid,'%f ' ,reU'); fprintf(fid,'%f ' ,imU'); fclose(fid); 2. Chƣơng trình thực thi thuật toán MUSIC #include <stdio.h> #include <math.h> #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)
  • 45. Khóa luận tốt nghiệp Phụ lục - 3 - { 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<=cola; i++) { for (j=1; j<=rowa; j++) { at[j][i].R=a[i][j].R; at[j][i].I=-a[i][j].I; } } } void mul(mat a,short cola,short rowa, mat b, short rowb, mat c,short fac) { for (j=1; j<=rowb; j++) { for (i=1; i<=cola; i++)
  • 46. Khóa luận tốt nghiệp Phụ lục - 4 - { temp.R=0; temp.I=0; c[i][j].R=0; c[i][j].I=0; for (k=1;k<=rowa;k++) { MUL(a[i][k],b[k][j],&temp); ADD(temp,c[i][j],&c[i][j]); } c[i][j].R=c[i][j].R/fac; c[i][j].I=c[i][j].I/fac; } } } void sorteigen(int N, vec R, mat Z) { vec Tr,Ti; double VR; // sort in ascending order for (j=2; j<=N; j++){ VR=R[j]; for (k=1; k<=N; k++){ Tr[k]=Z[k][j].R; Ti[k]=Z[k][j].I; } for (i=j-1; i>0; i--){ if (fabs(R[i]) <= fabs(VR)) goto e5; R[i+1]=R[i]; for (k=1; k<=N; k++){ Z[k][i+1].R=Z[k][i].R; Z[k][i+1].I=Z[k][i].I; } } i=0; e5: R[i+1]=VR; for (k=1; k<=N; k++){ Z[k][i+1].R=Tr[k];
  • 47. Khóa luận tốt nghiệp Phụ lục - 5 - Z[k][i+1].I=Ti[k]; } } } void output(mat a,int row) { FILE *p; p = fopen("eigenvector.txt","wt"); fprintf(p,"%d",row); for (j=1; j<=row; j++){ fprintf(p," %f ", a[1][j].R); } fprintf(p,"n"); fclose(p); } int main() { FILE *p; p = fopen("u.txt","r"); fscanf(p,"%hd %hd",&row,&col); for (i=1; i<=col; i++) for (j=1; j<=row; j++) fscanf(p, "%lf", &u[i][j].R); for (i=1; i<=col; i++) for (j=1; j<=row; j++) fscanf(p, "%lf", &u[i][j].I); transpose(u,col,row,ut); mul(ut,row,col,u,row,ruu,row); //begin of eigen z0.R=0.0;z0.I=0.0; z1.R=1.0;z1.I=0.0; for(i=1; i<=row; i++) for (j=1; j<=row; j++) if (i==j) evector[i][j]=z1;
  • 48. Khóa luận tốt nghiệp Phụ lục - 6 - else evector[i][j]=z0; it=-1; l=1; while (l<=M && it!=1) { s=0.0; for (i=1; i<row; i++) for (j=i+1; j<=row; j++) { t0=ABS(ruu[i][j]); if (t0 > s) { s=t0; I0=i; L0=j; } } if (s==0.0) it=1; else { delta=SQR(ruu[L0][L0].R- ruu[I0][I0].R)+4.0*SQR(ABS(ruu[I0][L0])); t0=ruu[L0][L0].R-ruu[I0][I0].R + sqrt(delta); t1=ruu[L0][L0].R-ruu[I0][I0].R - sqrt(delta); if (fabs(t0) >= fabs(t1)) w0=t0; else w0=t1; s0=fabs(w0)/sqrt(SQR(w0)+4.0*SQR(ABS(ruu[I0][L0]))); t0=2.0*s0/w0; RMUL(t0,ruu[I0][L0],&c0); CONJ(c0,&c1); for (i=1; i<I0; i++){ u0=ruu[i][I0]; MUL(c0,u0,&c2); RMUL(s0,ruu[i][L0],&c3); ADD(c2,c3,&ruu[i][I0]); MUL(c1,ruu[i][L0],&c2); RMUL(s0,u0,&c3);
  • 49. Khóa luận tốt nghiệp Phụ lục - 7 - SUB(c2,c3,&ruu[i][L0]); } for (k=I0+1; k<L0; k++) { u0=ruu[I0][k]; MUL(c1,u0,&c2); CONJ(ruu[k][L0],&u1); RMUL(s0,u1,&c3); ADD(c2,c3,&ruu[I0][k]); MUL(c1,ruu[k][L0],&c2); CONJ(u0,&u1); RMUL(s0,u1,&c3); SUB(c2,c3,&ruu[k][L0]); } for (j=L0+1; j<=row; j++) { u0=ruu[I0][j]; MUL(c1,u0,&c2); RMUL(s0,ruu[L0][j],&c3); ADD(c2,c3,&ruu[I0][j]); MUL(c0,ruu[L0][j],&c2); RMUL(s0,u0,&c3); SUB(c2,c3,&ruu[L0][j]); } t0=ruu[I0][I0].R; t1=4.0*SQR(s0*ABS(ruu[I0][L0]))/w0; ruu[I0][I0].R=SQR(ABS(c0))*t0 + t1+SQR(s0)*ruu[L0][L0].R; ruu[L0][L0].R=SQR(s0)*t0 - t1+SQR(ABS(c0))*ruu[L0][L0].R; ruu[I0][L0]=z0; for (i=1; i<=row; i++) { u0=evector[i][I0]; MUL(c0,u0,&c2); RMUL(s0,evector[i][L0],&c3); ADD(c2,c3,&evector[i][I0]);
  • 50. Khóa luận tốt nghiệp Phụ lục - 8 - MUL(c1,evector[i][L0],&c2); RMUL(s0,u0,&c3); SUB(c2,c3,&evector[i][L0]); } t0=0.0; for (i=1; i<row; i++) for (j=i+1; j<=row; j++) t0 += SQR(ABS(ruu[i][j])); s=2.0*t0; if (s < PREC) it=1; else l++; } } if (it==1) for (i=1; i<=row; i++) evalue[i]=ruu[i][i].R; //End of eigen*/ sorteigen(row, evalue, evector); signal=0; for (i = 0; i<=row;i++) { if(evalue[i]>evalue[row]/1000) signal++; } I0=row-signal; transpose(evector,row,I0,ruu); mul(evector,row,I0,ruu,row,b,1); l=0; for (signal=1;signal<=p2;signal++){ for (k=1;k<=row;k++){ aa[1][k].R=areal[l]; aa[1][k].I=aimag[l]; l++; } mul(aa,1,row,b,row,c,1);
  • 51. Khóa luận tốt nghiệp Phụ lục - 9 - c2.R=0.0;c2.I=0.0; for (k=1;k<=row;k++){ CONJ(aa[1][k],&c0); MUL(c[1][k],c0,&c1); ADD(c1,c2,&c2); } CDIV(row,0,c2.R,c2.I,&power[1][signal].R,&power[1][signal].I); } output(power,p2); return 0; }