Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2 La transformada de Laplace
En esta sección vamos a mencionar algunos aspectos relativos a la utilización de la
transformada de Laplace que pueden ser tratados con ayuda de Matlab.
El primer detalle a tratar es la resolución de un sistema algebraico de ecuaciones linea-
les. Este problema se presenta frecuentemente en análisis de circuitos, especialmente en ré-
gimen sinusoidal permanente. No es estrictamente un problema de utilización de transfor-
madas de Laplace, pero puede estar relacionado indirectamente con él. El planteamiento del
problema consiste, básicamente, en reducirlo a uno del tipo para el que Matlaab fue desa-
rrollado inicialmente (manipulación de matrices y vectores).
El segundo apartado de la sección está dedicado a presentar distintas operaciones con
polinomios, de las cuales una de las más importantes es la determinación de sus raíces, que
es un problema básico en el cálculo de transformadas inversas de Laplace.
Finalmente, en el tercer apartado se hace referencia a distintas posibilidades de repre-
sentar el módulo y la fase de una función resultante de particularizar la transformada de La-
place de la función de transferencia de un circuito para el caso del régimen sinusoidal per-
manente.
donde [V] es un vector columna de n elementos cada uno de los cuales es la suma algebrai-
ca de las fuentes independientes de tensión de las n mallas; [I] es un vector columna de n
elementos cada uno de los cuales es la corriente de una malla, y [Z] es una matriz cuadrada
n x n cuyos elementos son las impedancias de las distintas mallas (los elementos del tipo Z ij
con i = j) y las impedancias compartidas entre mallas diferentes (los elementos del tipo Z ij
con i ≠ j). Ocasionalmente, [I] puede incluir tensiones introducidas por fuentes dependien-
tes. En todo caso, [I] debe reunir todas las incógnitas del sistema, las cuales no pueden apa-
recer ni en [V], ni en [Z]. Algo similar ocurriría si quisiéramos resolver el circuito utilizan-
do la técnica de análisis por nudos en lugar de la de análisis por mallas.
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
36 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
La resolución de este sistema (es decir, la obtención de los elementos de [I]) mediante
Matlab requiere los siguientes pasos.
En primer lugar hay que definir los vectores y las matrices que aparecen en el proble-
ma. En el caso general, una matriz se define mediante la instrucción
M =[M11 M12 ... M1n; M21 M22 ... M2n; ...; % Definición de una matriz
Mk1 Mk2 ... Mkn]
Como puede observarse, los elementos de una misma fila van separados por espacios
en blanco; el final de una fila se separa del comienzo de la siguiente mediante un punto y
coma.
Con la misma instrucción podemos definir vectores fila y vectores columna.
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab 37
1.0000- 2.0000i
-5.0000
15.0000- 2.0000i
Z =
I =
1.0000
0.0000+ 1.0000i
1.0000- 1.0000i
Es decir, las corrientes buscadas son [I (A)] = (1; j; 1 - j). Obsérvese que los resultados
anteriores aparecen en la ventana de comandos porque las distintas instrucciones no han
sido terminadas con puntos y comas. De haber incluido esta terminación en una o más sen-
tencias, el programa habría conservado la información internamente, pero no la habría re-
flejado en la ventana de comandos.
Obsérvese que, contra lo que podría parecer lógico ([I] = [V] / [Z]), la instrucción de
división tiene en este caso la forma [I] = [Z] \ [V]. En realidad, esta forma es equivalente a
realizar la operación [I] = inv[Z] x [V], que ya se corresponde con lo que parecería razona-
ble. Esta sentencia viene impuesta por la forma de operar de Matlab y se denomina divi-
sión a la izquierda, como contraposición a la habitual división a la derecha. De hecho, po-
dríamos haber definido el sistema de ecuaciones como
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
38 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
V = [1-2*i -5 15-2*i]
Z = [3 -2+2*i 0; -1 4+2*i 1-3*i; 0 1-2*i 8+5*i]
I = V/Z.'
Z =
I =
Obsérvese que ahora el vector [V] se ha definido como fila y no como columna, lo
cual hace que el vector [I] también sea presentado en la misma forma. Además, en lugar de
utilizar la matriz [Z], se utiliza su transpuesta, definida mediante la instrucción.
Raíces de un polinomio
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab 39
en la que los coeficientes de los términos exponenciales son números reales. Sin embargo,
esta forma no es la más adecuada para utilizar el procedimiento convencional de obtener la
transformada inversa de Laplace. Es preferible expresar el polinomio como el producto de
una serie de términos en los que aparecen las raíces de aquél. Es decir,
P(s) = aksk + ak-1sk-1 + ... + a0 = (s + s1)(s + s2) ... (s + sj)q ... (s + sm)
A cualquiera de los términos -sk se le denomina raíz del polinomio. sj (y cualquier otra
que figure en un término exponencial) se le denomina raíz múltiple de orden q (el exponen-
te del término exponencial). El orden del polinomio es k (es decir, el exponente de la mayor
potencia de s que figure en el polinomio). k es igual al número total de raíces del polinomio;
en el cómputo de este número cada raíz múltiple cuenta tantas veces como su propio
orden. Las raíces de un polinomio pueden ser reales o complejas; si un número complejo es
raíz de un polinomio representativo de un circuito, su complejo conjugado también lo es.
En el problema de determinar las raíces de un polinomio pueden presentarse varios
casos muy sencillos, como son los que se mencionan seguidamente.
s+r -r
- b ± b 2 - 4ac
as2 + bs + c (polinomio cuadrático) r 1, 2 =
2a
Al margen de estos casos, no existe ningún procedimiento analítico sencillo para obte-
ner las raíces de polinomios de orden superior al segundo. Es necesario recurrir a procedi-
mientos numéricos para realizar dicha tarea. En Matlab esta operación se realiza con la ins-
trucción
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
40 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
corresponde al polinomio P(s) = aksk + ak-1sk-1 + ... + a0. Si el polinomio no va a ser utiliza-
do con posterioridad a la obtención de sus raíces, pueden combinarse las dos instrucciones
que acabamos de mencionar en una sola y utilizar la sentencia
Es decir, el polinomio tiene una raíz real doble (-2 + j0) y dos raíces complejas (-1 + j,
-1 - j), de las cuales una es la conjugada de la otra.
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab 41
Valor de un polinomio
Otra operación de cierto interés que puede realizarse con Matlab es la determinación
del valor particular que toma un polinomio cuando la variable independiente tiene un valor
dado. Ello puede realizarse utilizando la instrucción
polyval (pol, k) % Obtiene el valor del polinomio pol cuando la variable vale k
A título de ejemplo, la rutina siguiente permite hallar el valor que toma el polinomio
P(s) definido anteriormente cuando s es igual a -2.
%%%%% VALOR DE UN POLINOMIO %%%%%
P = [1 6 14 16 8];
polyval (P, -2)
El resultado es
ans =
Es un resultado lógico, por cuanto hemos pretendido calcular el valor del polinomio
cuando la variable es igual a una de sus raíces y, por definición, éstas son los valores que
anulan el polinomio.
Producto de polinomios
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
42 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
P1 = [1 2 2];
P2 = [1 4 4];
1 6 14 16 8
Es decir, el polinomio resultante del producto está definido por sus coeficientes, al
igual que cualquier otro polinomio. Obsérvese que el resultado obtenido en este ejemplo
coincide con el polinomio P(s) definido anteriormente. Obsérvese también que la instrucción
que se utiliza para el producto (conv) significa convolución. Sin embargo, aunque esta ins-
trucción tiene un papel relevante en la obtención de la convolución de señales discretas, no
guarda una relación inmediata con la convolución de señales continuas, tal y como se indicó
en la sección precedente de este manual.
División de polinomios
P1 = [1 3 2 2];
P2 = [1 4 4];
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab 43
1 -1
resto =
0 0 2 6
Esta instrucción tiene un interés especial cuando una transformada de Laplace está de-
finida por una fracción impropia (es decir, el orden del numerador es mayor o igual que el
del denominador). Recuérdese que la aplicación del procedimiento convencional para obte-
ner la transformada inversa requiere efectuar el cociente de forma que el resto sea una frac-
ción propia (el orden del numerador es menor que el del denominador).
Podemos utilizar todo lo que acabamos de exponer para obtener transformadas inver-
sas de Laplace. Después del cociente de polinomios, quedaría por obtener las raíces del de-
nominador del resto (roots) y formular tantas fracciones como raíces tenga dicho denomi-
nador (recuérdese que una raíz múltiple cuenta tantas veces como su orden). Sin embargo,
hay un procedimiento directo para descomponer un cociente en una suma de fracciones
simples cuyos denominadores corresponden a las raíces del denominador original. Ese pro-
cedimiento se ejecuta en Matlab mediante la instrucción
% num: vector columna en la que aparecen los numeradores de las distintas fracciones
% raíces: vector columna de las raíces del denominador ordenadas igual que los numeradores
% cociente: cociente de los dos polinomios (sólo si la fracción original es impropia)
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
44 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
P1 = [1 3 2 2];
P2 = [1 4 4];
2
2
raíces =
-2
-2
cociente =
1 -1
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab 45
devuelve el resultado
P1 =
1 3 2 2
P2 =
1 4 4
que, como puede comprobarse, corresponde a los polinomios a los que nos estamos refi-
riendo.
Evidentemente, todo lo que acabamos de exponer es aplicable igualmente en el caso
de que la expansión conduzca a fracciones en las que aparecen raíces complejas. Así, por
ejemplo, si se trata del cociente
P 1(s) 0.5s
=
P 2(s) s 2 + s + 0.5
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
46 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
num =
0.2500+ 0.2500i
0.2500- 0.2500i
raíces =
-0.5000+ 0.5000i
-0.5000- 0.5000i
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab 47
P 1(jω)
H(jω) = θ(ω) = θ 1(ω) - θ 2(ω)
P 2(jω)
Rango de frecuencias
Así, por ejemplo, la instrucción w = logspace (1, 3, 1000) genera un vector de 1000
puntos comprendidos entre 10 y 103.
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
48 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab 49
1.5
1400
1200
Parte imaginaria
1000
Parte real
a=1 1
800
600
1
b=ω-ω 400
0.5 200
z = a + jb 0 2
0
0 2
10 10 10 10
Frecuencia angular (rad/s) Frecuencia angular (rad/s)
Datos: 1400 2
1200
a 1
Fase (rad)
1000
Módulo
800 0
600
400 -1
200
-2
0 2 0 2
10 10 10 10
Frecuencia angular (rad/s) Frecuencia angular (rad/s)
Esta instrucción sencillamente sustituye a la de plot, con lo que puede ser dotada de
los mismos atributos que aquélla. Hay otras instrucciones similares, que permiten represen-
tar semilogarítmicamente el eje de ordenadas o bien utilizar coordenadas logarítmicas en
ambos ejes, pero carecen de interés desde la perspectiva de este manual.
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
50 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
En segundo lugar, obsérvese que la fase del número complejo se calcula y se represen-
ta en radianes. Ésa es la representación de Matlab por defecto, pero existen otras posibilida-
des, que serán expuestas más adelante.
También es importante destacar que, en la definición del número complejo, se utiliza el
operador ./, que indica que el numerador debe ser dividido por todos y cada uno de los ele-
mentos del vector que constituye el denominador. De no utilizarse este operador, se produ-
ciría una indefinición (con la consiguiente paralización del programa), ya que Matlab ignora-
ría qué valor concreto del vector denominador debe ser utilizado en el cociente.
Finalmente, en la rutina se utilizan de forma accesoria las instrucciones
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab 51
Respuesta en frecuencia
0.35
0.3
0.25
Módulo
0.2
0.15
s 2 + 2s + 2 0.05
-2 -1 0 1 2
10 10 10 10 10
Frecuencia angular (rad/s)
Datos:
150
inicial
100
50
Fase (º)
-50
-100
-150
-2 -1 0 1 2
10 10 10 10 10
Frecuencia angular (rad/s)
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
52 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
modmax = 0.2500
wcentral = 1.4130
fasecentral = 0.0681
wfasenula = 1.4130
modfasnul = 0.2500
fasenula = 0.0681
Obsérvese que en este caso las dos frecuencias son idénticas en apariencia. Ello puede
ser así realmente, o bien el resultado de las aproximaciones y redondeos internos del pro-
grama en el caso particular de la función de transferencia considerada. Sin embargo, debe
recordarse que, en general, tales frecuencias pueden diferir significativamente una de otra.
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab 53
circuito se comporta de forma que realmente se produce dicha discontinuidad, o bien puede
ser originada por la manipulación matemática interna de Matlab. A este respecto, recuérde-
se que, a fin de cuentas, los ángulos α y 180 º + α tienen la misma tangente y que es la tan-
gente la función que suele utilizarse en la determinación de ángulos en ordenadores y calcu-
ladoras.
Para tener la seguridad de que el comportamiento representado es el que corresponde
realmente al circuito puede utilizarse la instrucción
semilogx (w, fase1, 'b', 'LineWidth', 2); % Sin discontinuidades de cálculo (azul)
hold on;
semilogx (w, fase2, 'r', 'LineWidth', 2); % Con posibles discontinuidades (rojo)
Con ayuda de este fragmento pueden obtenerse curvas como las representadas en la
figura siguiente.
200
150
100
50
H(s) = s 0
s + 2s + 4s 2 + 2s + 1
4 3
Fase (º)
-50
-100
-150
-200
-250
-300
-1 0 1
10 10 10
Frecuencia angular (rad/s)
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
54 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
Por otro lado, la figura siguiente muestra un caso en el que la discontinuidad es propia
del circuito y, por tanto, no puede ser eliminada con ayuda de la instrucción unwrap.
100
80
60
40
Fase (º)
s 2 + 0.5s + 1 0
-20
-40
-60
-80
-100
-1 0 1
10 10 10
Frecuencia angular (rad/s)
Esta segunda figura ha sido obtenida con ayuda del mismo fragmento de rutina consi-
derado anteriormente, aunque cambiando la instrucción que define la función de transferen-
cia.
En los epígrafes anteriores hemos presentado rutinas que tratan separadamente la re-
presentación de módulos y fases de funciones de transferencia de circuitos funcionando en
régimen sinusoidal permanente. Sin embargo, existe una instrucción que permite efectuar
dicha representación simultáneamente. Se trata de la instrucción
freqs (pol1, pol2, w) % Obtiene la variación con w de la fracción en la que pol1 y pol2
% son los polinomios del numerador y el denominador, respectivamente
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab 55
0
10
-1
10
Magnitude
-2
10
-3
10
-4
10
H(s) = 0.5s 10
-2 -1
10 10
0 1
10
2
10
3
10
Frequency (radians)
s 2 + 2s + 2
100
50
Phase (degrees)
-50
-100
-2 -1 0 1 2 3
10 10 10 10 10 10
Frequency (radians)
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO
56 Prácticas de circuitos como sistemas lineales. Ejercicios sencillos con Matlab
Ejercicio 7
Ejercicio 8
Ejercicio 9
2×10 6s 2 + 10 18
H(s) =
(s + 10 6) (s 2 + 2×10 6s + 10 12)
Dpto. Teoría de la Señal y Comunicaciones. Escuela Técnica Superior de Ing. Telecomunicación. UNIVERSIDAD DE VIGO