Witam,
Posiadam kod do matlaba który dokonuje analizy FFT sygnały odkształconego :x(t)=50+100cos(100t)+80cos(300t+)+30cos(500t)+70cos(860t+ /2)
Moje pytanie brzmi co robią poszczególne linijki programu obok których postawiłem znak zapytania.
Nie wiem czy dobrze rozumiem działanie programu, ale napisałem obok co poszczególne linijki oznaczają według mnie.
okno=0.1;
fs=1000; częstotliwość próbkowania
dt=1/fs; krok próbkowania
nf = okno/dt; liczba próbek
t=0:dt:okno; czas z krokiem próbkowania
%sygnał
x = 50+100*cos(2*pi*50*t)+80*cos(2*pi*150*t+pi)+...
30*cos(2*pi*250*t)+70*cos(2*pi*430*t+pi/2);
y = fft(x,nf); analiza fft
py = sqrt(y.*conj(y))/nf; ?
nf2 = nf/2;
f = (0:nf2)*fs/nf; ?
py(2:nf2) = 2*py(2:nf2); ?
py(nf2+2:nf) = []; ?
figure(1)
subplot(211);
plot(t, x);
subplot(212);
bar(f, py);
grid; xlabel('f');
ylabel('amplituda');
Z góry dziękuję za cenne wskazówki lub odpowiedzi.
Posiadam kod do matlaba który dokonuje analizy FFT sygnały odkształconego :x(t)=50+100cos(100t)+80cos(300t+)+30cos(500t)+70cos(860t+ /2)
Moje pytanie brzmi co robią poszczególne linijki programu obok których postawiłem znak zapytania.
Nie wiem czy dobrze rozumiem działanie programu, ale napisałem obok co poszczególne linijki oznaczają według mnie.
okno=0.1;
fs=1000; częstotliwość próbkowania
dt=1/fs; krok próbkowania
nf = okno/dt; liczba próbek
t=0:dt:okno; czas z krokiem próbkowania
%sygnał
x = 50+100*cos(2*pi*50*t)+80*cos(2*pi*150*t+pi)+...
30*cos(2*pi*250*t)+70*cos(2*pi*430*t+pi/2);
y = fft(x,nf); analiza fft
py = sqrt(y.*conj(y))/nf; ?
nf2 = nf/2;
f = (0:nf2)*fs/nf; ?
py(2:nf2) = 2*py(2:nf2); ?
py(nf2+2:nf) = []; ?
figure(1)
subplot(211);
plot(t, x);
subplot(212);
bar(f, py);
grid; xlabel('f');
ylabel('amplituda');
Z góry dziękuję za cenne wskazówki lub odpowiedzi.