吳麗娜
(中鐵十九局集團(tuán)電務(wù)工程有限公司,遼寧遼陽(yáng) 111000)
GPS信號(hào)預(yù)處理技術(shù)的實(shí)現(xiàn)
吳麗娜
(中鐵十九局集團(tuán)電務(wù)工程有限公司,遼寧遼陽(yáng) 111000)
隨著GPS全球定位系統(tǒng)的不斷完善,GPS定位系統(tǒng)在硬件和軟件的應(yīng)用領(lǐng)域也不斷發(fā)展。GPS接收機(jī)是GPS系統(tǒng)的核心設(shè)備,而GPS工作的關(guān)鍵是正確的信號(hào)同步。一般認(rèn)為,GPS信號(hào)預(yù)處理是GPS精密定位數(shù)據(jù)處理中非常重要的一步,預(yù)處理質(zhì)量直接影響到最終的定位結(jié)果。探討GPS信號(hào)預(yù)處理存在的問題,解析A/D轉(zhuǎn)換的要點(diǎn)并利用MATLAB仿真軟件進(jìn)行試驗(yàn)。
A/D轉(zhuǎn)換;MATLAB仿真軟件;濾波處理
10.16621/j.cnki.issn1001-0599.2017.10.55
由于計(jì)算機(jī)只能識(shí)別數(shù)字信號(hào)和對(duì)數(shù)字信號(hào)進(jìn)行處理,所以必須將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。A/D轉(zhuǎn)換就是將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào),分為采樣、量化、編碼3個(gè)步驟。
對(duì)連續(xù)的模擬信號(hào)x(t),其相應(yīng)的瞬時(shí)值(即通常稱為離散化)是由一定的時(shí)間間隔提取的Ts,這稱為采樣。連續(xù)模擬信號(hào)x(t)被轉(zhuǎn)換成離散模擬信號(hào) xs(nTs)要經(jīng)過采樣,整個(gè)過程被稱為采樣信號(hào)。
采樣周期Ts決定采樣信號(hào)的質(zhì)量和數(shù)量。因此,必須選擇合適的采樣周期 Ts,以確保 xs(nTs)不會(huì)丟失原始信號(hào) x(t)。這個(gè)依據(jù)就是采樣定理[1]。
對(duì)模擬信號(hào)進(jìn)行采樣后,它成為離散采樣信號(hào),但在采樣時(shí)間τ內(nèi)其振幅是連續(xù)的,因此采樣信號(hào)仍然是模擬信號(hào)。為了利用計(jì)算機(jī)處理信號(hào),必須將采樣信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),即采樣信號(hào)的幅值以二進(jìn)制代碼表示。由于二進(jìn)制碼的位數(shù)有限,它只能表示有限信號(hào)的電平。因此,在編碼之前,采樣信號(hào)應(yīng)該首先量化[2]。
最小數(shù)量單位稱為量化單位。量化單位定義為量化器滿量程電壓FSR與2n的比值,用q表示,因此有式(1)。
式中n——量化器的位數(shù)
編碼是模數(shù)轉(zhuǎn)換的最后階段。編碼意味著量化信號(hào)的電平由數(shù)字代碼表示,而編碼有多種形式,最常用的是二進(jìn)制碼。二進(jìn)制數(shù)字有兩個(gè)可能的狀態(tài)0和1,數(shù)字表示量化的信號(hào)測(cè)量。因此,所謂的二進(jìn)制碼,是用1和0組成的n位數(shù)字來表示量化電平[3]。
GPS接收機(jī)從空中接收的衛(wèi)星信號(hào)采樣頻率為4×1575.42 MHz。經(jīng)過二次降頻后得到頻率為20.46 MHz的中頻信號(hào),根據(jù)采樣定理,以4倍頻率對(duì)其進(jìn)行采樣,即每間隔77個(gè)點(diǎn)采集一個(gè)數(shù)據(jù),這就相當(dāng)于以頻率81.84 MHz采樣。
通過采樣得到的信號(hào)幅值是連續(xù)的,需要進(jìn)行量化將幅值連續(xù)的采樣變成幅值離散的采樣并將量化結(jié)果編碼輸出則完成了A/D轉(zhuǎn)換過程。常用編碼有6位,8位,10位,12位,14位和16位等,在本設(shè)計(jì)中采用8位二進(jìn)制編碼。
將采樣輸出數(shù)據(jù)放大后進(jìn)行編碼,用第一位表示符號(hào)位,當(dāng)采樣數(shù)據(jù)為正時(shí),符號(hào)位取0;當(dāng)采樣數(shù)據(jù)為負(fù)時(shí),符號(hào)位取1。由于放大后信號(hào)幅值在±3之間,所以用兩位編碼表示整數(shù)位。
MATLAB是一種功能十分強(qiáng)大,運(yùn)算效率很高的數(shù)學(xué)工具軟件。MATLAB作為一門高級(jí)語言,和其他高級(jí)語言(C,F(xiàn)ortran和Basic等)一樣,可以進(jìn)行控制流的程序設(shè)計(jì),這就是M文件的編程工作方式。M文件有2種:命令式(Script)和函數(shù)式(Function)。本研究選用編寫函數(shù)式M文件的方式來實(shí)現(xiàn)仿真過程[4]。
本次設(shè)計(jì)采用0.1 ms無噪聲衛(wèi)星信號(hào)數(shù)據(jù)源,中心頻率為1575.42 MHz,采樣頻率為 4×1575.42 MHz,一共有 630 168 個(gè)采樣數(shù)據(jù)。運(yùn)用MATLAB軟件進(jìn)行仿真。
s_datablock是數(shù)據(jù)源文件的變量,一共有630 168個(gè)采樣數(shù)據(jù),在MATLAB中命令窗口中鍵入命令:s_datablock(801:900),則可顯示數(shù)據(jù)源的第801~900個(gè)數(shù)據(jù)。
在 MATLAB 命令窗口中鍵入命令:plo(ts_datablock),則可以顯示0.1 ms無噪聲衛(wèi)星信號(hào)數(shù)據(jù)源波形。
降頻部分仿真代碼:
function m=fdown(s_datablock)
load‘(D:matlabworksi3_148.mat’)% 加載文件 si3_148 中變量到工作空間
%二次降頻。
%GPS衛(wèi)星信號(hào)L1波段的中心頻率為f=1575.42 MHz,下變頻到20.46 MHz
t1=1:630168;
y1=cos(1500*2*pi*t1/(4*1575.42e6));%第一本振
fdown1=y1.*s_datablock;%混頻,進(jìn)行第一次降頻
w1=(75.42e6-10e6)/(2*1575.42e6);%濾波器邊緣頻率
w2=(75.42e6+10e6)/(2*1575.42e6);
b1=fir1(37,[w1 w2],‘bandpass’);%帶通濾波器
lvbo1=fftfilt(b1,fdown1);%取出差頻75.42 MHz
d1=2*lvbo1;%幅值恢復(fù)
t2=1:630168;
y2=cos(54.96*2*pi*t2/(4*1575.42e6));%第二本振
fdown2=y2.*d1;%混頻,進(jìn)行第二次降頻
w3=(20.46e6-10e6)/(2*1575.42e6);%濾波器邊緣頻率
w4=(20.46e6+10e6)/(2*1575.42e6);
b2=fir1(37,[w3 w4],‘bandpass’);%帶通濾波器
lvbo2=fftfilt(b2,fdown2);%取出差頻20.46 MHz
d2=2*lvbo2;%幅值恢復(fù)
經(jīng)過二次降頻以及濾波處理,將頻率為1575.42 MHz的GPS衛(wèi)星信號(hào)降為20.46 MHz中頻信號(hào)。
(1)采樣、放大處理仿真代碼。
%采樣部分。每隔77點(diǎn)采1個(gè)相當(dāng)于81.84 MHz采樣。For j=1:77:length(d2)
y(floor(j/77)+1)=d2(j);%floor函數(shù)為向負(fù)方向舍入。
end
y=80*y;%信號(hào)放大
plot(y);%顯示經(jīng)降頻,采樣,放大后波形。
saveyy;%將經(jīng)過降頻,采樣,放大處理后的數(shù)據(jù)保存在文件y中,變量名為y。
(2)經(jīng)過二次降頻、采樣處理后波形。在二次降頻基礎(chǔ)上對(duì)信號(hào)進(jìn)行采樣處理,每隔77個(gè)點(diǎn)采1個(gè),相當(dāng)于81.84 MHz采樣,則由數(shù)據(jù)源的630 168個(gè)采樣點(diǎn)變成8184個(gè)采樣數(shù)據(jù)。如圖1所示。
圖1 經(jīng)過二次降頻、采樣處理后波形
(3)經(jīng)過二次降頻、采樣、放大處理后波形。從圖1可以看到,GPS接收機(jī)接收到的衛(wèi)星信號(hào)在經(jīng)過降頻、采樣處理后,幅值在±0.04之間,為了便于進(jìn)行以后的量化和編碼,需要對(duì)信號(hào)進(jìn)行放大處理,放大80倍。
(4)y是經(jīng)過降頻、采樣、放大處理后的GPS衛(wèi)星信號(hào),共有8184個(gè)采樣數(shù)據(jù)。在MATLAB命令窗口中鍵入命令:y(801:900),則可顯示y的第801~900個(gè)數(shù)據(jù)。
(1)量化、編碼部分仿真代碼。量化、編碼部分采用8位二進(jìn)制編碼,對(duì)每一位分別進(jìn)行編碼。
(2)編碼結(jié)果。經(jīng)過采樣處理后共有8184個(gè)采樣數(shù)據(jù),采用8位二進(jìn)制編碼。由采樣數(shù)據(jù)看出整數(shù)部分在±3之間,所以用第一位表示符號(hào)位,第二、第三位表示整數(shù)位,第四至第八位表示小數(shù)位。在MATLAB命令窗口中鍵入命令:m(801:900),顯示第801~900個(gè)編碼結(jié)果。
(3)編碼結(jié)果分析。8位編碼有28=256個(gè)量化級(jí),10位編碼有210=1024個(gè)量化級(jí)。就數(shù)據(jù)0.0180而言,采用8位編碼,二進(jìn)制輸出結(jié)果為00000000;采用10位編碼,輸出結(jié)果為0000000010。
可見,增加編碼位數(shù)能減小量化誤差,得到的結(jié)果更精確。碼的位數(shù)的多少,決定了量化分層地多少。
模數(shù)轉(zhuǎn)換的編碼結(jié)果有6位、8位、10位、12位、14位等,本設(shè)計(jì)采用了8位二進(jìn)制編碼。碼位數(shù)的選擇與通信的質(zhì)量和設(shè)備的復(fù)雜程度有關(guān),編碼位數(shù)的數(shù)量決定了量化分層的數(shù)量,因此編碼位數(shù)越多,量化分層越細(xì),量化噪聲就越小,通信質(zhì)量也就越好。采用8位編碼量化誤差較大,在A/D轉(zhuǎn)換中仍有待研究和改進(jìn)。
[1]李玉柏,彭啟琮.軟件數(shù)字下變頻的實(shí)現(xiàn)與算法分析[J].通信學(xué)報(bào).2000(10):45-46.
[2]白晉峰,王大鳴.直擴(kuò)GPS中頻數(shù)字接收機(jī)的實(shí)現(xiàn)[J].艦船電子工程.2004(4):102-103.
[3]儲(chǔ)鐘圻.數(shù)字衛(wèi)星通信[M].第 1版.北京:機(jī)械工業(yè)出版社,2006.
[4]邊少鋒,李文魁.衛(wèi)星導(dǎo)航系統(tǒng)概論[M].第 1 版.北京:電子工業(yè)出版社,2005.
[5]謝鋼.GPS原理與接收機(jī)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009.
[6](美)Kaplan,GPS原理與應(yīng)用[M].北京:電子工業(yè)出版社,2007.
P228.4
B
〔編輯 利 文〕