主要内容

comm.OQPSKModulator

使用OQPSK调制方法

描述

使用抵消comm.OQPSKModulator对象调节输入信号正交移相键控(OQPSK)方法和脉冲波形滤波适用于输出波形。有关更多信息,请参见脉冲整形滤波器。输出是一个基带调制信号的表示。

延迟信息调制解调器对处理,明白了调制的延迟

使用抵消正交调制信号相移键控:

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

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

oqpskmod= comm.OQPSKModulator创建一个调制器系统对象™。这个对象适用于抵消正交移相键控(OQPSK)调制和脉冲波形输入信号滤波。

例子

oqpskmod= comm.OQPSKModulator (解调)创建一个调制器系统对象与OQPSK解调器对称配置对象,解调

例子

oqpskmod= comm.OQPSKModulator (的名字,价值)设置使用一个或多个属性名称-值对。在单引号附上每个属性的名字。

例子:comm.OQPSKModulator ('BitInput”,真的)

oqpskmod= comm.OQPSKModulator (阶段,的名字,价值)设置PhaseOffset创建的对象的属性阶段并设置任何其他规定的名字,价值对。

例子:comm.OQPSKModulator(0.5 *π,SymbolMapping”、“二进制”)

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

从π/ 4相抵消,指定为一个标量的弧度。相位偏移的应用于零的点信号星座前延迟的正交分量。后OQPSK虚数部分延迟,信号归一化与团结的力量。

例子:PhaseOffset,π/ 4对齐的零的点轴上的星座点QPSK信号,{(1,0)、(0,j), (1,0)、(0, - j)}。

数据类型:

选项提供输入比特,指定为真正的

  • 当这个属性设置,必须输入值的整数表示微不足道的输入段和范围从0到3。

  • 当这个属性设置真正的甚至,必须输入一个二进制向量的长度。元素对整数的二进制表示。

数据类型:逻辑

信号星座位映射,指定为“灰色”,“二元”,或一个自定义的第4单元的整数数字矢量值从0到3。

设置 星座映射为整数 星座映射部分 评论

灰色的

Gray-encoded信号星座映射。

二进制

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

定制的第4单元的整数数字矢量值从0到3

元素(b c d)必须由设置的值(0,1,2,3)在任何顺序。

数据类型:字符|

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

数据类型:字符

提出了余弦滤波器滚边因素,指定为一个标量01

依赖关系

此属性时启用PulseShape“正常提高余弦“根提出了余弦”

数据类型:

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

依赖关系

此属性时启用PulseShape“正常提高余弦“根提出了余弦”

数据类型:

冷杉分子过滤器,指定为一个行向量。

依赖关系

此属性时启用PulseShape“自定义”

数据类型:
复数的支持:金宝app是的

每个符号的样本数量,指定为一个积极的偶数。

数据类型:

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

数据类型:字符

使用

描述

例子

波形= oqpskmod (insignal)返回baseband-modulated输出。输出波形脉冲形状根据配置属性PulseShapeSamplesPerSymbol

输入参数

全部展开

输入信号,指定为一个N年代整数或位元列向量,N年代是样品的数量。

的设置BitInput属性决定了输入向量的解释。

数据类型:

输出参数

全部展开

输出波形,作为一个向量返回。输出波形脉冲形状根据配置属性PulseShapeSamplesPerSymbol

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

星座 计算或情节理想信号星座

全部展开

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

例子

全部折叠

创建一个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 =施用txData =兰迪([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调制器对象在创建它。

创建一个OQPSK解调器,给它分配一个相抵消的 1 2 π

阶段= 0.5 *π;oqpskdemod = comm.OQPSKDemodulator(阶段)
oqpskdemod = comm.OQPSKDemodulator属性:调制PhaseOffset: 1.5708 SymbolMapping:“灰色”BitOutput:假过滤PulseShape:“半正弦”SamplesPerSymbol: 4 OutputDataType:“双”

使用解调器对象来初始化一个OQPSK调制器在创建它。

oqpskmod = comm.OQPSKModulator (oqpskdemod)
oqpskmod = comm.OQPSKModulator属性:调制PhaseOffset: 1.5708 SymbolMapping:“灰色”BitInput:假过滤PulseShape:“半正弦”SamplesPerSymbol: 4 OutputDataType:“双”

执行OQPSK调制和解调和应用根提出了余弦滤波波形。

系统初始化

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

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

波形传输和接收

使用调制器对象OQPSK调制和传输过滤应用于输入数据。

oqpskWaveform =调制器(位);

通过波形通过一个通道。

信噪比= 0;rxWaveform = awgn (oqpskWaveform,信噪比);

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

demodData =解调器(rxWaveform);

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

延迟= (1 + modulator.BitInput) * modulator.FilterSpanInSymbols;(~,误码率)= biterr(比特(1:end-delay) demodData(延迟+ 1:结束)
1 = 0

使用qamdemod函数来模拟软OQPSK-modulated决定输出信号。

生成一个OQPSK调制信号。

sps = 4;味精=兰迪([0,1],1000,1);oqpskMod = comm.OQPSKModulator (“SamplesPerSymbol”sps,“BitInput”,真正的);oqpskSig = oqpskMod(味精);

添加噪声生成的信号。

impairedSig = awgn (oqpskSig 15);

执行不痒的决定解调

创建QPSK信号同相一致和正交。

impairedQPSK =复杂(真正的(impairedSig (1 + sps / 2: end-sps / 2)),图像放大(impairedSig (sps + 1:结束)));

匹配滤波应用于收到OQPSK信号。

halfSinePulse =罪(0:π/ sps (sps) *π/ sps);halfSinePulse matchedFilter = dsp.FIRDecimator (sps,“DecimationOffset”、sps / 2);filteredQPSK = matchedFilter (impairedQPSK);

执行软解调过滤OQPSK信号的使用qamdemod函数。使符号的映射qamdemod使用的符号映射comm.OQPSKModulator,然后解调信号。

oqpskModSymbolMapping = [1 3 0 2];解调= qamdemod (oqpskModSymbolMapping filteredQPSK, 4日,“OutputType”,“llr”);

更多关于

全部展开

扩展功能

版本历史

介绍了R2012a