I want to create a signal in time domain using gauspuls command in Matlab, and plot the same in freq domain to check if i am getting the associated frequencies?

7 views (last 30 days)
I have got a code from (www.simsonic.fr) which takes input as fractional BW, time and centre frequency, and gives in phase pulse and envelope as output. But my concern is how can I check if the signal is correct. I tried to use the fft command using which I got 2 peaks(one for the negative and one for the positive side). and also can anybody explain what fractional bandwidth really is? I have taken the Fractional BW as 1, because this gives me a bandwidth of 500Khz if my centre frequency is 500Khz, What I desire: to get a signal with centre frequency at 500Khz with 500Khz extended on either side. FBW=BW/Fc, if I keep FBW as 1 and Fc as 500k I get a BW of 500k, is this correct? The code for the same is attached below. I also need to check the corresponding signal in frequency domain, if I am getting the desired bandwidth, but I am not getting the same. Can anybody please help?
f0=0.5; % central frequency, MHz
t0=1.5; % pulse center time
bndwdth=1; % pulse -6dB bandwidth
duration=2*t0; % signal length
timebase=(0:round(duration/dt)-1)'*dt;
[signalI,signalQ,signalE]=gauspuls(timebase-t0,f0,bndwdth);
signal=signalQ;
figure(9)
subplot(2,1,1);
plot(timebase,signalQ,'.-')
title('source signal')
xlabel('time (µs)')
figure(9)
midf=5e5;
L=1000;
fs=midf*2;
Mb = fft(signal);
%Mb = fftshift(Mb);
f = fs*linspace(-0.5,0.5,length(Mb)); %Frequency Vector
subplot(2,1,2);
plot(f,abs(Mb))
title('Gaussian Pulse in Frequency Domain in bone')
xlabel('Frequency (f)')
ylabel('|Magnitude(f)|')
The figure or plots are:
untitled.jpg

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!