主要内容

结合

合并来自多个数据存储的数据

自从R2020a

描述

例子

sdsnew=结合(sds1 sds2,…, sdsn)结合两个或两个以上的数据存储的横向连接返回的数据函数在输入数据存储。

例子

全部折叠

指定的路径四个信号包含的MATLAB®。一只小鸟唧唧喳喳的信号是录音,锣,一列火车,一个长条木板。所有信号采样在8192赫兹。

文件夹= fullfile (matlabroot,“工具箱”,matlab的,的音视频,(“chirp.mat”,“gong.mat”,“train.mat”,“splat.mat”]);

创建一个点的信号数据存储到指定的文件。每个文件包含的变量Fs表示采样率。

sds1 = signalDatastore(文件夹,“SampleRateVariableName”,“Fs”);

定义一个函数,这个函数的输出功能和计算信号的上、下信封使用样条插值在当地maxima隔开至少80个样本。每个信号的函数也返回样品时间。

函数[dataOut, infoOut] = signalEnvelope (dataIn信息)[dataOut (: 1), dataOut(:, 2)] =信封(dataIn, 80,“高峰”);infoOut =信息;infoOut。TimeInstants =(0:长度(dataOut) 1) / info.SampleRate;结束

调用变换函数创建第二个数据存储,sds2的信封,计算信号使用函数定义。

sds2 =变换(sds1 @signalEnvelope,“IncludeInfo”,真正的);

结合sds1sds2创建第三个数据存储。每一个调用函数相结合的数据存储返回一个矩阵有三列:

  • 第一列对应于原始信号。

  • 第二和第三列对应上下信封,分别。

sdsCombined =结合(sds1 sds2);

读取和显示原始数据和合并后的数据存储的上部和下部信封。使用extractBetween函数来提取文件名的文件路径。

tiledlayout (“流”)hasdata (sdsCombined) [dataOut infoOut] =阅读(sdsCombined);ts = infoOut {2} .TimeInstants;nexttile举行情节(ts dataOut (: 1),“颜色”,“# DCDCDC”,“线型”,“:”)情节(ts dataOut (: 2:3),“线宽”,1.5)包含(“时间(s)”)ylabel (“信号”)标题(extractBetween (infoOut {: 2} .FileName,“音视频\”,“.mat”))结束

图包含4轴对象。坐标轴对象1包含时间(s), ylabel信号包含3线类型的对象。坐标轴对象2包含时间(s), ylabel信号包含3线类型的对象。坐标轴对象3包含时间(s), ylabel信号包含3线类型的对象。4轴对象包含时间,ylabel信号包含3线类型的对象。

每个文件的sample_chirps文件夹包含一个唧唧,随机采样率从100到150赫兹。创建一个点的信号数据存储到指定的文件夹并设置采样率变量的名称。

文件夹=“sample_chirps”;sds = signalDatastore(文件夹,SampleRateVariableName =“fs”);

定义一个函数,这个函数的输出功能和使用pspectrum函数来估计信号的功率谱。使用计算瞬时频率的估计。瞬间的时间函数也返回向量对应窗口的部分和中心频率对应的谱估计中包含的声音信号。

函数[dataOut, infoOut] = extractinstfreq (dataIn信息)[P F T] = pspectrum (dataIn info.SampleRate,“声谱图”,TimeResolution = 0.1, OverlapPercent = 40,泄漏= 0.8);dataOut = {instfreq (P F T)};infoOut =信息;infoOut。CenterFrequencies = F;infoOut。TimeInstants = T;结束

调用变换函数创建一个新的数据存储计算瞬时频率。

sds2 =变换(sds、@extractinstfreq IncludeInfo = true);

因为数据在sds2不是水平concatenable中的数据吗sds转换数据sds进细胞阵列。

sds1 =变换(sds, @ (x) {x});

结合sds1sds2。而合并后的数据存储未读文件,读取新的数据存储和可视化声谱图。覆盖的瞬时频率谱图。

sdsCombined =结合(sds1 sds2);sdsSubset =子集(sdsCombined [1、4、9、10]);plotID = 1;hasdata (sdsSubset)次要情节(2,2,plotID)[团体,信息]=阅读(sdsSubset);pspectrum (sig {: 1}, {: 2} .SampleRate信息,“声谱图”,TimeResolution = 0.1, OverlapPercent = 40,泄漏= 0.8)情节(信息{:2}.TimeInstants”,团体{:2})plotID = plotID + 1;结束

图包含4轴对象。坐标轴对象1标题耐火的= 17.8854赫兹,女士非常= 93.2203,包含时间(s), ylabel频率(赫兹)包含2图像类型的对象,线。坐标轴对象2标题耐火的= 17.3141赫兹,女士非常= 96.2963,包含时间(s), ylabel频率(赫兹)包含2图像类型的对象,线。坐标轴对象3标题耐火的= 18.037赫兹,女士非常= 92.437,包含时间(s), ylabel频率(赫兹)包含2图像类型的对象,线。坐标轴对象4标题耐火的= 16.6729赫兹,非常= 100毫秒,包含时间(s), ylabel频率(赫兹)包含2图像类型的对象,线。

输入参数

全部折叠

信号数据存储整合指定为两个或两个以上的逗号分隔signalDatastore对象。

输出参数

全部折叠

新的数据存储与数据相结合,作为一个返回CombinedDatastore对象。

调用合并后的数据存储,横向连接数据通过调用在每个输入数据存储。

版本历史

介绍了R2020a