主要内容

dlstft.

深度学习短时傅里叶变换

描述

例子

[yr.) = dlstft (X返回深度学习短时傅里叶变换(STFT)Xdlstft.需要深入学习工具箱™。

例子

[yr.) = dlstft (XFS.返回深度学习的stft假设X抽样率是多少FS.

例子

[yr.) = dlstft (XTS.返回深度学习的stft假设X采样采样时间TS.

例子

[yr.) = dlstft (___名称,价值使用名称值参数指定其他选项。选项包括光谱窗口和FFT长度。这些参数可以添加到任何先前的输入语法中。例如,'dataformat','cbt'指定数据格式X作为认知行为治疗

例子

[yr.FT.) = dlstft (___返回频率F和时代T.在哪个深度学习STFT的计算。

例子

全部收缩

生成以600 Hz采样的信号2秒。信号由具有正弦变化频率内容的啁啾组成。

FS = 6E2;T = 0:1 / FS:2;X = VCO(SIN(2 * PI * T),[0.1 0.4] * FS,FS);

将信号存储在未格式化的深度学习阵列中。计算信号的短时傅里叶变换。将采样时间输入为a期间标量。(或者,将采样率作为数字标量输入。)指定输入数组是'CTB'格式。

dlx = dlarray (x);(年,咦,f t) = dlstft (dlx,秒(1 / fs),'datomformat''CTB');

将输出转换为数字数组。计算短时傅里叶变换的幅度,并将其显示为瀑布图。

Yr =提取物(Yr);yi =提取物(yi);f =提取数据(f);t =秒(t);斧头= newplot;瀑布(斧头,F,T,挤压(斜角(YR,Yi))')Ax.xdir ='撤销';查看(30,45)ylabel('时间'')Xlabel('频率(Hz)')Zlabel('震级'

生成A. 3. × 160. × 1 阵列包含一批三通道,160样本正弦信号。标准化的正弦频率是 π / 4. rad /样品, π / 2 rad /样品,和 3. π / 4. Rad /样品。将信号保存为一个dlarray.,按顺序指定尺寸。dlarray.将数组维数排列为'CBT'深入学习网络预期的形状。显示阵列尺寸大小。

x = dlarray(cos(pi。*(1:3)'/ 4 *(0:159)),'CTB');[nchan,nbtch,nsamp] = size(x)
nchan = 3.
NBTCH = 1
nsamp = 160.

计算信号的深度学习短时傅里叶变换。指定64样本矩形窗口和FFT长度为1024。

[Re,IM,F,T] = DLSTFT(X,'窗户',etcrwin(64),'fftlength',1024);

dlstft.计算变换沿着'T'尺寸。输出阵列在'scbt'格式。这'尺寸对应于短时傅里叶变换中的频率。

从深度学习阵列中提取数据。

Re =挤压(提取物(RE));IM =挤压(提取数据(IM));f =提取数据(f);t =提取数据(t);

计算短时傅里叶变换的幅度。为瀑布图中的每个通道分别绘制幅度。

z = abs(re + 1j * im);为了kj = 1:nchan子图(nchan,1,kj)瀑布(f / pi,t,挤压(z(:,kj,:)')查看(30,45)结尾Xlabel('频率(\ times \ pi rad / sample)')ylabel('样品'

输入参数

全部收缩

输入数组,指定为未格式化dlarray.(深度学习工具箱),格式化dlarray.'CBT'格式或数字数组。如果X是一个无格式化的人dlarray.或数字数组,您必须指定'datomformat'作为一些排列'CBT'

例子:dlarray(cos(pi ./ [4; 2] *(0:159)),'CTB')dlarray(cos(pi ./ [4; 2] *(0:159))','tcb')两者都指定了一个批量观察了两个通道正弦曲线'CBT'格式。

采样率,指定为正数字标量。

采样时间,指定为期间标量。指定TS.相当于设置采样率FS.= 1 /TS.

例子:秒(1)是A.期间标量表示连续信号样本之间的1秒钟差异。

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'窗口',汉明(100),'overtaplencth',50,'fftlength',128Windows使用100样本汉明窗口的数据,在相邻的段和128点FFT之间有50个重叠样本。

输入的数据格式,指定为字符向量或字符串标量。此参数仅在此处有效X是不可格式化的。

此参数中的每个字符必须是其中一个标签:

  • C- 渠道

  • B.- 批量观察

  • T.- 时间

dlstft.功能接受任何排列'CBT'。您可以在每个最多的一个中指定CB., 和T.标签。

参数的每个元素都标记了匹配的维度X。如果论证不在列出的订单中('C'其次是'B'等等),然后dlstft.隐含地允许参数和数据以匹配顺序,但不改变如何存储数据。

例子:'CBT'

光谱窗口,指定为向量。如果未指定窗口或将其指定为空,则该函数使用Hann窗口长度为128.'窗户'必须大于或等于2。

有关可用窗口的列表,请参阅视窗

例子:汉恩(N + 1)(1-cos(2 * pi *(0:n)'/ n))/ 2两者都指定了长度的HANN窗口N+ 1。

数据类型:双倍的|单身的

重叠样本的数量,指定为小于长度的非负整数'窗户'。如果你省略'overlaplencth'或将其指定为空,设置为小于窗口长度的最大整数,这是默认HANN窗口的96个样本。

数据类型:双倍的|单身的

DFT点数,指定为正整数。该值必须大于或等于窗口长度。如果输入信号的长度小于DFT长度,则数据将用零填充。

数据类型:双倍的|单身的

输出参数

全部收缩

短时傅里叶变换,返回两种格式化dlarray.(深度学习工具箱)对象。yr.包含变换的真实部分。包含变换的虚部。

  • 如果X是一个格式化的dlarray.yr.'scbt'格式化dlarray.对象。这'尺寸对应于短时傅里叶变换中的频率。

  • 如果X是一个无格式化的人dlarray.或者一个数字数组,yr.是未格式化的dlarray.对象。维度顺序yr.'scbt'

如果没有指定时间信息,则STFT在奈奎斯特范围内计算[0,π]如果'fftlength'甚至和结束[0,π如果'fftlength'是奇数。如果指定时间信息,则间隔为[0,FS./ 2][0,FS./ 2)分别在哪里FS.是有效的采样率。

深入学习STFT计算的频率,作为一个返回dlarray.目的。

  • 如果输入阵列不包含时间信息,则频率位于RAD /样本的归一化单元。

  • 如果输入阵列包含时间信息,则F包含Hz中表达的频率。

深入学习STFT计算的时间,作为一个返回dlarray.对象或A.期间大批。

  • 如果您未指定时间信息,那么T.包含样品号。

  • 如果您指定了采样率,那么T.包含以秒为单位的时间值。

  • 如果您指定了一个样本时间,那么T.是A.期间阵列具有相同的时间格式为X

扩展能力

在R2021A介绍