主要内容

이번역페이지는최신내용을담고있지않습니다。최신내용을영문으로보려면여기를클릭하십시오。

신호유사성측정하기

이 예제에서는 신호 유사성을 측정하는 방법을 보여줍니다. 이는 다음과 같은 문제의 해결에 도움이 됩니다. 길이가 서로 다르거나 샘플링 레이트가 서로 다른 신호를 비교하려면 어떻게 해야 합니까? 측정값에 신호가 있는지 또는 잡음만 있는지 확인하려면 어떻게 해야 합니까? 두 신호가 관련이 있습니까? 두 신호 간의 지연을 측정하는 방법은 무엇입니까? 또한 이를 정렬하려면 어떻게 해야 합니까? 두 신호의 주파수 성분을 비교하려면 어떻게 해야 합니까? 유사성은 하나의 신호의 여러 부분에서 검출될 수도 있는 것으로, 그 신호가 주기성을 갖는지 여부를 결정하기도 합니다.

샘플링 레이트가 서로 다른 신호 비교하기

오디오신호의데이터베이스와패턴일치응용프로그램을가지고재생중인곡명을알아내는상황이라고가정하겠습니다。일반적으로데이터는메모리를덜차지하도록낮은샘플링레이트로저장됩니다。

负载相关信号图ax(1) = subplot(3,1,1);情节((0:元素个数(T1) 1) / Fs1、T1,“k”) ylabel (“模板1”网格)ax(2)=子地块(3,1,2);地块(0:numel(T2)-1)/Fs2,T2,“r”) ylabel (“模板2”网格)斧子(3)=情节(3、1,3);情节((0:元素个数(S) 1) / Fs, S) ylabel (“信号”网格)包含(‘时间(秒)’) linkaxes (ax (1:3),“x”)轴([01.61-44])

图中包含3个轴。Axes 1包含一个类型为line的对象。Axes 2包含一个类型为line的对象。Axes 3包含一个类型为line的对象。

첫 번째 서브플롯과 두 번째 서브플롯에서는 데이터베이스의 템플릿 신호를 보여줍니다. 세 번째 서브플롯은 데이터베이스에서 검색하려는 신호를 보여줍니다. 시계열만 봐도 신호가 두 템플릿 중 어떤 템플릿과도 일치하지 않습니다. 더 정밀하게 검사하면 신호가 실제로 길이와 샘플링 레이트에서 각각 다른 것을 알 수 있습니다.

[Fs1 Fs2 Fs]
ans=1×34096 4096 8192

길이가 다르므로 두 신호 간의 거리를 계산할 수 없지만, 이 문제는 신호의 공통 부분을 추출함으로써 손쉽게 해결할 수 있습니다. 사실, 길이를 항상 같게 만들 필요는 없습니다. 상호상관은 길이가 다른 신호 간에 수행할 수 있습니다. 단, 이 경우 샘플링 레이트는 반드시 동일해야 합니다. 이를 수행하기 위한 가장 안전한 방법은 더 낮은 샘플링 레이트로 신호를 리샘플링하는 것입니다.重新取样함수는 리샘플링 과정 동안 안티에일리어싱(저역통과) 冷杉필터를 신호에 적용합니다.

[P1, Q1] =鼠(Fs / Fs1);%有理分式逼近[P2,Q2]=大鼠(Fs/Fs2);%有理分式逼近T1=重采样(T1,P1,Q1);%按合理因素改变抽样率T2 =重新取样(T2, P2, Q2);%按合理因素改变抽样率

측정 데이터에서 신호 찾기

이제互相关系数함수를사용하여신호年代와템플릿T1, T2의상호상관을분석하여일치하는부분이있는지확인할수있습니다。

[C1, lag1] = xcorr (T1,年代);[C2, lag2] = xcorr (T2,年代);图ax(1) = subplot(2,1,1);情节(lag1 / Fs, C1,“k”) ylabel (“振幅”网格)标题(' Template 1与Signal之间的互相关') ax(2) = subplot(2,1,2);情节(lag2 / Fs C2,“r”) ylabel (“振幅”网格)标题(“模板2与信号之间的互相关”)包含(‘时间(秒)’)轴(ax(1:2),[-1.51.5-700])

