主要内容gydF4y2Ba

stftLayergydF4y2Ba

短时傅里叶变换层gydF4y2Ba

描述gydF4y2Ba

STFT层计算输入的短时傅里叶变换。gydF4y2Ba使用这一层需要深度学习工具箱™。gydF4y2Ba

创建gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

层gydF4y2Ba= stftLayergydF4y2Ba创建一个gydF4y2Ba短时傅里叶变换gydF4y2Ba(STFT)层。的输入gydF4y2BastftLayergydF4y2Ba必须是一个gydF4y2BadlarraygydF4y2Ba(深度学习工具箱)gydF4y2Ba对象gydF4y2Ba“认知行为治疗”gydF4y2Ba格式,其沿时间维度的大小大于的长度gydF4y2Ba窗口gydF4y2Ba。gydF4y2BastftLayergydF4y2Ba将输出格式化为gydF4y2Ba“SCBT”gydF4y2Ba。有关更多信息,请参见gydF4y2Ba层输出格式gydF4y2Ba。gydF4y2Ba

请注意gydF4y2Ba

的权重gydF4y2BastftLayergydF4y2Ba在内部初始化为STFT中用作过滤器的调制窗口。不建议直接初始化权重。gydF4y2Ba

例子gydF4y2Ba

层gydF4y2Ba= stftLayer (gydF4y2Ba名称=值gydF4y2Ba)gydF4y2Ba使用一个或多个名称-值参数设置属性。您可以指定分析窗口和重叠样本的数量等。gydF4y2Ba

属性gydF4y2Ba

全部展开gydF4y2Ba

STFTgydF4y2Ba

此属性是只读的。gydF4y2Ba

用于计算STFT的分析窗口,指定为具有两个或多个元素的向量。gydF4y2Ba

例子:gydF4y2Ba(1-cos(2 *π* (0:127)/ 127))/ 2gydF4y2Ba而且gydF4y2Ba损害gydF4y2Ba(128)gydF4y2Ba都指定长度为128的Hann窗口。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

此属性是只读的。gydF4y2Ba

重叠样本的数目,指定为严格小于的长度的正整数gydF4y2Ba窗口gydF4y2Ba。gydF4y2Ba

连续窗口之间的步幅是窗口长度与重叠样本数之差。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

此属性是只读的。gydF4y2Ba

用于计算离散傅里叶变换的频率点数,指定为大于或等于窗口长度的正整数。如果未指定,此参数默认为窗口的长度。gydF4y2Ba

如果输入数据沿时间维的长度小于DFT点的数量,gydF4y2BastftLayergydF4y2Ba右补数据和窗口的零,因此它们的长度等于gydF4y2BaFFTLengthgydF4y2Ba。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

图层转换模式,指定为以下其中之一:gydF4y2Ba

  • “杂志”gydF4y2Ba——STFT级gydF4y2Ba

  • “squaremag”gydF4y2Ba- STFT平方量级gydF4y2Ba

  • “logmag”gydF4y2Ba- STFT量级的自然对数gydF4y2Ba

  • “logsquaremag”gydF4y2Ba- STFT平方量级的自然对数gydF4y2Ba

  • “realimag”gydF4y2Ba- STFT的实部和虚部,沿着通道尺寸连接gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba

层gydF4y2Ba

用于权重学习率的乘数,指定为非负标量。如果未指定,此属性默认为零,导致权重不随训练而更新。方法设置此属性gydF4y2BasetLearnRateFactorgydF4y2Ba(深度学习工具箱)gydF4y2Ba函数。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

层名,指定为字符向量或字符串标量。为gydF4y2Ba层gydF4y2Ba数组输入,gydF4y2BatrainNetworkgydF4y2Ba,gydF4y2BaassembleNetworkgydF4y2Ba,gydF4y2BalayerGraphgydF4y2Ba,gydF4y2BadlnetworkgydF4y2Ba函数自动为具有此名称的层分配名称gydF4y2Ba”gydF4y2Ba。gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba

此属性是只读的。gydF4y2Ba

层的输入数。该层只接受单个输入。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

此属性是只读的。gydF4y2Ba

输入图层名称。该层只接受单个输入。gydF4y2Ba

数据类型:gydF4y2Ba细胞gydF4y2Ba

此属性是只读的。gydF4y2Ba

层的输出数量。这个层只有一个输出。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

此属性是只读的。gydF4y2Ba

输出层的名称。这个层只有一个输出。gydF4y2Ba

数据类型:gydF4y2Ba细胞gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

