主要内容

dvbs2WaveformGenerator

生成DVB-S2波形

描述

dvbs2WaveformGenerator系统对象™生成一个数字视频广播卫星组成的第二代(DVB-S2)时域波形单个或多个物理层帧。的对象实现波形生成方面ETSI EN 302 307 - 1 V1.4.1 (2014 - 11)[1]

生成一个DVB-S2波形:

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

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

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

创建

描述

例子

s2waveGen= dvbs2WaveformGenerator创建一个默认DVB-S2波形发生器系统对象。

例子

s2waveGen= dvbs2WaveformGenerator (名称,值)设置使用一个或多个属性名称-值对。在报价附上每个属性的名字。例如,dvbs2WaveformGenerator (“NumInputStreams”4“占有”,100年)与用户指定四个输入流,每个分组长度为100位。

属性

全部展开

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

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

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

输入流格式,指定为其中一个值。

  • “t”——交通流格式

  • “GS”——通用流格式

数据类型:字符|字符串

输入流的数量,指定为一个整数范围[256]。

数据类型:

用户数据包()位长度,指定这些选项之一。

  • 非负整数——使用这个选项单输入和多输入流。如果你设置NumInputStreams属性值大于1,在每个流都必须等于的整数值推高财产。

  • 向量的非负整数,使用这个选项只多输入流。如果你设置NumInputStreams属性值大于1,在每个流都必须在这个向量的大小对应的元素。这个向量的长度必须相等NumInputStreams

    请注意

    当你指定推高多输入流,所有UPs必须通过或连续流。不支持混合流类型。金宝app

的最大价值推高作为一个整数标量或行向量中的一个整数元素必须小于或等于相应的公司分属性值。

一个通用的连续流,集推高0

依赖关系

要启用这个特性,设置StreamFormat财产“GS”。如果你设置StreamFormat财产“t”,占有是固定的1504位。

数据类型:

前向纠错(FEC)帧格式,指定为这两个选项之一。

  • “正常”——设置低密度奇偶校验(LDPC)码字长度为64800位

  • “短”——设置LDPC码字长度为16200位

可调:是的

数据类型:字符|字符串

调制方案和选举委员会率为输入传播,指定为其中的一个选项,定义在302年ETSI EN 307 - 1节5.5.2.2表12[1]

  • 整数的范围(1、28)——使用这个选项单输入和多输入流。如果你设置NumInputStreams属性值大于1,每个流有相同的调制方案和编码率。

  • 向量的整数范围(1、28)——使用这个选项只多输入流。如果你设置NumInputStreams属性值大于1,每个输入流调制方案和编码率等于在这个向量对应的元素。这个向量的长度必须相等NumInputStreams

请注意

MODCOD11,17,23,28当你设置是无效的FECFrame财产“短”(如指定302年ETSI EN 307 - 1 5.3节表5 b[1])。

可调:是的

数据类型:

数据字段(DF)长度,指定为这些选项之一。KBCH是未编码的BCH块长度,规定302年ETSI EN 307 - 1 5.3节表5 a和5 b吗[1]

  • 整数的范围[1,(KBCH−80)]-使用这个选项单输入和多输入流。如果你设置NumInputStreams属性值大于1,DF的长度在基带的每个流都是相同的值。

  • 向量的整数范围[1,(KBCH−80)]-使用这个选项与多输入流。如果你设置NumInputStreams属性值大于1,数据字段的长度的基带框架中每个流都必须在这个向量的大小对应的元素。这个向量的长度必须相等NumInputStreams

可调:是的

数据类型:

星座幅度定标方法,指定为“外半径为1”“单元平均功率”

依赖关系

要启用这个特性,设置MODCOD属性的值范围(18、28),这表明只有16 apsk和32 apsk调制方案。

数据类型:字符|字符串

飞行员块指示,指定为一个逻辑值0(),1(真正的),或一个向量的逻辑值。将这个值设置为1(真正的)来表示飞行员在物理层帧插入。

如果你设置NumInputStreams属性值大于1,您可以为每个流配置飞行员通过指定这个属性作为一个向量。这个向量的长度必须相等NumInputStreams

可调:是的

数据类型:逻辑

传输基带脉冲整形的过滤器碾轧因素,指定为0.35,0.25,或0.2

数据类型:

过滤器跨符号,指定为一个正整数。

