文档

comm.OQPSKDemodulator系统对象

OQPSK解调方法

描述

comm. oqpsk解调器对象将脉冲形状滤波应用于输入波形,并使用偏移正交相移键控(OQPSK)方法对其进行解调。输入是调制信号的基带表示。

解调被OQPSK调制的信号:

  1. 创建comm. oqpskdemoator对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?(MATLAB)。

创建

语法

oqpskdemod = comm.OQPSKDemodulator
oqpskdemod = comm.OQPSKDemodulator (mod)
oqpskdemod = comm.OQPSKDemodulator(名称、值)
oqpskdemod = comm.OQPSKDemodulator(阶段、名称、值)

描述

oqpskdemod= comm.OQPSKDemodulator创建解调器System对象™。该目标可以联合匹配滤波和抽取波形,并使用偏移正交相移键控(OQPSK)方法进行解调。

oqpskdemod= comm.OQPSKDemodulator (国防部创建具有与OQPSK调制器对象对称配置的解调器System对象,国防部

例子

oqpskdemod= comm.OQPSKDemodulator (的名字价值使用一个或多个名称-值对设置属性。将每个属性名用单引号括起来。

例子:comm.OQPSKDemodulator ('BitOutput”,真的)

oqpskdemod= comm.OQPSKDemodulator (阶段的名字价值设置PhaseOffset属性阶段并设置任何其他指定的的名字价值对。

例子:comm.OQPSKDemodulator(0.5 *π,SamplesPerSymbol', 2)

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计(MATLAB)。

星座第0点的相位从π/4弧度(标量)偏移。

数据类型:

选择输出数据位,指定为真正的

  • 当您将此属性设置为时,对象输出长度等于解调符号数目的整数值列向量。输出值是两个位的整数表示,取值范围为03.

  • 当您将此属性设置为真正的时,对象输出二进制位值列向量。输出向量的长度是输入符号数量的两倍。

数据类型:逻辑

信号星座位映射,记为“灰色”“二元”,或自定义的4元素数字向量,这些整数的值从0到3。

设置 星座映射 评论

灰色的

信号星座映射是灰度编码的整数。

二进制

信号星座映射为输入整数(0≤≤3)为复值e(j * (PhaseOffset+π/ 4)+ j * 2 *π* m / 4)

自定义4元素数字向量,整数的值从0到3

元素[a b c d]必须以任意顺序由值[0,1,2,3]集合组成。

数据类型:字符|

滤波脉冲形状,规定为半正弦“正常提高余弦|“根提出了余弦”,或“自定义”

数据类型:字符

升高的余弦滤波器rolloff因子,指定为来自的标量01

依赖关系

此属性适用于以下情况PulseShape“正常提高余弦“根提出了余弦”

数据类型:

过滤器符号长度,指定为标量。理想提升余弦滤波器具有无限脉冲响应。然而,为了实现这个滤波器的实际实现,对象截断对的脉冲响应FilterSpanInSymbols符号。

依赖关系

此属性适用于以下情况PulseShape“正常提高余弦“根提出了余弦”

数据类型:

过滤器分子,指定为行向量。

依赖关系

此属性适用于以下情况PulseShape“自定义”

数据类型:
复数的支持:万博1manbetx是的

每个符号的样本数,指定为正偶数。

数据类型:

分配给输出的数据类型,指定为“双”“单一”,或“uint8”

数据类型:字符

使用

R2016b之前的版本,请使用一步函数来运行System对象™算法。的参数一步是您创建的对象,后面跟着本节中显示的参数。

例如,y =步骤(obj, x)y = obj (x)执行相同操作。

语法

outsignal = oqpskdemod(波形)

描述

例子

outsignal= oqpskdemod (波形返回解调后的输出信号。该对象为每个输入脉冲产生一个输出符号。

输入参数

全部展开

指定为标量或列向量的接收波形。

数据类型:
复数的支持:万博1manbetx是的

输出参数

全部展开

解调信号,返回为N年代-element整数向量或位向量,其中N年代为样本数。

所接收的波形是根据配置特性形成的脉冲波形PulseShapeSamplesPerSymbol.设置BitOutput属性决定对接收波形的解释。

数据类型:

对象的功能

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj,使用下面的语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改System对象属性值和输入特征
重置 重置System对象的内部状态

例子

全部展开

创建OQPSK调制器和解调器对。创建一个AWGN通道对象,每个符号有两个比特。

oqpskmod = comm.OQPSKModulator (“BitInput”,真正的);oqpskdemod = comm.OQPSKDemodulator (“BitOutput”,真正的);频道= comm.AWGNChannel (“EbNo”4“BitsPerSymbol”2);

创建错误率计算器。要考虑到调制器和解调器之间的延迟,设置ReceiveDelay财产2

errorRate = comm.ErrorRate (“ReceiveDelay”2);

通过这些步骤处理300帧循环数据。

  • 生成包含100个元素的随机二进制数据的向量。

  • OQPSK-modulate数据。数据帧被处理为50个2位二进制数据的样本帧。

  • 将调制后的数据通过AWGN通道传输。

  • OQPSK-demodulate数据。

  • 收集数据帧的错误统计信息。

counter = 1:300 txData = randi([0 1],100,1);modSig = oqpskmod (txData);rxSig =通道(modSig);rxData = oqpskdemod (rxSig);errorStats = errorRate (txData rxData);结束

显示错误统计信息。

数量= errorStats (1)
数量= 3.3336 e-05
numErrors = errorStats (2)
numErrors = 1
numBits = errorStats (3)
numBits = 29998

执行OQPSK调制和解调,并对波形应用根提升余弦滤波。

系统初始化

为OQPSK调制和解调定义仿真参数并创建对象。

sps = 12;每个符号%样本Bits = randi([0,1], 800,1);%传输数据调制器= comm.OQPSKModulator (“BitInput”,真的,“SamplesPerSymbol”sps,“PulseShape”“根提出了余弦”);解调器= comm.OQPSKDemodulator(调制器);

波形传输和接收

使用调制器对象对输入数据应用OQPSK调制并发送滤波。

oqpskWaveform =调制器(位);

将波形通过通道传递。

信噪比= 0;rx波形= awgn(oqpsk波形,信噪比);

使用解调器对象对波形应用接收滤波和OQPSK解调。

demodData =解调器(rxWaveform);

计算误码率以确认数据恢复的质量。

延迟= (1 + modulator.BitInput) * modulator.FilterSpanInSymbols;[~, ber] = biterr(bits(1:end-delay), demodData(delay+1:end))
1 = 0

更多关于

全部展开

扩展功能

介绍了R2012a

这个话题有用吗?