这个例子展示了改变不变性尺度和过采样因子如何影响小波散射变换的输出。
的InvarianceScale
小波时间散射网络的性质决定了尺度(低通)滤波器的时间尺度。创建一个信号长度为10000,不变尺度为500的小波散射网络。获取滤波器组。
sigLength = 1 e4;科幻小说= waveletScattering (“SignalLength”sigLength,“InvarianceScale”, 500);[fb f] = filterbank (sf);
使用helper函数helperPlotScalingWavelet
将第一个滤波器组中最粗尺度小波的实部和虚部在时间上绘制缩放滤波器。的源代码helperPlotScalingWavelet
列在附录中。尺度滤波金宝app器和小波的支持本质上是不变性尺度的大小。
helperPlotScalingWavelet(神奇动物,f, 500)
产生随机信号并使用featureMatrix
得到信号和散射网络的散射特征矩阵。
x = randn(1、sigLength);smat = featureMatrix(科幻,x);谁smat
Name Size Bytes Class Attributes smat 102x79 64464 double
特征矩阵的每一行都是经过低通滤波器(经过其他小波滤波)卷积(滤波)的向量。特征矩阵的第二个维度是时间分辨率。滤波的输出在不混叠的情况下尽量向下采样,即所谓的“临界下采样”。下行采样的数量取决于滤波器的带宽。不变性尺度越大,低通(缩放)函数的时间支持度就越大,因此我们可以进行更多的下采样。金宝app
得到信号的散射变换。
[S ~] = scatteringTransform(科幻,x);年代{2}
ans =41×4表信号路径带宽决议 _____________ _______ _________ __________ { 0.0084478 79 x1双}0 1 7 {79 x1双}0 2 0.0084478 7 {79 x1双}0 3 0.0084478 7 {79 x1双}0 4 0.0084478 7 {79 x1双}0 5 0.0084478 7 {79 x1双}0 6 0.0084478 7 {79 x1双}0 7 0.0084478 7 {79 x1双}0 8 0.0084478 7 {79 x1双}0 90.0084478 -7 {79x1 double} 0 10 0.0084478 -7 {79x1 double} 0 11 0.0084478 -7 {79x1 double} 0 13 0.0084478 -7 {79x1 double} 0 14 0.0084478 -7 {79x1 double} 0 15 0.0084478 -7 {79x1 double} 0 16 0.0084478 -7⋮
散射系数矢量,信号
,长度为79,分辨率为-7。这意味着我们的期望是近似的
每个向量的系数。
创建一个不变尺度为200的小波散射网络。得到信号的散射变换。因为不变性尺度更小,缩放滤波器的带宽增加,我们不能在不混叠的情况下减少采样。因此,散射系数的数目增加。
科幻小说= waveletScattering (“SignalLength”sigLength,“InvarianceScale”, 200);[S ~] = scatteringTransform(科幻,x);年代{2}
ans =30×4表信号路径带宽决议 ______________ _______ _________ __________ { 157 x1双}0 1 0.02112 0.02112 6 x1双}{157 0 2 6 0 x1双}{157 3 0.02112 6 x1双}{157 0 4 0.02112 0.02112 6 {157 x1双}0 5 6 0 x1双}{157 6 0.02112 6 {157 x1双}0 7 0.02112 6 {157 x1双}0 8 0.02112 6 {157 x1双}0 9 0.02112 6{157x1 double} 0 10 0.02112 -6 {157x1 double} 0 11 0.02112 -6 {157x1 double} 0 12 0.02112 -6 {157x1 double} 0 13 0.02112 -6 {157x1 double} 0 15 0.02112 -6 {157x1 double} 0 16 0.02112 -6⋮
因为不变性尺度是散射网络的一个非常重要的超参数(对性能来说最重要的参数之一),您应该根据手头的问题设置值,而不是因为您想要特定数量的系数。你可以使用OversamplingFactor
属性,用于调整给定系数的数量InvarianceScale
.的OversamplingFactor
指定相对于严格的下采样值有多少散射系数被过采样。因子在a上
规模。
创建一个不变性比例为500的散射网络,然后OversamplingFactor
等于1。得到信号的散射变换。正如预期的那样,散射路径的数量要大于InvarianceScale
是200。通过设置OversamplingFactor
对于1,散射变换返回相对于严格采样数的每个散射路径的两倍系数。返回的散射系数矢量大小等于散射网络在默认临界降采样条件下的不变尺度为200时的大小。
科幻小说= waveletScattering (“SignalLength”sigLength,“InvarianceScale”, 500,“OversamplingFactor”1);[S ~] = scatteringTransform(科幻,x);年代{2}
ans =41×4表信号路径带宽决议 ______________ _______ _________ __________ { 157 x1双}0 1 0.0084478 0.0084478 6 x1双}{157 0 2 6 0 x1双}{157 3 0.0084478 6 x1双}{157 0 4 0.0084478 0.0084478 6 {157 x1双}0 5 6 0 x1双}{157 6 0.0084478 6 {157 x1双}0 7 0.0084478 6 {157 x1双}0 8 0.0084478 6 x1双}{157 09 0.0084478 -6 {157x1 double} 0 10 0.0084478 -6 {157x1 double} 0 11 0.0084478 -6 {157x1 double} 0 12 0.0084478 -6 {157x1 double} 0 13 0.0084478 -6 {157x1 double} 0 14 0.0084478 -6 {157x1 double} 0 15 0.0084478 -6 {157x1 double} 0 16 0.0084478 -6 ⋮
函数helperPlotScalingWavelet (fb, f, invScale)这个函数只支持小波散射的例子。金宝app它可能%更改或在未来的版本中删除。fBin =差异(f (1:2));时间= (1/2:fBin: 1/2-fBin) * 1 e4;φ= ifftshift(传输线(神奇动物{1}.phift));psiL1 = ifftshift(传输线(神奇动物{2}.psift (:,)));图绘制(时间、φ“b”,“线宽”, 1.5)网格在持有在情节(时间,实际(psiL1));情节(时间、图像放大(psiL1));情节([-invScale / 2 -invScale / 2), (6 e - 3 6.5 e - 3),“k——”) plot([invScale/2 invScale/2],[-6e-3 6.5e-3],“k——”) ylim([-6e-3 6.5e-3]) xlim([-invScale invScale]) legend(“扩展功能”,“Wavelet-Real部分”,“Wavelet-Imaginary部分”)结束