Mam za zadanie wygenerowanie wymienionych wyżej charakterystyk. Robię to w ten sposób (środowisko Matlab):
Generuję jakiś sygnał prostokątny:
t=0:0.1:7;
x=square(t);
Charakterystyka częstotliwościowa:
Potem transformata i charakterystyka;
X=fft(x,128);
AX=abs(X);
I teraz mam problem z wyświetleniem tego cholerstwa. Wektor mający się znaleźć na osi poziomej wyliczam tak:
N=length(X);
osF=fp*(0:N-1)/N;
i charakterystykę wykreślam:
stem(osF, AX);
Charakterystyka fazowa:
Najpierw muszę stworzyć wektor osi poziomej (musi mieć tyle samo elementów co badany sygnał x, więc:
zakres = 2;
krok = (2*zakres)./(length(x)-1)
fi=( (-2) : krok : 2 )*pi;
i rysuję charakterystykę:
stem( fi, angle(X));
stem(fi, unwrap(angle(X)));
Byłbym serdecznie zobowiązany gdyby ktoś sprawdził, czy tak wykreślone charakterystyki są poprawne.
Generuję jakiś sygnał prostokątny:
t=0:0.1:7;
x=square(t);
Charakterystyka częstotliwościowa:
Potem transformata i charakterystyka;
X=fft(x,128);
AX=abs(X);
I teraz mam problem z wyświetleniem tego cholerstwa. Wektor mający się znaleźć na osi poziomej wyliczam tak:
N=length(X);
osF=fp*(0:N-1)/N;
i charakterystykę wykreślam:
stem(osF, AX);
Charakterystyka fazowa:
Najpierw muszę stworzyć wektor osi poziomej (musi mieć tyle samo elementów co badany sygnał x, więc:
zakres = 2;
krok = (2*zakres)./(length(x)-1)
fi=( (-2) : krok : 2 )*pi;
i rysuję charakterystykę:
stem( fi, angle(X));
stem(fi, unwrap(angle(X)));
Byłbym serdecznie zobowiązany gdyby ktoś sprawdził, czy tak wykreślone charakterystyki są poprawne.