Borrar filtros
Borrar filtros

usinf fft shift i need only to display the positive part of the spectrum

7 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Star Strider
Star Strider el 21 de Feb. de 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')
See this version of the documentation for details: fft (link).
  2 comentarios
Mohamed Ashraf
Mohamed Ashraf el 21 de Feb. de 2018
the nyquist frequency should be double the message not half of it
Nyquist Frequency:the minimum rate at which a signal can be sampled without introducing errors, which is twice the highest frequency present in the signal.
Star Strider
Star Strider el 21 de Feb. de 2018
The nyquist frequency is one-half the sampling frequency. It should be fs/2, and I thought I typed it as such.

Iniciar sesión para comentar.

Más respuestas (2)

Abhishek Ballaney
Abhishek Ballaney el 21 de Feb. de 2018
https://in.mathworks.com/help/matlab/ref/fft.html

wallflower
wallflower el 7 de Dic. de 2020
Hi,
Did you find the answer?

Categorías

Más información sobre Spectral Measurements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by