www.pudn.com > LFM.rar > LFM.m, change:2003-06-25,size:1266b


function LFM(B,T); 
time_B_product = B * T; 
if(time_B_product < 5 ) 
    fprintf('************ Time Bandwidth product is TOO SMALL ***************') 
    fprintf('\n Change B and or T') 
    return 
else 
end 
% Compute alpha 
mu = 2. * pi * B / T; 
npoints = 5 * B * T + 1; 
% Determine sampling times 
delt = linspace(-T/2., T/2., npoints); %  
% Compute the complex LFM representation 
Ichannal = cos(mu .* delt.^2 / 2.); % Real part 
Qchannal = sin(mu .* delt.^2 / 2.); % Imaginary Part 
LFM = Ichannal + sqrt(-1) .* Qchannal; % complex signal 
%Compute the FFT of the LFM waveform 
LFMFFT = fftshift(fft(LFM)); 
% Plot the real and Inginary parts and the spectrum 
sampling_interval = T / npoints; 
freqlimit = 0.5 / sampling_interval; 
freq = linspace(-freqlimit,freqlimit,npoints); 
figure(1) 
plot(delt,Ichannal,'k'); 
axis([-T/2 T/2 -1 1]) 
grid 
xlabel('Time - seconds') 
ylabel('Units of Waveform') 
title('Real part of an LFM waveform') 
figure(2) 
plot(delt,Qchannal,'k'); 
axis([-T/2 T/2 -1 1]) 
grid 
xlabel('Time - seconds') 
ylabel('Units of Waveform') 
title('Imaginary part of LFM waveform') 
figure(3) 
plot(freq, abs(LFMFFT),'k'); 
%axis tight 
grid 
xlabel('Frequency - Hz') 
ylabel('Amplitude spectrum') 
title('Spectrum for an LFM waveform')