ochotna pomoci pro FFT.

M

moonnightingale

Guest
Mám tento kód pro FFT, ale to je dává velmi vysoký vrchol v 500.
Je-li u brát actaul Fourierova vrcholu COS je nízká.Plz pomozte mi odstranit tento problém.
Budu velmi vděčný za to.

Vlastně se snažím představit signálu ve frekvenční oblasti.Někdo mi říkal, FFT může být použit pro tento v MATLABu.Je tam jiný způsob, jak toho dosáhnout.% Definuje počet vzorků, aby
number_of_samples = 2 ^ 10;
cosineFreq = 10;% Hz

Definovat% signál
t = linspace (0, 10, number_of_samples);
signál = cos (2 * pi * cosineFreq * t);

% Plot ilustrovat, že je sinusoida
plot (t, signál);
Název ('Time-domény signál');

% Take Fourierova transformace
fftSignal = FFT (signál);

% Platí fftshift, aby to v podobě jsme zvyklí (viz dokumentace)
fftSignal = fftshift (fftSignal)

% V roce příštím, vypočítat frekvenční ose, která je definována vzorkovací frekvence
T = t (2)-t (1);
fs = 1 / T;
f = fs / 2 * linspace (-1,1, number_of_samples);

% Vzhledem k tomu, signál je složité, musíme pozemku velikosti, aby si to na
% Vypadají v pořádku, takže použijeme abs (absolutní hodnota)
postava
plot (f, abs (fftSignal));
Název ('velikost FFT cosine');
xlabel ('frekvence (Hz)');
ylabel ('velikost');

 
Na tom není nic špatného na vaše FFT.Jediné, co potřebujete k rozsahu výstupu:
fftSignal = FFT (signál) / (2/number_of_samples);Přidáno po 1 minuta:Ooops, mám na mysli:
fftSignal = FFT (signál) / (number_of_samples / 2);

 
Jaké další říkají
Může mi někdo říct skutečné FFT Kosinová
Myslím, že je s PI funkce v ní.

 

Welcome to EDABoard.com

Sponsor

Back
Top