文档帮助中心文档
合并来自多个数据存储的数据
sdsnew=联合收割机(sds1、sds2、…、sdsn)
实例
sdsnew=联合收割机(sds1 sds2,…,sdsn)通过水平连接读函数在输入数据存储上调用。
sdsnew=联合收割机(sds1 sds2,…,sdsn)
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
sds2=变换(sds1,@signalEnvelope,“IncludeInfo”,对);
结合sds1和sds2创建第三个数据存储。每次呼叫读组合数据存储中的函数返回一个包含三列的矩阵:
sds1
第一列对应原始信号。
第二列和第三列分别对应于上封套和下封套。
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”))终止
指定信号处理工具箱中包含的示例文件的路径™. 每个文件包含一个啁啾和一个从100到150赫兹的随机采样率。
文件夹= fullfile (matlabroot,“例子”,“信号”,“数据”,“sample_chirps”);
创建一个指向指定文件夹的信号数据存储,并设置采样率变量的名称。
sds = signalDatastore(文件夹,“SampleRateVariableName”,“fs”);
定义一个函数,该函数接受读函数并使用pspectrum函数估计信号的功率谱。用这个估计来计算瞬时频率。该函数还返回与加窗段中心相对应的时间瞬间向量和信号谱图中包含的谱估计相对应的频率。
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});
结合sds1和sds2。当组合数据存储中有未读文件时,从新数据存储中读取并可视化频谱图。将瞬时频率覆盖在频谱图上。
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;终止
信号数据存储
要合并的信号数据存储,指定为两个或多个逗号分隔的数据存储信号数据存储物体。
组合数据存储
包含组合数据的新数据存储,作为组合数据存储对象。
调用读在组合数据存储上,通过调用读在每个输入数据存储上。
信号数据存储|hasdata
hasdata
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站以获取可用的翻译内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。
与当地办事处联系