Problem with Inverse Fourier Transform
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I was trying to generate a time domain pulse from its frequency domain spectrum; I am unable to produce it correctly: the time domain oscillations are not "smooth" and it is much narrower than expected from the Gaussian time-bandwidth product. Here it is:
%---------------------
w = 2*pi*(0.3300 : 3e-05 : 0.4200); %frequency range
w0 = 2*pi*0.375; %central frequency
dw = 2*pi*0.009./(2*sqrt(2*log(2))); %frequency width (standard deviation)
%---------------------
Nw = 1./(dw*sqrt(2*pi));
zw = (w-w0)/dw;
Sw = Nw.*exp(-(1/2)*(zw.^2)); %intensity in frequency domain (spectrum)
%---------------------
Ew0 = sqrt(Sw); %spectral amplitude
phiw = 0; %spectral phase
Ew = Ew0.*exp(i*phiw); %pulse in frequency domain
%---------------------
t = (-1500:1:1500)./(3001*2*pi*3e-05); %time range
Et = ifftshift(ifft(Ew)); %pulse in time domain
St = (abs(Et)).^2; %intensity in time domain
%---------------------
subplot (2,2,1)
plot (w,real(Ew))
subplot (2,2,2)
plot (w,Sw)
subplot (2,2,3)
plot (t, real(Et))
xlim ([-100 100])
subplot (2,2,4)
plot (t, St)
xlim ([-100 100])
%---------------------
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Fourier Analysis and Filtering dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!