文档

cpfskdemodulator系统对象

采用CPFSK方法和Viterbi算法进行解调

描述

CPFSKDemodulator对象解调使用连续相位频移键控方法调制的信号。输入是调制信号的基带表示。

要解调使用连续相位频移键控方法调制的信号:

  1. 定义并设置CPFSK解调对象。看到建设

  2. 调用一步的性质来解调信号comm.CPFSKDemodulator.的行为一步特定于工具箱中的每个对象。

请注意

从R2016b开始,而不是使用一步方法来执行System对象™定义的操作,则可以使用参数调用该对象,就像调用函数一样。例如,Y = step(obj,x)而且Y = obj(x)请执行相同的操作。

建设

H = com . cpfsk解调器创建一个解调器系统对象,H.该对象使用Viterbi算法解调输入连续相位频移键控(CPFSK)调制数据。

H = com . cpfsk解调器(的名字价值创建一个CPFSK解调器对象,H,将每个指定的属性设置为指定的值。您可以以任意顺序指定额外的名-值对参数,如(Name1Value1、……).

H = com . cpfskdemodulator (M,的名字价值创建一个CPFSK解调器对象,H.该对象具有ModulationOrder属性设置为,其他指定的属性设置为指定的值。

属性

ModulationOrder

符号字母大小

指定符号字母的大小。此属性的值要求为2的幂,实数整数标量。默认为4

BitOutput

以比特形式输出数据

指定输出是由一组位还是整数值组成。默认为

当您将此属性设置为,一步方法输出长度为的列向量N/SamplesPerSymbol并且元素是- (ModulationOrder1)和ModulationOrder1。在这种情况下,N,为输入信号的长度,表示输入基带调制符号的个数。

当您将此属性设置为真正的,一步方法输出长度等于的二进制列向量P × N/SamplesPerSymbol),Plog2ModulationOrder).输出包含length-P一些单词。在这种情况下,对象首先将每个解调符号映射为奇数整数值,K,介于- (ModulationOrder1)和ModulationOrder1。然后对象映射K到非负整数(K+ModulationOrder1) / 2。最后,对象将每个非负整数映射为长度-P类型中指定的映射SymbolMapping财产。

SymbolMapping

符号编码

指定调制符号的映射为之一二进制|灰色的.默认为二进制.此属性决定对象如何映射每个解调的整数符号值(范围为0和ModulationOrder-1)到aP-length位字,其中PModulationOrderModulationOrder).

当您将此属性设置为二进制,对象使用自然二进制编码顺序。

当您将此属性设置为灰色的,对象使用灰色编码排序。

属性时应用此属性BitOutput财产真正的

ModulationIndex

调制指数

指定调制索引。默认为0.5.此属性的值可以是标量,h,或列向量,[h0h1,……hh -

其中H-1表示列向量的长度。

h不同的时间间隔不同,对象以multi-h为单位进行操作。当对象在multi-h中操作时,h一定是个有理数。

InitialPhaseOffset

初始相位偏移

指定输入调制波形的初始相位偏移,以弧度为实数值标量。默认为0

SamplesPerSymbol

每个输入符号的样本数

将每个输入符号的期望样本数指定为正整数标量。默认为8

TracebackDepth

维特比算法的回溯深度

指定Viterbi算法用于将每个回溯路径构造为正整数标量的网格分支的数量。默认为16.此属性的值也是输出延迟的值。该值是输出中第一个有意义的解调符号之前的零符号数。

OutputDataType

输出数据类型

将输出数据类型指定为之一int8|int16|int32|,当你设置BitOutput属性为false。默认为

当你设置BitOutput财产真正的,将输出数据类型指定为之一逻辑|

方法

重置 CPFSK解调对象的复位状态
一步 采用CPFSK方法和Viterbi算法进行解调
所有系统对象通用
释放

允许系统对象属性值更改

例子

全部展开

创建CPFSK调制器、AWGN信道和CPFSK解调器hMod = com . cpfskmodulator (8,“BitInput”,真的,...“SymbolMapping”“灰色”);hAWGN = com . awgnchannel (“NoiseMethod”...信噪比(SNR)“信噪比”, 0);hDemod = com . cpfskdemodulator (8,“BitOutput”,真的,...“SymbolMapping”“灰色”);创建一个错误率计算器,计算维特比算法造成的延迟。delay = log2(hDemod.ModulationOrder)*hDemod.TracebackDepth;error = com . errorrate (“ReceiveDelay”、延迟);计数器= 1:100发送100个3位字数据= randi([0 1],300,1);modSignal = step(hMod, data);noisyssignal = step(hAWGN, modSignal);receivedData = step(hDemod, noisyssignal);errorStats = step(错误,数据,receivedData);结束流(错误率= %f\n错误数= %d\n...errorStats errorStats (1), (2))
错误率= 0.004006错误数= 120

算法

对象上描述的算法、输入和输出CPFSK解调器基带块引用页。对象属性对应于块参数。对于CPFSK,每个符号的相移为π ×h,在那里h是调制指数。

扩展功能

在R2012a中引入

这个话题有用吗?