主要内容

comm.mskmodulator.

使用MSK方法调制

描述

mskmodulator.对象使用最小移位键控方法调制。输出是调制信号的基带表示。初始相位偏移属性设置在弧度中测量的输出波形的初始相位。

使用最小Shift键控调制信号:

  1. 定义并设置MSK调制器对象。看建造

  2. 称呼根据属性调制信号comm.mskmodulator.。行为特定于工具箱中的每个对象。

笔记

从R2016B开始,而不是使用执行由System Object™定义的操作的方法,您可以使用参数调用对象,就像它是函数一样。例如,y =步骤(obj,x)y = obj(x)执行等效操作。

建造

h = comm.mskmodulator.创建调制器系统对象,H。该对象使用最小移位键控(MSK)调制方法来调制输入信号。

h = comm.mskmodulator(名称价值创建一个MSK调制器对象,H,每个指定属性设置为指定值。您可以按任何顺序指定其他名称值对参数(名称1value1.,......,namen.赋值)。

特性

比特扣

假设位输入

指定输入是否为位或整数。默认为错误的

当你设置时比特扣财产错误的, 这方法输入必须是具有双精度或签名整数数据类型和等于的值的列向量-1要么1

当你设置时比特扣财产真的, 这方法输入需要0s和1s的双精度或逻辑数据类型列向量。

initialphaseOffset.

初始相位偏移

将RADIAN中调制波形的初始阶段指定为真实的数字标量值。默认为0.

samplespersymbol.

每个输出符号的样本数

将输出中的上采样因子指定为真实,正整数标量值。默认为8.。上采样因子表示步进方法为每个输入样本产生的输出样本的数量。

outputDataType.

数据类型输出

将输出数据类型指定为一个双倍的|单身的。默认为双倍的

方法

使用MSK方法调制
所有系统对象共同
发布

允许系统对象属性值更改

重置

重置系统对象的内部状态

例子

全部收缩

%创建MSK调制器,AWGN通道和MSK解调器。用一个PI / 4的%相偏移。hmod = comm.mskmodulator('bitInpul', 真的,......'initialphaseoffset',pi / 4);havgn = comm.awgnchannel('noisemethod'......'信噪比(SNR)''snr',0);hdemod = comm.mskdemodulator('bitoup', 真的,......'initialphaseoffset',pi / 4);%创建错误率计算器,占Viterbi算法引起的延迟herror = comm.errorate('收纳',hdemod.tracebackdepth);为了计数器= 1:100%发送100个3位字DATA = RANDI([0 1],300,1);modsignal =步骤(hmod,data);noisysignal =步骤(havgn,modsignal);receptedData =步骤(hdemod,noisysignal);errorstats = step(herror,data,compancedData);结尾fprintf('错误率=%f \ nnumber的错误=%d \ n'......errorstats(1),errorstats(2))
错误率= 0.000000误差= 0

该示例说明了Zeros的二进制序列的映射,以及GMSK调制器的输出。该关系也适用于MSK调制。

创建一个接受二进制输入的GMSK调制器。指定每个符号的脉冲长度和样本为1。

gmsk = comm.gmskmodulator('bitInpul',真的,'pulselength',1,'samplespersymbol',1);

创建所有零的输入序列。调制序列。

x =零(5,1);y = gmsk(x)
y =5×1复合物1.0000 + 0.0000i -0.0000  -  1.0000i -1.0000 + 0.0000i 0.0000 + 1.0000i 1.0000  -  0.0000i

确定每个点的相位角。使用打开功能更好地展示趋势。

Theta = unwrap(角度(y))
θ=5×10 -1.5708 -3.1416 -4.7124 -6.2832

Zeros序列使得相位在样品之间偏移-π/ 2。

重置调制器。调制所有文件的输入序列。

重置(GMSK)X = = 1(5,1);y = gmsk(x)
y =5×1复合物1.0000 + 0.0000i -0.0000 + 1.0000i -1.0000  -  0.0000i 0.0000  -  1.0000i 1.0000 + 0.0000i

确定每个点的相位角。使用打开功能更好地展示趋势。

Theta = unwrap(角度(y))
θ=5×10 1.5708 3.1416 4.7124 6.2832

一系列导致相位在样品之间偏移+π/ 2。

通过用不同的脉冲长度和MSK绘制GMSK的眼图来比较高斯最小移位键控(GMSK)和最小移位键控(MSK)调制方案。

设置每个符号变量的样本。

SPS = 8;

生成随机二进制数据。

DATA = RANDI([0 1],1000,1);

创建接受二进制输入的GMSK和MSK调制器。设定肺长GMSK调制器的属性1

gmskmod = comm.gmskmodulator('bitInpul',真的,'pulselength',1,......'samplespersymbol',sps);mskmod = comm.mskmodulator('bitInpul',真的,'samplespersymbol',sps);

使用GMSK和MSK调制器调制数据。

modsiggmsk = gmskmod(数据);modsigmsk = mskmod(数据);

通过具有SNR的AWGN频道通过调制信号30.D b。

rxsiggmsk = awgn(modsiggmsk,30);rxsigmsk = awgn(modsigmsk,30);

使用眼镜图函数绘制噪声信号的眼图。使用GMSK脉冲长度设置为1,眼图几乎相同。

EyeDiaGram(RXSIGGMSK,SPS,1,SPS / 2)

图眼图包含2个轴。具有用于同相信号标题眼图的轴1包含类型线的对象。此对象表示同期。带有正交信号标题眼图的轴2包含类型线的对象。该对象表示正交。

EyeDiaGram(RXSIGMSK,SPS,1,SPS / 2)

图眼图包含2个轴。具有用于同相信号标题眼图的轴1包含类型线的对象。此对象表示同期。带有正交信号标题眼图的轴2包含类型线的对象。该对象表示正交。

设定肺长GMSK调制器对象的属性3.。因为属性是不可运送的,所以必须先发布对象。

释放(gmskmod)gmskmod.pulselength = 3;

使用更新的GMSK调制器对象生成调制信号并通过AWGN通道。

modsiggmsk = gmskmod(数据);rxsiggmsk = awgn(modsiggmsk,30);

利用连续相位调制(CPM)波形(例如GSMK),波形取决于先前符号的值以及当前符号。绘制GMSK信号的眼图,看看增加的脉冲长度导致眼图中的路径数量的增加。

EyeDiaGram(RXSIGGMSK,SPS,1,SPS / 2)

图眼图包含2个轴。具有用于同相信号标题眼图的轴1包含类型线的对象。此对象表示同期。带有正交信号标题眼图的轴2包含类型线的对象。该对象表示正交。

通过改变的实验肺长GMSK调制器对象的参数到其他值。如果将属性设置为偶数,则应设置gmskmod.initialphaseOffset.PI / 4.并更新偏移参数眼镜图功能从SPS / 2.0.为了更好地查看调制信号。为了更清楚地查看高斯脉冲形状,必须使用显示信号阶段的范围,如下所述CPM阶段树例子。

算法

该对象实现了描述的算法,输入和输出MSK解调器基带块参考页面。对象属性对应于块参数。对于MSK,每个符号的相移是π/ 2,其是0.5的调制指数。

扩展能力

在R2012A介绍