%priklady na CTFT, signaly na intervale 0-1 %aproximacne riesene %zvacsovanim TRAFOSIZE konverguje vysledok DTFS k CTFT clear all; close all; TRAFOSIZE=2048 SIGSIZE=256 n=0:1:SIGSIZE-1; %fnc1=1-abs(2*n/SIGSIZE-1); fnc1=zeros(SIGSIZE,1); fnc1(1:SIGSIZE/2)=ones(SIGSIZE/2,1); %vykreslime povodny signal figure('Name','Aproximacia CTFT');grid on ;hold on; plot(n,fnc1,'Color','yellow'); %priemet do transformacneho vektora a vykreslenie time_signal=zeros(TRAFOSIZE,1); time_signal(1:SIGSIZE)=fnc1; plot(time_signal,'Color','blue'); %dopredna transformacia a vykreslenie freq_signal=fft(time_signal)./TRAFOSIZE; plot(abs(freq_signal),'Color','red'); %Ak chceme signal iba aproximovat, mozeme orezat nejake zlozky %zachovat=4 %freq_signal(2+zachovat:TRAFOSIZE-zachovat)=0 %rekonstrukcia signalu a vykreslenie rekon_signal=ifft(freq_signal).*TRAFOSIZE; plot(abs(rekon_signal),'Color','green'); %detail prvej dvadsatiny spektralnych koeficientov figure('Name','Prva 1/20-ina spektralnych koeficientov');grid on; prvychx=freq_signal(1:ceil(TRAFOSIZE/20)); plot(abs(prvychx),'Color','blue');