生成一个以600hz采样2秒的信号。该信号由一个频率内容呈正弦变化的啁啾组成。将信号存储在深度学习数组中gydF4y2Ba“施”gydF4y2Ba格式。gydF4y2Ba

fs = 6 e2;X = vco(sin(2*pi*(0:1/fs:2)),[0.1 0.4]*fs,fs);dlx = dlarray (x,gydF4y2Ba“施”gydF4y2Ba);gydF4y2Ba

创建一个具有默认属性的短时傅里叶变换层。创建一个gydF4y2BadlnetworkgydF4y2Ba对象,由序列输入层和短时傅里叶变换层组成。指定128个样本的最小序列长度。把信号通过gydF4y2Ba预测gydF4y2Ba网络的方法。gydF4y2Ba

ftl = stftLayer;dlnet = dlnetwork([sequenceInputLayer(1,MinLength=128) ftl]);netout =预测(dlnet dlx);gydF4y2Ba

将网络输出转换为数字数组。使用gydF4y2Ba挤压gydF4y2Ba函数用于删除长度为1的通道和批尺寸。画出STFT的大小。数组的第一个维度对应于频率,第二个维度对应于时间。gydF4y2Ba

q = extractdata (netout);瀑布(挤压(q)的)设置(gca XDir =gydF4y2Ba“反向”gydF4y2Ba、查看= 45[30])包含(gydF4y2Ba“频率”gydF4y2Ba) ylabel (gydF4y2Ba“时间”gydF4y2Ba)gydF4y2Ba

图中包含一个axes对象。axes对象包含一个patch类型的对象。gydF4y2Ba

生成一个3 × 160 (× 1)阵列,其中包含一批三通道、160采样的正弦信号。归一化正弦频率为gydF4y2BaπgydF4y2Ba/ 4 rad /样本,gydF4y2BaπgydF4y2Ba/2 rad/sample和3gydF4y2BaπgydF4y2Ba/ 4 rad /样品。将信号保存为gydF4y2BadlarraygydF4y2Ba,按顺序指定尺寸。gydF4y2BadlarraygydF4y2Ba对象的数组尺寸排列gydF4y2Ba“认知行为治疗”gydF4y2Ba深度学习网络所期望的形状。gydF4y2Ba

nch = 3;N = 160;x = dlarray (cos(π。* (1:nch) / 4 * (0: n - 1)),gydF4y2Ba“施”gydF4y2Ba);gydF4y2Ba

创建一个可用于正弦信号的短时傅里叶变换层。指定一个64个样本的矩形窗口,48个相邻窗口之间的重叠样本和1024个DFT点。缺省情况下,该层输出STFT的大小。gydF4y2Ba

stfl = stftLayer(窗口= rectwin (64),gydF4y2Ba...gydF4y2BaOverlapLength = 48岁gydF4y2Ba...gydF4y2BaFFTLength = 1024);gydF4y2Ba

创建一个两层的gydF4y2BadlnetworkgydF4y2Ba对象,包含序列输入层和刚刚创建的STFT层。把正弦信号的每个通道看作一个特征。指定信号长度为输入层的最小序列长度。gydF4y2Ba

layers = [sequenceInputLayer(nch,MinLength=N) stfl];dlnet = dlnetwork(层);gydF4y2Ba

让正弦信号通过gydF4y2Ba向前gydF4y2Ba网络的方法。gydF4y2Ba

向前dataout = (dlnet x);gydF4y2Ba

将网络输出转换为数字数组。使用gydF4y2Ba挤压gydF4y2Ba函数折叠size-1的批处理维度。排列通道和时间维度,使每个阵列页面包含二维光谱图。在瀑布图中分别绘制每个通道的STFT量级。gydF4y2Ba

q =挤压(extractdata (dataout));Q = permute(Q,[1 3 2]);gydF4y2Ba为gydF4y2BaKj = 1:nch subplot(nch,1, Kj) waterfall(q(:,:, Kj)') view(30,45) zlabel(gydF4y2Ba“Ch。”gydF4y2Ba+字符串(kj))gydF4y2Ba结束gydF4y2Ba

图中包含3个轴对象。Axes对象1包含一个patch类型的对象。Axes对象2包含一个patch类型的对象。Axes对象3包含一个patch类型的对象。gydF4y2Ba

更多关于gydF4y2Ba

全部展开gydF4y2Ba

版本历史gydF4y2Ba

介绍了R2021bgydF4y2Ba

全部展开gydF4y2Ba

另请参阅gydF4y2Ba

应用程序gydF4y2Ba

对象gydF4y2Ba

功能gydF4y2Ba

Baidu
map