主要内容

在测量中找到一个信号

您收到一些数据,并想知道它是否与您测量的较长的流匹配。交叉相关使您能够做出这样的决定,即使数据被噪声破坏。

在工作空间中载入一个在桌面上旋转的环的记录。裁剪一个一秒钟的片段并听它。

负载(“Ring.mat”) Time = 0:1/Fs:(length(y)-1)/Fs;m = min (y);M = max (y);Full_sig =双(y);赈灾发言人timeA = 7;timeB = 8;剪断=赈灾发言人timeA * Fs: timeB * Fs;片段= Full_sig(剪);听到,输入sounddsc(片段,Fs)

画出信号和片段。突出显示用于引用的片段端点。

plot(Time,Full_sig,[timeA timeB;timeA timeB],[m m; m m],“r——”)包含(“时间(s)”) ylabel (“清洁”)轴

图中包含一个轴。坐标轴包含3个类型为line的对象。

情节(剪/ Fs,片段)包含(“时间(s)”) ylabel (“清洁”)标题(“片段”)轴

图中包含一个轴。标题为Fragment的轴包含一个类型为line的对象。

计算并绘制完整信号和片段的互相关。

[xCorr,滞后]= xCorr (Full_sig片段);情节(滞后/ Fs, xCorr)网格包含(“滞后(s)”) ylabel (“清洁”)轴

图中包含一个轴。轴包含一个类型为line的对象。

互相关最大的滞后是信号起始点之间的时间延迟。重新绘制信号并覆盖片段。

[~,我]= max (abs (xCorr));maxt =滞后(我);审判=南(大小(Full_sig));审判(maxt + 1: maxt +长度(片段))=片段;情节(时间、Full_sig时间,试验)包含(“时间(s)”) ylabel (“清洁”)轴

图中包含一个轴。坐标轴包含两个line类型的对象。

重复上述步骤,但在信号和片段中分别添加噪声。这声音从噪音中听不出来。

NoiseAmp = 0.2 *马克斯(abs(片段));片段=片段+ NoiseAmp * randn(大小(片段));Full_sig = Full_sig + NoiseAmp * randn(大小(Full_sig));听到,输入sounddsc(片段,Fs)plot(Time,Full_sig,[timeA timeB;timeA timeB],[m m; m m],“r——”)包含(“时间(s)”) ylabel (“吵”)轴

图中包含一个轴。坐标轴包含3个类型为line的对象。

尽管噪音很高,程序还是找到了缺失的片段。

[xCorr,滞后]= xCorr (Full_sig片段);情节(滞后/ Fs, xCorr)网格包含(“滞后(s)”) ylabel (“吵”)轴

图中包含一个轴。轴包含一个类型为line的对象。

[~,我]= max (abs (xCorr));maxt =滞后(我);审判=南(大小(Full_sig));审判(maxt + 1: maxt +长度(片段))=片段;图绘制(时间、Full_sig时间、试验)包含(“时间(s)”) ylabel (“吵”)轴

图中包含一个轴。坐标轴包含两个line类型的对象。

另请参阅

相关的话题