文档

comm.BarkerCode

生成双极巴克代码

描述

comm.BarkerCode系统对象™生成双极巴克代码。巴克码具有较低的自相关特性。巴克码的短长度和低相关副瓣使得它在数字通信系统中用于帧同步。有关更多信息,请参见巴克码

生成一个巴克代码:

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

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

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

创建

描述

barkerCode= comm.BarkerCode创建一个双极Barker代码生成器系统对象来生成Barker代码。

例子

barkerCode= comm.BarkerCode (名字价值使用一个或多个名称-值对设置属性。例如,comm.BarkerCode(“SamplesPerFrame”“长度”,11日,“11”)配置一个双极巴克码生成器系统对象,在11个样本帧中输出长度为11的巴克码。将每个属性名称用引号括起来。

属性

全部展开

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

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

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

生成代码的长度,指定为123.45711,或13。有关更多信息,请参见巴克码

例子:“长度”,2输出巴克码[-1;1]。

数据类型:

每个输出帧的采样数,指定为正整数。如果SamplesPerFrame,对象输出一个包含由长度组成的样本N巴克码序列。如有必要,对象重复要到达的代码序列样本。N所生成代码的长度,由长度财产。

数据类型:

输出数据类型,指定为int8

数据类型:字符|字符串

使用

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

例如,Y = step(obj,x)Y = obj(x)执行等价操作。

描述

例子

y= barkerCode输出巴克代码帧,作为列向量。如果帧长度超过巴克码长度,则该对象通过重复巴克码填充帧。

属性设置输出的数据类型OutputDataType财产。

对象的功能

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

发行版(obj)

全部展开

克隆 创建副本系统对象
isLocked 确定是否正在使用System对象
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置系统对象的内部状态

例子

全部展开

创建一个Barker代码系统对象,每帧10个样本。

barker = com . barkercode (“SamplesPerFrame”, 10)
barker = com . barkercode with properties: Length: 7 SamplesPerFrame: 10 OutputDataType: 'double'

使用长度为7的默认巴克码序列生成多个帧。代码在框架内封装,并在下一框架中继续。

Ii = 1:2 seq = barker()结束
seq =10×1-1 -1 -1 1 -1 1 -1 1
seq =10×111 -1 -1 -1 -1 -1 -1 -1

计算每个巴克码的峰值旁瓣电平。

CodeLength = [1 2 3 4 5 7 11 13];psl = 0 (length(codellength),1);ac = dsp.自相关器;barker = com . barkercode;ii=1:length(codellength) spf = codellength (ii);巴克。长度= CodeLength(ii); barker.SamplesPerFrame = spf; seq = barker(); sll_dB = 20*log10(abs(ac(seq))); psl(ii) = -(max(sll_dB)); release(barker); release(ac);结束Sidelobe_dB = psl;T = table(CodeLength,Sidelobe_dB)
T =8×2表CodeLength Sidelobe_dB __________ ___________ 1 02 -6.0206 3 -9.5424 4 -12.041 5 -13.979 7 -16.902 11 -20.828 13 -22.279

更多关于

全部展开

扩展功能

在R2012a中引入