理想的提出了余弦滤波器的脉冲响应是截断长度,横跨符号这个属性中指定的数量。

数据类型:

每个符号的样本数量,指定为一个正整数。

数据类型:

输入流同步(伊西转)指标,指定为一个逻辑值0()或1(真正的)。表明输入流同步,设置这个值1(真正的)。

依赖关系

要启用这个特性,设置NumInputStreams属性值大于1并设置推高属性为一个非零值。

数据类型:逻辑

输入流的时钟参考格式,指定这些选项之一。

  • “短”-表明伊西转的长度为2个字节

  • “长”:表示伊西转作为3个字节的长度

当你设置StreamFormat财产“GS”,NumInputStreams属性值大于1,推高属性到一个非零值ISSYI1(真正的),只“短”选择这个ISCRFormat属性是适用的。

依赖关系

要启用这个特性,设置StreamFormat财产“t”,NumInputStreams属性值大于1,ISSYI财产1(真正的)。

数据类型:字符|字符串

这个属性是只读的。

最小数量的数据包需要创建一个DF,作为其中的一个选项返回。

  • 整数的范围[58112]-这个选项只适用于单输入流。

  • 行向量的整数范围[58112]-此选项仅适用于多输入流。如果你设置NumInputStreams属性值大于1,每个所需的最小数量的数据包流在这个向量等于相应的元素。这个向量的长度必须相等NumInputStreams

的价值MinNumPackets基于计算的值的公司分推高属性。

依赖关系

要启用这个特性,设置推高属性为一个非零值。

数据类型:

使用

描述

txWaveform= s2waveGen (数据)生成一个DVB-S2时域波形的输入信息。

输入参数

全部展开

输入信息,指定这些选项之一。列向量或单元数组的每个元素的数据类型,int8,或逻辑

  • Binary-valued列向量,使用这个选项输入流。

  • 单元阵列的binary-valued列向量,使用这个选项多输入流。数组的每个元素代表了相应的输入流。单元阵列的长度必须等于的价值NumInputStreams财产。

输入数据作为一个单或多输入流,必须输入其中的一个形式。

  • 通过流——在每个流的数据包数量必须是一个整数倍数的MinNumPackets财产。

    通过流,一个8位同步字段必须包含在每个数据包的开始。一个数据包的长度及其同步位必须等于相应的价值推高财产。

  • 连续流——为每个流的比特数必须是一个整数倍数的公司分财产。

请注意

当你设置StreamFormat财产“t”47个十六进制,同步字节是固定的。

数据类型:|int8|逻辑|细胞

输出参数

全部展开

时域DVB-S2波形生成的,作为一个列向量返回。波形的形式生成复杂的同相正交(智商)样品和可能包含一个物理层帧或多个物理层帧。

当你设置NumInputStreams属性值大于1,从不同的输入流生成的数据字段是合并使用循环技术。

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

对象的功能

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

发行版(obj)

全部展开

信息 特征信息对象
flushFilter 冲洗传输过滤器
一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
克隆 创建重复的系统对象
isLocked 确定系统对象在使用
重置 重置的内部状态系统对象

例子

全部折叠

生成一个数字视频广播卫星第二代(DVB-S2)时域波形的输入与单个物理层传输流(TS)每流(PL)框架。可视化使用星座图和信号频谱波形。

这个示例使用mat文件与LDPC的奇偶校验矩阵。如果mat文件不上可用路径,下载并解压缩mat文件通过输入这个代码在MATLAB命令提示符。

如果~ (“dvbs2xLDPCParityMatrices.mat”,“文件”)如果~ (“s2xLDPCParityMatrices.zip”,“文件”)url =“https://ssd.mathworks.com/金宝appsupportfiles/spc/satcom/DVB/s2xLDPCParityMatrices.zip”;websave (“s2xLDPCParityMatrices.zip”url);解压缩(“s2xLDPCParityMatrices.zip”);结束目录“s2xLDPCParityMatrices”);结束

指定每个流的PL帧数。

numFrames = 1;

创建一个DVB-S2系统对象。指定调制方案和选举委员会率(MODCOD)和数据字段长度(研究对象)。