图中包含2个轴。模板1和信号之间标题互相关的轴1包含线条类型的对象。模板2和信号之间标题互相关的轴2包含线条类型的对象。

첫번째서브플롯은신호와템플릿1의상관성이낮음을나타내는반면,두번째서브플롯의높은피크는신호가두번째템플릿에존재함을나타냅니다。

[~,我]= max (abs (C2));SampleDiff = lag2(我)
SampleDiff=499
timeDiff = SampleDiff / Fs
时间差=0.0609

상호상관의 피크는 신호가 템플릿 T2에 존재하고 61毫秒후 시작됨을 의미합니다. 다시 말해서, 신호 T2가 采样差에 표시된 대로 499개 샘플만큼 신호 s보다 앞섭니다. 이 정보를 활용하여 신호를 정렬할 수 있습니다.

신호 간의 지연을 측정하고 정렬하기

여러 다른 센서에서 데이터를 수집하고, 다리 양쪽에서 자동차로 인해 발생하는 진동을 녹음하는 상황을 가정해 보겠습니다. 신호를 분석할 때 신호를 정렬해야 할 수 있습니다. 동일한 샘플링 레이트로 작동하는 3.개의 센서가 있고 이 센서가 동일한 이벤트로 인해 발생하는 신호를 측정한다고 가정합니다.

图ax(1) = subplot(3,1,1);情节(s1) ylabel (“s1”网格)ax(2)=子地块(3,1,2);地块(s2,“k”) ylabel (“s2”网格)斧子(3)=情节(3、1,3);情节(s3,“r”) ylabel (“s3”网格)包含(“样本”)连接轴(ax,“xy”)

图中包含3个轴。Axes 1包含一个类型为line的对象。Axes 2包含一个类型为line的对象。Axes 3包含一个类型为line的对象。

芬德利함수를 사용하여 두 신호 간의 지연을 검출할 수도 있습니다.

t21 = finddelay (s1, s2)
t21=-350
t31 = finddelay (s1, s3)
t31=150

s1 t21은s2가보다350개샘플만큼지연됨을나타내고,t31은s3이s1보다150개샘플만큼앞서있음을나타냅니다。이제,이정보를활용하여시간을기준으로신호를이동하여3개신호를정렬할수있습니다。또한alignsignals함수를직접사용하여신호를정렬할수있습니다。이함수는둘중더빠른신호를지연시켜두신호를정렬합니다。

s1 = alignsignals (s1, s3);s2 = alignsignals (s2、s3);图ax(1) = subplot(3,1,1);情节(s1)网格标题(“s1”)轴心斧子(2)=次要情节(3、1、2);情节(s2)网格标题(“s2”)轴心ax(3)=子批次(3,1,3);绘图(s3)网格标题(“s3”)轴心linkaxes (ax,“xy”)

图中包含3个轴。标题为s1的轴1包含线型对象。标题为s2的轴2包含线型对象。标题为s3的轴3包含线型对象。

신호의주파수성분비교하기

파워 스펙트럼은 각 주파수에 존재하는 전력을 표시합니다. 스펙트럼 일관성(光谱相干性)은 신호 간의 주파수 영역 상관관계를 나타냅니다. 0방향의 일관성 값은 대응하는 주파수 성분이 상관 관계가 없음을 나타내는 반면, 1.방향의 값은 대응하는 주파수 성분이 상관 관계가 있음을 나타냅니다. 두 신호와 각각 해당하는 파워 스펙트럼이 있다고 가정하겠습니다.

