marcoshuck icon

Fourier Serie (TC)

marcoshuck | PRO | 12/15/16 02:09:53 PM UTC | 0 ⭐ | 7901 👁️ | Never ⏰ | []
MatLab |

1.27 KB

|

None

|

0 👍

/

0 👎

%{ 
Análisis de Señales y Sistemas - TP Laboratorio Nº 3
Función FSERIE - Grupo 6
Argumentos:
    - y: Señal de entrada
    - T: Periodo elemental
    - N: Cantidad de coeficientes a calcular
Retorna:
    - yR: Señal resultante
Repositorio disponible en: https://github.com/marcoshuck/matlab-tp3-asys
Realizado por Huck Marcos A. y Castelluci Leandro E.
%}
 
function[ak, yr] = FSERIE(y, T, N)
    syms t 'real';
    syms k 'integer';
    
    % Integral para obtener la expresión general de los coeficientes de Fourier
    ak(k) = 1/T * int(y(t).*exp(-1j*2*pi/T*k*t), t, 0, T);
 
    % Simplificación de ak(k)
    ak(k) = simplify(ak(k));
 
    % Definición de vector de aN
    aN = sym(zeros(2*N+1, 1));
 
    % Descomposición de numerador y denominador
    [n, d] = numden(ak);
 
    % Cálculo de los coeficientes de Fourier
    for k = 0:N
        if (n(k) == 0) && (d(k) == 0)
            aN(k+1) = 1/T * int(y(t), t, 0, T);
        else
            aN(k+1) = ak(k);
        end
    end
 
    % Cálculo de la serie de Fourier
    m = 1;
    yr(t) = aN(m);
    for m = 2:N
        if aN(m) ~= sym(0)
            yr(t) = yr(t) + conj(aN(m))*exp(- 1j*(m-1)*2*pi/T*t) ;
            yr(t) = yr(t) + aN(m)*exp(1j*(m-1)*2*pi/T*t);
        end
    end
end

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