Matlab a função FFT dizimação em Freqüência RADIX 2

C

claudiocamera

Guest
Oi,

Estou tentando desenvolver uma função em Matlab para calcular FFT usando DIF RADIX 2.A fim de testá-lo, em primeiro lugar, estou trabalhando com um sinal com x = [0 1 2 3 4 5 6 7 length = 8].Infelizmente ele não está retornando o resultado correto, eu não posso achar que está errado com o algoritmo.

Se alguém perceber o que está errado no código abaixo, por favor me avise.

Thxs
X% de dados Imput =

x = [0 1 2 3 4 5 6 7];

Length% dos dados imput
N = length (x);x; Buffer x%

Fator% Twidle

WN = exp (-j * 2 * pi / N);

Rotina FFT%Passo = N / 2;

est para Ni = 1:

h = 2 ^ (Ni-1);
v = N / h;

para m = 0: v: N-1

para z = 1: passo
xnew (z h) = x (z m ) x (Z passo M );
xnew (z passo m) = x (z m )-x (Z passo m) * WN ^ ((z-1) * h);
fim

fimpasso = passo / 2;

x = xnew;fimBit reverse% de rotina

XBR = zeros (1, N);

dezembro = [0: N-1];

bin = dec2bin (dezembro);

DEC1 = BIN2DEC (fliplr bin ());
DEC1 = DEC1 ones (1, N);

para i = 1: N;
XBR (i) = x (DEC1 (i));
fim

 
Mr. tentar evitar loops e tente usar operações como vetor. /, .*,. ^ Etc

 

Welcome to EDABoard.com

Sponsor

Back
Top