how to solve a Plotting FFT problem
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have this code for generating a signal and plotting it in time domain and frequency domain but the plot in the frequency domain has a problem as I suppose frequency to be 1000 but it plots around it not the 1000 and not the 500 and -500 can any body help??
Code:
if true
%First,generating a signal and plotting it
f=input('Enter Signal Frequency=');
amp_signal=input('Enter ampliude of transmitted Signal Frequency=');
signal=amp_signal*(sin(2*pi*f*t));
%Frequency Domain of transmitted signal
trans_signal_fft= fft(signal);
trans_signal_fft = fftshift(trans_signal_fft);
f_axis = linspace((-f),(f),length(trans_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,trans_signal_fft);
grid on;
title('Transmitted signal in frequency domain')
end
0 commentaires
Réponses (1)
John BG
le 18 Fév 2018
Hi Mohamed
if the time vector does not have a small enough step the output will show a shifted frequency, or not even show any frequency at all. Try the following
f=1000;
amp_signal=1;
t=[0:1/(2*f):1];
just on 2 samples per cycle, and it's not clear what is the input. Don't work on the edge, try to get as many samples as reasonably possible per cycle.
.
Using 4 samples per cycle
.
t=[0:1/(4*f):.5];
.
and here you have the input tone.
Bear in mind that it would make sense to plot amplitude and phase, or real in imaginary, just plugging the complex fft into plot is not the way to proceed, choose what you want to plot.
if you find this answer useful would you please be so kind to consider marking my answer as Accepted Answer?
To any other reader, if you find this answer useful please consider clicking on the thumbs-up vote link
thanks in advance for time and attention
John BG
0 commentaires
Voir également
Catégories
En savoir plus sur Fourier Analysis and Filtering dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!