EngeeDSP.gpsWaveformGenerator
GPS信号发生器(传统的L1和L2,升级的L1C,L2C和L5)。
库::`工程师` 座:: GPS Waveform Generator
资料描述
一个对象 EngeeDSP.gpsWaveformGenerator 创建支持以下GPS信号的全球定位系统(GPS)信号发生器:
-
传统的L1和L2-用于属性*SignalType*值指定时
"遗产". -
升级的L1C-用于属性*[参数:SignalType]*指定值时
"l1c". -
升级的L2C-当属性*<参数:SignalType>>*指定值时使用
"l2c". -
升级的L5-用于属性*[参数:SignalType]*指定值时
"l5".
要创建GPS信号发生器对象,请按照以下步骤操作:
-
创建对象 EngeeDSP.gpsWaveformGenerator 并设置其属性。
-
用参数调用对象,就好像它是一个函数一样。
若要了解有关如何使用系统对象的详细信息,请参阅 AnyMath系统对象.
语法
争论
输入参数
navdata-导航数据
+
二元矩阵
Details
LNAV—传统导航信息的位
+
二元矩阵
Details
传统导航电文的位,指定为二进制矩阵。
如果为属性*SignalType*值集 "l2c" 如果给出了一个输入参数,则 gpsWaveObj 将相同的值分配给LNAV和CNAV。
|
依赖关系
若要使用此参数,请将属性设置为*SignalType*value "l2c".
| 数据类型 |
|
CNAV-民用导航电文位
+
二元矩阵
Details
民用导航电文的比特设置为二进制矩阵,维数与 LNAV相同
如果为属性*SignalType*值集 "l2c" 如果给出了一个输入参数,则 gpsWaveObj 将相同的值分配给LNAV和CNAV。
|
依赖关系
若要使用此参数,请将属性设置为*SignalType*value "l2c".
| 数据类型 |
|
输出参数
波形-生成的GPS信号
+
矩阵
Details
每列代表一个对应于属性值的信号*PRNID*。
行数等于乘积*BitDuration*×SampleRate×numBits,其中 numBits 是输入位数,等于 尺寸(导航数据,1).
信号的采样频率对应于属性*SampleRate*中指定的值。
| 数据类型 |
|
特征
# 信号类型 — 产生的基带信号的类型
+
"遗产" (默认情况下)| "l1c" | "l2c" | "l5"
Details
产生的基带信号的类型,设为:
-
"遗产"—使用此值生成传统的L1或L2信号。 -
"l1c"-使用此值生成升级的L1信号。 -
"l2c"-使用此值生成升级的L2信号。 -
"l5"-使用此值生成升级的L5信号。
# PRNID 是 伪随机卫星代码的索引
+
1 (默认情况下)| [1,210]范围内的整数 | 范围[1,210]的整数向量
Details
卫星的卫星伪随机码索引(PRN),设为:
-
范围内的整数
[1, 210]-使用此值输入单个卫星的PRN索引。 -
范围内的整数的向量
[1, 210]-使用此值输入多个卫星的PRN索引。
如果为属性*SignalType*值集 "l2c",那么PRN索引应该在范围内 [1, 63] 或 [159, 210].
|
# IsL2CInPhaseQuadrature — 实现l2c和L2P的正交密封
+
真的 或 1 (默认情况下)| 错误 或 0
Details
用于为L2C和L2P启用相位正交的属性,设置为数字或逻辑值:
-
真的—使用此选项设置同相分支(I分支)的精密码(P代码),以及中等持续时间的民用码(CM)和正交分支(Q分支)的民用长码(CL; -
错误-使用此选项安装I-branch中的所有代码。
依赖关系
若要使用此属性,请将属性设置为*SignalType*value "l2c".
# EnablePCode — P-代码指示器
+
真的 或 1 (默认)| 错误 或 0
Details
P代码指示器,设置为数字或逻辑值。
在不需要P代码的情况下,将此属性设置为 错误 以提高执行速度。
如果值设置为 错误,I分支中的P代码设置为 0.
依赖关系
若要使用此属性,请将属性设置为*SignalType*value "遗产" 或 "l2c".
# HasDataWithPCode — 使用P码传输数据的能力
+
真的 或 1 (默认情况下)| 错误 或 0
Details
使用P码传输数据的能力,指定为数字或逻辑值。 如果值设置为 真的,然后数据与P码一起传输。
依赖关系
若要使用此属性,请将属性设置为*SignalType*value "遗产" 或 "l2c",并且对于*[Argument property:EnablePCode]*值 真的.
# 初始时间 — 一周的开始时间,从
+
0 (默认情况下)| 范围[1,604800]中的真正标量
Details
一周的初始时间以秒为单位,设置为范围内的真实标量 [0, 604800].
依赖关系
若要使用此属性,请将属性设置为*SignalType*value "遗产",并且对于*[Argument property:EnablePCode]*值 错误.
# BitDuration — 输入位的持续时间
+
"0.01" | "0.02"
Details
此属性是只读的。 输入位的持续时间,表示为这些值之一:
-
"0.01"-如果属性*SignalType*具有值"l1c"或"l5". -
"0.02"-如果属性*SignalType*具有值"遗产"或"l2c".
# 芯片率 — 信号中最慢代码的处理速度
+
"1.023e6" | "511.5e3" | "10.23e6"
Details
此属性是只读的。 信号中最慢代码的处理速度,表示为这些值之一:
-
"1.023e6"-如果属性*SignalType*具有值"遗产"或"l1c". -
"511.5e3"-如果属性*SignalType*具有值"l2c". -
"10.23e6"-如果属性*SignalType*具有值"l5".
例子:
产生传统的GPS信号
Details
我们将生成导航数据的随机片段。
using EngeeDSP, EngeeSatellites
navdata = rand(0:1, 2, 1)
创建对象 EngeeDSP.gpsWaveformGenerator 并设置其属性。
gpswaveobj = gpsWaveformGenerator()
gpswaveobj.EnablePCode = true
gpswaveobj.SampleRate = 4*10.23e6
让我们生成一个传统的GPS信号并绘制其频谱。
waveform = gpswaveobj(navdata)
txscope = spectrumAnalyzer(SampleRate=gpswaveobj.SampleRate)
txscope(waveform)

GPS L1C信号生成
Details
让我们设置PRN索引并生成导航数据的随机位。
prn = [4 70]
numsat = length(prn)
numbits = 100
msg = rand(0:1, numbits, numsat)
创建对象 EngeeDSP.gpsWaveformGenerator 并设置其属性。
fs = 25e6
gpswaveobj = gpsWaveformGenerator(
"SignalType","l1c",
"PRNID",prn,
"SampleRate",fs
)
让我们生成GPS L1C信号并绘制其频谱。
waveform = gpswaveobj(msg)
txscope = spectrumAnalyzer(SampleRate=fs)
txscope(waveform)

GPS L2C信号生成
Details
我们将为四颗GPS卫星生成带有随机LNAV和CNAV数据的L2C GPS信号。
让我们设置PRN索引并生成随机LNAV和CNAV数据。
prn = [7 11 20 28]
numsat = length(prn)
numbits = 10
lnavdata = rand(0:1, numbits, numsat)
cnavdata = rand(0:1, numbits, numsat)
创建对象 EngeeDSP.gpsWaveformGenerator 并设置其属性。
gpswaveobj = gpsWaveformGenerator()
gpswaveobj.SignalType = "l2c"
gpswaveobj.PRNID = prn
gpswaveobj.SampleRate = 15e6
gpswaveobj.EnablePCode = true
让我们生成一个GPS L2C信号并绘制其频谱。
waveform = gpswaveobj([lnavdata, cnavdata])
txscope = spectrumAnalyzer()
txscope(waveform)

GPS L5信号生成
Details
让我们设置PRN索引并生成随机导航数据。
prn = [185, 189]
numsat = length(prn)
numbits = 40
msg = rand(0:1, numbits, numsat)
创建对象 EngeeDSP.gpsWaveformGenerator 并设置其属性。
fs = 25e6
gpswaveobj = gpsWaveformGenerator(
"SignalType", "l5",
"PRNID", prn,
"InitialTime", 42123,
"SampleRate", fs
)
让我们生成一个GPS L2C信号并绘制其频谱。
waveform = gpswaveobj(msg)
txscope = spectrumAnalyzer(SampleRate=fs)
txscope(waveform)
