Diferença de fase entre dois sinais

Use [corr.lags] = xcorr; fazer correlação cruzada; encontre o índice máximo de pico, [~, ix] = max (corr); atraso = atrasos (ix); Isso indica a diferença entre o sinal to nas amostras. Converta em radianos (ou o que seja) com base no período dos seus sinais: SE N_sig é o número de amostras em um período:

phase_deg = 2 * pi * delay / N_sig; ou 360 * delay / N_sig se estiver em graus.

O que é comum nos sinais de que diferenças de fase seriam um parâmetro útil para examinar? Estou assumindo que estamos olhando para o perfil de fase em função da frequência. Um exemplo que vem à mente é a comparação de fases do espectro de respostas de impulso de filtro para três critérios diferentes de projeto. Diga Fase mínima, fase linear e fase máxima. Podemos projetar um filtro FIR com exatamente a mesma resposta do Log Magnitude, mas com três respostas de fase diferentes. Eu faço isso quando ensino o design de filtros e para dar aos alunos uma noção do que é a fase mínima em oposição à fase linear ... a fase máxima é para a completude. Eu projeto um filtro passa-baixo com o algoritmo Parks McLellan (Remez) e, em seguida, dobre zeros fora do círculo da unidade de volta para dentro de zeros inversos para formar um filtro de fase mínimo e, enquanto isso, faça o contrário, dobre os zeros internos de volta para os zeros externos para formar filtro de fase máxima. Em seguida, mostro a resposta de impulso de todos os três filtros, a magnitude espectral de cada um e a resposta de fase não empacotada (alinhada em dc). mostra claramente por que eles têm seus respectivos nomes. Posso enviar quem quiser o código do matlab como exemplo.

Fred Harris