通过时变分数的样本周期延迟输入
笔记
这DirectFeedThrouough.
财产已被移除。删除MATLAB中该属性的所有实例
这dsp.variableFractiondElay.
System对象™通过输入的每个通道延迟指定数量的分数样本。该对象还可以同时计算相同信号的多个延迟版本(抽头)。例如,看到信号延迟使用多次数分延迟.
该对象将输入信号插值以以非整数采样间隔获得新的样本。你可以设置插值渣财产'线性'
那'冷杉'
, 要么'farrow'
.该对象支持时变延迟值。金宝app也就是说,延迟值在一帧中随样本的不同而变化。参数也可以指定延迟的最大值MaximumDelay.财产。大于最大值的延迟值被剪切到最大值。
要通过时变分数的样本周期延迟输入:
创造dsp.variableFractiondElay.
对象并设置其属性。
使用参数调用对象,就像它是一个函数。
要了解有关系统对象如何工作的更多信息,请参阅什么是系统对象?.
根据第二输入指定,创建可变分数延迟系统对象,该对象延迟通过时变分数的样本周期的时间分数数。vfd.
= dsp。VariableFractionalDelay
使用设置为指定值的每个指定属性创建可变分数延迟系统对象。用单引号括起每个属性名称。vfd.
= dsp.variableFractiondeDelay(名称,价值
)
除非另有说明,属性是发布
功能解锁它们。
如果一个属性是
有关更改属性值的详细信息,请参阅MATLAB使用系统对象的系统设计.
插值渣
-'线性'
(默认)|'冷杉'
'farrow'
插值方法,指定为以下之一。使用该方法,对象通过非整数采样间隔内插入信号以获得新的样本。
'线性'
- 对象使用线性插值。
'冷杉'
- 对象实现多相FIR插值滤波器以进行插入值。
'farrow'
- 该对象使用Lagrange方法来插入值。
有关这些方法的更多详细信息,请参阅算法.
FilterHalflththenth.
-4.
(默认)|FIR插值过滤器的半长度为范围的正整数[1 65535]。
对于周期信号,该属性的较大值表示更高阶滤波器,产生更好地估计延迟输出样本。属性值为4到6,它对应于第7阶到第11次汇滤器,通常是足够的。
此属性仅在您设置时适用插值渣财产'冷杉'
.
数据类型:单身的
|双倍的
|INT8.
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
|逻辑
|FI.
filterlength.
-4.
(默认)|使用Farrow结构实现的FIR滤波器的长度,指定为大于或等于2的整数。如果长度等于2,则过滤器执行线性插值。滤波器长度值确定用于拉格朗日插值的多项式的顺序。
例子:4.
例子:10.
此属性仅在您设置时适用插值渣财产'farrow'
.
数据类型:单身的
|双倍的
|INT8.
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
插值点飞行物
-10.
(默认)|计算每个输入样本的插值点数,在该输入样本被计算为范围内的正整数[2 65535]。
例子:20.
例子:5.
此属性仅在您设置时适用插值渣财产'冷杉'
.
数据类型:单身的
|双倍的
|INT8.
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
带宽
-1
(默认)|0 1
]归一化输入带宽,用于约束内插输出样本,指定为范围内的实际标量(0 1
].价值1
等于奈奎斯特频率,或一半采样频率,FS..使用此属性可以利用输入的带状频率内容。例如,如果输入信号没有上面的频率内容FS./ 4,您可以指定值0.5
.
例子:0.5
例子:0.8
此属性仅在您设置时适用插值渣财产'冷杉'
.
数据类型:单身的
|双倍的
|INT8.
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
|逻辑
|FI.
InitialConditions
-0.
(默认)|对象内存中的初始值,指定为标量或数组。此属性的尺寸可以根据需要修复或时变初始条件而有所不同。对象对待每个N输入列作为包含的帧m来自独立信道的顺序时间样本。
对于一个m-经过-N输入矩阵,你,你可以设置InitialConditions
属性如下:
要指定固定的初始条件,请指定InitialConditions
作为标量值。对象使用指定的值初始化内存中每个通道的每个样本。
您指定时变初始条件的尺寸取决于值的值插值渣财产。
什么时候插值渣
被设置为'线性'
, 指定InitialConditions
作为一个1
-经过-N-经过-D., 在哪里D.是值的价值MaximumDelay.财产。
什么时候插值渣
被设置为'冷杉'
要么'farrow'
, 指定InitialConditions
作为一个1-by-N-经过-(D.+L.)阵列,在哪里D.是值的价值MaximumDelay.
财产。对于冷杉插补,L.是值的价值FilterHalflththenth.
财产。对于分娩插值,L.等于这一点地面
一半的价值filterlength.
财产:地板(FilterLength / 2)
.
例子:1
例子:Randn(1,3,104)
数据类型:单身的
|双倍的
|INT8.
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
MaximumDelay.
-100.
(默认)|65535年0
]最大延迟,对象可以为任何样本生成任何样本,指定为范围内的整数[65535年0
].对象剪辑的输入延迟值大于MaximumDelay.
到那个最大值。
例子:100.
例子:10.
数据类型:单身的
|双倍的
|INT8.
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
firsmalldelayaction.
-“剪辑到居中内核所需的最小值”
(默认)|'如果内核无法居中,则切换到线性插值'
farrowsmalldelayaction.
-“剪辑到居中内核所需的最小值”
(默认)|'使用离心内核'
圆形方法
-'零'
(默认)|“天花板”
“收敛”
'地面'
|“最近的”
|'圆形的'
|“简单”
溢出
-“包装”
(默认)|“饱和”
系数datatyp.
-'与输入相同的单词长度'
(默认)|'风俗'
该对象中系数的数据类型,指定为:
'与输入相同的单词长度'
- 该对象指定系数字长度与输入相同。计算分数长度以获得最佳精度。
'风俗'
属性指定的系数数据类型为自定义数值类型customcoefficientsdatatyp.财产。
有关系数数据类型此对象使用的更多信息,请参阅固定点部分。
customcoefficientsdatatyp.
-numerictype([],32)
(默认)ProductPolynomialValuedATYP.
-'与第一个输入相同'
(默认)|'风俗'
产品多项式的数据类型,指定为以下之一:
'与第一个输入相同'
- 对象指定产品多项式值数据类型与数据输入的产品多项式数据类型相同。
'风俗'
- 产品多项式值数据类型被指定为自定义数字类型CustomProductPolynomialValueDataType财产。
有关产品多项式值数据类型的更多信息,请参阅固定点部分。
此属性适用于您的时候插值渣到'farrow'
.
CustomProductPolynomialValueDataType
-numerictype([],32,10)
(默认)产品多项式值的单词和分数长度,指定为自动定义的数字类型,单词长度为32,分数为10。
例子:Numerictype([],30,5)
此属性仅在您设置时适用插值渣到'farrow'
和ProductPolynomialValuedATYP.到'风俗'
.
AccumulatorPolynomialValueDataType
-'与第一个输入相同'
(默认)|'风俗'
累加器多项式值的数据类型,指定为以下之一:
'与第一个输入相同'
- 对象指定累加器多项式值数据类型与数据输入的累加器多项式数据类型相同。
'风俗'
- 累加器多项式值数据类型指定为自定义数字类型supustAccumulatorPolynomialValuedAtype.财产。
有关此对象使用的累加器多项式值数据类型的更多信息,请参阅固定点部分。
此属性适用于您的时候插值渣到'farrow'
.
supustAccumulatorPolynomialValuedAtype.
-numerictype([],32,10)
(默认)累加器多项式值的字和分数长度,指定为字长为32、分数长为10的自动签名数字类型。
例子:Numerictype([],30,5)
此属性仅在您设置时适用插值渣到'farrow'
和AccumulatorPolynomialValueDataType到'风俗'
.
multiplicandandpolynomialvaluedatype.
-'与第一个输入相同'
(默认)|'风俗'
多重多项式值的数据类型,指定为以下之一:
'与第一个输入相同'
- 对象指定乘法和多项式值数据类型与数据输入的多项式值数据类型相同。
'风俗'
- 多个多项式值数据类型被指定为自定义数字类型custommultiplicandpolynomialvaluedatatyp.财产。
有关该对象使用的多个多项式值数据类型的更多信息,请参阅固定点部分。
此属性适用于您的时候插值渣到'farrow'
.
custommultiplicandpolynomialvaluedatatyp.
-numerictype([],32,10)
(默认)多个多项式值的单词和分数长度,指定为自动定义的数字类型,单词长度为32和分数长度为10。
例子:Numerictype([],30,5)
此属性仅在您设置时适用插值渣到'farrow'
和multiplicandandpolynomialvaluedatype.到'风俗'
.
ProductDataType.
-'与第一个输入相同'
(默认)|'风俗'
该对象中产品输出的数据类型,指定为以下类型之一:
'与第一个输入相同'
- 对象指定产品输出数据类型与数据输入的产品输出数据类型相同。
'风俗'
属性指定产品输出数据类型为自定义数值类型customproductdattype.财产。
customproductdattype.
-产品数据类型的字和分数长度,指定为字长为32、分数长为10的自动签名数字类型。
例子:Numerictype([],30,5)
此属性仅在您设置时适用ProductDataType.到'风俗'
.
AccumulatorDatyp.
-“一样的产品”
(默认)|'与第一个输入相同'
'风俗'
该对象中的累积操作的数据类型,指定为以下内容之一:
“一样的产品”
- 对象指定累加器数据类型与产品输出数据类型的累加器数据类型相同。
'与第一个输入相同'
- 该对象指定累加器数据类型与数据输入的累加器数据类型相同。
'风俗'
属性指定累加器数据类型为自定义数字类型umpiationAccumulatorDatyp.财产。
有关累加器数据类型的更多信息,请参阅固定点.
umpiationAccumulatorDatyp.
-累加器数据类型的单词和分数长度,指定为自动定义的数字类型,具有字的长度为32和分数长度为10。
例子:Numerictype([],30,5)
此属性仅在您设置时适用AccumulatorDatyp.到'风俗'
.
OutputDataType
-'与累加器相同'
(默认)|'与第一个输入相同'
'风俗'
对象输出的数据类型,指定为以下之一:
'与累加器相同'
- 对象指定输出数据类型与累加器输出数据类型的输出数据类型相同。
'与第一个输入相同'
- 该对象指定输出数据类型与数据输入的输出数据类型相同。
'风俗'
- 输出数据类型指定为自定义数字类型customoutputdatatype.财产。
有关输出数据类型的更多信息,请参阅固定点部分。
customoutputdatatype.
-输出数据类型的单词和分数长度,指定为自动定义的数字类型,单词长度为32和分数长度为10。
例子:Numerictype([],30,5)
此属性仅在您设置时适用OutputDataType到'风俗'
.
将输入延迟到可变分数延迟系统对象vfdout.
=(变频输入
那D.
)D.
样品。D.
必须小于或等于您在中指定的值MaximumDelay.物品的财产。
适当地剪裁大于指定的最大延迟的延迟值。输入的每列被视为独立信道。
输入
-数据输入,指定为向量或矩阵。数据输入必须与延迟输入具有相同的数据类型。
此对象支持可变大小的输入金宝app信号。也就是说,即使在调用算法之后,您也可以更改输入帧大小(行数)。但是,通道的数量必须保持不变。例如,看到用于输入和延迟信号的可变尺寸信号支持金宝app.
例子:[1 2 3 4; 5 1 4 2; 2 6 2 3; 1 2 3 2; 3 4 5 6; 1 2 3 1]
数据类型:单身的
|双倍的
|INT8.
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
|FI.
复数支持:金宝app是的
D.
-延迟输入,指定为标量,矢量,矩阵或N-D阵列。延迟可以是整数或小数值。当延迟输入是分数值时,对象将信号插值以在非整数采样间隔处获得新的样本。延迟输入必须具有与数据输入相同的数据类型。
该对象支持可变大小的延迟金宝app信号。也就是说,您可以在调用算法后更改延迟信号的一个或两个维度。然而,该对象必须确保输出通道的结果数量保持不变。例如,看到用于输入和延迟信号的可变尺寸信号支持金宝app.
该表显示了延迟输入的尺寸对数据输入的影响。
数据输入 | 延迟输入 | 输出 | 延迟输入对数据输入的影响 |
---|---|---|---|
N-By-1(一个帧尺寸等于的一个通道N) | 标量子 | N-By-1 | 一个延迟值应用于输入通道 |
N-By-1(一个帧尺寸等于的一个通道N) | N-By-1 | N-By-1 | 延迟值在帧内变化到样本到样本 |
N-By-1(一个帧尺寸等于的一个通道N) | 1-by-P. | N-经过-P. | P.每个频道抽头。输出中的每个列是输入的延迟版本。延迟值由延迟输入向量中的相应元素指定。 |
N-By-1(一个帧尺寸等于的一个通道N) | N-经过-P. | N-经过-P. | P.每个频道抽头。另外,延迟在每个帧内变化到样本到样本。 |
N-经过-L.(L.帧大小等于的通道等于N) | 标量子 | N-经过-L. | 应用于所有输入通道的一个延迟值 |
N-经过-L.(L.帧大小等于的通道等于N) | 1-by-L. | N-经过-L. | 每个输入通道的唯一延迟值 |
N-经过-L.(L.帧大小等于的通道等于N) | N-By-1 | N-经过-L. | 延迟值在帧内随样本的不同而变化。所有通道的延迟值相同。 |
N-经过-L.(L.帧大小等于的通道等于N) | N-经过-L. | N-经过-L. | 延迟值在帧内随样本的不同而变化。不同的延迟值为每个输入通道。 |
N-经过-L.(L.帧大小等于的通道等于N) | 1-by-1-by -P. | N-经过-L.-经过-P. | L.渠道。P.每个频道抽头。所有渠道的延迟相同。 |
N-经过-L.(L.帧大小等于的通道等于N) | 1-by-L.-经过-P. | N-经过-L.-经过-P. | L.渠道。P.每个频道抽头。延迟在频道上变化。 |
N-经过-L.(L.帧大小等于的通道等于N) | N- 1-by-P. | N-经过-L.-经过-P. | L.渠道。P.每个频道抽头。延迟在帧内变化从样本到样本。每个通道的相同延迟值集。 |
N-经过-L.(L.帧大小等于的通道等于N) | N-经过-L.-经过-P. | N-经过-L.-经过-P. | L.渠道。P.每个频道抽头。延迟在帧内变化从样本到样本。每个通道的不同组延迟值。 |
例子:[2 3 4 5]
例子:[2.5]
例子:[5.6]
数据类型:单身的
|双倍的
|INT8.
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
|FI.
vfdout.
- 延迟输出延迟输出,作为向量或矩阵返回。输出的大小,数据类型和复杂性匹配数据输入的大小,数据类型和复杂性。
该表显示了数据输入和延迟输入尺寸如何影响输出尺寸:
数据输入 | 延迟输入 | 输出 | 延迟输入对数据输入的影响 |
---|---|---|---|
N-By-1(一个帧尺寸等于的一个通道N) | 标量子 | N-By-1 | 一个延迟值应用于输入通道 |
N-By-1(一个帧尺寸等于的一个通道N) | N-By-1 | N-By-1 | 延迟值在帧内变化到样本到样本 |
N-By-1(一个帧尺寸等于的一个通道N) | 1-by-P. | N-经过-P. | P.每个频道抽头。输出中的每个列是输入的延迟版本。延迟值由延迟输入向量中的相应元素指定。 |
N-By-1(一个帧尺寸等于的一个通道N) | N-经过-P. | N-经过-P. | P.每个频道抽头。另外,延迟在每个帧内变化到样本到样本。 |
N-经过-L.(L.帧大小等于的通道等于N) | 标量子 | N-经过-L. | 应用于所有输入通道的一个延迟值 |
N-经过-L.(L.帧大小等于的通道等于N) | 1-by-L. | N-经过-L. | 每个输入通道的唯一延迟值 |
N-经过-L.(L.帧大小等于的通道等于N) | N-By-1 | N-经过-L. | 延迟值在帧内随样本的不同而变化。所有通道的延迟值相同。 |
N-经过-L.(L.帧大小等于的通道等于N) | N-经过-L. | N-经过-L. | 延迟值在帧内随样本的不同而变化。不同的延迟值为每个输入通道。 |
N-经过-L.(L.帧大小等于的通道等于N) | 1-by-1-by -P. | N-经过-L.-经过-P. | L.渠道。P.每个频道抽头。所有频道相同的水龙头。 |
N-经过-L.(L.帧大小等于的通道等于N) | 1-by-L.-经过-P. | N-经过-L.-经过-P. | L.渠道。P.每个频道抽头。距离频道各不相同。 |
N-经过-L.(L.帧大小等于的通道等于N) | N- 1-by-P. | N-经过-L.-经过-P. | L.渠道。P.每个频道抽头。延迟在帧内变化从样本到样本。每个通道的相同延迟值集。 |
N-经过-L.(L.帧大小等于的通道等于N) | N-经过-L.-经过-P. | N-经过-L.-经过-P. | L.渠道。P.每个频道抽头。延迟在帧内变化从样本到样本。每个通道的不同组延迟值。 |
例子:[0 0 0 0;0 0 0;1 0 0 0;5 2 0 0;
例子:[0 0 0 0; 0 0 0 0; 0.5 1.0 1.5 2.0; 3 1.5 3.5 3.0; 3.5 3.5 3.0 2.5; 1.5 4.0 2.5 2.5]
例子:[0 0 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 0; 0.8 0.8 1.2 1.6]
数据类型:单身的
|双倍的
|INT8.
|int16
|INT32.
|INT64.
|uint8
|uint16
|uint32
|UINT64
|FI.
复数支持:金宝app是的
要使用对象函数,请将System对象指定为第一个输入参数。例如,要发布命名的系统对象的系统资源obj.
,使用此语法:
释放(obj)
通过不同的分数样本周期延迟信号。
笔记:如果您使用的是R2016A或早期版本,则用等价物将每个调用替换为对象一步
句法。例如,obj(x)
成为步骤(obj,x)
.
sr = dsp.signalsource;vfd = dsp.VariableFractionalDelay;inrint = dsp.signalsink;为了II = 1:10 delayedsig = VFD(SR(),II / 10);水槽(Delayedsig); 结尾sigd = sink.buffer;
输出锡格德
对应于以固定时间间隔采样的延迟信号的值。为了绘制信号样本的幅度恒定的时间瞬间,将信号视为采样瞬间。
茎(sr.signal,1:10,'B') 抓住 在;茎(SIGD。',1:10, 'r');传奇( 原始信号的那 ......'可变分数延迟信号'那 ......'地点'那 “最佳”)
笔记:如果您使用的是R2016A或早期版本,请使用等效步骤语法替换对对象的每个调用。例如,obj(x)变为步骤(obj,x)。
使用该延迟输入信号dsp.variableFractiondElay.
目的。每个延迟值都是唯一的,可以从样本到帧内的样本不同,并且可以在通道上变化。通过将延迟输入与适当的维度传递延迟输入,可以同时计算相同输入信号的多个延迟版本。
考虑输入作为一个通道的随机信号,帧大小为10.延迟同时延迟4.8和8.2样本。
vfd = dsp。VariableFractionalDelay
VFD = DSP.variableFractionDelay具有属性:插入式方法:'Linear'InitialConditions:0 MaximumDelay:100显示所有属性
在= randn(10,1)
在=10×10.5377 1.8339 -2.2588 0.8622 0.3188 -1.3077 -0.4336 0.3426 3.5784 2.7694
delayvec = [4.8 8.2];OUTCASE1 = VFD(IN,DELAYVEC)
outcase1 =10×20 0 0 0 0 0 0 0 0.1075 0 0.7969 0 1.0153 0 -1.6346 0 0.7535 0.4301 -0.0065 1.5746
输出中的每个通道分别延迟4.8和8.2个样本。该对象使用“线性”插值方法来计算延迟值。有关更多详细信息,请参阅“算法”中的“算法”dsp.variableFractiondElay.obj.ect page
.
对于相同的延迟向量,如果输入具有2个通道,则延迟向量的每个元素被施加在输入中的相应通道上。
释放(vfd);在= randn(10,2)
在=10×2-1.3499 0.6715 3.0349 -1.2075 0.7254 0.7172 -0.0631 1.6302 0.7147 0.4889 -0.2050 1.0347 -0.1241 0.7269 1.4897 -0.3034 1.4090 0.2939 1.4172 -0.7873 1.4172 -0.7873
outcase2 = (, delayVec)变频
OutCase2 =10×20 0 0 0 0 0 0 0 0-0.2700 0 -0.4729 0 2.5730 0 0.5677 0 0.0925 0.0925 0.5372 0.5308 -0.8317
为了计算二维输入信号的多个延迟版本,将延迟向量作为三维阵列传递。第三维包含在信号上应用的抽头或延迟。如果你通过非单例第三维度(1-by-1逐个 -
清除delayvec.;delayvec(1,1,1)= 4.8;delayvec(1,1,2)= 8.2;谁是 delayvec.
名称大小字节类属性Diall vec 1x1x2 16 double
delayvec.
是一个1-×1×2阵列。将二维输入传递给dsp.variableFractiondElay.
具有此延迟向量的对象。
释放(vfd);OUTCASE3 = VFD(IN,DELAYVEC)
OutCase3 = OutCase3(:,:,0 0 0 0 0 0 0 0 0 0 -1.0799 0.5372 2.1580 -0.8317
谁是OUTCASE3.
名称大小字节类属性OutCase3 10x2x2 320双倍
OUTCASE3(:,:1)
表示输入信号延迟4.8个样本。OutCase3(:,:,2)
表示8.2个样本延迟的输入信号。在所有通道上应用相同的延迟。
另外,如果你通过非单例的第二维度(1-by-
清除delayvec.;delayvec(1,1,1)= 2.3;delayvec(1,2,1)= 3.5;delayvec(1,1,2)= 4.4;delayvec(1,2,2)= 5.6;谁是 delayvec.
名称大小字节类属性DiallVec 1x2x2 32双倍
释放(vfd);outcase4 = (, delayVec)变频
OutCase4 = OutCase4(:,:,1)= 0 0 0 0 0 -0.9449 0 1.7195 0.3357 1.4183 -0.2680 0.1183 -0.2680 0.1183 -0.2451 0.4814 1.1737 0.0709 1.0596 -0.1484 0.7618 1.0055 0.8808 OUTCASE4(:,2)= 0 0 0 0 0 00 0 -0.8099 0 1.2810 0.2686 1.6492 -0.0801 0.2523 -0.4376 0.4036 1.0824 0.1629 1.1737
谁是OutCase4.
名称大小字节类属性OutCase4 10x2x2 320 Double
OutCase4(:,:,1)
包含由载体延迟的输入信号[2.3 3.5]。OUTCASE4(:,:,2)
包含矢量延迟的输入信号[4.4 5.6]。
为了将帧内的延迟从样品变化到样本,延迟向量的第一维度(
清除delayvec.;delayvec(:,1,1)= 3.1:0.1:4;delayvec(:,1,2)= 0.1:0.1:1;谁是 delayvec.
名称大小字节类属性DiallVec 10x1x2 160 Double
释放(vfd);outcase5 = (, delayVec)变频
OutCase5 = OutCase5(:,:,:1)= 0 0 0 0 0 0 -0.8099 0.4029 0.8425 -0.2680 2.1111 -0.4376 0.4889 0.9.0925 1.4020 0.6228 0.6228 0.6228 0.5435 -0.2050 1.0347 OUTCASE5(:,:,2)= -1.2149 0.6043 2.1580 -0.83171.4183 0.1398 0.2523 1.2650 0.3258 1.0596 0.3469 0.7072 -0.1807 0.9424 0.1986 0.5208 0.5208 1.4816 -0.2437 1.4090 0.2939
延迟在频道中的每个元素上变化。相同的一组延迟值适用于所有通道。delayvec(:,1,1)
适用于第一个延迟信号和delayvec(:,1,2)
适用于第二延迟信号。
dsp.variableFractiondElay.
系统对象支持可变大小的输入和金宝app延迟信号。也就是说,即使在调用算法之后,您也可以改变输入信号的尺寸和延迟信号。您可以同时更改一个或两个信号的尺寸。它们必须共同确保输出通道数(列数)保持不变。
用于输入信号的可变大小支持金宝app
输入信号每一帧的采样数可以改变。然而,输入通道的数量必须保持不变。
创建一个dsp.variableFractiondElay.
目的。通过尺寸[256 1]的输入信号,并延迟1.4到对象算法。在对算法的后续调用中,将输入帧大小分别更改为128,512和64
vfd = dsp.VariableFractionalDelay;(变频randn (256 1), 1.4);(变频randn (128 1), 1.4);(变频randn (512 1), 1.4);(变频randn (64 1), 1.4);
输出帧大小(行数)根据输入帧大小而变化。这些情况中的每一个中的输出通道数为1。
要更改输入通道的数量,请释放对象。
释放(vfd);
使用双通道输入呼叫算法,并在后续呼叫中改变输入帧大小。
VFD(Randn(256,2),1.4);VFD(Randn(128,2),1.4);
延迟信号的可变大小支持金宝app
除了输入之外,延迟信号还可以变化。也就是说,您可以在调用算法后更改延迟信号的一个或两个维度。然而,该对象必须确保输出通道的结果数量保持不变。延迟信号可以是标量,矢量,矩阵或N-D阵列。
释放(vfd);VFD(Randn(512,2),Randn(512,2));VFD(Randn(128,2),[1.4 1.7]);VFD(Randn(256,2),Randn(256,1));VFD(Randn(128,2),1.4);
在这些情况中的每一个中,输出通道的数量为2.在输入信号上应用不同的延迟,释放对象。
释放(vfd);VFD(Randn(256,1),Randn(256,7));VFD(Randn(512,1),Randn(512,7));VFD(Randn(100,1),Randn(100,7));VFD(Randn(100,1),Randn(1,7));
这些情况中的每一个的输出分别为[256 7],[512 7],[1007]和[1007]。
当您指定分数延迟值时,算法使用线性,FIR或FARROW插值方法来以非整数采样间隔内插信号值。
对于非整数延迟,在每个采样时间,线性插值方法使用最接近指定延迟的内存中的两个样本来计算当时样本的值。
对于向量数据输入,输出向量,y,使用以下关系计算:
VI =楼层(v)vf = v-vi y(i)= u(i-vi-1)* vf + u(i-vi)*(1-VF)
在哪里,
一世- 当前样本的索引
V.- 分数延迟
6——延迟的整数部分
vf- 延迟的分数部分
你- 输入数据矢量
y- 输出数据矢量
U(I-VI)那U(I-VI-1)- 最接近指定延迟的内存中的两个样本
i-vi- 在内插线中的当前指数和最近点之间的距离。
可变分数延迟存储dmax.+1在每个通道的输入处接收到的最新样本,其中dmax.是指定的最大延迟。你表示存储的样本。
在FIR插值模式中,可变分数延迟存储dmax.+P.+1在每个通道的输入处接收到的最新样本,其中P.是指定的插值过滤器半长。
在此模式下,该对象提供了一个离散的分数延迟集:
如果V.小于P.- 1、行为依赖于FIR小延迟值动作设置。您可以指定对象的行为时,输入延迟值太小,以至于无法居中内核(小于
剪辑以中心内核所需的最小值
- FIR插值方法仍在使用中。小输入延迟值剪切至中心内核所需的最小值。
如果内核无法居中,请切换到线性插值
- 当输入延迟值小于时,使用线性插值计算分数延迟P.1。
在FIR插值模式下,该算法实现了一个多相结构来计算每个样本在指定延迟下的值。结构的每个臂对应不同的延迟值。为每个样本计算的输出对应于手臂的输出,其延迟值最接近指定的输入延迟。因此,实际上只有一组离散的延迟是可能的。每个的系数数L.多相结构的滤镜是2P..在大多数情况下,使用价值P.在4和6之间为您提供合理准确的插值值。
这DesignMultirateFir.
功能设计FIR插值滤波器。
例如,当您设置以下值时:
插值过滤器半长(P)至4
每个输入样本的插值点为10
归一化输入带宽为1
停止衰减至80 dB
滤波器系数由以下给出:
B = DesignMultirateFIR(10,1,4,80);
增加滤镜半长(P.)增加插值的准确性,而且还增加了每个输入样本所执行的计算数量。存储滤波器系数所需的内存量也增加。增加每个样本的插值点(L.)增加了可表示的离散延迟点的数量,但也增加了模拟的内存需求。每个样本的计算负载不受影响。
归一化输入带宽从0到1允许您利用输入的带状频率内容。例如,如果您知道输入信号没有超过f的频率内容0.5
标准化带宽将输出的频率内容限制为该范围。
笔记
你可以考虑每一个L.插值滤波器对应于上采样的一个输出相位L.FIR滤波器。因此,归一化输入值改善了关键区域中的阻带,并在没有信号能量的情况下放宽在频率区域中的止挡需求。
在Farrow插值模式中,算法使用Lagrange方法来插入值。
用于插值的多项式的顺序基于拉格朗日插值中使用的数据点数。此值在中指定filterlength.财产。
指定当输入延迟值太小而无法驻留内核时的行为(小于
剪辑以中心内核所需的最小值
- 算法将小输入延迟值剪辑到保持内核中心所需的最小值。此选项产生更准确的内插值。
使用偏心内核
- 使用带有偏心内核的Farrow滤波器计算分数延迟。输入延迟值的结果小于
当Farrow滤波器的长度为2时,滤波器执行线性插值。
DirectFeedThrouough.
财产错误开始在R2018a
这DirectFeedThrouough.
R2018A已删除。尝试修改此属性会导致错误。请确保从Matlab代码中删除对此属性的所有引用。这dsp.variableFractiondElay.
Object现在默认在直接馈通模式下运行。
使用说明和限制:
看MATLAB代码生成中的系统对象(MATLAB编码器).
以下部分中的图表显示了中使用的数据类型dsp.variableFractiondElay.
固定点信号的对象。
虽然您可以指定大多数这些数据类型,但以下数据类型由对象内部计算,不能直接在对象界面上指定。
数据类型 | 字长 | 分数长度 |
---|---|---|
VF数据类型 | 与系数相同的词长度 | 与单词长度相同 |
HoldInteger数据类型 | 与输入延迟值相同的字长 | 0. 比特 |
整数数据类型 | 32. 比特 |
0. 比特 |
笔记
当输入是固定点时,所有内部数据类型都是签名的定点。
下图显示了可变分数延迟算法的线性插值模式使用的定点数据类型。
下图说明了可变分数延迟对象如何选择多相滤波器结构的臂,这些滤波器结构最紧密地匹配分数延迟值(V.
下图显示了FIR插值模式中的可变分数延迟算法使用的定点数据类型。
您可以在对象中设置系数,产品输出,累加器和输出数据类型。该图表明,输入数据存储在输入缓冲器中,具有相同的数据类型和缩放为输入。对象使用所设置的输出数据类型和缩放,将过滤的数据和输出缓冲区中的任何初始条件存储在输出缓冲区中。
当乘法器的至少一个输入是真实的时,乘法器的输出在产品输出数据类型中。当两个输入到乘法器都很复杂时,乘法的结果是累加器数据类型。有关复杂乘法的详细信息,请参阅乘法数据类型.
下图展示了Farrow插值模式在以下情况下使用的定点数据类型:
Farrow过滤器长度设置为4.
下拉小延时动作设定为“剪辑到居中内核所需的最小值”
下图展示了Farrow插值模式在以下情况下使用的定点数据类型:
Farrow过滤器长度设置为4.
下拉小延时动作设定为'使用离心内核'
差
从延迟值的整数部分计算(V.
下图显示了FIR直接表单过滤器使用的固定点数据类型。
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。