Fs=FsSig;%采样率[P1,f1]=周期图(sig1,[],[],Fs,“权力”); [P2,f2]=周期图(sig2,[],[],Fs,“权力”);图t = (0:numel(sig1)-1)/Fs;次要情节(2 2 1)情节(t sig1“k”) ylabel (“s1”网格)标题(“时间序列”)子地块(2,2,3)图(t,sig2)ylabel(“s2”网格)包含(‘时间(秒)’次要情节(2,2,2)情节(f1, P1,“k”) ylabel (“P1”网格)标题(“功率谱”)子地块(2,2,4)图(f2,P2)ylabel(“P2”网格)包含(‘频率(Hz)’)

图中包含4个轴。标题为时间序列的坐标轴1包含一个类型为line的对象。Axes 2包含一个类型为line的对象。标题为Power Spectrum的轴3包含一个类型为line的对象。Axes 4包含一个类型为line的对象。

mscohere함수는두신호간의스펙트럼일관성을계산합니다。이함수의결과를통해sig1과sig2가약35赫兹와165 hz의,2개의상관된성분을가진다는것을확인할수있습니다。스펙트럼일관성이높은주파수에서,상관된성분간의상대적인위상은교차스펙트럼위상으로추정될수있습니다。

[Cxy,f]=mscohere(sig1,sig2,[],[],[],[],Fs);Pxy=cpsd(sig1,sig2,[],[],[],[],[],Fs);相位=-角度(Pxy)/pi*180;[pks,locs]=findpeaks(Cxy,“小豌豆”, 0.75);图subplot(2,1,1) plot(f,Cxy) title(的一致性估计网格)hgca=gca;hgca.XTick=f(locs);hgca.YTick=0.75;轴([0 200 0 1])子地块(2,1,2)图(f,阶段)标题(“交叉谱相位(deg)”网格)hgca=gca;hgca.XTick=f(locs);hgca.YTick=round(phase(locs));xlabel(‘频率(Hz)’)轴([0 200 -180 180])

图中包含2个轴。具有标题一致性估计的轴1包含线条类型的对象。具有标题互谱相位(deg)的轴2包含线条类型的对象。

35赫兹성분간의위상지연도은-90에가까우며,165 hz성분간의위상지연도은-60에가깝습니다。

신호에서주기성찾기

겨울동안사무실건물에서측정한일련의온도값이있다고가정하겠습니다。온도값은약16.5주동안30분간격으로측정되었습니다。

负载officetemp.matFs = 1 / (60 * 30);%采样率为每30分钟1个样本天=(0:长度(临时)1)/ (Fs * 60 * 60 * 24);图绘制(天,临时)标题(“温度数据”)包含(的时间(天)) ylabel (‘温度(华氏度)’网格)

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

화씨 70도대의 저온에서는 신호의 작은 변동을 분석하기 위해 평균을 제거해야 합니다.希科夫함수는상호상관을계산하기전에신호의평균을제거합니다。이함수는교차공분산(Cross-covariance)을반환합니다。교차공분산을정확히추정하기위해최대지연을신호의50%로제한합니다。

maxlags =元素个数(临时)* 0.5;(xc、滞后)= xcov(临时maxlags);(~, df) = findpeaks (xc、“MinPeakDistance”,5*2*24); [~,mf]=findpeaks(xc);图表(滞后/(2*24),xc,“k”,...滞后(df) /(2 * 24),我(df),“千伏”,“MarkerFaceColor”,“r”网格)xlim(15[-15])包含(的时间(天))标题(“自协方差”)

图中包含一个坐标轴。标题为“自动协方差”的轴包含两个类型为line的对象。

자기공분산(自协方差)에서 주요 변동과 작은 변동을 확인해 보십시오. 주요 피크와 작은 피크는 등거리로 나타납니다. 이를 확인하기 위해 피크 사이의 거리를 계산하고 플로팅합니다.

cycle1 = diff (df) / (2 * 24);cycle2 = diff (mf) / (2 * 24);次要情节(2,1,1)情节(cycle1) ylabel (“天”网格)标题(“占主导地位的峰值距离”)子地块(2,1,2)图(周期2,“r”) ylabel (“天”网格)标题(“小峰值距离”)

图中包含2个轴。标题为“主峰值距离”的轴1包含线条类型的对象。标题为“次峰值距离”的轴2包含线条类型的对象。

意思是(cycle1)
ans=7
意思是(cycle2)
ans=1

작은피크(小峰)는주7회주요피크(主峰)는주1회나타나고있습니다。이는온도가조절되는건물에서일주일동안측정된데이터를가져온것이란것을생각해보면이해할수있습니다。첫번째7일주기는건물의온도에주단위의주기성이있어온도가주말동안낮았다가주중에다시정상으로돌아오는것을나타냅니다。1일주기동작은일단위의주기성이있어야간에는온도가낮았다가주간에는온도가높아지는것을나타냅니다。

참고 항목

||||||