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
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