私はStackOverflowで同様の質問を見てきましたが、特にこれに対処しているようには見えません。
2 つの信号間のビンごとの位相差を見つけようとしています。この結果が使用可能かどうかを検証するために、2 つの信号間に 1 つのサンプル遅延を導入しました。
このようなもの:
ch1 = randn(frame_length * 100, 1);
ch2 = [0 ; ch1(1:end-1) ];
その後、信号をウィンドウ処理し、FFT を取得して位相差をプロットします。このような:
phase_1 = unwrap(arg(bin_wise_struct.fft_out_ch1));
phase_2 = unwrap(arg(bin_wise_struct.fft_out_ch2));
phase_diff = (phase_1 - phase_2);
ただし、最終的な位相差には 2*pi のランダムなジャンプがあることに気付きました。元の信号の位相をアンラップしているにもかかわらず、なぜこれが起こっているのか知りたいです。