FFT mise en œuvre

I

invexed

Guest
Salut tous!

Je suis Tring pour formuler une demande litte FFT

Je suis Tring avec Visual C d'abord et plus tard, je vais essayer avec mon compilateur C microcontrôleur

J'ai quelques questions ...

Tout d'abord, il semble nécessaire de disposer d'un éventail complexe avec des valeurs réelles et imaginaires

J'ai un tableau avec un signal échantillonné et je ne sais pas exactement quoi faire avec son ...
J'ai besoin de convertir ce tableau à un nouveau tableau avec partie réelle et imaginaire?
Comment puis-je faire cela?

FFT transformer une partie réelle et imaginaire trop

Le i besoin de convertir à un nouveau tableau pour faire une représentation graphique

J'ai trouvé des sources FFT, mais je ne termine pas avoir des fonctions FFT avec quelque chose comme ceci:fft (fftLength, RealInput, ImaginInput, laproduction réelle, ImaginOutput);

J'ai besoin de savoir exactement les étapes pour convertir un signal réel prélevés dans un réel un tableau imaginaire pour faire une FFT

Quelqu'un peut m'aider???

Merci

 
Salut mec,
if u nécessité de la mise en œuvre ustand fft puis essayez d'abord avec i u matlab.if besoin peuvent envoyer u mon exemple de code pour trouver 16 fft point pour un signal complexe.

la mise en œuvre FFT, Need U de travailler avec des facteurs twiddle élevé à la puissance appropriée dans chaque stage.so tout en utilisant ces facteurs twiddle les convertir en r * e ^ i (theta) la forme plutôt que (a i * b) forme depuis la première forme serait plus facile à élever à des puissances plus élevées.

ur u cant vue values.u complexe ne peut consulter son ampleur en C (i hope so).

 
Merci Viswa!si vous pouvez mettre votre code MATLAB je vais essayer ....

J'ai quelques exemples FFT en matlab, mais je ne peux pas voir comment ce travail:

-------------------------------------------------- --------------------------------
t = 1:200;
SIN1 = sin (2 * pi * 30/1000 * t);

sin1c = abs (fft (SIN1));

x = [0.005: .005:1];
subplot (2,1,1), plot (x, sin1c titre ,'.'), ( «DFT de la SIN1 senal ');
-------------------------------------------------- --------------------------------

Ici seulement besoin d'un signal échantillonné et la FFT et d'obtenir sans problèmes mais lorsque j'utilise une fonction I C réels besoin parties réelles et imaginaires

 
Pour nourrir des données réelles dans une transformation complexe, copiez simplement vos données réelles dans la partie réelle d'un tableau complexe, et définir la partie imaginaire à zéro.

Une façon d'afficher le résultat de transformation complexe consiste à calculer l'ampleur de chaque valeur complexe, mag = sqrt (real * real imag * IMAG), puis afficher ces magnitues.Vous mai également à convertir les grandeurs en décibels, dB = 20 * log10 (mag).

 
Pour afficher les meilleurs résultats essayez d'utiliser un certain nombre de points qui est une puissance de deux (64128 ,...).

Ex.
freq fs = 1;% échantillonnage
fc = fs/16;% freq d'entrée
s = sqrt (2) * sin (2 * pi/16 * (0:1023);
plot (20 * log10 (abs (fft (s)) / 1024))

Observe,

- RS

 
Merci Echo47!

J'ai essayer votre "mag = sqrt (real * réel IMAG IMAG *)" et ça marche
prise ABS (réel), il travaille trop, mais je ne suis pas sûr si cela est ok

J'essaie avec une fonction C et cela fonctionne correctement avec et sans partie imaginaire!

Faire partie imaginaire = 0 y avoir un spectre en double et 1 / 2 amplitude

Est-ce exact??

 
Oui, si vous nulle part IMAG, alors il n'y a aucun moyen de distinguer les fréquences positives à partir des fréquences négatives, donc, la sortie à partir d'une transformation complexe apparaît en double et en miroir et la moitié de l'amplitude d'un signal complexe intégral.Ignorez la moitié supérieure du tableau de sortie (c'est la partie négative, un peu contre-intuitif).

Si vous nourrissez un nombre complexe en ABS MATLAB () de fonction, il calcule sqrt (real * real imag * IMAG).Très commode.

 

Welcome to EDABoard.com

Sponsor

Back
Top