dsp。Crosscorrelator
(待删除)两个输入的相互关系
描述
的dsp。Crosscorrelator
System object™计算两个的相互关系N-D输入数组沿着第一个维度。计算可以在时域或频域进行。指定域方法财产。在时域中,物体对第一个输入信号进行卷积,u,第二个输入信号的逆时复共轭,v。要计算频域中的互相关,目标为:
对两个输入信号进行傅里叶变换,得到U和V。
繁殖U和V*,其中*表示共轭复数。
计算乘积的傅里叶反变换。
如果你设置方法
来“最快”
,对象选择计算次数最少的域。有关这些计算方法的信息,请参见算法。
为获得两个离散时间确定性输入的相互关系:
创建
dsp。Crosscorrelator
对象并设置其属性。调用带参数的对象,就像调用函数一样。
要了解有关System对象如何工作的更多信息,请参见什么是系统对象?
创建
描述
返回一个交叉相关器对象,xcorr
= dsp。Crosscorrelatorxcorr
,它计算两个输入在时域或频域的相互关系。
返回一个交叉相关器对象,其中每个指定属性设置为指定值。将每个属性名称用单引号括起来。xcorr
= dsp。Crosscorrelator (名称,值
)
属性
除非另有说明,否则属性是nontunable,这意味着在调用对象之后不能更改它们的值。对象在调用时被锁定,而释放
函数将它们解锁。
如果一个属性可调,您可以随时更改其值。
有关更改属性值的详细信息,请参见利用系统对象在MATLAB中进行系统设计。
方法
- - - - - -计算相关性的领域
时间域的
(默认)|频域的
|“最快”
System对象在其中计算相关性的域,指定为以下之一:
时间域的
—计算时域内的相互关系,使内存使用最小化。频域的
——计算频域中的相互关系。有关更多信息,请参见算法。“最快”
——计算域中的相互关系,使计算次数最小化。
若要交叉关联定点信号,请将此属性设置为时间域的
。
定点属性
请注意
定点信号只支持时域。金宝app要使用这些属性,请设置方法
来时间域的
。
FullPrecisionOverride
- - - - - -定点算术的全精度覆盖
真正的
(默认)|假
为定点算术使用全精度规则的标志,指定为下列之一:
真正的
对象使用全精度规则计算所有内部算术和输出数据类型。这些规则提供了最精确的定点数字。在此模式下,其他定点属性不适用。对象内不发生量化。根据需要添加位,以确保不会发生舍入或溢出。假
——定点数据类型通过单个定点属性设置进行控制。
有关更多信息,请参见定点系统对象的全精度和设置系统对象定点属性。
RoundingMethod
- - - - - -定点运算的舍入方法
“地板”
(默认)|“天花板”
|“收敛”
|“最近的”
|“圆”
|“简单”
|“零”
定点运算的舍入方法。有关详细信息,请参见舍入模式。
依赖关系
当满足以下条件时,此属性是不可见的,并且对数值结果没有影响:
FullPrecisionOverride
设置为真正的
。FullPrecisionOverride
设置为假
,OutputDataType
设置为“与蓄电池相同”
,ProductDataType
设置为“充分精确”
,AccumulatorDataType
设置为“充分精确”
在这些条件下,物体以全精度模式运行。
此外,如果方法
被设置为频域的
或“最快”
,RoundingMethod
属性不适用。
OverflowAction
- - - - - -定点操作的溢出动作
“包装”
(默认)|“饱和”
定点操作的溢出动作,指定为下列之一:
“包装”
对象包装其定点操作的结果。“饱和”
——对象使其定点操作的结果饱和。
有关溢出操作的详细信息,请参见溢出模式对于定点运算。
依赖关系
当满足以下条件时,此属性是不可见的,并且对数值结果没有影响:
FullPrecisionOverride
设置为真正的
。FullPrecisionOverride
设置为假
,OutputDataType
设置为“与蓄电池相同”
,ProductDataType
设置为“充分精确”
,AccumulatorDataType
设置为“充分精确”
在这些条件下,物体以全精度模式运行。
此外,如果方法
被设置为频域的
或“最快”
,OverflowAction
属性不适用。
ProductDataType
- - - - - -产品输出的数据类型
“充分精确”
(默认)|“自定义”
|“与第一次输入相同”
该对象中产品输出的数据类型,指定为以下之一:
“充分精确”
——产品输出数据类型具有全精度。“与第一次输入相同”
——对象指定产品输出数据类型与第一个输入数据类型相同。“自定义”
方法将产品输出数据类型指定为自定义数字类型CustomProductDataType财产。
有关产品输出数据类型的详细信息,请参见乘法数据类型和不动点部分。
依赖关系
此属性在设置时应用FullPrecisionOverride
来假
。
CustomProductDataType
- - - - - -产品数据类型的字和分数长度
numerictype([], 32岁,30)
(默认)
产品数据类型的字和分数长度,指定为自签名数字类型,字长度为32,分数长度为30。
依赖关系
此属性仅在设置时应用FullPrecisionOverride
来假
和ProductDataType来“自定义”
。
AccumulatorDataType
- - - - - -数据类型的累加操作
“充分精确”
(默认)|“与第一次输入相同”
|“与产品相同”
|“自定义”
该对象中累积操作的数据类型,指定为下列之一:
“充分精确”
——累加操作全精度。“与产品相同”
——对象指定累加器数据类型与产品输出数据类型相同。“与第一次输入相同”
——对象指定累加器数据类型与第一个输入数据类型相同。“自定义”
——累加器数据类型被指定为自定义数字类型CustomAccumulatorDataType财产。
有关此对象使用的累加器数据类型的详细信息,请参见不动点部分。
依赖关系
此属性在设置时应用FullPrecisionOverride
来假
。
CustomAccumulatorDataType
- - - - - -累加器数据类型的字和分数长度
numerictype([], 32岁,30)
(默认)
累加器数据类型的单词和分数长度,指定为自签名数字类型,单词长度为32,分数长度为30。
依赖关系
此属性仅在设置时应用FullPrecisionOverride
来假
和AccumulatorDataType来“自定义”
。
OutputDataType
- - - - - -对象输出的数据类型
“与蓄电池相同”
(默认)|“与第一次输入相同”
|“与产品相同”
|“自定义”
对象输出的数据类型,指定为以下之一:
“与蓄电池相同”
——输出数据类型与累加器输出数据类型相同。“与第一次输入相同”
——输出数据类型与第一个输入数据类型相同。“与产品相同”
——输出数据类型与产品输出数据类型相同。“自定义”
参数将输出数据类型指定为自定义数字类型CustomOutputDataType财产。
有关此对象使用的输出数据类型的详细信息,请参阅不动点部分。
依赖关系
此属性在设置时应用FullPrecisionOverride
来假
。
CustomOutputDataType
- - - - - -输出数据类型的字和分数长度
numerictype([], 16岁,15)
(默认)
输出数据类型的字和分数长度,指定为自签名数字类型,字长度为16,分数长度为15。
依赖关系
此属性仅在设置时应用FullPrecisionOverride
来假
和OutputDataType来“自定义”
。
使用
输入参数
u
- - - - - -第一数据输入信号
向量|矩阵|N- d数组
第一个数据输入信号,指定为矢量、矩阵或矩阵N- d数组。对象接受实值或复值多通道和多维输入。输入可以是一个定点信号,当你设置方法
财产时间域的
。当一个或两个输入信号是复杂的,输出信号也是复杂的。两个数据输入必须具有相同的数据类型。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|fi
复数支持:金宝app是的
v
- - - - - -第二数据输入信号
标量|列向量|矩阵
第二个数据输入信号,指定为矢量、矩阵或矩阵N- d数组。对象接受实值或复值多通道和多维输入。输入可以是一个定点信号,当你设置方法
财产时间域的
。当一个或两个输入信号是复杂的,输出信号也是复杂的。两个数据输入必须具有相同的数据类型。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|fi
复数支持:金宝app是的
输出参数
y
-交叉相关输出
向量|矩阵|N- d数组
两个输入信号的交叉相关输出。
当输入为N-D数组,对象输出一个N- d数组。输出数组的所有维度(除了第一个维度)都与输入数组匹配。例如:
当输入u和v有尺寸米u——- - - - - -N——- - - - - -P和米v——- - - - - -N——- - - - - -P,对象分别输出一个(米u+米v————- 1)N——- - - - - -P数组中。
当输入u和v有尺寸米u——- - - - - -N和米v——- - - - - -N,对象输出一个(米u+米v————- 1)N矩阵。
如果一个输入是列向量,另一个输入是N-D数组中,该对象计算向量与N- d数组。例如:
当输入u是一个米u- × 1列向量和v是一个米v——- - - - - -N矩阵,对象输出一个(米u+米v————- 1)N矩阵。
同样的,当u和v列向量有长度吗米u和米v,对象分别执行矢量互相关。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|fi
复数支持:金宝app是的
对象的功能
要使用对象函数,请指定System对象作为第一个输入参数。例如,释放system对象的系统资源obj
,使用以下语法:
发行版(obj)
例子
输入噪声和延迟版本的互相关
请注意
如果使用的是R2016a或更早的版本,请使用等效的步骤语法替换对对象的每个调用。例如,obj (x)
就变成了步骤(obj, x)
。
计算一个有噪声的输入信号与其延迟版本的互相关。相关输出的峰值出现在滞后处,对应于信号之间的延迟。
使用randn
产生高斯白噪声输入,x
。创建这个输入的延迟版本,x1
,使用dsp。延迟
对象。
S = rng()“默认”);X = randn(100,1);delay = dsp.Delay(10);X1 = delay(x);
计算两个输入之间的相互关系。绘制与输入之间的滞后相关的输出。
xcor = dsp.Crosscorrelator;Y = xcorr(x1,x);滞后= 0:99;茎(滞后,y(100:结束),“markerfacecolor”,[0 0 1]) axis([0 99 -125 125]) xlabel(“滞后”)标题(“输入噪声与延迟版本的相互关系”)
当滞后为10时,相关序列达到峰值,表明两个信号之间的正确延迟为10个样本。
更多关于
互相关
互相关是度量两个离散时间序列的相似性,作为一个相对于另一个滞后的函数。
对于两个长度-N确定性输入或联合广义平稳随机过程的实现,x和y,相互关系计算公式如下:
在哪里h是滞后和*表示共轭复数。如果输入是联合WSS平稳随机过程的实现,rxy(h)是理论相互关系的非归一化估计:
在哪里E {}是期望运算符。
不动点
的数据类型dsp。Crosscorrelator
对象用于定点信号(仅限时域)。
可以使用对象的相应定点属性设置产品输出、累加器和输出数据类型。
当输入为实数时,乘数的输出为乘积输出数据类型。当输入是复数时,乘法器的输出是累加器数据类型。有关执行的复杂乘法的详细信息,请参见乘法数据类型。
请注意
当一个或两个输入都是带符号的定点信号时,所有内部对象数据类型都是带符号的定点。只有当两个输入都是无符号定点信号时,内部对象数据类型才为无符号定点。
算法
时域计算
当将计算域设置为time时,算法计算时域内两个信号的相互关系。输入信号可以是该域中的定点信号。
关联两个二维数组
当输入是两个二维阵列时,j输出的这一列,y紫外线,有这些元素:
地点:
*
表示共轭复数。u是一个米u——- - - - - -N输入矩阵。
v是一个米v——- - - - - -N输入矩阵。
yu, v是吗?米u+米v————- 1)N矩阵。
输入u和v在其有效范围之外索引时为零。
将列向量与二维数组关联起来
当一个输入为列向量,另一个输入为二维数组时,该算法将输入向量与二维数组的每一列独立交叉相关。的j输出的这一列,yu, v,有这些元素:
地点:
*
表示共轭复数。u是一个米u- × 1列向量。
v是一个米v——- - - - - -N矩阵。
y紫外线是吗?米u+米v————- 1)N矩阵。
输入u和v在其有效范围之外索引时为零。
关联两个列向量
当输入是两列向量时j输出的这一列,y紫外线,有这些元素:
地点:
*
表示共轭复数。u是一个米u- × 1列向量。
v是一个米v- × 1列向量。
y紫外线是吗?米u+米v-1) × 1列向量。
输入u和v在其有效范围之外索引时为零。
频域计算
当计算域设置为频域时,算法计算频域内的相互关系。
计算互相关,算法为:
对两个输入信号进行傅里叶变换,U和V。
繁殖U和V*,其中*表示共轭复数。
计算乘积的傅里叶反变换。
在这个域中,根据输入长度的不同,算法需要的计算量更少。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
看到MATLAB代码生成中的系统对象(MATLAB编码器)。
版本历史
在R2012a中引入R2021b:dsp。Crosscorrelator
系统对象将被移除
警告从R2021b开始
dsp。Crosscorrelator
System对象将在将来的版本中删除。使用xcorr
函数来代替。
更新代码
此表显示了System对象的典型使用方式,并解释了如何更新现有代码以使用xcorr
函数。
不使用 | 建议更换 |
---|---|
xcObj = dsp.Crosscorrelator;T = 0:0.001:1;X1 = sin(2* *2*t) + 0.05*sin(2* *50*t);X2 = sin(2* *2*t);%计算x1和x2的相互关系y = xcObj(x1',x2');图;情节(t, x1,“b”, t, x2,‘g’);传奇(输入信号1,输入信号2)图;情节(y);标题(“相关输出”) 如果您使用的是R2016b之前的版本,请替换 |
[yfn,lag] = xcorr(x1',x2');图;情节(yfn) 关于滞后的图。 图;yfn情节(滞后) |
MATLAB命令
您点击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
你亦可选择下列网址:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。