Сравнение частотного содержимого двух сигналов

Спектральная когерентность помогает идентифицировать подобие между сигналами в частотный диапазон. Большие значения указывают на частотные составляющие, общие для сигналов.

Загрузите два звуковых сигнала в рабочую область. Они отбираются с частотой дискретизации 1 кГц. Вычислите их спектры степени с помощью periodogram и построить их рядом друг с другом.

load relatedsig

Fs = FsSig;

[P1,f1] = periodogram(sig1,[],[],Fs,'power');
[P2,f2] = periodogram(sig2,[],[],Fs,'power');

subplot(2,1,1)
plot(f1,P1,'k')
grid
ylabel('P_1')
title('Power Spectrum')

subplot(2,1,2)
plot(f2,P2,'r')
grid
ylabel('P_2')
xlabel('Frequency (Hz)')

Figure contains 2 axes. Axes 1 with title Power Spectrum contains an object of type line. Axes 2 contains an object of type line.

Каждый сигнал имеет три частотных составляющих со значительной энергией. Два из этих компонентов, по-видимому, являются общими. Найдите соответствующие частоты, используя findpeaks.

[pk1,lc1] = findpeaks(P1,'SortStr','descend','NPeaks',3);
P1peakFreqs = f1(lc1)
P1peakFreqs = 3×1

  165.0391
   35.1562
   94.7266

[pk2,lc2] = findpeaks(P2,'SortStr','descend','NPeaks',3);
P2peakFreqs = f2(lc2)
P2peakFreqs = 3×1

  165.0391
   35.1562
  134.7656

Общие компоненты расположены около 165 и 35 Гц. Можно использовать mscohere чтобы найти совпадающие частоты непосредственно. Постройте график оценки когерентности. Найдите peaks выше порога 0,75.

[Cxy,f] = mscohere(sig1,sig2,[],[],[],Fs);

thresh = 0.75;
[pks,locs] = findpeaks(Cxy,'MinPeakHeight',thresh);
MatchingFreqs = f(locs)
MatchingFreqs = 2×1

   35.1562
  164.0625

figure
plot(f,Cxy)
ax = gca;
grid
xlabel('Frequency (Hz)')
title('Coherence Estimate')
ax.XTick = MatchingFreqs;
ax.YTick = thresh;
axis([0 200 0 1])

Figure contains an axes. The axes with title Coherence Estimate contains an object of type line.

Вы получаете те же значения, что и прежде. Вы можете найти содержимое, общее для двух сигналов, не изучая эти два сигнала отдельно.

См. также

| |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте