主要内容

结合

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

描述

实例

sdsnew=联合收割机(sds1 sds2,…,sdsn)通过水平连接函数在输入数据存储上调用。

例子

全部折叠

指定MATLAB®中包含的四个信号的路径。这些信号是鸟叫声、锣声、火车声和杂音的记录。所有信号都以8192 Hz的频率采样。

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

创建指向指定文件的信号数据存储。每个文件都包含这个变量财政司司长这表示采样率。

sds1=信号数据存储(文件夹,“SampleRateVariableName”,“Fs”);

定义一个函数,该函数接受函数,并使用样条插值法计算信号的上下包络,该插值法使用至少80个样本分离的局部极大值。该函数还返回每个信号的采样时间。

函数[dataOut,infoOut] = signalEnvelope(dataIn,info) [dataOut(: 1),dataOut(: 2)] = envelope(dataIn,80,)“高峰”);infoOut=info;infoOut.TimeInstants=(0:length(dataOut)-1)/info.SampleRate;终止

打电话给变换函数创建第二个数据存储,sds2,它使用您定义的函数计算信号的包络。

sds2=变换(sds1,@signalEnvelope,“IncludeInfo”,对);

结合sds1sds2创建第三个数据存储。每次呼叫组合数据存储中的函数返回一个包含三列的矩阵:

  • 第一列对应原始信号。

  • 第二列和第三列分别对应于上封套和下封套。

SDS组合=联合收割机(sds1、sds2);

从组合数据存储中读取并显示原始数据以及上下信封。使用提取器函数从文件路径提取文件名。

tiledlayout (“流动”)hasdata(sdsCombined)[dataOut,infoOut]=read(sdsCombined);ts=infoOut{2}.TimeInstants;nextile保持绘图(ts,数据输出(:,1),“颜色”,“#DCDC”,“线型”,“:”)绘图(ts,数据输出(:,2:3),“线宽”,1.5)保持包含(“时间(s)”) ylabel (“信号”)标题(extractBetween (infoOut{: 2}。文件名,“音视频\”,“.mat”))终止

图形包含4个轴对象。轴对象1包含3个线型对象。轴对象2包含3个线型对象。轴对象3包含3个线型对象。轴对象4包含3个线型对象。

指定信号处理工具箱中包含的示例文件的路径™. 每个文件包含一个啁啾和一个从100到150赫兹的随机采样率。

文件夹= fullfile (matlabroot,“例子”,“信号”,“数据”,“sample_chirps”);

创建一个指向指定文件夹的信号数据存储,并设置采样率变量的名称。

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

定义一个函数,该函数接受函数并使用pspectrum函数估计信号的功率谱。用这个估计来计算瞬时频率。该函数还返回与加窗段中心相对应的时间瞬间向量和信号谱图中包含的谱估计相对应的频率。

函数[dataOut,infoOut] = extractinstfreq(dataIn,info) [P,F,T] = pspectrum(dataIn,info. info) [P,F,T] = pspectrum(dataIn,info. info)SampleRate,“光谱图”,...“TimeResolution”,0.1,“重叠百分比”现年40岁的“漏”,0.8);dataOut={instreq(P,F,T)'};infoOut=info;infoOut.CenterFrequencies=F;infoOut.TimeInstants=T;终止

打电话给变换函数创建计算瞬时频率的新数据存储。

sds2=变换(sds,@extractinstfreq,“IncludeInfo”,对);

因为数据在sds2不能水平连接的数据十二烷基硫酸钠,将数据转换进来十二烷基硫酸钠进入细胞阵列。

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

结合sds1sds2。当组合数据存储中有未读文件时,从新数据存储中读取并可视化频谱图。将瞬时频率覆盖在频谱图上。

sdsCombined=combine(sds1,sds2);sdsSubset=subset(sdsCombined[1,4,9,10]);plotID=1;hasdata(sdsSubset)子图(2,2,plotID)[sig,info]=read(sdsSubset);psspectrum(sig{:,1},info{:,2}.SampleRate,“光谱图”,...“TimeResolution”,0.1,“重叠百分比”现年40岁的“漏”,0.8)保持plot(info{:,2}.TimeInstants',sig{:,2}) plotID = plotID + 1;终止

图中包含4个轴对象。标题为Fres=17.8854 Hz、Tres=93.2203 ms的轴对象1包含2个图像、线条类型的对象。标题为Fres=17.3141 Hz,Tres=96.2963 ms的轴对象2包含2个图像、线条类型的对象。标题为Fres=18.037 Hz、Tres=92.437 ms的轴对象3包含2个图像、线条类型的对象。标题为Fres=16.6729 Hz,Tres=100 ms的轴对象4包含2个图像、线条类型的对象。

输入参数

全部折叠

要合并的信号数据存储,指定为两个或多个逗号分隔的数据存储信号数据存储物体。

输出参数

全部折叠

包含组合数据的新数据存储,作为组合数据存储对象。

调用在组合数据存储上,通过调用在每个输入数据存储上。

介绍了R2020a