フィルターのクリア

Why is noise required to get expected Magnitude Squared Coherence (mscohere)

4 ビュー (過去 30 日間)
Jerry Gregoire
Jerry Gregoire 2015 年 3 月 23 日
編集済み: Jerry Gregoire 2015 年 3 月 24 日
Hi all,
I am missing something with magnitude Squared Coherence and/or its algorithm. If two signals are compared without or with little noise I get unexpected results. As an example taking from the ML help page:
Fs = 1000; t = 0:1/Fs:1-1/Fs;
x = cos(2*pi*100*t)+sin(2*pi*200*t)+0.5*randn(size(t)); y = 0.5*cos(2*pi*100*t-pi/4)+0.35*sin(2*pi*200*t-pi/2)+ ... 0.5*randn(size(t)); [Pxy,F] = mscohere(x,y,hamming(100),80,100,Fs);
gives the expected two peak response. I would have thought that with no noise the mscohere would be similar and even stronger but it is not. Run the same code without the noise
x = cos(2*pi*100*t)+sin(2*pi*200*t); y = 0.5*cos(2*pi*100*t-pi/4)+0.35*sin(2*pi*200*t-pi/2);
[Pxy,F] = mscohere(x,y,hamming(100),80,100,Fs);
and rather than getting two strong peaks and the rest near or at zero, you get unity for all frequencies.
You don't need much noise, 0.5% or -46dB will do. Below this and the results get real funky.
Furthermore, without some noise the algorithm sees harmonics very strongly even though they are not in both signals:
x = cos(2*pi*100*t)+sin(2*pi*200*t)+0.5*randn(size(t)); y = 0.5*cos(2*pi*100*t-pi/4);
still gives two strong peaks at 100 and 200 unless y has noise. Then all is as expected.
Why is this?

採用された回答

Greg Dionne
Greg Dionne 2015 年 3 月 23 日
編集済み: Greg Dionne 2015 年 3 月 23 日
You might be thinking of CPSD instead of MSCOHERE. MSCOHERE will normalize CPSD by the PSD of each signal (i.e. Cxy = (abs(Pxy).^2)./(Pxx.*Pyy), where Pxy is the CPSD. When the spectrum of Pxy, Pxx and Pyy are very near zero, you'll be looking at division of two numbers very close to zero. Adding the noise decouples them somewhat.
  1 件のコメント
Jerry Gregoire
Jerry Gregoire 2015 年 3 月 24 日
編集済み: Jerry Gregoire 2015 年 3 月 24 日
That was quick and makes sense. mscohere is what I want since it is normalised. I just need to be aware of the singularitiy that noiseless signals create. Hadn't thought of that. Thanks

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeWaveform Generation についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by