Wykonuję pewien projekt i porównuję wyniki symulacji. W programie generuję sygnał sinusoidalny z przesunięciem fazowym na dwa sposoby:
1) x=sin(2*pi*f0*t+fi);
2) x=xx(i:i+N-1);
gdzie xx=sin(2*pi*f0*t);
Zmiana fazy odbywa się w pętli. Czyli w pierwszym przypadku, w każdej iteracji generuję nowy sygnał o częstotliwości f0 z nowym przesunięciem, a w drugim, przed pętlą, generuję sygnał i go przesuwam w pętli co jedną próbkę.
Niestety wyniki znacząco się różnią w zależności od metody. Z tego co wiem, przesunięcie fazowe może odbywać się z wykorzystaniem opóźnienia w dziedzinie czasu: t=fi/(360*fsin). Nie potrafię wytłumaczyć rozbieżności.
1) x=sin(2*pi*f0*t+fi);
2) x=xx(i:i+N-1);
gdzie xx=sin(2*pi*f0*t);
Zmiana fazy odbywa się w pętli. Czyli w pierwszym przypadku, w każdej iteracji generuję nowy sygnał o częstotliwości f0 z nowym przesunięciem, a w drugim, przed pętlą, generuję sygnał i go przesuwam w pętli co jedną próbkę.
Niestety wyniki znacząco się różnią w zależności od metody. Z tego co wiem, przesunięcie fazowe może odbywać się z wykorzystaniem opóźnienia w dziedzinie czasu: t=fi/(360*fsin). Nie potrafię wytłumaczyć rozbieżności.