Quitar función seno en Matlab
Publicado por Lolo (4 intervenciones) el 28/09/2019 22:01:47
Hola. Alguien sabe ¿Cómo puedo quitar la función seno y que el programa de el mismo resultado?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function Xk=fun_ffts(x)
N=max(size(x));
if mod(N,2)~=0
error('el tamaño de x debe ser potencia de 2')
end
Log2dN=round(log2(N));
GdMxEt=N/2; %GdMxEt num de grupos de maris en una etapa dada
MxG=1; %MxG num de maris por grupo en una etapa dada
%Decimation in time
Xk = bitrevorder(x);
for Etn=1:1:Log2dN %Log2dN = L numero de etapas
%en lenguaje C PaMn=0; por diferencia en manejo de indices
PaMn=1; %PaMn posicion alta de Mary inicial de etapa
for Gn=1:1:GdMxEt %GdMxEt num de grupos de maris en una etapa dada
r=0;
for Mn=1:1:MxG %MxG num de maris por grupo en una etapa dada
if Mn>1 %si no es la Etapa 1
r=r+GdMxEt;
end
%calculo de mary actual**************************************
a=Xk(PaMn); %PaMn posicion alta de Mary actual
b=Xk(PaMn+MxG);%PaMn+MxG posicion baja de Mari actual
WNr=cos(2*pi*r/N)-1i*sin(2*pi*r/N); %WNr=exp(-1i*2*pi*r/N);
%se utiliza la tecnica de In place computation
Xk(PaMn)=a+b*WNr;
Xk(PaMn+MxG)=a-b*WNr;
%************************************************************
PaMn=PaMn+1; %para pasar a la parte alta de la siguiente
end %mary en el grupo
PaMn=PaMn+MxG; %para saltar al principio del siguiente grupo
%de marys, 1a mary, parte alta, lado izq.
end
%Etapa:1=> GdMxEt=N/2, 2:=>GdMxEt=N/4, ... , Log2dN:=> GdMxEt=N/N
GdMxEt=GdMxEt/2;
%Etapa:1=> MxG=1, 2:=>MxG=2, ... , Log2dN=>MxG=N/2
MxG=MxG*2;
end
Valora esta pregunta
0