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?

3 ビュー (過去 30 日間)
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

回答 (0 件)

カテゴリ

Help Center および File ExchangePulsed Waveforms についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by