comm.CPMModulator
使用CPM调制信号的方法
描述
的comm.CPMModulator 系统对象™调节输入信号使用连续相位调制(CPM)方法。输出是一个基带调制信号的表示。调制和过滤应用的更多信息,见CPM方法 和脉冲波形滤波 。
使用CPM调制信号的方法:
创建comm.CPMModulator 对象并设置其属性。
调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的系统对象是什么?
创建
属性
属性,除非另有注明<年代pan class="emphasis">nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。
如果一个属性<年代pan class="emphasis">可调在任何时候,你可以改变它的值。
改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象 。
ModulationOrder
- - - - - -<年代pan itemprop="purpose">调制顺序年代pan>
4
(默认)|<年代pan itemprop="inputvalue">两个标量的力量年代pan>
调制命令,指定为2的幂,标量。调制的顺序,米 = 2<年代up class="italic">k指定信号星座点的数量,k 是一个正整数表示每个符号位的数量。
数据类型:年代trong>双
BitInput
- - - - - -<年代pan itemprop="purpose">选择输入数据位年代pan>
0或假
(默认)|<年代pan itemprop="inputvalue">1或真正的
选择输入数据比特,指定为一个逻辑0 (假 )或1 (真正的 )。
当你设定这个属性假 必须一个列向量,输入奇数值的范围(- (ModulationOrder- 1),(ModulationOrder - 1)]。
当你设定这个属性真正的 的输入必须是列向量k 长度的话,在哪里<年代pan class="inlineequation">k= log2 (ModulationOrder )年代pan>。有关更多信息,请参见符号集 。
数据类型:年代trong>逻辑
SymbolMapping
- - - - - -<年代pan itemprop="purpose">符号映射年代pan>
“二元”
(默认)|<年代pan itemprop="inputvalue">“灰色”
符号的映射星座位,指定为“二元” 或“灰色” 。有关更多信息,请参见符号集 。
将此属性设置为“二元” 地图符号使用自然二进制编码排序。
将此属性设置为“灰色” 地图符号使用Gray-coded排序。
依赖关系
要启用这个特性,设置BitInput财产真正的 。
ModulationIndex
- - - - - -<年代pan itemprop="purpose">调制指数年代pan>
0.5
(默认)|<年代pan itemprop="inputvalue">负的标量年代pan>|<年代pan itemprop="inputvalue">列向量年代pan>
调制指数,指定为负的标量或列向量。有关更多信息,请参见CPM方法 。
数据类型:年代trong>双
FrequencyPulse
- - - - - -<年代pan itemprop="purpose">类型的频率脉冲整形年代pan>
“矩形”
(默认)|<年代pan itemprop="inputvalue">提出了余弦的
|<年代pan itemprop="inputvalue">“谱提出了余弦”
|<年代pan itemprop="inputvalue">“高斯”|<年代pan itemprop="inputvalue">“驯服FM”
类型的频率调制器所使用的脉冲整形光滑的相变调制信号,指定为“矩形” ,提出了余弦的 ,“谱提出了余弦” ,“高斯” ,或“驯服FM” 。有关更多信息,请参见脉冲波形滤波 。
MainLobeDuration
- - - - - -<年代pan itemprop="purpose">主瓣持续时间年代pan>
1
(默认)|<年代pan itemprop="inputvalue">正整数年代pan>
主瓣期间最大的叶光谱余弦脉冲,指定为一个正整数表示的数量符号间隔使用的调制脉冲形状调制信号。
依赖关系
要启用这个特性,设置FrequencyPulse财产“谱提出了余弦” 。
数据类型:年代trong>双
RolloffFactor
- - - - - -<年代pan itemprop="purpose">转出的因素年代pan>
0.2
(默认)|<年代pan itemprop="inputvalue">标量在[0,1]年代pan>
碾轧光谱的因素提出了余弦脉冲,指定为一个标量范围[0,1]。
依赖关系
要启用这个特性,设置FrequencyPulse财产“谱提出了余弦” 。
数据类型:年代trong>双
BandwidthTimeProduct
- - - - - -<年代pan itemprop="purpose">产品的带宽和高斯脉冲波形的象征年代pan>
0.3
(默认)|<年代pan itemprop="inputvalue">积极的标量年代pan>
带宽的产物和象征的高斯脉冲的形状,指定为一个积极的标量。使用BandwidthTimeProduct 为代价来减少带宽,增加了码间干扰。
依赖关系
要启用这个特性,设置FrequencyPulse财产“高斯” 。
数据类型:年代trong>双
PulseLength
- - - - - -<年代pan itemprop="purpose">频率脉冲波形的长度年代pan>
1
(默认)|<年代pan itemprop="inputvalue">正整数年代pan>
符号间隔频率脉冲波形的长度,指定为一个正整数。有关频率脉冲长度的更多信息,请参考LT 在脉冲波形滤波 。
数据类型:年代trong>双
SymbolPrehistory
- - - - - -<年代pan itemprop="purpose">史前象征年代pan>
1
(默认)|<年代pan itemprop="inputvalue">标量年代pan>|<年代pan itemprop="inputvalue">向量年代pan>
史前象征,指定为标量或矢量奇数元素范围(- (ModulationOrder- 1),(ModulationOrder - 1)]。这个属性定义之前使用的数据符号调制器第一次调用对象的反向顺序。这个属性指定为一个向量时,长度必须(PulseLength- 1)。
数据类型:年代trong>双
InitialPhaseOffset
- - - - - -<年代pan itemprop="purpose">初始阶段抵消年代pan>
0
(默认)|<年代pan itemprop="inputvalue">标量年代pan>
初始阶段抵消调制波形的弧度,指定为一个标量。
数据类型:年代trong>双
SamplesPerSymbol
- - - - - -<年代pan itemprop="purpose">每个输出的样本数量的象征年代pan>
8
(默认)|<年代pan itemprop="inputvalue">正整数年代pan>
每个输出的样本数量标志,指定为一个正整数。这个属性代表样本的数量为每个整数或二进制字输入输出。定义的所有二进制模式,脉冲形状,这个值必须大于1。
数据类型:年代trong>双
OutputDataType
- - - - - -<年代pan itemprop="purpose">数据类型的输出年代pan>
“双”
(默认)|<年代pan itemprop="inputvalue">“单一”
输出的数据类型,指定为“双” 或“单一” 。
使用
输入参数
x- - - - - -<年代pan itemprop="purpose">输入信号年代pan>
列向量年代pan>|<年代pan itemprop="inputvalue">矩阵年代pan>
输入信号数据,指定为一个整数列向量或矩阵或碎片。有关更多信息,请参见BitInput财产。
数据类型:年代trong>双|单 |int |逻辑
输出参数
y——CPM-modulated基带信号列向量年代pan>
CPM-modulated基带信号,作为一个列向量返回。这个输出向量的长度等于输入样本的数量乘以样品中指定的每个符号的数量SamplesPerSymbol财产。指定输出数据类型使用OutputDataType财产。
数据类型:年代trong>双|单
复数的支持:金宝app年代trong>是的
对象的功能
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj 使用这个语法:
发行版(obj)
例子
CPM调制和解调信号与灰色映射和输入
创建CPM调制器和CPM解调系统对象。
cpmmodulator = comm.CPMModulator (8,<年代pan style="color:#0000FF">…年代pan>“BitInput”年代pan>,真的,<年代pan style="color:#0000FF">…年代pan>“SymbolMapping”年代pan>,<年代pan style="color:#A020F0">“灰色”年代pan>);cpmdemodulator = comm.CPMDemodulator (8,<年代pan style="color:#0000FF">…年代pan>“BitOutput”年代pan>,真的,<年代pan style="color:#0000FF">…年代pan>“SymbolMapping”年代pan>,<年代pan style="color:#A020F0">“灰色”年代pan>);
创建一个错误率计算器系统对象™,占造成的延迟维特比算法。
延迟= log2 (cpmdemodulator.ModulationOrder)<年代pan style="color:#0000FF">…年代pan>* cpmdemodulator.TracebackDepth;errorRate = comm.ErrorRate (<年代pan style="color:#A020F0">“ReceiveDelay”年代pan>、延迟);
传输100 3-bit单词和打印出错率的结果。
为年代pan>counter = 1:10 0 data =兰迪([0,1],300,1);modSignal = cpmmodulator(数据);noisySignal = awgn (modSignal, 0);receivedData = cpmdemodulator (noisySignal);errorStats = errorRate(数据、receivedData);<年代pan style="color:#0000FF">结束年代pan>流(<年代pan style="color:#A020F0">'出错率= % f \ nNumber错误= % d \ n '年代pan>,<年代pan style="color:#0000FF">…年代pan>errorStats errorStats (1), (2))
出错率= 0.004006的错误数量= 120
应用GFSK调制和解调
使用comm.CPMModulator和comm.CPMDemodulator系统对象,应用高斯频移键控(GFSK调制和解调)随机数据。
创建一个GFSK调制器和解调器。
gfskMod = comm.CPMModulator (<年代pan style="color:#0000FF">…年代pan>“ModulationOrder”年代pan>2,<年代pan style="color:#0000FF">…年代pan>“FrequencyPulse”年代pan>,<年代pan style="color:#A020F0">“高斯”年代pan>,<年代pan style="color:#0000FF">…年代pan>“BandwidthTimeProduct”年代pan>,0.5,<年代pan style="color:#0000FF">…年代pan>“ModulationIndex”年代pan>,1<年代pan style="color:#0000FF">…年代pan>“BitInput”年代pan>,真正的);gfskDemod = comm.CPMDemodulator (<年代pan style="color:#0000FF">…年代pan>“ModulationOrder”年代pan>2,<年代pan style="color:#0000FF">…年代pan>“FrequencyPulse”年代pan>,<年代pan style="color:#A020F0">“高斯”年代pan>,<年代pan style="color:#0000FF">…年代pan>“BandwidthTimeProduct”年代pan>,0.5,<年代pan style="color:#0000FF">…年代pan>“ModulationIndex”年代pan>,1<年代pan style="color:#0000FF">…年代pan>“BitOutput”年代pan>,真正的);
生成随机数据和应用GFSK调制。使用散点图来查看星座。
numSym = 100;x =兰迪([0,1],numSym * gfskMod.SamplesPerSymbol, 1);y = gfskMod (x);eyediagram (y, 16)
解调GFSK-modulated数据。验证解调信号数据等于原始数据,占的高斯滤波引入的延时GFSK调制和解调过程。
z = gfskDemod (y);延迟= finddelay (x, z);isequal (x (1: end-delay)、z(延迟+ 1:结束)
ans =<年代pan class="emphasis">逻辑1
情节相树连续相位调制年代trong>
情节相树图信号,应用连续相位调制(CPM)。一个<年代pan class="emphasis">阶段树形图添加许多曲线,每个情节调制信号的相位。不同的曲线结果不同输入调制器。这个例子定义了CPM调制器设置,适用于符号映射和阴谋的结果。每个曲线代表的不同实例模拟的CPM调制不同的输入信号(常数)。
定义参数的例子和创建一个CPM调制系统对象。
M = 2;<年代pan style="color:#228B22">%调制顺序年代pan>modindex = 2/3;<年代pan style="color:#228B22">%调制指数年代pan>sps = 8;<年代pan style="color:#228B22">每个符号%样本年代pan>L = 5;<年代pan style="color:#228B22">%符号显示年代pan>pmat = 0 (L * sps, M ^ L);<年代pan style="color:#228B22">%空相位矩阵年代pan>cpm = comm.CPMModulator (M,<年代pan style="color:#0000FF">…年代pan>ModulationIndex = modindex,<年代pan style="color:#0000FF">…年代pan>FrequencyPulse =<年代pan style="color:#A020F0">“提出了余弦”年代pan>,<年代pan style="color:#0000FF">…年代pan>PulseLength = 2,<年代pan style="color:#0000FF">…年代pan>SamplesPerSymbol = sps);
使用一个为 循环应用CPM符号输入符号的映射,映射0到- (m - 1)、1 - (m - 2),等等。填充阶段矩阵的列的相位角拆开调制符号。
为年代pan>ip_sig = 0 (M ^ L): 1 s = int2bit (ip_sig, L, 1);s = 2 * s + 1米;x = cpm(年代);pmat (:, ip_sig + 1) =打开(角(x (:)));<年代pan style="color:#0000FF">结束年代pan>pmat = pmat /(π* modindex);t = (0: L * sps-1) / sps;
情节CPM阶段树。
情节(t, pmat);标题(<年代pan style="color:#A020F0">“CPM阶段树”年代pan>)包含(<年代pan style="color:#A020F0">“样本”年代pan>)ylabel (<年代pan style="color:#A020F0">的阶段(弧度)年代pan>)
更多关于
CPM方法
调制器的输出是一个调制信号的基带表示:
{α 我}是一个序列米 必要的数据符号选择从字母表±1,±±3日(米 1)。
米必须形成2<年代up>k对于一些正整数k ,在那里米 是调制秩序和指定符号字母的大小。
{h 我}是一个序列的调制指数h 我周期性移动通过一组指标{h 0年代ub>,h 我,h 2年代ub>、……h H1年代ub>}。当H = 1,只存在一个调制指数,h 0年代ub>,这是表示h 。
相移的一个象征<年代pan class="inlineequation">π×h 。
当h 我不同区间间隔,对象在多运营h 。为了确保有限数量的阶段,h 我必须是一个有理数。
脉冲波形滤波
CPM方法使用脉冲整形光滑的相变调制信号。这个函数问 (t )获得的相位响应频率的脉冲,g (t ),通过这种关系:<年代pan class="inlineequation">
。
指定的频率脉冲波形对应于这些脉冲波形表达式g (t )。
脉冲波形
表达式
矩形
提出了余弦
谱提出了余弦
高斯
驯服调频(驯服调频)
l主要年代ub>是主瓣间隔脉冲持续时间的象征。
β是碾轧因素提出的光谱cos。
Bb年代ub>的产品是带宽和高斯脉冲。
脉冲的持续时间,LT 脉冲长度在符号间隔。定义的表达式,提出的光谱cos,高斯,驯服调频脉冲形状有无限的长度。出于实用的目的,LT 指定了截断有限长度。
在脉冲波形滤波的更多信息,见[1] 。
符号集
在二进制输入模式下,对象处理遵循这个过程。
把输入比特分成k 长度的话,每个bit-group映射到一个整数,l ,范围在[0,米 - 1)。<年代pan class="inlineequation">k= log2 (米 )年代pan>和米 指定的调制顺序吗ModulationOrder财产。自然二进制编码的二进制字映射选项排序或Gray-coded排序,为指定的SymbolMapping财产。
地图每一个整数l 签署了整数为2l - (米 1)。
进行调制处理整数输入模式。
引用
[1]<年代pan>安德森,约翰·B。,T或一个ulin, and Carl-Erik Sundberg.数字相位调制。纽约:充气出版社,1986年。年代pan>
扩展功能
C / c++代码生成生成C和c++代码使用MATLAB®编码器™。年代pan>
使用笔记和限制:年代pan>
看到系统在MATLAB代码生成对象 (MATLAB编码器)年代pan>。
版本历史
介绍了R2012a年代trong>
另请参阅
对象
comm.CPMDemodulator
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">comm.CPFSKModulator
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">comm.MSKModulator
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">comm.GMSKModulator
块
使用CPM调制信号的方法
描述
的
使用CPM调制信号的方法:
创建
comm.CPMModulator 对象并设置其属性。调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的
创建
属性
属性,除非另有注明<年代pan class="emphasis">nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。
如果一个属性<年代pan class="emphasis">可调在任何时候,你可以改变它的值。
改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象 。
ModulationOrder
- - - - - -<年代pan itemprop="purpose">调制顺序年代pan>
4
(默认)|<年代pan itemprop="inputvalue">两个标量的力量年代pan>
调制命令,指定为2的幂,标量。调制的顺序,米 = 2<年代up class="italic">k指定信号星座点的数量,k 是一个正整数表示每个符号位的数量。
数据类型:年代trong>双
BitInput
- - - - - -<年代pan itemprop="purpose">选择输入数据位年代pan>
0或假
(默认)|<年代pan itemprop="inputvalue">1或真正的
选择输入数据比特,指定为一个逻辑0 (假 )或1 (真正的 )。
当你设定这个属性假 必须一个列向量,输入奇数值的范围(- (ModulationOrder- 1),(ModulationOrder - 1)]。
当你设定这个属性真正的 的输入必须是列向量k 长度的话,在哪里<年代pan class="inlineequation">k= log2 (ModulationOrder )年代pan>。有关更多信息,请参见符号集 。
数据类型:年代trong>逻辑
SymbolMapping
- - - - - -<年代pan itemprop="purpose">符号映射年代pan>
“二元”
(默认)|<年代pan itemprop="inputvalue">“灰色”
符号的映射星座位,指定为“二元” 或“灰色” 。有关更多信息,请参见符号集 。
将此属性设置为“二元” 地图符号使用自然二进制编码排序。
将此属性设置为“灰色” 地图符号使用Gray-coded排序。
依赖关系
要启用这个特性,设置BitInput财产真正的 。
ModulationIndex
- - - - - -<年代pan itemprop="purpose">调制指数年代pan>
0.5
(默认)|<年代pan itemprop="inputvalue">负的标量年代pan>|<年代pan itemprop="inputvalue">列向量年代pan>
调制指数,指定为负的标量或列向量。有关更多信息,请参见CPM方法 。
数据类型:年代trong>双
FrequencyPulse
- - - - - -<年代pan itemprop="purpose">类型的频率脉冲整形年代pan>
“矩形”
(默认)|<年代pan itemprop="inputvalue">提出了余弦的
|<年代pan itemprop="inputvalue">“谱提出了余弦”
|<年代pan itemprop="inputvalue">“高斯”|<年代pan itemprop="inputvalue">“驯服FM”
类型的频率调制器所使用的脉冲整形光滑的相变调制信号,指定为“矩形” ,提出了余弦的 ,“谱提出了余弦” ,“高斯” ,或“驯服FM” 。有关更多信息,请参见脉冲波形滤波 。
MainLobeDuration
- - - - - -<年代pan itemprop="purpose">主瓣持续时间年代pan>
1
(默认)|<年代pan itemprop="inputvalue">正整数年代pan>
主瓣期间最大的叶光谱余弦脉冲,指定为一个正整数表示的数量符号间隔使用的调制脉冲形状调制信号。
依赖关系
要启用这个特性,设置FrequencyPulse财产“谱提出了余弦” 。
数据类型:年代trong>双
RolloffFactor
- - - - - -<年代pan itemprop="purpose">转出的因素年代pan>
0.2
(默认)|<年代pan itemprop="inputvalue">标量在[0,1]年代pan>
碾轧光谱的因素提出了余弦脉冲,指定为一个标量范围[0,1]。
依赖关系
要启用这个特性,设置FrequencyPulse财产“谱提出了余弦” 。
数据类型:年代trong>双
BandwidthTimeProduct
- - - - - -<年代pan itemprop="purpose">产品的带宽和高斯脉冲波形的象征年代pan>
0.3
(默认)|<年代pan itemprop="inputvalue">积极的标量年代pan>
带宽的产物和象征的高斯脉冲的形状,指定为一个积极的标量。使用BandwidthTimeProduct 为代价来减少带宽,增加了码间干扰。
依赖关系
要启用这个特性,设置FrequencyPulse财产“高斯” 。
数据类型:年代trong>双
PulseLength
- - - - - -<年代pan itemprop="purpose">频率脉冲波形的长度年代pan>
1
(默认)|<年代pan itemprop="inputvalue">正整数年代pan>
符号间隔频率脉冲波形的长度,指定为一个正整数。有关频率脉冲长度的更多信息,请参考LT 在脉冲波形滤波 。
数据类型:年代trong>双
SymbolPrehistory
- - - - - -<年代pan itemprop="purpose">史前象征年代pan>
1
(默认)|<年代pan itemprop="inputvalue">标量年代pan>|<年代pan itemprop="inputvalue">向量年代pan>
史前象征,指定为标量或矢量奇数元素范围(- (ModulationOrder- 1),(ModulationOrder - 1)]。这个属性定义之前使用的数据符号调制器第一次调用对象的反向顺序。这个属性指定为一个向量时,长度必须(PulseLength- 1)。
数据类型:年代trong>双
InitialPhaseOffset
- - - - - -<年代pan itemprop="purpose">初始阶段抵消年代pan>
0
(默认)|<年代pan itemprop="inputvalue">标量年代pan>
初始阶段抵消调制波形的弧度,指定为一个标量。
数据类型:年代trong>双
SamplesPerSymbol
- - - - - -<年代pan itemprop="purpose">每个输出的样本数量的象征年代pan>
8
(默认)|<年代pan itemprop="inputvalue">正整数年代pan>
每个输出的样本数量标志,指定为一个正整数。这个属性代表样本的数量为每个整数或二进制字输入输出。定义的所有二进制模式,脉冲形状,这个值必须大于1。
数据类型:年代trong>双
OutputDataType
- - - - - -<年代pan itemprop="purpose">数据类型的输出年代pan>
“双”
(默认)|<年代pan itemprop="inputvalue">“单一”
输出的数据类型,指定为“双” 或“单一” 。
属性,除非另有注明<年代pan class="emphasis">nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们, 如果一个属性<年代pan class="emphasis">可调在任何时候,你可以改变它的值。
改变属性值的更多信息,请参阅 调制命令,指定为2的幂,标量。调制的顺序, 数据类型:年代trong> 选择输入数据比特,指定为一个逻辑 当你设定这个属性 当你设定这个属性 数据类型:年代trong> 符号的映射星座位,指定为 将此属性设置为 将此属性设置为 要启用这个特性,设置 调制指数,指定为负的标量或列向量。有关更多信息,请参见 数据类型:年代trong> 类型的频率调制器所使用的脉冲整形光滑的相变调制信号,指定为 主瓣期间最大的叶光谱余弦脉冲,指定为一个正整数表示的数量符号间隔使用的调制脉冲形状调制信号。
要启用这个特性,设置 数据类型:年代trong> 碾轧光谱的因素提出了余弦脉冲,指定为一个标量范围[0,1]。
要启用这个特性,设置 数据类型:年代trong> 带宽的产物和象征的高斯脉冲的形状,指定为一个积极的标量。使用 要启用这个特性,设置 数据类型:年代trong> 符号间隔频率脉冲波形的长度,指定为一个正整数。有关频率脉冲长度的更多信息,请参考 数据类型:年代trong> 史前象征,指定为标量或矢量奇数元素范围(- ( 数据类型:年代trong> 初始阶段抵消调制波形的弧度,指定为一个标量。
数据类型:年代trong> 每个输出的样本数量标志,指定为一个正整数。这个属性代表样本的数量为每个整数或二进制字输入输出。定义的所有二进制模式,脉冲形状,这个值必须大于1。
数据类型:年代trong> 输出的数据类型,指定为释放函数打开它们。
ModulationOrder
- - - - - -<年代pan itemprop="purpose">调制顺序年代pan>4
(默认)|<年代pan itemprop="inputvalue">两个标量的力量年代pan>双
BitInput
- - - - - -<年代pan itemprop="purpose">选择输入数据位年代pan>0或
(默认)|<年代pan itemprop="inputvalue">1或
ModulationOrder- 1),(
逻辑
SymbolMapping
- - - - - -<年代pan itemprop="purpose">符号映射年代pan>“二元”
(默认)|<年代pan itemprop="inputvalue">“灰色”
依赖关系
BitInput财产
ModulationIndex
- - - - - -<年代pan itemprop="purpose">调制指数年代pan>0.5
(默认)|<年代pan itemprop="inputvalue">负的标量年代pan>|<年代pan itemprop="inputvalue">列向量年代pan>双
FrequencyPulse
- - - - - -<年代pan itemprop="purpose">类型的频率脉冲整形年代pan>“矩形”
(默认)|<年代pan itemprop="inputvalue">提出了余弦的
|<年代pan itemprop="inputvalue">“谱提出了余弦”
|<年代pan itemprop="inputvalue">“高斯”|<年代pan itemprop="inputvalue">
“驯服FM”
MainLobeDuration
- - - - - -<年代pan itemprop="purpose">主瓣持续时间年代pan>1
(默认)|<年代pan itemprop="inputvalue">正整数年代pan>依赖关系
FrequencyPulse财产
双
RolloffFactor
- - - - - -<年代pan itemprop="purpose">转出的因素年代pan>0.2
(默认)|<年代pan itemprop="inputvalue">标量在[0,1]年代pan>依赖关系
FrequencyPulse财产
双
BandwidthTimeProduct
- - - - - -<年代pan itemprop="purpose">产品的带宽和高斯脉冲波形的象征年代pan>0.3
(默认)|<年代pan itemprop="inputvalue">积极的标量年代pan>依赖关系
FrequencyPulse财产
双
PulseLength
- - - - - -<年代pan itemprop="purpose">频率脉冲波形的长度年代pan>1
(默认)|<年代pan itemprop="inputvalue">正整数年代pan>双
SymbolPrehistory
- - - - - -<年代pan itemprop="purpose">史前象征年代pan>1
(默认)|<年代pan itemprop="inputvalue">标量年代pan>|<年代pan itemprop="inputvalue">向量年代pan>ModulationOrder- 1),(
PulseLength- 1)。
双
InitialPhaseOffset
- - - - - -<年代pan itemprop="purpose">初始阶段抵消年代pan>0
(默认)|<年代pan itemprop="inputvalue">标量年代pan>双
SamplesPerSymbol
- - - - - -<年代pan itemprop="purpose">每个输出的样本数量的象征年代pan>8
(默认)|<年代pan itemprop="inputvalue">正整数年代pan>双
OutputDataType
- - - - - -<年代pan itemprop="purpose">数据类型的输出年代pan>“双”
(默认)|<年代pan itemprop="inputvalue">“单一”
使用
输入参数
x- - - - - -<年代pan itemprop="purpose">输入信号年代pan>
列向量年代pan>|<年代pan itemprop="inputvalue">矩阵年代pan>
输入信号数据,指定为一个整数列向量或矩阵或碎片。有关更多信息,请参见BitInput财产。
数据类型:年代trong>双|单 |int |逻辑
输出参数
y——CPM-modulated基带信号列向量年代pan>
CPM-modulated基带信号,作为一个列向量返回。这个输出向量的长度等于输入样本的数量乘以样品中指定的每个符号的数量SamplesPerSymbol财产。指定输出数据类型使用OutputDataType财产。
数据类型:年代trong>双|单
复数的支持:金宝app年代trong>是的
输入参数
x- - - - - -<年代pan itemprop="purpose">输入信号年代pan>
列向量年代pan>|<年代pan itemprop="inputvalue">矩阵年代pan>
输入信号数据,指定为一个整数列向量或矩阵或碎片。有关更多信息,请参见BitInput财产。
数据类型:年代trong>双|单 |int |逻辑
x- - - - - -<年代pan itemprop="purpose">输入信号年代pan>
列向量年代pan>|<年代pan itemprop="inputvalue">矩阵年代pan>
列向量年代pan>|<年代pan itemprop="inputvalue">矩阵年代pan>
输入信号数据,指定为一个整数列向量或矩阵或碎片。有关更多信息,请参见 数据类型:年代trong>BitInput财产。
双|
输出参数
y——CPM-modulated基带信号列向量年代pan>
CPM-modulated基带信号,作为一个列向量返回。这个输出向量的长度等于输入样本的数量乘以样品中指定的每个符号的数量SamplesPerSymbol财产。指定输出数据类型使用OutputDataType财产。
数据类型:年代trong>双|单
复数的支持:金宝app年代trong>是的
y——CPM-modulated基带信号列向量年代pan>
CPM-modulated基带信号,作为一个列向量返回。这个输出向量的长度等于输入样本的数量乘以样品中指定的每个符号的数量 数据类型:年代trong>SamplesPerSymbol财产。指定输出数据类型使用
OutputDataType财产。
双|
复数的支持:金宝app年代trong>是的
对象的功能
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名
发行版(obj)
例子
CPM调制和解调信号与灰色映射和输入
创建CPM调制器和CPM解调系统对象。
cpmmodulator = comm.CPMModulator (8,<年代pan style="color:#0000FF">…年代pan>“BitInput”年代pan>,真的,<年代pan style="color:#0000FF">…年代pan>“SymbolMapping”年代pan>,<年代pan style="color:#A020F0">“灰色”年代pan>);cpmdemodulator = comm.CPMDemodulator (8,<年代pan style="color:#0000FF">…年代pan>“BitOutput”年代pan>,真的,<年代pan style="color:#0000FF">…年代pan>“SymbolMapping”年代pan>,<年代pan style="color:#A020F0">“灰色”年代pan>);
创建一个错误率计算器系统对象™,占造成的延迟维特比算法。
延迟= log2 (cpmdemodulator.ModulationOrder)<年代pan style="color:#0000FF">…年代pan>* cpmdemodulator.TracebackDepth;errorRate = comm.ErrorRate (<年代pan style="color:#A020F0">“ReceiveDelay”年代pan>、延迟);
传输100 3-bit单词和打印出错率的结果。
为年代pan>counter = 1:10 0 data =兰迪([0,1],300,1);modSignal = cpmmodulator(数据);noisySignal = awgn (modSignal, 0);receivedData = cpmdemodulator (noisySignal);errorStats = errorRate(数据、receivedData);<年代pan style="color:#0000FF">结束年代pan>流(<年代pan style="color:#A020F0">'出错率= % f \ nNumber错误= % d \ n '年代pan>,<年代pan style="color:#0000FF">…年代pan>errorStats errorStats (1), (2))
出错率= 0.004006的错误数量= 120
应用GFSK调制和解调
使用comm.CPMModulator和comm.CPMDemodulator系统对象,应用高斯频移键控(GFSK调制和解调)随机数据。
创建一个GFSK调制器和解调器。
gfskMod = comm.CPMModulator (<年代pan style="color:#0000FF">…年代pan>“ModulationOrder”年代pan>2,<年代pan style="color:#0000FF">…年代pan>“FrequencyPulse”年代pan>,<年代pan style="color:#A020F0">“高斯”年代pan>,<年代pan style="color:#0000FF">…年代pan>“BandwidthTimeProduct”年代pan>,0.5,<年代pan style="color:#0000FF">…年代pan>“ModulationIndex”年代pan>,1<年代pan style="color:#0000FF">…年代pan>“BitInput”年代pan>,真正的);gfskDemod = comm.CPMDemodulator (<年代pan style="color:#0000FF">…年代pan>“ModulationOrder”年代pan>2,<年代pan style="color:#0000FF">…年代pan>“FrequencyPulse”年代pan>,<年代pan style="color:#A020F0">“高斯”年代pan>,<年代pan style="color:#0000FF">…年代pan>“BandwidthTimeProduct”年代pan>,0.5,<年代pan style="color:#0000FF">…年代pan>“ModulationIndex”年代pan>,1<年代pan style="color:#0000FF">…年代pan>“BitOutput”年代pan>,真正的);
生成随机数据和应用GFSK调制。使用散点图来查看星座。
numSym = 100;x =兰迪([0,1],numSym * gfskMod.SamplesPerSymbol, 1);y = gfskMod (x);eyediagram (y, 16)
解调GFSK-modulated数据。验证解调信号数据等于原始数据,占的高斯滤波引入的延时GFSK调制和解调过程。
z = gfskDemod (y);延迟= finddelay (x, z);isequal (x (1: end-delay)、z(延迟+ 1:结束)
ans =<年代pan class="emphasis">逻辑1
情节相树连续相位调制年代trong>
情节相树图信号,应用连续相位调制(CPM)。一个<年代pan class="emphasis">阶段树形图添加许多曲线,每个情节调制信号的相位。不同的曲线结果不同输入调制器。这个例子定义了CPM调制器设置,适用于符号映射和阴谋的结果。每个曲线代表的不同实例模拟的CPM调制不同的输入信号(常数)。
定义参数的例子和创建一个CPM调制系统对象。
M = 2;<年代pan style="color:#228B22">%调制顺序年代pan>modindex = 2/3;<年代pan style="color:#228B22">%调制指数年代pan>sps = 8;<年代pan style="color:#228B22">每个符号%样本年代pan>L = 5;<年代pan style="color:#228B22">%符号显示年代pan>pmat = 0 (L * sps, M ^ L);<年代pan style="color:#228B22">%空相位矩阵年代pan>cpm = comm.CPMModulator (M,<年代pan style="color:#0000FF">…年代pan>ModulationIndex = modindex,<年代pan style="color:#0000FF">…年代pan>FrequencyPulse =<年代pan style="color:#A020F0">“提出了余弦”年代pan>,<年代pan style="color:#0000FF">…年代pan>PulseLength = 2,<年代pan style="color:#0000FF">…年代pan>SamplesPerSymbol = sps);
使用一个为 循环应用CPM符号输入符号的映射,映射0到- (m - 1)、1 - (m - 2),等等。填充阶段矩阵的列的相位角拆开调制符号。
为年代pan>ip_sig = 0 (M ^ L): 1 s = int2bit (ip_sig, L, 1);s = 2 * s + 1米;x = cpm(年代);pmat (:, ip_sig + 1) =打开(角(x (:)));<年代pan style="color:#0000FF">结束年代pan>pmat = pmat /(π* modindex);t = (0: L * sps-1) / sps;
情节CPM阶段树。
情节(t, pmat);标题(<年代pan style="color:#A020F0">“CPM阶段树”年代pan>)包含(<年代pan style="color:#A020F0">“样本”年代pan>)ylabel (<年代pan style="color:#A020F0">的阶段(弧度)年代pan>)
CPM调制和解调信号与灰色映射和输入
创建CPM调制器和CPM解调系统对象。
cpmmodulator = comm.CPMModulator (8,<年代pan style="color:#0000FF">…年代pan>“BitInput”年代pan>,真的,<年代pan style="color:#0000FF">…年代pan>“SymbolMapping”年代pan>,<年代pan style="color:#A020F0">“灰色”年代pan>);cpmdemodulator = comm.CPMDemodulator (8,<年代pan style="color:#0000FF">…年代pan>“BitOutput”年代pan>,真的,<年代pan style="color:#0000FF">…年代pan>“SymbolMapping”年代pan>,<年代pan style="color:#A020F0">“灰色”年代pan>);
创建一个错误率计算器系统对象™,占造成的延迟维特比算法。
延迟= log2 (cpmdemodulator.ModulationOrder)<年代pan style="color:#0000FF">…年代pan>* cpmdemodulator.TracebackDepth;errorRate = comm.ErrorRate (<年代pan style="color:#A020F0">“ReceiveDelay”年代pan>、延迟);
传输100 3-bit单词和打印出错率的结果。
为年代pan>counter = 1:10 0 data =兰迪([0,1],300,1);modSignal = cpmmodulator(数据);noisySignal = awgn (modSignal, 0);receivedData = cpmdemodulator (noisySignal);errorStats = errorRate(数据、receivedData);<年代pan style="color:#0000FF">结束年代pan>流(<年代pan style="color:#A020F0">'出错率= % f \ nNumber错误= % d \ n '年代pan>,<年代pan style="color:#0000FF">…年代pan>errorStats errorStats (1), (2))
出错率= 0.004006的错误数量= 120
应用GFSK调制和解调
使用 创建一个GFSK调制器和解调器。
生成随机数据和应用GFSK调制。使用散点图来查看星座。
解调GFSK-modulated数据。验证解调信号数据等于原始数据,占的高斯滤波引入的延时GFSK调制和解调过程。
comm.CPMModulator和
comm.CPMDemodulator系统对象,应用高斯频移键控(GFSK调制和解调)随机数据。
gfskMod = comm.CPMModulator (<年代pan style="color:#0000FF">…年代pan>“ModulationOrder”年代pan>2,<年代pan style="color:#0000FF">…年代pan>“FrequencyPulse”年代pan>,<年代pan style="color:#A020F0">“高斯”年代pan>,<年代pan style="color:#0000FF">…年代pan>“BandwidthTimeProduct”年代pan>,0.5,<年代pan style="color:#0000FF">…年代pan>“ModulationIndex”年代pan>,1<年代pan style="color:#0000FF">…年代pan>“BitInput”年代pan>,真正的);gfskDemod = comm.CPMDemodulator (<年代pan style="color:#0000FF">…年代pan>“ModulationOrder”年代pan>2,<年代pan style="color:#0000FF">…年代pan>“FrequencyPulse”年代pan>,<年代pan style="color:#A020F0">“高斯”年代pan>,<年代pan style="color:#0000FF">…年代pan>“BandwidthTimeProduct”年代pan>,0.5,<年代pan style="color:#0000FF">…年代pan>“ModulationIndex”年代pan>,1<年代pan style="color:#0000FF">…年代pan>“BitOutput”年代pan>,真正的);
numSym = 100;x =兰迪([0,1],numSym * gfskMod.SamplesPerSymbol, 1);y = gfskMod (x);eyediagram (y, 16)
z = gfskDemod (y);延迟= finddelay (x, z);isequal (x (1: end-delay)、z(延迟+ 1:结束)
ans =<年代pan class="emphasis">逻辑1
情节相树连续相位调制年代trong>
情节相树图信号,应用连续相位调制(CPM)。一个<年代pan class="emphasis">阶段树形图添加许多曲线,每个情节调制信号的相位。不同的曲线结果不同输入调制器。这个例子定义了CPM调制器设置,适用于符号映射和阴谋的结果。每个曲线代表的不同实例模拟的CPM调制不同的输入信号(常数)。
定义参数的例子和创建一个CPM调制系统对象。
使用一个 情节CPM阶段树。
M = 2;<年代pan style="color:#228B22">%调制顺序年代pan>modindex = 2/3;<年代pan style="color:#228B22">%调制指数年代pan>sps = 8;<年代pan style="color:#228B22">每个符号%样本年代pan>L = 5;<年代pan style="color:#228B22">%符号显示年代pan>pmat = 0 (L * sps, M ^ L);<年代pan style="color:#228B22">%空相位矩阵年代pan>cpm = comm.CPMModulator (M,<年代pan style="color:#0000FF">…年代pan>ModulationIndex = modindex,<年代pan style="color:#0000FF">…年代pan>FrequencyPulse =<年代pan style="color:#A020F0">“提出了余弦”年代pan>,<年代pan style="color:#0000FF">…年代pan>PulseLength = 2,<年代pan style="color:#0000FF">…年代pan>SamplesPerSymbol = sps);
为年代pan>ip_sig = 0 (M ^ L): 1 s = int2bit (ip_sig, L, 1);s = 2 * s + 1米;x = cpm(年代);pmat (:, ip_sig + 1) =打开(角(x (:)));<年代pan style="color:#0000FF">结束年代pan>pmat = pmat /(π* modindex);t = (0: L * sps-1) / sps;
情节(t, pmat);标题(<年代pan style="color:#A020F0">“CPM阶段树”年代pan>)包含(<年代pan style="color:#A020F0">“样本”年代pan>)ylabel (<年代pan style="color:#A020F0">的阶段(弧度)年代pan>)
更多关于
CPM方法
调制器的输出是一个调制信号的基带表示:
{α 我}是一个序列米 必要的数据符号选择从字母表±1,±±3日(米 1)。
米必须形成2<年代up>k对于一些正整数k ,在那里米 是调制秩序和指定符号字母的大小。
{h 我}是一个序列的调制指数h 我周期性移动通过一组指标{h 0年代ub>,h 我,h 2年代ub>、……h H1年代ub>}。当H = 1,只存在一个调制指数,h 0年代ub>,这是表示h 。
相移的一个象征<年代pan class="inlineequation">π×h 。
当h 我不同区间间隔,对象在多运营h 。为了确保有限数量的阶段,h 我必须是一个有理数。
脉冲波形滤波
CPM方法使用脉冲整形光滑的相变调制信号。这个函数问 (t )获得的相位响应频率的脉冲,g (t ),通过这种关系:<年代pan class="inlineequation">
。
指定的频率脉冲波形对应于这些脉冲波形表达式g (t )。
脉冲波形
表达式
矩形
提出了余弦
谱提出了余弦
高斯
驯服调频(驯服调频)
l主要年代ub>是主瓣间隔脉冲持续时间的象征。
β是碾轧因素提出的光谱cos。
Bb年代ub>的产品是带宽和高斯脉冲。
脉冲的持续时间,LT 脉冲长度在符号间隔。定义的表达式,提出的光谱cos,高斯,驯服调频脉冲形状有无限的长度。出于实用的目的,LT 指定了截断有限长度。
在脉冲波形滤波的更多信息,见[1] 。
符号集
在二进制输入模式下,对象处理遵循这个过程。
把输入比特分成k 长度的话,每个bit-group映射到一个整数,l ,范围在[0,米 - 1)。<年代pan class="inlineequation">k= log2 (米 )年代pan>和米 指定的调制顺序吗ModulationOrder财产。自然二进制编码的二进制字映射选项排序或Gray-coded排序,为指定的SymbolMapping财产。
地图每一个整数l 签署了整数为2l - (米 1)。
进行调制处理整数输入模式。
CPM方法
调制器的输出是一个调制信号的基带表示:
{α 我}是一个序列米 必要的数据符号选择从字母表±1,±±3日(米 1)。
米必须形成2<年代up>k对于一些正整数k ,在那里米 是调制秩序和指定符号字母的大小。
{h 我}是一个序列的调制指数h 我周期性移动通过一组指标{h 0年代ub>,h 我,h 2年代ub>、……h H1年代ub>}。当H = 1,只存在一个调制指数,h 0年代ub>,这是表示h 。
相移的一个象征<年代pan class="inlineequation">π×h 。
当h 我不同区间间隔,对象在多运营h 。为了确保有限数量的阶段,h 我必须是一个有理数。
调制器的输出是一个调制信号的基带表示:
{
α 我}是一个序列米 必要的数据符号选择从字母表±1,±±3日(米 1)。米必须形成2<年代up>k对于一些正整数
k ,在那里米 是调制秩序和指定符号字母的大小。{
h 我}是一个序列的调制指数h 我周期性移动通过一组指标{h 0年代ub>,h 我,h 2年代ub>、……h H1年代ub>}。当H = 1,只存在一个调制指数,h 0年代ub>,这是表示h 。
相移的一个象征<年代pan class="inlineequation">π×
当
脉冲波形滤波
CPM方法使用脉冲整形光滑的相变调制信号。这个函数问 (t )获得的相位响应频率的脉冲,g (t ),通过这种关系:<年代pan class="inlineequation">
。
指定的频率脉冲波形对应于这些脉冲波形表达式g (t )。
脉冲波形
表达式
矩形
提出了余弦
谱提出了余弦
高斯
驯服调频(驯服调频)
l主要年代ub>是主瓣间隔脉冲持续时间的象征。
β是碾轧因素提出的光谱cos。
Bb年代ub>的产品是带宽和高斯脉冲。
脉冲的持续时间,LT 脉冲长度在符号间隔。定义的表达式,提出的光谱cos,高斯,驯服调频脉冲形状有无限的长度。出于实用的目的,LT 指定了截断有限长度。
在脉冲波形滤波的更多信息,见[1] 。
CPM方法使用脉冲整形光滑的相变调制信号。这个函数
指定的频率脉冲波形对应于这些脉冲波形表达式
脉冲波形 | 表达式 |
---|---|
矩形 | |
提出了余弦 | |
谱提出了余弦 | |
高斯 | |
驯服调频(驯服调频) |
l主要年代ub>是主瓣间隔脉冲持续时间的象征。
β是碾轧因素提出的光谱cos。
Bb年代ub>的产品是带宽和高斯脉冲。
脉冲的持续时间,
LT 脉冲长度在符号间隔。定义的表达式,提出的光谱cos,高斯,驯服调频脉冲形状有无限的长度。出于实用的目的,LT 指定了截断有限长度。
在脉冲波形滤波的更多信息,见
符号集
在二进制输入模式下,对象处理遵循这个过程。
把输入比特分成k 长度的话,每个bit-group映射到一个整数,l ,范围在[0,米 - 1)。<年代pan class="inlineequation">k= log2 (米 )年代pan>和米 指定的调制顺序吗ModulationOrder财产。自然二进制编码的二进制字映射选项排序或Gray-coded排序,为指定的SymbolMapping财产。
地图每一个整数l 签署了整数为2l - (米 1)。
进行调制处理整数输入模式。
在二进制输入模式下,对象处理遵循这个过程。
把输入比特分成
k 长度的话,每个bit-group映射到一个整数,l ,范围在[0,米 - 1)。<年代pan class="inlineequation">k= log2 (米 )年代pan>和米 指定的调制顺序吗ModulationOrder财产。自然二进制编码的二进制字映射选项排序或Gray-coded排序,为指定的
SymbolMapping财产。
地图每一个整数
l 签署了整数为2l - (米 1)。进行调制处理整数输入模式。
引用
[1]<年代pan>安德森,约翰·B。,T或一个ulin, and Carl-Erik Sundberg.数字相位调制。纽约:充气出版社,1986年。年代pan>
[1]<年代pan>安德森,约翰·B。,T或一个ulin, and Carl-Erik Sundberg.数字相位调制。纽约:充气出版社,1986年。年代pan>
扩展功能
C / c++代码生成生成C和c++代码使用MATLAB®编码器™。年代pan>
使用笔记和限制:年代pan>
看到系统在MATLAB代码生成对象 (MATLAB编码器)年代pan>。
C / c++代码生成生成C和c++代码使用MATLAB®编码器™。年代pan>
使用笔记和限制:年代pan>
看到
版本历史
另请参阅
对象
comm.CPMDemodulator
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">comm.CPFSKModulator
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">comm.MSKModulator
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">comm.GMSKModulator
块
comm.CPMDemodulator
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">comm.CPFSKModulator
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">comm.MSKModulator
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">comm.GMSKModulator
块
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。