Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %{
- 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
Advertisement