GPS信号预处理技术的实现
2018-01-03吴丽娜
吴丽娜
(中铁十九局集团电务工程有限公司,辽宁辽阳 111000)
GPS信号预处理技术的实现
吴丽娜
(中铁十九局集团电务工程有限公司,辽宁辽阳 111000)
随着GPS全球定位系统的不断完善,GPS定位系统在硬件和软件的应用领域也不断发展。GPS接收机是GPS系统的核心设备,而GPS工作的关键是正确的信号同步。一般认为,GPS信号预处理是GPS精密定位数据处理中非常重要的一步,预处理质量直接影响到最终的定位结果。探讨GPS信号预处理存在的问题,解析A/D转换的要点并利用MATLAB仿真软件进行试验。
A/D转换;MATLAB仿真软件;滤波处理
10.16621/j.cnki.issn1001-0599.2017.10.55
0 A/D转换
由于计算机只能识别数字信号和对数字信号进行处理,所以必须将模拟信号转换为数字信号。A/D转换就是将连续变化的模拟信号转换为离散的数字信号,分为采样、量化、编码3个步骤。
0.1 采样
对连续的模拟信号x(t),其相应的瞬时值(即通常称为离散化)是由一定的时间间隔提取的Ts,这称为采样。连续模拟信号x(t)被转换成离散模拟信号 xs(nTs)要经过采样,整个过程被称为采样信号。
采样周期Ts决定采样信号的质量和数量。因此,必须选择合适的采样周期 Ts,以确保 xs(nTs)不会丢失原始信号 x(t)。这个依据就是采样定理[1]。
0.2 量化
对模拟信号进行采样后,它成为离散采样信号,但在采样时间τ内其振幅是连续的,因此采样信号仍然是模拟信号。为了利用计算机处理信号,必须将采样信号转换成数字信号,即采样信号的幅值以二进制代码表示。由于二进制码的位数有限,它只能表示有限信号的电平。因此,在编码之前,采样信号应该首先量化[2]。
最小数量单位称为量化单位。量化单位定义为量化器满量程电压FSR与2n的比值,用q表示,因此有式(1)。
式中n——量化器的位数
0.3 编码
编码是模数转换的最后阶段。编码意味着量化信号的电平由数字代码表示,而编码有多种形式,最常用的是二进制码。二进制数字有两个可能的状态0和1,数字表示量化的信号测量。因此,所谓的二进制码,是用1和0组成的n位数字来表示量化电平[3]。
1 A/D转换设计
1.1 采样
GPS接收机从空中接收的卫星信号采样频率为4×1575.42 MHz。经过二次降频后得到频率为20.46 MHz的中频信号,根据采样定理,以4倍频率对其进行采样,即每间隔77个点采集一个数据,这就相当于以频率81.84 MHz采样。
1.2 量化、编码
通过采样得到的信号幅值是连续的,需要进行量化将幅值连续的采样变成幅值离散的采样并将量化结果编码输出则完成了A/D转换过程。常用编码有6位,8位,10位,12位,14位和16位等,在本设计中采用8位二进制编码。
将采样输出数据放大后进行编码,用第一位表示符号位,当采样数据为正时,符号位取0;当采样数据为负时,符号位取1。由于放大后信号幅值在±3之间,所以用两位编码表示整数位。
2MATLAB仿真软件
MATLAB是一种功能十分强大,运算效率很高的数学工具软件。MATLAB作为一门高级语言,和其他高级语言(C,Fortran和Basic等)一样,可以进行控制流的程序设计,这就是M文件的编程工作方式。M文件有2种:命令式(Script)和函数式(Function)。本研究选用编写函数式M文件的方式来实现仿真过程[4]。
3 数据源
本次设计采用0.1 ms无噪声卫星信号数据源,中心频率为1575.42 MHz,采样频率为 4×1575.42 MHz,一共有 630 168 个采样数据。运用MATLAB软件进行仿真。
s_datablock是数据源文件的变量,一共有630 168个采样数据,在MATLAB中命令窗口中键入命令:s_datablock(801:900),则可显示数据源的第801~900个数据。
在 MATLAB 命令窗口中键入命令:plo(ts_datablock),则可以显示0.1 ms无噪声卫星信号数据源波形。
4 降频部分的实现
降频部分仿真代码:
function m=fdown(s_datablock)
load‘(D:matlabworksi3_148.mat’)% 加载文件 si3_148 中变量到工作空间
%二次降频。
%GPS卫星信号L1波段的中心频率为f=1575.42 MHz,下变频到20.46 MHz
t1=1:630168;
y1=cos(1500*2*pi*t1/(4*1575.42e6));%第一本振
fdown1=y1.*s_datablock;%混频,进行第一次降频
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;%幅值恢复
t2=1:630168;
y2=cos(54.96*2*pi*t2/(4*1575.42e6));%第二本振
fdown2=y2.*d1;%混频,进行第二次降频
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;%幅值恢复
经过二次降频以及滤波处理,将频率为1575.42 MHz的GPS卫星信号降为20.46 MHz中频信号。
5 A/D转换的实现
5.1 采样部分
(1)采样、放大处理仿真代码。
%采样部分。每隔77点采1个相当于81.84 MHz采样。For j=1:77:length(d2)
y(floor(j/77)+1)=d2(j);%floor函数为向负方向舍入。
end
y=80*y;%信号放大
plot(y);%显示经降频,采样,放大后波形。
saveyy;%将经过降频,采样,放大处理后的数据保存在文件y中,变量名为y。
(2)经过二次降频、采样处理后波形。在二次降频基础上对信号进行采样处理,每隔77个点采1个,相当于81.84 MHz采样,则由数据源的630 168个采样点变成8184个采样数据。如图1所示。
图1 经过二次降频、采样处理后波形
(3)经过二次降频、采样、放大处理后波形。从图1可以看到,GPS接收机接收到的卫星信号在经过降频、采样处理后,幅值在±0.04之间,为了便于进行以后的量化和编码,需要对信号进行放大处理,放大80倍。
(4)y是经过降频、采样、放大处理后的GPS卫星信号,共有8184个采样数据。在MATLAB命令窗口中键入命令:y(801:900),则可显示y的第801~900个数据。
5.2 量化、编码
(1)量化、编码部分仿真代码。量化、编码部分采用8位二进制编码,对每一位分别进行编码。
(2)编码结果。经过采样处理后共有8184个采样数据,采用8位二进制编码。由采样数据看出整数部分在±3之间,所以用第一位表示符号位,第二、第三位表示整数位,第四至第八位表示小数位。在MATLAB命令窗口中键入命令:m(801:900),显示第801~900个编码结果。
(3)编码结果分析。8位编码有28=256个量化级,10位编码有210=1024个量化级。就数据0.0180而言,采用8位编码,二进制输出结果为00000000;采用10位编码,输出结果为0000000010。
可见,增加编码位数能减小量化误差,得到的结果更精确。码的位数的多少,决定了量化分层地多少。
6 结束语
模数转换的编码结果有6位、8位、10位、12位、14位等,本设计采用了8位二进制编码。码位数的选择与通信的质量和设备的复杂程度有关,编码位数的数量决定了量化分层的数量,因此编码位数越多,量化分层越细,量化噪声就越小,通信质量也就越好。采用8位编码量化误差较大,在A/D转换中仍有待研究和改进。
[1]李玉柏,彭启琮.软件数字下变频的实现与算法分析[J].通信学报.2000(10):45-46.
[2]白晋峰,王大鸣.直扩GPS中频数字接收机的实现[J].舰船电子工程.2004(4):102-103.
[3]储钟圻.数字卫星通信[M].第 1版.北京:机械工业出版社,2006.
[4]边少锋,李文魁.卫星导航系统概论[M].第 1 版.北京:电子工业出版社,2005.
[5]谢钢.GPS原理与接收机设计[M].北京:电子工业出版社,2009.
[6](美)Kaplan,GPS原理与应用[M].北京:电子工业出版社,2007.
P228.4
B
〔编辑 利 文〕