usinf fft shift i need only to display the positive part of the spectrum
9 views (last 30 days)
Show older comments
I would like to display only the positive part of the frequency domain
if true
%
fs=1e5; %Sampling Frequency
t=0:1/(fs):0.001; %Time at which signal displays
%First,generating a signal
f=1e4;%Signal is 10kHz
amp_signal=1;
signal=amp_signal*(sin(2*pi*f*t));
%Frequency Domain of transmitted signal
transmited_signal_fft=fft(signal);
transmited_signal_fft=fftshift(transmited_signal_fft);
f_axis=linspace(-fs/2,fs/2,length(transmited_signal_fft));
%Plotting Signal
figure;
subplot(2,1,1);
plot(t,signal);
grid on;
title('Transmitted signal in time domain')
%Display transmitted signal in frequency domain
subplot(2,1,2);
plot(f_axis,abs(transmited_signal_fft)/length(signal));
grid on;
title('Transmitted signal in frequency domain')
end
Thanks in advance
0 Comments
Accepted Answer
Star Strider
on 21 Feb 2018
Try this:
fs=1e5; %Sampling Frequency
t=0:1/(fs):0.001; %Time at which signal displays
%First,generating a signal
f=1e4;%Signal is 10kHz
Fn = f/2; % Nyquist Freqency (Added)
amp_signal=1;
signal=amp_signal*(sin(2*pi*f*t));
L = length(signal); % Added
%Frequency Domain of transmitted signal
transmited_signal_fft=fft(signal);
f_axis = linspace(0, 1, fix(L/2)+1)*Fn; % Changed
Iv = 1:length(f_axis); % Index Vector (Added)
% % transmited_signal_fft=fftshift(transmited_signal_fft); % (Commented-Out)
% % f_axis=linspace(-fs/2,fs/2,length(transmited_signal_fft)); % (Commented-Out)
%Plotting Signal
figure;
subplot(2,1,1);
plot(t,signal);
grid on;
title('Transmitted signal in time domain')
%Display transmitted signal in frequency domain
subplot(2,1,2);
plot(f_axis, 2*abs(transmited_signal_fft(Iv))/L); % Changed
grid on;
title('Transmitted signal in frequency domain')
2 Comments
Star Strider
on 21 Feb 2018
The nyquist frequency is one-half the sampling frequency. It should be fs/2, and I thought I typed it as such.
More Answers (2)
See Also
Categories
Find more on Spectral Measurements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!