s2WaveGen = dvbs2WaveformGenerator;s2WaveGen。MODCOD= 21;% 16 apsk 5/6s2WaveGen。公司分= 39690; s2WaveGen.HasPilots = true;%显示插入导disp (s2WaveGen)
dvbs2WaveformGenerator属性:StreamFormat:“t”NumInputStreams: 1 FECFrame:“正常”MODCOD: 21分:39690 ScalingMethod:“外半径为1”HasPilots: 1 RolloffFactor: 0.3500 FilterSpanInSymbols: 10 SamplesPerSymbol: 4显示所有属性

创建一个比特的信息位向量,数据用户连接TS数据包。

syncBits = [0 1 0 0 0 1 1 1] ';%为TS包47个十六进制字节同步pktLen = 1496;%长度没有同步位是1496numPkts = s2WaveGen.MinNumPackets * numFrames;txRawPkts =兰迪([0,1],pktLen numPkts);txPkts = [repmat (syncBits 1 numPkts);txRawPkts];data = txPkts (:);

使用比特的信息,生成一个DVB-S2时域波形数据

txWaveform = s2WaveGen(数据);

可视化的星座图生成DVB-S2时域波形通过创建一个comm.ConstellationDiagram系统对象。

sps = s2WaveGen.SamplesPerSymbol;constel = comm.ConstellationDiagram (“ColorFading”,真的,“ShowTrajectory”0,“SamplesPerSymbol”sps,“ShowReferenceConstellation”假的,“XLimits”(-0.5 - 0.5),“YLimits”[-0.5 - 0.5]);plHeaderLen = 90 * sps;% PL头长度constel (txWaveform (plHeaderLen + 1:结束));释放(constel);

显示生成的DVB-S2时域波形的频谱通过创建一个dsp.SpectrumAnalyzer系统对象。

BW = 36 e6;%典型卫星频道带宽Fsym = BW / (1 + s2WaveGen.RolloffFactor);Fsamp = Fsym * sps;范围= dsp.SpectrumAnalyzer (“SampleRate”,Fsamp);范围(txWaveform)

生成一个数字视频广播卫星第二代(DVB-S2)时域波形多输入通用的流(GS)与多个物理层(PL)帧/流。

这个例子需要与LDPC的奇偶校验矩阵mat文件。如果他们不上可用路径,执行以下命令下载并解压缩mat文件。

如果~ (“dvbs2xLDPCParityMatrices.mat”,“文件”)如果~ (“s2xLDPCParityMatrices.zip”,“文件”)url =“https://ssd.mathworks.com/金宝appsupportfiles/spc/satcom/DVB/s2xLDPCParityMatrices.zip”;websave (“s2xLDPCParityMatrices.zip”url);解压缩(“s2xLDPCParityMatrices.zip”);结束目录“s2xLDPCParityMatrices”);结束

指定每个流的PL帧数。

numFrames = 3;

创建一个DVB-S2系统对象和变量编码和调制多输入GS的配置。指定调制方案和选举委员会率(MODCOD)和数据字段长度(研究对象)。

s2WaveGen = dvbs2WaveformGenerator;s2WaveGen。StreamFormat =“GS”;s2WaveGen。NumInputStreams = 2;s2WaveGen。MODCOD= [6 24];% QPSK 2/3和32 apsk 3/4s2WaveGen。公司分= [42960 48328]; s2WaveGen.HasPilots = true; s2WaveGen.SamplesPerSymbol = 10; disp(s2WaveGen)
dvbs2WaveformGenerator属性:StreamFormat:“GS”NumInputStreams: 2推:0 FECFrame:“正常”MODCOD: 24[6]研究对象:48328年[42960]ScalingMethod:“外半径为1”HasPilots: 1 RolloffFactor: 0.3500 FilterSpanInSymbols: 10 SamplesPerSymbol: 10

创建一个位向量的输入信息比特GS用户数据包。

data =细胞(s2WaveGen.NumInputStreams, 1);我= 1:s2WaveGen。NumInputStreams数据{i} = randi([0 1],s2WaveGen.DFL(i)*numFrames,1,“int8”);结束

生成DVB-S2时域波形与输入的信息碎片。

txWaveform = s2WaveGen(数据);

引用

[1]ETSI标准EN 302 307 - 1 V1.4.1 (2014 - 11)。数字视频广播(DVB);第二代帧结构、信道编码和调制系统广播、互动服务,新闻采集和其他宽带卫星应用程序(DVB-S2)

扩展功能

另请参阅

功能

对象

介绍了R2021a