- Tần số sóng mang không Doppler: IF = 4.1304e6 Hz
Sampling Freq = 16.3676 e6Hz - Tốc độ chip mã PRN:
CodeFreqBasis = 1.023e6 chip/s - Độ dài mã PRN hoàn chỉnh: CodeLength = 1023
- Số vệ tinh: 32
- Tần số sai lệch do Doppler: ± 7 KHz - Ngưỡng xác định vệ tinh dò được: AcqThreshold = 2.5
- Số kênh bộ thu: Channels = 12
- Tín hiệu tới: Tín hiệu từ đầu ra bộ ADC. Trong mô phỏng này dữ liệu 11ms được lấy từ file Multipath.bin với các bit -3, -1, 1, 3.
- Bộ tạo sóng mang: Chuỗi mấu có độ dài 1ms được tạo ra với sóng mang exp(j*2*pi**fc*ts*nn); fc là tần số sóng mang có Doppler; ts =1/fs; nn là mảng với các số từ 0 đến 16367.
- Bộ tạo mã PRN: 32 mã PRN, mỗi mã PRN hoàn chỉnh với độ dài 1ms là 1023 chip được lấy mẫu với tần số16.3676 e6 Hz. 1023 chip của mã C/A được thực hiện theo sơ đồ bộ tạo mã C/A[9]
Chức năng dò sóng tín hiệu GPS với bước tần số 0.5KHz. Với mỗi mã PRN chúng ta phải dò tìm tất cả các tần số sóng mang có thể IF 7 KHz tức là 29 tần số. Tiếp theo chúng ta tìm giá trị tương quan cao nhất trong kết quả từ các tần số sóng mang đó, rồi ta tìm đỉnh tương quan thứ hai sau đó lấy tỷ lệ của hai đỉnh tương quan rồi đem so sánh với AcqThreshold = 2.5. Nếu lớn hơn giá trị này thì mã PRN đóứng với vệ tinh nhìn thấy và ta tìm các giá trị tần số sóng mang, pha mã của vệ tinh đó.
Hinh 5.2: Hoàn chỉnh mô phỏng tín hiệu GPS cho một vệ tinh thực hiện trong Simulink. Phần A tạo ra C / A mã, Phần B chứa các thế hệ dữ liệu chuyển hướng, và Phần C tạo ra sự đơn giản P (Y) code.[9]
Hình 5.3: Các tín hiệu GPS giả thực hiện trong Simulink.Mô phỏng này bao gồm
bốn vệ tinh khác nhau và lưu các dữ liệu trong một tập tin. Các cửa sổ khác hiện lên khi một trong những hộp tín hiệu mô phỏng là nhấp đúp. Cửa sổ này được sử dụng để thiết lập tất cả các giá trị với một trong các vệ tinh trong các mô phỏng.[9]
Kết quả mô phỏng
Hình 5.4 Các vệ tinh được tìm thấy sau khi dò sóng
Kết quả trên cho ta các vệ tinh dò được là vệ tinh số 2, 6, 7, 10, 24, 30 tương ứng với các mã PRN đó. Hình vẽ cũng chỉ ra rằng vệ tinh số 2 là vệ tinh có tín hiệu mạnh nhất.
Kết quả mô phỏng còn đưa ra chi tiết các thông số của các vệ tinh dò được như sau:
Hình 5.5: Các thông số cần thiết của quá trình dò sóng
Chương trình mô phỏng tiếp theo cho ta cái nhìn chi tiết hơn về tín hiệu vệ tinh nhìn được, ta sẽ thấy đỉnh tại vị trí code phase và tần số sóng mang, còn các giá trị khác đỉnh rất thấp do tính chất của hàm tương quan. Các vệ tinh không nhìn thấy sẽ không có đỉnh.
Từ kết quả trên ta thấy vệ tinh số 10 ứng với mã PRN10 là một vệ tinh dò được tín hiệu. Ta tiến hành mô phỏng vệ tinh số 10, ta thu được các thông số tại đỉnh như sau:
- Peak = 1.4817 e +007 - Frequency = 4.1314 e+006 - Code phase = 690
Hình 5.6: Kết quả dò được của vệ tinh số 10
Vệ tinh số 13 ứng với mã PRN 13 được chọn để mô phỏng tiếp theo, đầu ra từ phương pháp dò sóng của vệ tinh số 13 như sau:
Hình 5.7 Kết quả dò được của vệ tinh số 13
Ta thấy không có đỉnh nào ở vệ tinh số 13, đây là một vệ tinh không nhìn thấy.
Qua quá trình tìm hiểu lý thuyết em đã đưa ra thuật toán cho trường hợp cụ thể khối dò sóng ứng dụng công nghệ SDR cho máy thu trực tiếp xác lập thông số đầu vào hệ
thống. Hướng nghiên cứu tiếp theo đồ án em sẽ hoàn chỉnh các khối tạo nên bộ thu GNSS kết hợp hai tín hiệu GPS/Galileo ứng dụng SDR hoàn chỉnh.
Mã nguồn C/A code trên matlab if nargin<2
fs=1; end
if (max(sv)>37) || (min(sv)<1) || (min(size(sv))~=1)
error('sv must be a row or column vector with integers between 1 and
37\n') end if fs<1
error('fs must be 1 or greater\n')
end
% force integers testint=round(sv)-sv;
if testint ~= 0
warning('non-integer value entered for sv, rounding to closest
integer\n');
sv = round(sv); end
% table of C/A Code Tap Selection (sets delay for G2 generator) tap=[2 6; 3 7; 4 8; 5 9; 1 9; 2 10; 1 8; 2 9; 3 10; 2 3; 3 4; 5 6; 6 7; 7 8; 8 9; 9 10; 1 4; 2 5; 3 6; 4 7; 5 8; 6 9; 1 3; 4 6; 5 7; 6 8; 7 9; 8 10; 1 6; 2 7;
3 8; 4 9 5 10 4 10 1 7 2 8 4 10]; % G1 LFSR: x^10+x^3+1 s=[0 0 1 0 0 0 0 0 0 1]; n=length(s);
g1=ones(1,n); %initialization vector for G1
L=2^n-1;
% G2j LFSR: x^10+x^9+x^8+x^6+x^3+x^2+1 t=[0 1 1 0 0 1 0 1 1 1];
q=ones(1,n); %initialization vector for G2
% generate C/A Code sequences: tap_sel=tap(sv,:); for inc=1:L g2(:,inc)=mod(sum(q(tap_sel),2),2); g(:,inc)=mod(g1(n)+g2(:,inc),2); g1=[mod(sum(g1.*s),2) g1(1:n-1)]; q=[mod(sum(q.*t),2) q(1:n-1)]; end
%upsample to desired rate
if fs~=1
%fractional upsampling with zero order hold index=0;
for cnt = 1/fs:1/fs:L
index=index+1;
if ceil(cnt) > L %traps a floating point error in index
gfs(:,index)=g(:,L); else gfs(:,index)=g(:,ceil(cnt)); end end g=gfs; end
KẾT LUẬN
Công nghệ SDR với những ứng dụng thực tế đã và đang được triển khai sẽ mang lại những giá trị vô cùng to lớn. Với sự phát triển mạnh mẽ của ngành công nghiệp phần mềm thì SDR hứa hẹn sẽ là công nghệ phát triển trong tương lai. Luận văn đã trình bày những nghiên cứu của em về công nghệ SDR và ứng dụng của nó cho bộ thu trực tiếp GPS – một thiết bị đang được sử dụng phổ biến hiện nay. Nghiên cứu của em đã chỉ ra tính ưu việt của công nghệ SDR trong một ứng dụng cụ thể đó là bộ thu GPS. Bộ thu GPS áp dụng công nghệ SDR đã thay thế một số khối phần cứng chuyên dụng trong kiến trúc bộ thu phần cứng thông thường bằng phần mềm để mang lại những khả năng mới cho bộ thu đáp ứng yêu cầu ngày càng cao của người dùng như tính mềm dẻo, thích ứng cao và đặc biệt là khả năng tích hợp và hội tụ mạng. Trên cơ sở lý thuyết tìm hiểu được, em đã xây dựng được thuật toán mô phỏng khối dò sóng tín hiệu. Em hi vọng những tìm hiểu của em sẽ giúp ích cho các nghiên cứu sau này về công nghệ SDR áp dụng cho các thiết bị vô tuyến khác. Hướng nghiên cứu tiếp theo của em sẽ là chế tạo ra chiếc máy thu GNSS dựa trên công nghệ SDR có thể thu đồng thời nhiều tín hiệu vệ tinh của cả hệ thống GPS và Galileo.
Trong quá trình làm luận văn, dù đã cố gắng nhưng cũng không thể tránh khỏi những thiếu sót, em rất mong nhận được những ý kiến đóng góp quý báu của các thầy cô và các bạn!
Cuối cùng, em xin được gửi lời cám ơn sâu sắc đến thầy PGS.TS Nguyễn Hữu Trung, cô PGS.TS Nguyễn Thúy Anh đã giúp đỡ tận tình và tạo điều kiện để em hoàn thành luận văn này!
TÀI LIỆU THAM KHẢO
[1] Md. Maruf Hossain, “Design of RF Front End for Multi_Band Multi-System GNSS
Receivers”, pp. 9-14, 31/1/2008
[2] Mr Hán Trọng Thanh, “Slide định vị dẫn đường”, Đại học Bách khoa Hà nội. [3]Nguồn internet
https://www.google.com.vn/imghp?hl=vi&tab=ii;
http://vi.wikipedia.org/wiki/Software_Defined_Radio;
[4]SDR Forum, “SDRF Cognitive Radio Definitions”, Working Document SDRF-06- R-0011-V1.0.0, ra ngày 8/11/2007.
[5] Walter Tuttlebee, “Software Defined Radio: Origins, Drivers and International Perspectives”, John Wiley & Sons, Ltd, England 2002.
[6] SDR Forum, “Base Station System Structure”, Document No. SDRF-01-P-0006- V2.0.0, ra ngày 15/1/2002.
[7] Vito Giannini, Jan Craninckk, Andrea Baschirotto, “Baseband Analog Circuits for Software Defined Radio”, Springer, Netherlands 2008.
[8] ] Markus Dillinger, Kambiz Madani, Nancy Alonistioti, “Software Defined Radio: Architectures, Systems and Functions”, John Wiley & Sons, Ltd, England 2003.
[9] Kai Borre - Dennis M. Akos - Nicolaj Bertelsen - Peter Rinder - Soren Holdt Jensen – A Software-Defined GPS and Galileo Receiver - A Single-Frequency Approach.
[10] Jaizki Mendizabal Roc Berenguer Juan Menlendz - GPS_GALELIO Reciver Design in 2009.