Red Residencial de Banda Ancha por Línea de Potencia Basada en Relevo para la Mitigación de la Interferencia
MSc. José Roberto Cárdenas Castiblanco
Universidad Nacional de Colombia
Facultad de Ingeniería, Departamento de Ingeniería Eléctrica
Bogotá, Colombia
Agosto de 2013
Red Residencial de Banda Ancha por Línea de Potencia Basada en Relevo para la Mitigación de la Interferencia
MSc. José Roberto Cárdenas Castiblanco
Tesis presentada como requisito parcial para optar al título de:
Doctor en Ingeniería Eléctrica
Director:
Ph.D. Mauro Flórez Calderón
Línea de Investigación:
Comunicaciones de Banda Ancha por Línea de Potencia
Universidad Nacional de Colombia
Facultad de Ingeniería, Departamento de Ingeniería Eléctrica
Bogotá, Colombia
Agosto de 2013
Pequeño Juan David: Espero que tú algún día
lo hagas mejor.
Agradecimientos
Debo expresar mi gratitud a todos aquellos sin cuya colaboración hubiera sido aún más
difícil el tránsito hacia la culminación exitosa de este trabajo.
Desde lo institucional, debo dar gracias a la Universidad Distrital Francisco José de
Caldas por su patrocinio y a la Universidad Nacional de Colombia por haber aceptado la
Propuesta de Investigación, en especial a mi tutor el Doctor Mauro Flórez Calderón.
Desde lo personal un agradecimiento eterno a mi esposa Consuelo y a mi pequeño hijo
Juan David por su amor, apoyo, paciencia y comprensión.
Resumen y Abstract III
Resumen
La interferencia electromagnética producida por los sistemas de comunicación de banda
ancha por línea de potencia (Broadband over PowerLines, BPL) residencial es un
aspecto técnico que no está totalmente solucionado. Esta disertación presenta una
solución en la cual los transceptores conectados a las tomas de una residencia cooperan
para modificar la función de transferencia del canal entre un transmisor y un receptor de
la red. Esto se logra haciendo uso de algoritmos que se basan en la variación de la
distancia de la línea de transmisión que los conecta al cableado intramuros de la
residencia, así como en la carga que es presentada en la terminación de cada una de
estas líneas. Mediante la aplicación de principios teóricos encontrados en este trabajo se
lograron reducciones en condiciones prácticas de hasta 26.72 dB en la densidad
espectral de potencia (DEP) de transmisión para redes residenciales con configuraciones
de canal de relevo o canal sencillo. Esta técnica complementaría a las técnicas actuales
de ranuras y de administración adaptable de potencia.
Palabras clave: mitigación de la interferencia, funciones de transferencia, transmisión
por relevo.
IV Red BPL residencial basada en relevo para mitigación de la interferencia
Abstract
The electromagnetic interference produced by the In-House Broadband over Power Line
(BPL) communication systems is a technical aspect that is not completely settled. This
dissertation presents a solution in which the transceivers connected to the sockets of a
residence are cooperating in order to modify the transfer function of the channel between
a transmitter and a receiver of the network. This is achieved by making use of algorithms
that are based on the variation of the distance from the transmission line that connects
them to the wiring inside the walls of the residence, as well as on the load that it is
presented at the end on each of these lines. Through the application of theoretical
principles found in this work reductions were achieved in practical conditions of up to 26.7
dB in the power spectral density (PSD) of transmission on residential networks with
configurations of relay channel or simple channel. This technique complements to current
techniques of notches and adaptive management of power technique.
Keywords: mitigation of interference, transfer functions, relay transmission.
Contenido V
Tabla de contenido
Resumen ………………………………………………………………………………………... III
Lista de figuras...……………………………………………………………………………… VII
Lista de tablas ………………………………………………………………………………….XII
Lista de abreviaturas ………………………………………………………………………...XIV
Introducción ……………………………………………………………………………………...1
1 Estado del arte.......................................................................................................... 7 1.1 Máscara espectral de la DEP definida por IEEE 1901 ........................................ 7
1.2 Uso de ―insertos‖ en las tomas de energía ....................................................... 10
1.3 Inyección de Señal Auxiliar .............................................................................. 11
1.4 Administración Adaptable de Potencia de Transmisión .................................... 12
1.5 Mitigación de la Interferencia Electromagnética mediante el uso de Pulsos de
Banda Ultra-ancha. ..................................................................................................... 15
1.6 Reducción de la potencia radiada cambiando la geometría de la instalación
eléctrica. ..................................................................................................................... 16
2 Marco Teórico ......................................................................................................... 17 2.1 Modelación de la red BPL hogareña................................................................. 17
2.1.1 Modelación Top-down.................................................................................... 17 2.1.2 Modelación Bottom-up ................................................................................... 19
2.2 Parámetros Eléctricos para las Líneas de Transmisión de las Redes BPL
hogareñas. .................................................................................................................. 19
2.2.1 Parámetros de Bostoen y Van de Wiel .......................................................... 20 2.2.2 Parámetros de Barmada y otros .................................................................... 24
2.3 Límite de la Densidad Espectral de Potencia (DEP) ......................................... 25
2.4 Ruido típico en redes BPL hogareñas .............................................................. 26
2.5 Capacidad de las redes BPL hogareñas .......................................................... 28
2.6 Canal de Relevo ............................................................................................... 32
2.7 Ambientes Hogareños Típicos.......................................................................... 35
2.8 Aspectos acerca de la relación señal a ruido. ................................................... 39
3 Metodología ............................................................................................................ 41 3.1 Uso del método de modelación ........................................................................ 41
3.2 Uso del método hipotético-deductivo ................................................................ 41
3.3 Uso del método de la experimentación científica .............................................. 42
VI Red BPL residencial basada en relevo para mitigación de la interferencia
3.4 Uso del método de la observación científica..................................................... 43
4 Resultados Intermedios ......................................................................................... 45 4.1 Exploración de canales .................................................................................... 45
4.2 Cálculo de la velocidad de fase en redes hogareñas ........................................ 57
4.3 Ganancia en la magnitud de la función de transferencia de una línea de
transmisión hogareña ................................................................................................. 65
4.4 Estudio de una estructura básica ..................................................................... 73
4.5 Comportamiento global de la red hogareña ...................................................... 85
4.6 Conformación discreta de la capacidad de canal de las redes hogareñas ........ 91
4.7 Cargas semitransparentes en la recepción....................................................... 92
5 Resultados finales .................................................................................................. 94 5.1 Algoritmo de Variación de Longitud de Ramal (AVLR) ..................................... 94
5.2 Uso del Algoritmo de Variación de Longitud de Ramal (AVLR) en conjunción con
el protocolo Opportunistic Time División Decode and Forward (ODF) .......................110
5.2.1 Uso de el algoritmo AVLR práctico con capacidad esperada real. ............... 110 5.2.2 Uso de AVLR práctico en transmisión por relevo. ........................................ 112
6 Alcances y limitaciones ....................................................................................... 123 6.1 Alcance de la presente investigación...............................................................123
6.2 Presentación de los resultados más relevantes ...............................................123
6.3 Topologías de red ...........................................................................................124
7 Conclusiones, Trabajo Futuro e Instrucciones .................................................. 125 7.1 Conclusiones ...................................................................................................125
7.2 Trabajo Futuro .................................................................................................126
7.3 Instrucciones ...................................................................................................126
Anexo A: Derivación de la expresión de la ganancia por distancia......................... 127
Anexo B: Notas acerca de la implementación de la solución propuesta…………..131
Bibliografía .................................................................................................................. 143
Contenido VII
Lista de Figuras
Pág.
Figura 1.1: Máscara espectral de transmisión según IEEE 1901. .................................... 7
Figura 1.2: Ranuras permanentes vs. ranuras dinámicas para la DEP. ........................... 8
Figura 1.3: Diagrama de un ―inserto‖ o ―plugin‖. ............................................................ 10
Figura 1.4: Umbral del CAG (AGC en inglés) sobre la atenuación medida de un canal
(dB). El eje X muestra el intervalo de frecuencia y el eje Y la atenuación en dB...... 14
Figura 2.1: Configuraciones de las líneas de B&VDW, 1-2 (arriba), 1-3 (centro) y 1-
(2+3+4) (abajo)……………………………………………………………………20
Figura 2.2: Topología de red con una derivación y segmentos en modo 1-(2+3+4). ...... 22
Figura 2.3: Magnitud de la función de transferencia entre los puntos VLT-VNT de la red
de la Figura 2.2. ...................................................................................................... 22
Figura 2.4: Topología de red con seis derivaciones propuesta por B&VDW. ................. 23
Figura 2.5: Magnitud de la función de transferencia entre los puntos VLT-VNT de la red
de la Figura 2.4. ...................................................................................................... 23
Figura 2.6: DEP de ruido típico en redes BPL para oficinas y hogares. ......................... 26
Figura 2.7: Medición de la modulación usada por cada portadora en un sistema BPL
hogareño. ................................................................................................................ 27
Figura 2.8: De izquierda a derecha, comportamiento de las cargas no lineales de un
televisor, un ventilador y una máquina de hacer café, conectadas a la red BPL
hogareña. ................................................................................................................ 29
Figura 2.9: Aproximación de varias impedancias no lineales, con amplitudes aleatorias.
................................................................................................................................ 30
Figura 2.10: Modelo del sistema de relevo ODF. ........................................................... 32
Figura 2.11: Modalidades DT y DF y sus correspondientes asignaciones de ranuras de
tiempo. .................................................................................................................... 33
Figura 2.12: Red hogareña típica. Las longitudes están expresadas en metros. ........... 36
VIII Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 2.13: Atenuación del canal TX-RX mostrado en la Figura 2.12. .......................... 37
Figura 2.14: Modelos de referencia para canales internos. ........................................... 38
Figura 2.15: Atenuación, ruido y relación señal a ruido en un canal PLT. ...................... 39
Figura 2.16: Caudal máximo promedio de HomePlug AV (Mbps) vs. Relación Señal a
Ruido (SNR promedio (dB) ...................................................................................... 40
Figura 4.1: Magnitud de la Función de transferencia entre TX y RX de la red mostrada en
la Figura 2.12..............................................................................................................45
Figura 4.2: Numeración de tensiones y segmentos sobre una red hogareña de la Figura
2.12. ........................................................................................................................ 46
Figura 4.3: Magnitud de las funciones de transferencia entre TX y las posibles salidas
con el interruptor L cerrado. .................................................................................... 47
Figura 4.4: Magnitud de las funciones de transferencia entre TX y las posibles salidas
con el interruptor L abierto. ...................................................................................... 48
Figura 4.5: Magnitud de la función de transferencia entre TX-salida 21 con L abierto. .. 49
Figura 4.6: Respuesta al impulso para el canal TX-segmento 21 de la red del Figura 4.2.
................................................................................................................................ 49
Figura 4.7: Configuración de la red cuando se transmite por el segmento 21. ............... 51
Figura 4.8: Magnitudes de las funciones de transferencia de la red cuando se transmite
por el segmento 21 con L cerrado. .......................................................................... 52
Figura 4.9: Magnitudes de las funciones de transferencia de la red cuando se transmite
por el segmento 21 con L abierto. ........................................................................... 53
Figura 4.10: Magnitud de la función de transferencia entre TX (segmento 21) y el
ventilador (segmento 2) con L cerrado. ................................................................... 54
Figura 4.11: Configuración de la red cuando se transmite por el segmento 21. ............. 54
Figura 4.12: Magnitudes de las funciones de transferencia de la red cuando se transmite
por el segmento 25 con L cerrado. .......................................................................... 55
Figura 4.13: Onda estacionaria de tensión en una línea de transmisión cuya carga es
circuito abierto. ........................................................................................................ 60
Figura 4.14: Red para el cálculo de la velocidad de fase. .............................................. 61
Figura 4.15: Magnitud de la función de transferencia de red entre los puntos LT - B y LT-
NT de la red de la Figura 4.14. ................................................................................ 61
Figura 4.16: Magnitud de la función de transferencia entre los puntos LT y ZL mostrados
en la red de la Figura 4.14. ..................................................................................... 63
Contenido IX
Figura 4.17: Magnitud de la función de transferencia entre LT y ZL de la red de Figura
4.14 para la configuración 555. ............................................................................... 64
Figura 4.18: Magnitud de la función de transferencia para varias longitudes de línea
terminada en circuito abierto. .................................................................................. 66
Figura 4.19: Impedancia de entrada para líneas terminadas en circuito abierto (c.a). ... 68
Figura 4.20: Valores de αl usando la línea lin10 para una distancia de 30 m. ................ 72
Figura 4.21: Magnitud de la función de transferencia para una línea hogareña λ/4,
terminada en circuito abierto para valores 𝟎. 𝟎𝟏 ≦ 𝜶𝒍 ≦ 𝟎. 𝟑. ............................... 73
Figura 4.22: Estructura básica de una red BPL hogareña con recepción en el punto 2,
con la señal entrando por el punto 1. ....................................................................... 74
Figura 4.23: Ganancia de la estructura básica saliendo por ramal. ................................ 76
Figura 4.24: Estructura básica de una red BPL residencial con transmisión sobre el
segmento 1. ............................................................................................................ 77
Figura 4.25: Transmisión sobre el segmento 1. Magnitud de función de transferencia
entre segmentos 1- 2 y 1- 3, para m1 = λ/4 y f = 20,1 MHz. Los segmentos 2 y 3
están constituidos por lin6 y lin9 respectivamente, y el segmento 1 por lin9. ........... 78
Figura 4.26: Transmisión sobre el segmento 1. Magnitud de función de transferencia
entre segmentos 1- 2 y1- 3, m1 = λ/4, f = 20,1 MHz. Los segmentos son del mismo
tipo de línea (lin9). ................................................................................................... 79
Figura 4.27: Transmisión por el segmento 1. Magnitud de función de transferencia entre
segmentos 1- 2 y 1- 3 mayor que cero dB, para m1 = λ/4 y f = 20,1 MHz. Los
segmentos son del mismo tipo de línea (lin9). ......................................................... 80
Figura 4.28: Transmisión por el segmento 1. Magnitud de la función de transferencia
entre segmentos 1- 2 y 1- 3 mayor que cero dB, para m1 = λ/4 y f = 20.1 MHz. Los
segmentos son del mismo tipo de línea (lin9). Superposición de |H(f)1-2| con |H(f)1-
3|. Vistas anterior y posterior. Relaciones 𝐫𝟑𝟏 y 𝐫𝟐𝟏 entre 1 y 2. ........................... 81
Figura 4.29: Zonas de trabajo para una estructura básica. Transmisión por segmento 1,
m1 = λ/4 y f = 20.1 MHz. Los segmentos son del mismo tipo de línea (lin9).
Relaciones 𝐫𝟑𝟏 y 𝐫𝟐𝟏 entre 1 y 2. .......................................................................... 82
Figura 4.30: Ganancia por distancia debida a la diferencia de caminos......................... 86
Figura 4.31: Dos posibles recorridos de la red de la Figura 2.12 para una distancia de
camino de propagación de 60 metros. ..................................................................... 88
Figura 4.32: Rutas por las que la señal llega desde TX hasta FAN. .............................. 90
X Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 5.1: Aumento de |𝑯(𝒇)| transmitiendo por segmento 8 y recibiendo por segmento
2, usando AVLR sobre la red de la Figura 2.4……………………………… .97
Figura 5.2: Relaciones señal a ruido para el canal original y el canal modificado. ........100
Figura 5.3: Segmentos usados por AVLR para variar la longitud del ramal. .................100
Figura 5.4: Aumento de |𝑯(𝒇)| transmitiendo por segmento 8 y recibiendo por segmento
2, usando el algoritmo AVLR y la combinación de cuatro segmentos en el ramal. .102
Figura 5.5: Relaciones señal a ruido para el canal original y el canal modificado cuando
se usa la combinación de cuatro segmentos en el ramal. .......................................103
Figura 5.6: Resultado después de aplicar el algoritmo AVLR al canal TX-RX de la Figura
4.2 con L abierto. ....................................................................................................105
Figura 5.7: Relaciones señal a ruido para el canal TX-RX de la Figura 4.2 con L abierto
para los casos del canal original y del canal modificado. ........................................106
Figura 5.8: Resultado después de aplicar el algoritmo AVLR al canal TX-RX de la Figura
4.2 con L cerrado. ..................................................................................................108
Figura 5.9 Relaciones señal a ruido para el canal TX-RX de la Figura 4.2 con L cerrado
para los casos del canal original y del canal modificado. ........................................109
Figura 5.10: Aplicación del algoritmo AVLR práctico al canal TX-RX de la Figura 4.2,
para L cerrado. .......................................................................................................112
Figura 5.11: Magnitud de las funciones de transferencia al aplicar AVLR_R_ODF entre
TX-RX de la red de la Figura 4.2 (segmento 1-segmento 13), para L cerrado. .......114
Figura 5.12: Mejora de canales producida por AVLR_R_ODF. .....................................116
Figura 5.13: Magnitud de la función de transferencia y relación señal a ruido para el
canal 21-13 de la red de la Figura 4.2.al aplicar AVLR_R_ODF. ............................117
Figura 5.14: Número de módems BPL internos por red en Europa. ..............................121
Figura B.1: Ejemplo de un circuito de acoplamiento ……………………………............132
Figura B.2: Modelo simplificado de transmisión, canal y recepción para un sistema BPL
InHouse …………………………………………………………………..………………………………132
Figura B.3: Modelo simplificado de transmisión con impedancias reflejadas sobre la línea
………………………………………………………………………………………………….133
Figura B.4: Configuración en el receptor para la presentación de diferentes impedancias a la línea de potencia………………………………………………………………………..134
Figura B.5: Interfaz típica de un sistema InHouse BPL ……………...…………….......135
Figura B.6: Respuesta en frecuencia del interruptor ADG713 ……………………......136
Figura B.7: Circuito atenuador basado en JFET..…………………….…………...…….136
Contenido XI
Figura B.8: Comportamiento de 𝒓𝑫𝑺 normalizado …………………………………………137
Figura B.9: Configuración de interruptor para selección de segmentos de línea para las derivaciones de la red BPL ………………………………………………………………….138
Figura B.10: El Tone Map Index en una trama y su codificación ……………………………………………………………....………………………………….140
Figura B.11: Uso de señales piloto en una trama IEEE 1901 ……………………………….…………………………………………………………………141
Figura B.12: Estimación de subportadoras en HPAV usando Synchronization Training Sequence (STS) …….…….…………………………………………………………………141
XII
Lista de tablas
Pág. Tabla 1.1: Bandas de suprimidas para evitar interferencias según IEEE 1901................. 8
Tabla 1.2: Máxima DEP de transmisión según IEC CISPR 22 CIS/I/301/CD. ................ 13
Tabla 2.1: Valores para la modelación top-down de una línea de
potencia………………………………………………………………………………………...18
Tabla 2.2: Coeficientes para el cálculo de los parámetros por unidad de longitud para
todos los tipos de cable medidos y modos de conexión. ......................................... 21
Tabla 4.1: Amplitud y posición en el tiempo de los 22 impulsos de la Figura
4.6……………………………………………………………………………………………….50
Tabla 4.2: Análisis de datos de la magnitud de la función de transferencia (dB) para
diferentes canales In-House (internos). ................................................................... 56
Tabla 4.3: Constantes de atenuación para varias líneas de transmisión hogareñas. ..... 58
Tabla 4.4: Picos de |H(f)| (dB) para una línea de 10 m, con parámetros de lin10. .......... 67
Tabla 4.5: Magnitud de la impedancia de entrada para una línea de 10 metros terminada
en circuito abierto. ................................................................................................... 69
Tabla 4.6: Valores de 𝐭𝐚𝐧𝐡𝜶𝒍 para valores pequeños de 𝜶𝒍. ......................................... 71
Tabla 4.7: Modos de funcionamiento de la estructura básica. Todos los segmentos con
mismo tipo de línea (lin9). Relaciones 𝐫𝟑𝟏 y 𝐫𝟐𝟏 entre 1 y 2. ................................. 83
Tabla 4.8: Modos de funcionamiento de la estructura básica. Los segmentos 1 y 3 son
del mismo tipo de línea (lin9). El segmento 2 es lin6. Relaciones entre 1 y 2. ........ 84
Tabla 5.1: Evolución sobre la red de la Figura 2.4 cuando se aplica AVLR recibiendo por
el segmento 2 y transmitiendo por el segmento
8……………………………………………………………………………………………………98
Tabla 5.2: Combinación de segmentos para variación de distancias de ramal usada por
el algoritmo AVLR (A = abierto, C = cerrado, X = no permitido). .............................101
Contenido XIII
Tabla 5.3: Evolución sobre la red de la Figura 2.4 cuando se aplica AVLR recibiendo por
el segmento 2 y transmitiendo por el segmento 8 y usando una combinación de
cuatro segmentos sobre el ramal. ..........................................................................102
Tabla 5.4: Resultados desde el punto de vista de aumento de la capacidad para el canal
TX-RX de la Figura 4.2 con L abierto. ....................................................................104
Tabla 5.5: Resultados desde el punto de vista de la mitigación de la interferencia para el
canal TX-RX de la Figura 4.2 con L abierto. ...........................................................104
Tabla 5.6: Evolución sobre la red de la Figura 4.2 cuando se aplica AVLR al canal directo
TX-RX (1-13) con L abierto. ...................................................................................104
Tabla 5.7: Resultados desde el punto de vista de aumento de la capacidad para canal
TX-RX de la Figura 4.2 con L cerrado. ...................................................................106
Tabla 5.8: Resultados desde el punto de vista de la mitigación de la interferencia para el
canal TX-RX de la Figura 4.2 con L cerrado. ..........................................................107
Tabla 5.9: Evolución sobre la red de la Figura 4.2 cuando se aplica AVLR al canal directo
TX-RX (1-13) con L cerrado. ..................................................................................107
Tabla 5.10: Evolución sobre la red de la Figura 4.2 cuando se aplica AVLR práctico al
canal TX-RX (1-13) con L cerrado y una fracción de 0.7. .......................................111
Tabla 5.11: Capacidades y densidades espectrales de potencia para canales de la Red
de la Figura 4.2 usando AVLR_R_ODF. .................................................................115
Tabla 5.12: Capacidades y densidades espectrales de potencia para canales de la Red
de la Figura 4.2 usando AVLR_R_ODF. .................................................................118
Tabla 5.13: Configuración final de la red de la Figura 4.2 después de haber aplicado
AVLR_R_ODF. .......................................................................................................118
Tabla 5.14: |H(f)| promedio inicial para canales de la red de la Figura 4.2 con L cerrado.
...............................................................................................................................119
Tabla 5.15: Evolución sobre la red de la Figura 4.2 cuando se aplica AVLR_R_ODF al
canal directo TX-RX (1-13) con L cerrado y una fracción de 0.7, en un solo periodo
de estabilidad. ........................................................................................................120
Tabla 5.16: Evolución sobre la red de la Figura 4.2 cuando se aplica AVLR_R_ODF al
canal directo TX-RX (1-13) con L cerrado y una fracción de 0.7, usando múltiples
periodos de estabilidad. ..........................................................................................120
XIV
Lista de Abreviaturas
AAPT Administración Adaptable de Potencia de Transmisión
AC Alternating Current
ADC Analog to Digital Converter
AGC Automatic Gain Control
ARRL American Radio Relay League
ATPM Adaptive Transmit Power Management
AVLR Algoritmo de Variación de Longitud de Ramales
AVLR_R AVLR para Relevo
AWG American Wire Gauge
B&VDW Bostoen y Van de Wiel
BER Bit Error Rate
BPL Broadband over Power Lines
BPSK Binary Phase Shift Keying
CAD Conversor Análogo-Digital
CAG Control Automático de Ganancia
CEM Compatibilidad Electromagnética
CISPR International Special Commitee on Radio Interference
dB Decibel o decibelio
DEP Densidad Espectral de Potencia
EMC Electromagnetic Compatibility
EMI Electromagnetic Interference
FCC Federal Communications Commission
HF High Frequency
HPAV HomePlug AV
IEC International Electrotechnical Commission
IEEE Institute of Electrical and Electronics Engineers
ITU International Telecommunication Union
JFET Junction Field-Effect Transistor
LS-FR LS with Full Rank reduced matrix
LS-SVD LS with Singular Value Decomposition
MAC Medium Access Control
Contenido XV
MATLAB MATRIX LABORATORY
NTC Norma Técnica Colombiana
MOSFET Metal-Oxide-Semiconductor Field-Effect Transistor
ODF Opportunistic Time Division Decode and Forward
OFDM Orthogonal Frequency-Division Multiplexing
PHY PHYsical Layer Protocol
PLC Power Line Communications
PLT PowerLine Telecommunications
PSD Power Spectral Density
PSK Phase-Shift Keying
QAM Quadrature Amplitude Modulation
QPSK Quadrature Phase Shift Keying
RETIE Reglamento Técnico de Instalaciones Eléctricas
RMS Root Mean Square
SNR Signal-to-Noise Ratio
STS Synchronization Training Sequence
STX Densidad Espectral de Potencia de Transmisión
TCC Turbo Convolutional Code
TDMA Time Division Multiple Access
TEM Transversal Electromagnetic Mode
TMI Tone Map Index
UWB Ultra Wide Band
Introducción
La banda de frecuencias en el intervalo de 1.8 a 30 MHz tiene la característica natural de
permitir comunicaciones inalámbricas entre puntos muy lejanos e incluso pueden dar la
vuelta al planeta, ya que las ondas electromagnéticas en estas frecuencias ―rebotan‖ en
la ionósfera dependiendo de la estación del año y la hora del día como resultado de las
propiedades de refracción de la ionósfera. Por esta razón, se han realizado considerables
esfuerzos para proteger esta banda de la interferencia electromagnética dañina creada
por el hombre.
Estudios han mostrado que una importante fuente de interferencia electromagnética que
está emergiendo en esta banda es la producida por sistemas comunicaciones de banda
ancha que usan las líneas de distribución de energía eléctrica [1] [2] [3] [4] [5]. Se ha
observado que esta interferencia sobrepasa el límite especificado por cuerpos nacionales
e internacionales como lo son la Federal Communications Commission (FCC) en Estados
Unidos [6] y el comité técnico CISPR (International Special Commitee on Radio
Interference) este último parte de la International Electrotechnical Commission (IEC) y
con el cual la FCC está alineada [7].
El desarrollo tecnológico de estos sistemas, significa el deseable uso para las
comunicaciones de la red de distribución de energía eléctrica, la cual no cesa de crecer,
pero que tiene el inconveniente técnico de no ser construida para dicho uso. La historia
de este desarrollo tiene una connotación especial, debido a que una vez se tenía la
respuesta tecnológica, la regulación cambió debido a los problemas de interferencia
detectados [8], creándose así un problema de compatibilidad electromagnética cuya
mitigación es el objetivo general de este trabajo.
Los sistemas desarrollados inicialmente, eran llamados Access BPL (en inglés
Broadband over Power Line), ya que la comunicación se desarrollaba sobre la red de
2 Introducción
media tensión que llega a los hogares y posteriormente la misma tecnología básica fue
trasladada a los sistemas hogareños. Sin embargo, la densidad espectral de potencia de
estos sistemas no cambió a pesar del cambio de regulación y se mantuvo en -50 dBm/Hz
[9]. La única concesión hecha con respecto a la interferencia se hizo en relación con las
frecuencias usadas por los radioaficionados, atenuando la señal a -80 dBm/Hz en estas
frecuencias, creándose así un sistema de ranuras.
En diciembre de 2010, IEEE publicó el estándar 1901 [10], el cual oficializó la tecnología,
y donde se especificó una densidad espectral de potencia (DEP) de -55 dBm/Hz. Aunque
hubo una disminución de la DEP, este valor está lejano del valor estimado de -72
dBm/Hz [11], el cual sería necesario para cumplir con lo especificado por la FCC [12].
En este punto conviene preguntarse en el caso del hogar ¿qué es lo que realmente
produce la interferencia electromagnética? Básicamente el problema surge por la
existencia de ruidos llamados de modo diferencial y de modo común, los cuales son
producidos porque el sistema eléctrico y los dispositivos hogareños presentan diferentes
métodos de acoplamiento de señal. Estos métodos de acoplamiento hacen que exista
ruido entre las fases y el neutro (ruido de modo diferencial) o entre las fases y la tierra de
protección de un sistema eléctrico (ruido común).
Este acoplamiento se produce porque por alguna razón se presenta un camino de baja
impedancia por el cual la señal se puede propagar. El camino se puede dar por causa de
capacitancias parásitas presentadas por los dispositivos hogareños o por acoplamientos
galvánicos con la tierra común [13], siendo este acoplamiento la principal causa de
radiación [14]; o por acoplamiento capacitivo entre líneas paralelas de suministro o por
acoplamiento inductivo por medio de cables enrollados que llegan a formar espiras [15].
El caso de acoplamiento a tierra se ve favorecido en algunos casos por la normatividad
local. En el caso colombiano Norma Técnica Colombiana NTC2050 artículo 250-23 [16]
favorece de la siguiente forma: ―Cuando se ponga a tierra en cualquier punto un sistema
de c.a. de menos de 1 000 V, el conductor puesto a tierra se debe llevar hasta cada
medio de desconexión de la acometida y conectarlo equipotencialmente al armario de
cada uno de ellos. Este conductor se debe llevar con los conductores de fase…‖. Es decir
Introducción 3
se conforma el acoplamiento en su solo punto y se permite circulación de corrientes de
modo común a lo largo del conductor de tierra, propiciándose así la radiación.
La señal acoplada puede propagarse a lo largo de las conexiones directas o a través del
aire por medio de radiación. Si la estructura del sistema proporciona buenas
características de antena, la señal usará estas antenas parásitas y radiará del sistema al
aire. Esta radiación normalmente no se puede evitar pero se puede mitigar, por ejemplo
disminuyendo la DEP inyectada. Sin embargo si esta disminución no se hace de manera
adecuada, se afectará la capacidad de transmisión de datos de la línea de potencia.
El conocimiento de estos efectos no sería realmente útil si no se expresa en términos de
ecuaciones. En relación con líneas de transmisión, estos efectos deben ser expresados
por ejemplo en términos de impedancia característica o mejor aún en términos de la
función de transferencia del canal de comunicaciones considerado. Esto significa, que se
debe encontrar una forma de modelación para este canal, pero los científicos han
encontrado que esta no es una tarea fácil, y por eso algunos inclusive lo han calificado
como un canal ―horrible‖ [17] ya que sufre de varios problemas técnicos:
Es un medio cuya atenuación varía con la frecuencia y con el tiempo.
El modelo de canal depende del sitio, la topología de la red y de las cargas
conectadas.
Alta interferencia debido a cargas ruidosas.
Alto ruido de fondo no blanco.
Restricciones de compatibilidad electromagnética que limitan la potencia de
transmisión.
Sin embargo este fue el primer reto que se asumió en esta investigación con resultado
exitoso. Partiendo de datos disponibles, en especial de los almacenados en Xplore de
IEEE, se logró construir una herramienta analítica en la cual como entrada se tienen la
topología de la red, sus cargas, longitudes, parámetros eléctricos de líneas y como salida
se obtiene la función de transferencia de los canales considerados, lo que habilita el
cálculo de la capacidad de Shannon. En algunos casos estos resultados fueron
contrastados con sus pares publicados, lográndose coincidencia con ellos.
4 Introducción
Una vez se dispuso de esta herramienta, se procedió a la exploración de canales en una
topología típica y se encontraron intrigantes resultados que debían ser explicados
teóricamente. Se encontró que las redes BPL Hogareñas, tienen una combinación
característica de distancias, constantes de atenuación y un ambiente de propagación
multicamino que hacen posible variar la función de transferencia del canal de tal forma
que se puede conservar la capacidad de transmisión con una menor DEP.
Este hallazgo es fundamental, ya que a la postre lleva a que la radiación desde la red sea
menor, llegándose a encontrar que se pueden obtener niveles de DEP de hasta 12 dB
por debajo de la DEP requerida (-72 dB/Hz) para cumplir lo especificado acerca de
emisiones de campo eléctrico por parte de la FCC y hasta 26.72 dB por debajo de la
DEP especificada para sistemas BPL por IEEE (-55 dBm/Hz).
En el camino para encontrar la forma como se deben efectuar las variaciones en el canal
para obtener este resultado, se debieron entender cuatro asuntos básicos que se
encontraron: un efecto que se denominó la ganancia por distancia, por el cual se explica
por qué un canal puede presentar ganancia en la magnitud de su función de
transferencia con dependencia de la diferencia en la longitud de caminos por los que
puede circular la señal; la direccionalidad que exhiben estas redes cuando se transmite
desde un ramal, lo que permitiría ―enfocar‖ la señal electromagnética en la red hacia un
receptor específico sobre ella; el hecho de que la capacidad del canal se puede construir
discretamente, lo que habilita que se puedan hacer variaciones paso a paso en la red
para afectarla y finalmente el por qué con la combinación de distancias y constantes de
atenuación para los canales encontrados en estas redes, se puede lograr ganancias
apreciables en la magnitud de la función de transferencia, siendo esto especialmente útil
en el ramal de un dispositivo receptor.
Como paso final, se aplicó la variación de canal aquí encontrada al sistema de relevo
explorado por Tonello y otros [18], concluyéndose que es posible tener un sistema de
transmisión por relevo que cumpla con la compatibilidad electromagnética para los
sistemas BPL hogareños.
Introducción 5
En la última parte de este trabajo se hace uso de un nuevo método de mitigación
denominado Administración de Potencia de Transmisión Adaptable (ATPM, por su sigla
en inglés) [19]. Esta iniciativa reconoce las características especiales de los canales
hogareños y propone disminuciones hasta de 30 dB en la DEP de transmisión [20].
Esta disertación se desarrollará siguiendo los siguientes pasos:
Inicialmente se comenta el estado del arte o antecedentes de las técnicas de
mitigación, las cuales no son muy numerosas, encontrándose que no hay un
antecedente directo a la solución presentada, convirtiéndose de esta forma en
una propuesta original.
En segunda instancia se comenta el marco teórico, en el cual se incluyen todos
aquellos principios, hallazgos, variables fundamentales, datos técnicos,
normatividad, métodos, determinación de escenarios, a partir de los cuales se
logró desarrollar los resultados intermedios y finales.
Aplicando el método científico, en la tercera parte se detalla la metodología usada
en cada parte del proceso, desde la observación del fenómeno, la creación de la
hipótesis para explicarlo y su demostración y finalmente el uso de la relación de
variables intrínsecas del fenómeno para lograr los objetivos mediante
experimentación sobre un modelo computacional
Las partes cuarta y quinta son partes complementarias. En la cuarta parte se
prepara el camino para llegar al objetivo final. Mediante una aproximación teórica
(ver anexo A), se encuentran principios que serán usados en la solución final, la
cual se describe en la quinta parte. La solución final hace uso de cada detalle del
marco teórico, de una técnica del estado del arte y de los resultados intermedios
de la cuarta parte, demostrando el funcionamiento de la tesis.
En el Anexo B, se comentan aspectos relacionados con una posible
implementación práctica.
1 Estado del arte
En este capítulo se hace referencia al estado del arte de las soluciones relacionadas con
las técnicas de mitigación de la interferencia electromagnética en redes BPL. La
expresión ―técnica de mitigación‖ en el dominio BPL se refiere a cualquier método
diseñado para disminuir las emisiones sin afectar significativamente el caudal de datos
de transmisión alcanzable. Estas técnicas pueden ser pasivas o activas dependiendo si
se requiere o no de potencia de transmisión adicional para que la técnica opere [21] .
1.1 Máscara espectral de la DEP definida por IEEE 1901
Una técnica pasiva para mitigación de la interferencia es la propuesta de máscara
espectral de transmisión propuesta por IEEE en 2010 en el estándar IEEE 1901 [10], la
cual se observa en la Figura 1.1.
Figura 1.1: Máscara espectral de transmisión según IEEE 1901 [10].
Se observa en la Figura 1.1 las ranuras correspondientes a las frecuencias de los
radioaficionados. En estas frecuencias la densidad espectral de potencia es -85 dBm/Hz
y para las demás frecuencias en la banda es -55 dBm/Hz. Esto quiere decir que a
8 Red BPL residencial basada en relevo para mitigación de la interferencia
excepción de los radioaficionados, los demás servicios en la banda, pueden resultar
potencialmente interferidos. Esta técnica lleva a la consecuencia directa de perder 3,917
MHz o 13,89% de la banda para BPL hogareña, como lo muestra la Tabla 1.1.
Tabla 1.1: Bandas de suprimidas para evitar interferencias según IEEE 1901.
Esta técnica de ranuras permanentes está evolucionando hacia una técnica de ranuras
dinámicas [22], la cual se basa en la detección de estaciones de radiodifusión. En la
Figura 1.2 se observa la diferencia
Figura 1.2: Ranuras permanentes vs. ranuras dinámicas para la DEP [22].
Capítulo 1 9
Para observar el estado del arte del sistema de ranuras permanente, en la propuesta de
Investigación se incluyó el ―Establecimiento indirecto de niveles de interferencia,
mediante el uso de dos módems In-House BPL y un receptor HF‖, en consideración de
que las comunicaciones en HF son usadas en gran parte para voz. Se supuso que la
interferencia es ―audible‖ cuando se escucha en forma apreciable el ruido generado por
los sistemas BPL, pero la recepción de voz es entendible y ―fuertemente audible‖ cuando
la interferencia se escucha tan alta que la recepción de voz no es entendible. Esta
metodología está inspirada en el estudio realizado entre HomePlug y los radioaficionados
de Estados Unidos (ARRL – American Radio Relay League) [23] para verificar la
operación del sistema de ranuras.
El experimento se realizó en un apartamento de 80 𝑚2, y la distancia entre los módems
fue de 12 m. Las frecuencias sintonizadas fueron 6.01 MHz, 9.425 MHz y 9.83 MHz, ya
que en estas frecuencias se detectaron radiodifusiones.
En este experimento se utilizaron los siguientes elementos:
2 computadores portátiles, con interfaces Ethernet 100baseT cada uno.
2 módems BPL, ZyXEL PLA-400 v2 [24], los cuales cumplen con HomePlug
AV, por tanto tienen una DEP de transmisión de -50 dBm/Hz.
Software libre Iperf [25] para inyección en la red de datos de prueba.
1 receptor HF [26], Sony ICF-SW35.
Se obtuvo en el experimento que la interferencia era ―audible‖ cuando los módems
estaban conectados pero no se transmitían datos desde los computadores, es decir los
módems estaban en estado de reposo. Cuando se inyectaban datos a la red hogareña, la
interferencia se volvía ―fuertemente audible‖. En los archivos entregados en el soporte
óptico ―c:/tesis/videos/interferencia en 6_01 Mhz‖,―c:/tesis/videos/red interna como antena
9_435MHz‖, ―c:/tesis/videos/interferencia en 9_83 MHz‖, se puede observar con detalle
los experimentos.
Estos experimentos, aunque sencillos, reflejaron el estado del arte en cuanto a
interferencia electromagnética de las redes BPL Hogareñas en los servicios de
radiodifusión.
10 Red BPL residencial basada en relevo para mitigación de la interferencia
1.2 Uso de “insertos” en las tomas de energía
Las corrientes de modo común generadas a lo largo de los cables de una línea de
potencia y sus campos magnéticos asociados, son principalmente debidas a asimetrías
eléctricas. Estas corrientes pueden ser reducidas en las redes BPL hogareñas por varios
métodos. Si se insertan ferritas a los largo de los cables de distribución de energía
(pupinización) habrá supresión de las corrientes de modo común. Sin embargo, esta
opción requiere acceso directo al cable de distribución de energía, lo que obviamente
resulta inconveniente. Una segunda opción es agregar un corto circuito para HF en todos
los interruptores (para evitar la asimetría de ―cable abierto‖). Esta solución implica un
trabajo eléctrico tedioso y posiblemente grande. Una simple atenuación de la señal de
salida BPL puede ser muy eficiente, pero esto puede reducir el desempeño es decir
disminuye la rata de datos. Otra posibilidad es insertar en cada tomacorriente un
dispositivo que reduzca el nivel de emisión.
De acuerdo con Favre y otros [27], las corrientes de modo común pueden ser reducidas
con el uso en los tomacorrientes de unos ―insertos‖, lográndose reducir el campo
magnético radiado entre 6 y 10 dB. El principal papel de los ―insertos‖ es reducir el
impacto de las asimetrías a lo largo de la línea de potencia. El ―inserto‖ presenta una
carga diferencial muy baja, para reducir el efecto de la impedancia parásita de modo
común. En la Figura 1.3 se puede observar la este dispositivo.
Figura 1.3: Diagrama de un ―inserto‖ o ―plugin‖ [27].
Capítulo 1 11
Aunque parece una buena opción, al considerar esta técnica detenidamente, quedan
abiertas algunas inquietudes con respecto a ella:
Preocupa el criterio que se sigue para saber en qué tomacorrientes colocar los
―insertos‖. De acuerdo con el artículo, los ―insertos‖ son más eficientes cuando
están más cerca de la fuente de interferencia. Entonces esto significa que si la
fuente de interferencia cambia de lugar ¿hay que cambiar de posiciones los
―insertos‖? Pareciera que sí, ya que además la eficiencia de los ―insertos‖
depende de la topología de la red, es decir de la parte a donde se conectan.
En la instalación de pruebas o ―artificial room‖ se observa una instalación muy
pequeña (4 m de ancho x 4 m de profundidad x 1.8 m de alto) y aunque se dice
que también se hicieron pruebas en apartamentos reales, no se dice
exactamente en qué área se hicieron.
Los experimentos se hicieron con cuatro ―insertos‖. No se menciona si en el
tomacorriente donde se instala el ―inserto‖ se puede instalar una carga o esta
queda asignada exclusivamente al ―inserto‖. De ser así, esto no sería muy
conveniente en una situación real.
1.3 Inyección de Señal Auxiliar
Una técnica activa y en desarrollo para lograr la reducción de las emisiones desde las
redes BPL hogareñas se basa en colocar una interferencia destructiva intencional,
inyectando una señal auxiliar seleccionada en el circuito Tierra-Neutro [21]. Para lograr
esto, el dispositivo requiere adicionar una antena la cual se usa para determinar la
magnitud y fase del voltaje de compensación en el sistema propuesto.
Sin embargo, es posible que no se pueda lograr una alineación entre las componentes
del campo emitido y el destructivo, lo que puede resultar en que algunas componentes de
la emisión sean incrementadas. Esto es preocupante, aunque los autores de esta técnica
argumentan que en promedio se logra una reducción de 10 a 20 dB en todas las
componentes del campo en el área de interés.
12 Red BPL residencial basada en relevo para mitigación de la interferencia
Un problema adicional que puede surgir en relación con esta técnica, es que en realidad
se está haciendo una emisión intencional, y los reguladores como la FCC tienen
clasificada la tecnología BPL como la de un radiador no intencional, ya que no le se ha
asignado alguna parte del espectro para que desarrolle su servicio.
Un avance en esta técnica es reportado por Pang y otros [28]. En este caso una señal se
inyecta entre fase y tierra y otra entre tierra y neutro de una línea. El efecto final es usar
la mitad del voltaje de la señal de usada en [21] y lograr una reducción en el nivel de
radiación de 20 dB y de hasta 40 dB en el intervalo de 2.5 a 5 MHz. Esta técnica se ha
experimentado en el laboratorio haciendo uso de una sola línea, es decir no se ha
probado en una red real. Además, solo es aplicable en aquellas redes donde la fase, el
neutro y la tierra corran paralelas y muy próximas entre sí.
1.4 Administración Adaptable de Potencia de
Transmisión
La aceptación de adaptabilidades es casi ―revolucionaria‖ en el mundo de la
estandarización de EMI (ElectroMagnetic Interference) [20]. Pese a ello, se ha visto en el
área de las comunicaciones por línea de potencia hogareñas propuestas acerca de
técnicas de mitigación de EMI adaptables. Estas propuestas han sido hechas por el
grupo CISPR-22-PLT, el cual es un grupo de trabajo dedicado a los métodos de medida y
propuesta de límites para proteger los servicios de radio establecidos en la banda de
frecuencias de 1.6 a 30 MHz, los cuales pueden ser afectados por la posible interferencia
de sistemas de Power Line Telcommunications (PLT) o BPL [29]. Este grupo adoptó en
2009 como un anexo normativo, técnicas de mitigación de EMI adaptables llamadas
―Smart Notching‖ (técnica que en el apartado 1.1 se denominó de Ranuras dinámicas) y
―Adaptive Transmit Power Management - ATPM‖ o en español Administración Adaptable
de Potencia de Transmisión (AAPT) [30].
ATPM opera reduciendo los niveles de densidad espectral de potencia (DEP) para el
caso de bajo ruido y baja atenuación de los canales. Su implementación se basa en
hacer uso de la habilidad del control automático de ganancia (CAG) que tienen
Capítulo 1 13
implementados los módems BPL para amplificar la señal en el lado receptor. En vez de
transmitir con un nivel de transmisión constante, tiene sentido reducir el nivel de
transmisión y dejar que el CAG amplifique la señal recibida. Esto quiere decir que el
modem debe detectar pérdidas de transmisión y fijar la potencia a transmitir al mínimo
nivel requerido para lograr una transferencia de datos a una velocidad dada (actualmente
en general los módems no hacen uso de la administración de la potencia de transmisión)
[31].
Los módems más avanzados tienen un intervalo de CAG de 60 dB [19]. Estos módems
fijan la DEP de transmisión en -55 dBm/Hz independiente de la atenuación entre los dos
dispositivos. Para una atenuación de 0 dB, el CAG no amplificará la señal recibida
(suponiendo una buena relación señal a ruido) y se tendrá una velocidad a nivel físico de
200 Mbps. Si la atenuación se incrementa linealmente sobre todo el espectro de
frecuencia en pasos de 1 dB, esto lleva también a que el CAG incremente la ganancia
en pasos de 1 dB.
Cuando se usa ATPM, se puede esperar un buen desempeño hasta cierto nivel de
atenuación del canal. Esos límites han sido propuestos en IEC CISPR 22 CIS/I/301/CD,
Amd. 1 [30] , donde se define la máxima DEP como función de la pérdida de inserción en
modo diferencial entre el Equipment Under Test (EUT) y el Auxiliary Equipment (AE) para
dispositivos PLT que soporten ATPM, como se muestra en la Tabla 1.2. En este punto se
debe recordar que la pérdida por inserción es la relación entre la tensión en la carga 𝑍𝐿
con el cable presente y la tensión en la carga 𝑍𝐿 sin la carga.
Tabla 1.2: Máxima DEP de transmisión según IEC CISPR 22 CIS/I/301/CD [30].
Pérdida por inserción en modo diferencial entre EUT-AE (dB) >40 40 30 20
Máxima DEP de Transmisión (dBm/Hz) -55 -55 -63 -73
Un asunto importante mostrado la Tabla 1.2, es que para pérdidas entre 20 y 30 dB, se
puede usar una DEP de -73 dBm/Hz, es decir se tendría una DEP que lleva a cumplir la
especificación de radiación de campo de la FCC (-72 dBm/Hz).
14 Red BPL residencial basada en relevo para mitigación de la interferencia
En su uso actual, el CAG tiene que prevenir la sobrecarga del conversor análogo-digital
(CAD o en inglés ADC) en el receptor ante la presencia de señales fuertes. Por ello, la
respuesta a la señal de entrada en cuya frecuencia se presenta un mínimo de atenuación
de canal, es controlada por el CAG. El umbral de entrada en funcionamiento del CAG se
fija en alrededor de 30 dB. Cuando se presenta una atenuación mínima del canal, el CAG
entra en acción y atenúa la señal.
Figura 1.4: Umbral del CAG (AGC en inglés) sobre la atenuación medida de un canal
(dB). El eje X muestra el intervalo de frecuencia y el eje Y la atenuación en dB [20].
En la Figura 1.4 se muestra un ejemplo medido en el campo [20], en donde se midió una
atenuación mínima de 12 dB y una máxima atenuación (en la banda de 1.8 a 30 MHz) de
64 dB. Con el objeto de usar de la mejor forma el intervalo dinámico del CAD, típico de
60 dB, se debe cubrir toda la variación de la señal recibida. Por ello, la parte superior de
los 60 dB es ajustada por el CAG el cual incluye el nivel mínimo de 12 dB del ejemplo,
donde existiría algún recorte para así inyectar la señal para el CAD. Al comparar la
máxima ganancia del CAG (30 dB para este caso), en el ejemplo se podría introducir una
atenuación de 18 dB ya sea en el transmisor o en el receptor. Para la gran mayoría de
los sistemas BPL In-House, ambos modos de operación son equivalentes, pero solo el
Capítulo 1 15
CAG del transmisor proporciona beneficios para el caso de la compatibilidad
electromagnética. La reducción en la potencia de transmisión, de acuerdo a lo
comentado, se podrá calcular como:
𝐑𝐞𝐝𝐮𝐜𝐜𝐢ó𝐧 𝐝𝐞 𝐩𝐨𝐭𝐞𝐧𝐜𝐢𝐚 𝐝𝐁 = 𝟑𝟎 𝐝𝐁 + 𝐀𝐭𝐞𝐧𝐮𝐚𝐜𝐢ó𝐧 𝐦í𝐧𝐢𝐦𝐚 𝐝𝐞 𝐜𝐚𝐧𝐚𝐥 𝐝𝐁 (𝟏. 𝟏)
Se debe enfatizar el hecho que de acuerdo con pruebas publicadas por ITU-R [5], se ha
observado ―que la implementación de técnicas como filtros de ranura y control de
potencia de salida ofrecen una efectiva protección a los sistemas HF‖.
1.5 Mitigación de la Interferencia Electromagnética
mediante el uso de Pulsos de Banda Ultra-ancha.
Las dos conclusiones de la disertación de Mekuria [32] fueron:
Es posible transmitir pulsos UWB (Ultra Wide Band) en el intervalo nano sobre
canales PLC.
Se puede lograr reducción de las Interferencias del orden de 15 dB en frecuencias
por debajo de 30 MHz.
Esta propuesta puede resultar atractiva pero los modelos y pruebas han sido hechos a
nivel de laboratorio y sobre un canal muy sencillo. Su implementación significaría el
rediseño de las redes BPL actuales, ya que la transmisión no sería basada en
portadoras. Se debe recordar que para llegar a la actual tecnología, se ha recorrido un
largo camino desde el surgimiento de las redes inalámbricas basadas en OFDM, siendo
este un legado traspasado a las redes BPL. Sin embargo esa propuesta abre nuevas
perspectivas para estas redes.
16 Red BPL residencial basada en relevo para mitigación de la interferencia
1.6 Reducción de la potencia radiada cambiando la
geometría de la instalación eléctrica.
Esta técnica [33] propone controlar la banda de frecuencia de la señal de comunicación
para reducir la potencia radiada. Esto está relacionado con la dimensión geométrica de la
instalación eléctrica. Se propone una antena para el análisis del campo electromagnético
radiado, la cual representaría un segmento usado por un sistema de comunicación por
línea de potencia. De esta forma el campo radiado se representa en función de la
reducción de la longitud y el radio, para demostrar que la potencia radiada es mínima
para diferentes valores de longitud. A partir de este resultado, se puede escoger valores
de frecuencia óptimos para limitar la potencia electromagnética radiada y así reducirla a
alrededor de 7.5 dB.
Desde luego esta es una aproximación muy básica en cuanto a sus resultados para ser
aplicada en una red residencial. Sin embargo la idea de la modificación geométrica es de
alguna forma innovadora con respecto a las demás técnicas.
En este capítulo se han mencionado algunas técnicas para la mitigación de la
interferencia de los sistemas de comunicación BPL hogareños. Además de no existir una
gran cantidad de ellas, no existe hasta el momento una técnica concluyente a la que la
industria pueda acogerse.
2 Marco Teórico
En este capítulo se mencionan aquellos elementos, consideraciones, mediciones,
principios, relacionados con las redes BPL hogareñas que se usaron para lograr los
objetivos de este trabajo.
2.1 Modelación de la red BPL hogareña.
En esta investigación se realizó la modelación de la red BPL hogareña mediante un
enfoque determinístico, encontrándose dos vertientes: la modelación Top-down y la
modelación Bottom-up.
2.1.1 Modelación Top-down
Este primer enfoque concibe la modelación desde el punto de vista meramente
fenomenológico, observándose el comportamiento del canal como un todo. Para aplicar
este modelo es necesario hacer unas mediciones preliminares sobre el canal específico.
Con este método de modelación Zimmermann y Dostert [34] [35] lograron reconocimiento
con la formulación de su modelo llamado de multicamino y su posterior comprobación
práctica en un canal. La ecuación fundamental de este modelo expresa la función de
transferencia del canal como:
En la ecuación (2.1) los valores de 𝑔𝑖 (factor de ponderación) se relacionan con
fenómenos de reflexión y transmisión a lo largo del camino 𝑖 de propagación, 𝑑𝑖 es la
longitud de dicho camino, 𝑣𝑝 es la velocidad de fase, 𝑎0 y 𝑎1 están relacionados con
18 Red BPL residencial basada en relevo para mitigación de la interferencia
constantes de los cables conductores, y k es un valor entre 0 y 1. El término de
atenuación se relaciona con las pérdidas de señal RF a lo largo de la línea y son el
resultado del efecto piel y de las pérdidas en el dieléctrico. El término de retardo es la
porción de constante de fase.
Es importante agregar que los valores de 𝑔𝑖 pueden ser negativos o positivos, tal y como
los muestra la Tabla 2.1, cuyos valores fueron encontrados por Zimmermann y Dostert
para el caso de modelación de una línea. Los valores de 𝑔𝑖 fueron hallados por
Zimmermann y Dostert mediante mediciones en el laboratorio.
Tabla 2.1 Valores para la modelación top-down de una línea de potencia [35].
Sin embargo este modelo tiene dos limitaciones importantes:
No se sabe la cantidad de caminos que se deben incluir, y solo se encuentra
cuando se compara el resultado del modelo con las mediciones hechas sobre el
canal físico. En ese momento se habrán encontrado los N caminos necesarios
para que el modelo funcione.
Se deben hacer mediciones, que pueden ser previas, sobre el canal; las cuales
solo serán válidas para el canal específico.
Estas limitaciones hacen que sean muy reducidas las posibilidades de poder hacer
predicciones del comportamiento de redes y canales. Sin embargo, es posible pensar
que como modelo, no solo debe ser aplicable a las redes de acceso sino también a las
redes hogareñas. Como se verá, esta extensión producirá un hallazgo teórico importante.
Camino di/m gi
1 200 0,64
2 222,4 0,38
3 244,8 -0,15
4 267,5 0,05
Capítulo 2 19
2.1.2 Modelación Bottom-up
El enfoque Bottom-up permite hacer predicciones del comportamiento de una red BPL
hogareña con el conocimiento de la topología, los parámetros eléctricos, las cargas y las
distancias que componen la red. Como limitación tiene que no permite desarrollar una
fuerte carga teórica por su enfoque de caja negra. Sin embargo tiene la virtud de servir
como plataforma para constatar resultados producidos por consideraciones teóricas.
La ecuación fundamental de este modelo se encuentra aplicando la ley de corriente de
Kirchhoff, la cual establece que la suma de corrientes en un nodo debe ser cero. Si en un
nodo 𝑘 están conectadas 𝑁 líneas de transmisión, las cuales a su vez están conectadas
a otros 𝑁 nodos, la sumatoria de corrientes en el nodo 𝑘, es [36]:
0 = 𝑉𝑘0 (
𝐴𝑖
𝐵𝑖)
𝑁
𝑖=1
− 𝑉𝑘
𝑖
𝐵𝑖
𝑁
𝑖=1
(2.2)
siendo 𝑉𝑘0 es la tensión en el nodo 𝑘, 𝑉𝑘
𝑖 son las tensiones de los 𝑁 nodos adyacentes al
nodo 𝑘 conectados por las 𝑁 líneas de transmisión conectadas al nodo nodo 𝑘; 𝐵𝑖 y 𝐴𝑖
son los elementos de la matriz de transmisión de la línea que conecta el nodo 𝑘 con el
nodo 𝑖. En la ecuación (2.2) se considera que todas las corrientes son salientes desde el
nodo 𝑘. Al conocer las tensiones en los nodos red, entonces será posible encontrar la
magnitud de la función de transferencia del canal considerado.
2.2 Parámetros Eléctricos para las Líneas de
Transmisión de las Redes BPL hogareñas.
Una red BPL hogareña se puede ver como una red tipo bus, en la cual se interconectan
líneas de transmisión. Para poder modelarla con el método de modelación Bottom-up es
necesario contar con los datos de los parámetros eléctricos del las líneas que constituyen
20 Red BPL residencial basada en relevo para mitigación de la interferencia
la red. En la investigación se encontraron dos fuentes cuyos datos habilitaron el uso de la
modelación Bottom-up.
2.2.1 Parámetros de Bostoen y Van de Wiel
Bostoen y Van de Wiel (B&VDW) [37] hicieron un estudio con el cable de distribución de
4x95 mm2 y los cables de conexión de 4x10 mm2 y 4x25 mm2. Todos estos cables se
componen de cuatro conductores: un cable para neutro y tres conductores para cada
fase. Sin embargo estos cables se aproximan como líneas monofásicas considerando
dos de los cuatro conductores (neutro y una fase) o uniendo los conductores para las tres
fases. Por tanto se definen tres modos de conexión, 1-2, 1-3, y 1-(2+3+4) como se
muestra en la Figura 2.1.
Figura 2.1: Configuraciones de las líneas de B&VDW, 1-2 (arriba), 1-3 (centro) y 1-
(2+3+4) (abajo) [37].
Según los autores, las líneas de la Figura 2.1 pueden ser consideradas como líneas de
transmisión de dos conductores, comprobándose en la práctica que esta es una
aproximación razonable, ya que para las frecuencias de interés las diferencias entre
Capítulo 2 21
funciones de transferencia obtenidas usando las líneas de transmisión por ellos definidas
y las medidas están entre 0.75 dB y 3 dB en para diferentes canales.
De acuerdo con B&VDW, para una línea de transmisión de dos hilos (dos conductores
con una sección circular en un dieléctrico homogéneo) y considerando además una
amplia separación, los parámetros eléctricos por unidad de longitud dependen de la
frecuencia como se observa en las siguientes ecuaciones y cuyos coeficientes se
muestran en la Tabla 2.2:
𝑟 = 𝑟1 𝑓 (2.3)
𝑙 = 𝑙1 +𝑙2
𝑓 (2.4)
𝑔 = 𝑔1𝑓 (2.5)
𝑐 = 𝑐1 (2.6)
Tabla 2.2: Coeficientes para el cálculo de los parámetros por unidad de longitud para
todos los tipos de cable medidos y modos de conexión [37] .
𝑟1
[μΩ 𝑚−1 𝑠1/2]
𝑙1
[μH 𝑚−1] 𝑙2
[μH 𝑚−1 𝑠−1/2] 𝑔1
[pS 𝑚−1 𝑠] 𝑐1
[pF 𝑚−1]
4𝑥10 𝑚𝑚2 1-2
142 0.287 22.3 4.68 91.0
4𝑥10 𝑚𝑚2 1-3
178 0.369 32.7 2.99 68.8
4𝑥10 𝑚𝑚2 1-(2+3+4)
116 0.195 17.9 2.50 133
4𝑥25 𝑚𝑚2 1-2
79.1 0.248 16.8 8.57 111
4𝑥25 𝑚𝑚2 1-3
164 0.372 24.8 4.18 73.8
4𝑥25 𝑚𝑚2 1-(2+3+4)
93.9 0.191 23.2 8.71 142
4𝑥95 𝑚𝑚2 1-2
61.1 0.166 92.6 7.56 141
4𝑥95 𝑚𝑚2 1-3
51.8 0.219 17.9 6.76 110
4𝑥95 𝑚𝑚2 1-(2+3+4)
31.9 0.112 9.22 13.0 216
22 Red BPL residencial basada en relevo para mitigación de la interferencia
Para probar la herramienta analítica desarrollada por modelación Bottom-up, esta se
aplicó a dos redes propuestas por B&VDW. La primera red se muestra en la Figura 2.2.
En esta red se propone encontrar la magnitud de la función de transferencia entre los
puntos VLT y VNT usando los coeficientes de la Tabla 2.1.
Figura 2.2: Topología de red con una derivación y segmentos en modo 1-(2+3+4) [37].
Los resultados obtenidos por la herramienta, cuyo código se observa en el Programa 1
(para observar los códigos en MATLAB, por favor leer el apartado 7.3), se comparan en
la Figura 2.3 con los obtenidos por B&VDW, encontrándose coincidencia.
Figura 2.3: Magnitud de la función de transferencia entre los puntos VLT-VNT de la red
de la Figura 2.2.
a. Resultado obtenido con la
herramienta analítica
desarrollada.
b. Resultado de obtenido por
B&VDW (Imagen recuperada del
artículo) [37].
Capítulo 2 23
Una segunda prueba se hizo con la red de la Figura 2.4 y de nuevo se encontró
coincidencia con lo obtenido por la herramienta y lo obtenido por B&VDW como se
muestra en la Figura 2.5 para los puntos LT y NT. El código de esta prueba se observa
en el Programa 2.
Figura 2.4: Topología de red con seis derivaciones propuesta por B&VDW [37].
Figura 2.5: Magnitud de la función de transferencia entre los puntos VLT-VNT de la red
de la Figura 2.4.
a. Resultado obtenido con la
herramienta analítica
desarrollada.
b. Resultado de obtenido por
B&VDW (Imagen recuperada del
artículo) [37].
24 Red BPL residencial basada en relevo para mitigación de la interferencia
2.2.2 Parámetros de Barmada y otros
Las siguientes expresiones son aportadas por Barmada y otros [38], las cuales fueron
usadas para el cálculo de los parámetros por unidad de longitud en las líneas de
transmisión de una red BPL hogareña:
𝑅 𝑤 = 𝑅0
1 + 𝑗𝑤𝜏𝑟 ,𝑛
1 + 𝑗𝑤𝜏𝑟 ,𝑑 Ω
𝑚 (2.7)
𝐺 𝑤 = 𝐺0
1 + 𝑗𝑤𝜏𝑔,𝑛
1 + 𝑗𝑤𝜏𝑔,𝑑 Ω−1/𝑚 (2.8)
con:
𝑅0 = 0.1239 Ω 𝑚 , (2.9)
𝜏𝑟 ,𝑛 = 1.06 ∗ 10−7 𝑠 (2.10)
𝜏𝑟 ,𝑑 = 1.17 ∗ 10−8 𝑠, (2.11)
𝐺0 = 8.05 ∗ 10−6 Ω−1
𝑚 (2.12)
𝜏𝑔,𝑛 = 1.161 ∗ 10−7 𝑠, (2.13)
𝜏𝑔,𝑑 = 0.666 ∗ 10−8 𝑠 (2.14)
𝐶 = 68.8𝑒 − 12 𝐹 𝑚 , (2.15)
𝐿 = 0.369 ∗ 10−6𝐻/𝑚. (2.16)
Se encuentra que estos parámetros tienen valores muy cercanos con la línea 4x10 mm2
modo 1-3 de B&VDW.
Capítulo 2 25
2.3 Límite de la Densidad Espectral de Potencia (DEP)
La FCC en su parte 15, sección 15.209 [12] específica que el límite de un campo
eléctrico radiado por un radiador no intencional en la banda de 1.705 – 30.0 MHz no debe
exceder de 30 𝜇𝑉/𝑚 (29.5 𝑑𝐵𝜇𝑉/𝑚 ) a una distancia de 30 𝑚.
Para calcular el campo emitido por una señal de entrada arbitraria en un sistema BPL
hogareño, se ha definido un parámetro llamado factor de acoplamiento [39], el cual
puede ser considerado como una función de transferencia entre las señales de
comunicación sobre las líneas como entrada y el campo radiado como salida,
resumiendo el impacto de todos los parámetros que influyen en la función de
transferencia. Hay que resaltar que si el factor de acoplamiento se mide individualmente,
se encuentra que tiene una fuerte dependencia con la frecuencia, pero al hacer una
evaluación estadística se evidencia que esencialmente es plano sobre la frecuencia [40].
Dostert [41] encontró que una primera aproximación válida del factor de acoplamiento
para escenarios reales es 𝑘𝐸 ≈ 10−3 𝑚−1. Por su parte Chen [11] afirma que 𝑘𝐸 puede
estar entre -65 y -45 dB (𝑚−1) para una distancia de 30 m.
Considerando lo especificado por la FCC, el concepto de factor de acoplamiento y las
características de sistemas reales de BPL hogareños [42], Chen calculó que la densidad
espectral de potencia necesaria para cumplir con lo especificado por la FCC es:
𝐷𝐸𝑃𝐹𝐶𝐶 = −117 − 𝑘𝐸
𝑑𝐵𝑚
𝐻𝑧 . (2.17)
Como los valores de 𝑘𝐸 están en el entre - 65 y - 45 dB/m, entonces para el peor caso
( 𝑘𝐸 = -45 dB/m) la densidad espectral de potencia máxima será:
𝐷𝐸𝑃𝐹𝐶𝐶_𝑚𝑎𝑥 = −117 − −45 = −72𝑑𝐵𝑚
𝐻𝑧 . (2.18)
Recientemente ITU-R se ha pronunciado en relación con la protección de las
comunicaciones aeronáuticas ( [5], sección A.2.6), y ha recomendado que los sistemas
26 Red BPL residencial basada en relevo para mitigación de la interferencia
PLT (denominación europea para BPL) operando con una DEP de -55 dBm/Hz deberían
reducir en 48 dB la DEP.
2.4 Ruido típico en redes BPL hogareñas
La tesis que este trabajo plantea, está basada en el desempeño de los canales de la red
hogareña, entiéndase su capacidad. A su vez el cálculo de la capacidad está ligado al
ruido presente en dicha red y resulta por tanto importante asumir el ruido que se incluirá
en los cálculos de capacidad.
Se ha aceptado que el ruido neto en redes BPL hogareñas es una superposición de cinco
tipos de ruido [43], distinguidos por su origen, duración de tiempo, ocupación espectral e
intensidad. A partir de estas características y con mediciones realizadas en cuatro casas
[44] se ha intentado su simulación [45].
Por su parte Benyoucef [46] realizó diariamente 2500 mediciones con 401 muestras en
56 diferentes tomacorrientes en ambientes de oficina y hogar. A partir de estas
mediciones propuso una DEP de ruido típica, la cual se usó en esta investigación y es
reproducida por el Programa 3 y mostrada en la Figura 2.6.
Figura 2.6: DEP de ruido típico en redes BPL para oficinas y hogares [46] .
Capítulo 2 27
Existe evidencia que apoya la idea que escoger la DEP de la Figura 2.6 como una buena
elección para el ruido en la línea de potencia residencial. En un sistema de BPL
hogareño (por ejemplo HomePlug AV) dependiendo de la relación señal a ruido, cada
portadora tiene su propio esquema de modulación. Para HomePlug AV este puede ser
BPSK, QPSK, QAM8, QAM16, QAM64, QAM256 o QAM1024. Entre mejor sea la
relación señal a ruido se usa una mayor constelación en el esquema de modulación [47].
En la Figura 2.7 se muestra una medición de la utilización de las portadoras para el
sistema HomePlug AV [48]. Se observa que los mayores esquemas de modulación se
producen a partir de 19 MHz. Si se observa la Figura 2.6, esto corresponde a la parte del
ruido de Benyoucef donde ya casi no existen picos de ruido. Es decir, la información de
las Figuras 2.6 y 2.7 es consistente.
Figura 2.7: Medición de la modulación usada por cada portadora en un sistema BPL
hogareño [48].
Una conclusión interesante acerca del ruido, la encontraron Meza y otros [49] afirmando
―que el ruido en la línea eléctrica de baja tensión tiene una naturaleza periódica la cual es
sincrónica a la frecuencia fundamental de voltaje (sic)‖. Este estudio reveló además que
el ruido se repite cada 10 ms, considerando una red de baja tensión de 50 Hz.
28 Red BPL residencial basada en relevo para mitigación de la interferencia
2.5 Capacidad de las redes BPL hogareñas
La habilidad de transmitir datos puede ser estimada para cualquier canal con el
conocimiento de parámetros esenciales usados en la fórmula de capacidad de Shannon
[50]:
𝐶 = 𝐵 ∙ 𝑙𝑜𝑔2 1 +𝑆
𝑁 𝑏𝑝𝑠 (2.19)
donde 𝐶 indica la máxima velocidad de datos (en bits/s) para la cual teóricamente es
posible una transmisión libre de error, 𝐵 es el ancho de banda disponible y 𝑆/𝑁 es el pico
de potencia de la señal sobre la potencia promedio de ruido blanco en la entrada del
receptor. El uso de esta fórmula en el caso de los canales BPL hogareños no es
inmediatamente factible, ya que la relación señal a ruido no es constante dentro del
ancho de banda y además puede variar sustancialmente. Por tanto se emplea una
generalización de la fórmula de Shannon empleando la densidad espectral de potencia
recibida 𝑆𝑟(𝑓) y la densidad espectral del ruido 𝑆𝑛 (𝑓), ambas dependientes de la
frecuencia [41]:
𝐶 = 𝑙𝑜𝑔2
𝑓𝑜
𝑓𝑢
1 +𝑆𝑟(𝑓)
𝑆𝑛(𝑓) 𝑑𝑓 𝑐𝑜𝑛 𝐵 = 𝑓𝑜 − 𝑓𝑢 (2.20)
Si un sistema con función de transferencia 𝐻(𝑓) es lineal e invariante en el tiempo (LTI,
sigla en inglés), se puede conocer la densidad espectral de potencia en el receptor 𝑆𝑟(𝑓)
conociendo la magnitud de la función de transferencia del canal 𝐻(𝑓) de la siguiente
forma [51]:
𝑆𝑟 𝑓 = 𝑆𝑡(𝑓) ∙ 𝐻(𝑓) 2 . (2.21)
Capítulo 2 29
Las características del canal pueden ser estimadas asumiendo que las líneas de potencia
hogareñas son una serie de líneas de transmisión interconectadas terminadas en
diversas cargas o dispositivos que pueden ser modelados por medio de alguna clase de
función de impedancia. Si las cargas no son lineales, esto hace que el comportamiento
del canal cambie en el tiempo.
La no linealidad de las cargas se relaciona con el hecho de que la tensión de línea de
baja frecuencia de la red eléctrica influencia el punto de operación de dispositivos
eléctricos. Sin embargo, en las frecuencias usadas para comunicaciones, desde el punto
de vista de las pequeñas señales, la impedancia de estos dispositivos puede ser
considerada lineal y dependiente del valor instantáneo de la tensión de red [38]. Se ha
observado que aunque estas impedancias pueden variar en el tiempo, en los intervalos
de tiempo entre 1 y 2 ms, sus funciones son aproximadamente constantes; tal y como se
puede concluir del estudio hecho por Cañete y otros [52]. El comportamiento de algunas
de estas cargas con la frecuencia se muestra en la Figura 2.8.
Figura 2.8: Comportamiento de las cargas no lineales de un televisor, un ventilador y una
máquina de hacer café, conectadas a la red BPL hogareña [38].
La variación de la impedancia produce variaciones del canal de corto plazo que son
sincrónicas con la red de baja frecuencia y puede ser modelada asumiendo una
respuesta lineal de frecuencia que es variante periódicamente en el tiempo. Bajo esta
hipótesis se puede obtener una familia de respuestas de frecuencia del canal para las
frecuencias de interés. Se puede lograr una aproximación para el comportamiento de las
cargas no lineales, considerando que estas impedancias pueden ser modeladas
30 Red BPL residencial basada en relevo para mitigación de la interferencia
haciendo variaciones de una línea base y variando amplitudes alrededor de ella con
valores entre el 15% y 20% del valor base. Las amplitudes son escogidas usando una
distribución uniforme cuidando que estén dentro del intervalo de variación [53],
procedimiento que se hace en el Programa 4, cuyos resultados se ven en la Figura 2.9.
Figura 2.9: Aproximación de varias impedancias no lineales, con amplitudes aleatorias.
Se ha establecido entonces, que el canal por línea de potencia puede ser modelado
como invariante en el tiempo en términos de la duración típica de paquete, ya que se
puede considerar invariante en un intervalo entre 1 y 2 ms [54].
Estos hechos han sido formalizados en lo que Cañete ha llamado Modelo Lineal Cíclico
de Canal [Cañe_04, pp. 49-56] [55] en donde el espectro de la señal de salida depende
de la respuesta en frecuencia del sistema variante 𝐻(𝑡, 𝑓) pero supuesta constante
durante el entorno 𝑡 ≈ 𝜍 y del espectro de exitación, mediante una relación simple,
similar a la de un filtrado LTI:
𝑌𝜍 ≃ 𝐻 𝑡, 𝑓 |𝑡=𝜍 ∙ 𝑋𝜍 𝑓 (2.22)
donde 𝑋𝜍 (𝑓) es una señal de entrada de corta duración y 𝑌𝜍 es la señal de salida
también de corta duración y situada en 𝑡 ≈ 𝜍.
5 10 15 200
100
200
300
400
500
600
700
800Ventilador
Frecuencia en MHz
Impe
danc
ia (o
hmios
)
5 10 15 200
100
200
300
400
500
600Televisor
Frecuencia en MHz
5 10 15 200
50
100
150
200
250
300
350
400
450Cafetera
Frecuencia en MHz
Capítulo 2 31
Como en la práctica la variación del canal es bastante baja y las señales de entrada
usadas por los módems actuales son más cortas que el tiempo de coherencia del canal
(tiempo durante el cual las propiedades del canal pueden ser consideradas invariantes),
por tanto es posible hacer una aproximación localizada e invariante de la respuesta del
canal y presentar la respuesta del canal como una colección sucesiva de estados LTI que
aparecen periódicamente [56].
En esta investigación se inspeccionará el comportamiento del canal tanto con cargas
lineales como no lineales, estas últimas consideradas lineales durante periodos de
tiempo de 1-2 ms. Con cargas lineales la red residencial se puede considerar LTI. Con
cargas no lineales, se estará presentando el escenario de uno o más estados LTI.
Como consecuencia de las anteriores consideraciones, para esta investigación se puede,
de nuevo, escribir la ecuación general de Shannon como:
𝐶 = 𝑙𝑜𝑔2
𝑓𝑜
𝑓𝑢
1 +𝑆𝑡(𝑓) ∙ 𝐻(𝑓) 2
𝑆𝑛 (𝑓) 𝑑𝑓 𝑐𝑜𝑛 𝐵 = 𝑓𝑜 − 𝑓𝑢 (2.23)
Si se considera que la técnica de transmisión adoptada para sistemas BPL hogareña es
OFDM, en el dominio de la frecuencia se tendrán N componentes de frecuencia discretos
en un intervalo de frecuencia. En esta circunstancia la capacidad será [57]:
𝐶 = ∆𝑓 ∙ 𝑙𝑜𝑔2 1 +𝑆𝑡(𝑓𝑖) ∙ 𝐻(𝑓𝑖)
2
𝑆𝑛 (𝑓𝑖)
𝑁
𝑖=1
𝑏𝑖𝑡𝑠
𝑠 (2.24)
Para el caso específico de mediciones en redes BPL, la FCC especifica ∆𝑓 = 9.6 𝐾𝐻𝑧.
32 Red BPL residencial basada en relevo para mitigación de la interferencia
2.6 Canal de Relevo
El canal de relevo es un canal en el cual hay un transmisor y un receptor con un número
de nodos intermedios que actúan como relevos o retransmisores para ayudar a la
comunicación entre el transmisor y el receptor. La transmisión por relevo es
particularmente atractiva en ambientes con desvanecimientos para habilitar
comunicaciones entre un par fuente-destino cuando el enlace directo está sujeto a un
desvanecimiento profundo.
En esta investigación interesa la configuración de relevo compuesto por tres terminales,
configuración que fue primero introducida por Van der Meulen como se menciona en [58].
Usando esta configuración Cover y El Gamal [59] desarrollaron la teoría del Canal de
Relevo Gaussiano Degradado, enfocada básicamente para canales inalámbricos. Sin
embargo, aunque con esta teoría se logra aumentar la capacidad del canal, esta no está
orientada a disminuir las emisiones electromagnéticas ya que existe una transmisión
simultánea de dos terminales. En este trabajo se prefiere el sistema de relevo en el cual
solo una terminal transmita a la vez, en razón a que es más controlable para efectos de
disminución de la interferencia electromagnética. Lo mismo sucede con la propuesta para
comunicaciones por línea de potencia de Lampe y otros [60], donde ocurren
transmisiones concurrentes.
Por tanto, de mayor utilidad es el trabajo especializado de Tonello y otros [18] y
D’Alessandro y otros [61], quienes tomaron el trabajo original para redes inalámbricas de
Gündüz y Erkip [62] y lo adaptaron a las redes BPL internas, desarrollando así el
protocolo Opportunistic Time División Decode and Forward (ODF). En esta ocasión, el
modelo se denomina sistema de relevo cooperativo, el cual se muestra en la Figura 2.10.
Figura 2.10: Modelo del sistema de relevo ODF [61].
Capítulo 2 33
En este modelo se considera una red compuesta por una fuente (S), un relevo (R) y un
nodo destino (D), tal como se muestra en la Figura 2.10. El multiplexado del sistema de
telecomunicaciones se desarrolla vía acceso múltiple por división de tiempo (en inglés
TDMA), donde el tiempo es dividido en tramas de duración 𝑇𝑓 . Cada trama es dividida en
dos ranuras de tiempo cuyas duraciones son 𝑡 y 𝑇𝑓 − 𝑡. La comunicación entre S y D
sigue el protocolo ODF. En ODF el transmisor envía datos al destino de acuerdo a dos
modalidades, transmisión directa (DT, conservando la sigla en inglés), o decodificar y
enviar (DF, conservando la sigla en inglés). En modo DT, S transmite a D ocupando todo
el tiempo de trama 𝑇𝑓 . En modo DF, S transmite sus datos tanto a R y a D durante la
ranura de tiempo 𝑡, luego en la segunda ranura 𝑇𝑓 − 𝑡, R decodifica y envía los mismos
datos a D usando un libro de códigos independiente, mientras el transmisor S está en
silencio. Finalmente D decodifica el mensaje combinando los datos recibidos en ambas
ranuras de tiempo desde el transmisor y desde el relevo. La Figura 2.11 muestra las
modalidades DT y DF, así como la asignación de las ranuras de tiempo.
Figura 2.11: Modalidades DT y DF y sus correspondientes asignaciones de ranuras de
tiempo [61].
Si se normaliza la duración de 𝑇𝑓 , haciendo 𝑇𝑓 = 1, la capacidad de ODF puede ser
expresada como:
𝐶𝑂𝐷𝐹 = max 𝐶𝐷𝑇 , 𝐶𝐷𝐹 𝑡 (2.25)
donde 𝐶𝐷𝑇 y 𝐶𝐷𝐹 𝑡 denotan respectivamente la capacidad de los modos DT y DF. Estas
capacidades están dadas por:
34 Red BPL residencial basada en relevo para mitigación de la interferencia
𝐶𝐷𝑇 = 𝐶𝑆,𝐷 (2.26)
𝐶𝐷𝐹 𝑡 = min 𝑡𝐶𝑆,𝑅 , 𝑡𝐶𝑆,𝐷 + 1 − 𝑡 𝐶𝑅,𝐷 . (2.27)
En (2.26) y (2.27) las capacidades de los enlaces S-D, S-R y R-D se denotan como 𝐶𝑆,𝐷,
𝐶𝑆,𝑅 y 𝐶𝑅,𝐷 respectivamente.
Este trabajo no se centra en el aumento de la capacidad, por tanto en este punto se
podría escribir lo siguiente:
𝐶𝑂𝐷𝐹 = 𝐶𝐷𝑇 , (2.28)
lo que, al observar la ecuación (2.25), se podría obtener si:
𝐶𝐷𝐹 𝑡 = 𝐶𝐷𝑇 . (2.29)
Para que la ecuación (2.29) se cumpla y considerando lo expresado en la ecuación
(2.26), se debe cumplir en la ecuación (2.27) que:
𝐶𝑆,𝐷 = 𝐶𝑅,𝐷 (2.30)
y también que:
𝑡𝐶𝑆,𝑅 > 𝐶𝑆,𝐷 . (2.31)
De la ecuación (2.31) se desprende que:
Capítulo 2 35
𝑡 >𝐶𝑆,𝐷
𝐶𝑆,𝑅 , 𝑡𝜖 0,1 . (2.32)
Es de anotar que se ha asumido 𝑇𝑓 = 1. Si no fuera así, se tendría:
𝑡 >𝐶𝑆,𝐷
𝐶𝑆,𝑅 𝑇𝑓 , 𝑡𝜖 0,1 . (2.33)
La ecuación (2.33) expresa una consecuencia a nivel de TDMA, es decir a nivel MAC.
Por otra parte, las ecuaciones (2.30) y (2.31) implican que se debe tener un mecanismo
de control sobre las capacidades o al menos un criterio de selección de canales, los
cuales, para lograr el objetivo de este trabajo. Además en su operación, el canal de
relevo deberá disminuir la densidad espectral de potencia de cada transmisión para
obtener niveles de emisión tolerables; lo que hace que se deba buscar una respuesta en
el nivel físico (PHY), tal y como está consignado en la Propuesta de Investigación.
2.7 Ambientes Hogareños Típicos
En este trabajo se define como ambiente hogareño típico las instalaciones de vivienda
entre 80 𝑚2 - 128 𝑚2. En nuestro medio la planeación del suficiente número de
tomacorrientes en el hogar se hace con el Código Eléctrico Nacional o Norma Técnica
Colombiana — NTC 2050 [63] el cual especifica los requerimientos mínimos para
unidades de vivienda:
Se deberán colocar tomacorrientes de tal manera que ningún punto, a lo largo de
la pared, esté a más de 1.8 m de cualquier toma corriente en tal espacio de
pared, entendiendo por espacio de pared a toda línea de pared continua, de 0.6m
o más de largo.
En zonas de circulación de más de 3 m de largo deberá instalarse al menos 1
toma.
36 Red BPL residencial basada en relevo para mitigación de la interferencia
En baños se coloca mínimo 1 toma adyacente al lavamanos.
En zonas de ropa se instalará un tomacorriente para lavadora, localizado a no
más de 1.8m del sitio donde se instalará la lavadora.
En el garaje se instalará al menos un tomacorriente.
Ejemplos de la aplicación de la norma NTC 2050 para los casos que se están
contemplando se pueden encontrar en [64] y [65] donde se observa que la distancia entre
tomas no está a una distancia mayor de 3.60 m, ni es menor a 2.60 m. y
excepcionalmente es a 6.50 m.
Tucci y otros [66], propusieron el escenario residencial típico, el cual es mostrado en la
Figura 2.12, con el objeto de estudiar el comportamiento de los canales hogareños, y
para ello hicieron el estudio entre los puntos TX y RX. Como en la red existe el interruptor
L, el estudio se hace bajo las condiciones de interruptor abierto e interruptor cerrado,
donde en este último caso se conecta la línea a una carga con una impedancia igual a la
impedancia característica de la línea.
Se observa en la red de la Figura 2.12 que las distancias de los segmentos de red en
general coinciden con las se han comentado.
Figura 2.12: Red hogareña típica. Las longitudes están expresadas en metros [66].
Capítulo 2 37
La atenuación obtenida entre TX y RX se muestra en la Figura 2.13. Aunque Tucci y
otros tomaron los cálculos y parámetros eléctricos de B&VDW, desafortunadamente no
detallaron qué parámetros eléctricos ni qué modos de conexión fueron usados en esta
red.
Figura 2.13: Atenuación del canal TX-RX mostrado en la Figura 2.12 [66].
Ya se ha definido un primer criterio para la definición del escenario típico de la red
hogareña, el cual está basado en las longitudes de los segmentos de red. Ahora la
atenuación de canal mostrada en la Figura 2.14, ayuda a introducir un segundo criterio
del escenario a estudiar.
En la Figura 2.14 se observan diferentes escenarios de atenuación (expresada la
atenuación como magnitud de la función de transferencia en dB) que se pueden
presentar en ambientes internos (los cuales pueden incluir espacios grandes como
bodegas y fábricas) y cuyas características dependen del grado de ramificación de la red
interna. Si observamos las atenuaciones de la Figura 2.13, se puede llegar a la
conclusión de que la atenuación en las redes hogareñas está comprendida entre los
modelos de atenuación 1 y 2. Estos modelos han sido generados por el Programa 5 con
la información suministrada por Babic y otros [67].
38 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 2.14: Modelos de referencia para canales internos.
Capítulo 2 39
2.8 Aspectos acerca de la relación señal a ruido.
Schwager ( [20], pg. 18-19) realizó unas mediciones acerca de la atenuación y el ruido en
un canal PLT, llevadas a cabo en un apartamento de 150 𝑚2 con un modem PLT que
inyectó una DEP de -55 dBm/Hz. En la Figura 2.15 se observa el resultado de esta
medición. El área en rojo muestra la DEP recibida, la línea azul es el ruido medido en la
toma de recepción y el área verde entre la señal recibida y el ruido indica la relación
señal a ruido (SNR) en la cual el sistema PLT podría usar para la comunicación.
Figura 2.15: Atenuación, ruido y relación señal a ruido en un canal PLT [20].
La Figura 2.15 muestra que un módem PLT o BPL es capaz de comunicarse aún si la
relación señal a ruido es aproximadamente 0 dB. La máxima relación señal a ruido en
este caso está alrededor de 70 dB y se puede decir que gran parte de la comunicación
en desarrolla con una SNR alrededor de 0 y 30 dB. Un factor tecnológico que juega a
favor de la relación señal a ruido es comentado por Serna cuando afirma que ―añadiendo
algoritmos Viterbi y Reed-Solomon se consiguen 6 dB adicionales de relación señal
ruido. Reed-Solomon puede recuperar errores causados por ruidos provocados por
pulsos típicos de la línea AC.‖ [68].
40 Red BPL residencial basada en relevo para mitigación de la interferencia
Las mejoras que se puedan introducir a la relación señal a ruido pueden ser traducidas al
caudal con el estudio que hicieron Guerrini y otros [69] para el sistema HomePlug AV. En
la Figura 2.16 se observa el resultado del modelo investigado.
Figura 2.16: Caudal máximo promedio de HomePlug AV (Mbps) vs. Relación Señal a
Ruido (SNR) promedio (dB) [69].
En este estudio se investigaron dos técnicas relacionadas con la carga de bits en las
portadoras: Decreasing BER-Constrained (DBC) allocation algorithm y BER Threshold
Constant (BTC) for all sub-carriers algorithm.
El algoritmo DBC trata de maximizar el caudal total del sistema con una asignación de
potencia uniforme garantizando una BER promedio específica. Por su parte el algoritmo
BTC, trata de hacer lo mismo que DBC pero garantizando una BER específica por sub-
portadora. Los autores demuestran ciertas ventajas del algoritmo BTC sobre el DBC y
por eso se escoge el algoritmo BTC para el análisis que realizará en el capítulo 5.
Para ambos algoritmos el objetivo para el BER es 10-3.
3 Metodología
Durante el desarrollo de esta investigación, fue necesario seguir algunos pasos con
diferentes diseños metodológicos.
3.1 Uso del método de modelación
La información empleada en esta investigación ha sido obtenida principalmente de las
bases de datos a las que la Universidad Nacional está suscrita, en especial la base de
datos Xplore de IEEE. Algunas otras fuentes de utilidad fueron, las disertaciones
doctorales publicadas [20] [32] [55], las normatividades nacionales e internacionales [10]
[12] [30] [63], los libros especializados [11] [13] [36] [40] [41] [51], los reportes técnicos [5]
[65] [67].
Con esta información se logró crear una herramienta analítica para investigar las
magnitudes de las funciones de transferencia de los canales en una red hogareña. Los
resultados obtenidos con esta herramienta fueron contrastados con resultados
publicados, encontrándose coincidencia y validándose así su correcta operación.
3.2 Uso del método hipotético-deductivo
La herramienta analítica creada evidenció comportamientos peculiares en ciertos
canales, como el de ganancias en su magnitud de la función de transferencia. Para
explicar este comportamiento, se asumió (hipótesis) que la base teórica del modelo top-
down para canales de acceso, de alguna forma también podría explicar fenómenos de
las redes internas. En este desarrollo se encontró el principio fundamental de la ganancia
por distancia. La aplicación de este principio pudo ser verificado mediante la modelación
bottom-up.
De forma similar, la base teórica del modelo top-down sirvió para encontrar el principio de
construcción discreta de la capacidad de Shannon de los canales hogareños.
La herramienta analítica sirvió además para confirmar la propuesta de que la red podría
modelada basándose en la interconexión de varias estructuras básicas. El concepto de la
42 Red BPL basada en relevo para la mitigación de la interferencia
estructura básica también sirvió para encontrar características útiles en el lado transmisor
como en el receptor.
En el lado transmisor se encontró que es posible ―orientar‖ la propagación haciendo uso
de la característica direccional que poseen las redes BPL hogareñas. Esta característica
fue encontrada con la herramienta analítica.
En el lado receptor se encontró que en la llegada se puede tener una ganancia
apreciable de la magnitud de la función de transferencia. De nuevo, esto fue evidenciado
con la herramienta analítica.
Se encontró que estas características en el lado transmisor como en el lado receptor son
función de las cargas y longitudes de los ramales, y de las impedancias del backbone.
3.3 Uso del método de la experimentación científica
Se diseñó un experimento en el cual la densidad espectral de potencia de transmisión
(DEP), las cargas y las longitudes de los ramales (entendiéndose como ramal la conexión
entre la carga y el backbone, también en algunas ocasiones se llamaron derivaciones)
son consideradas variables independientes. La capacidad de Shannon es una variable
dependiente que se hace variar con la densidad espectral de potencia y la magnitud de la
función de transferencia del canal (esta a su vez es dependiente de las cargas y
longitudes de los ramales) y se tomó el ruido del canal como un valor típico dependiente
de la frecuencia.
El objetivo fundamental del experimento era encontrar si dado un canal con su capacidad
de Shannon asociada se podría manipular las variables independientes de tal forma que
la capacidad aumentara con una DEP de transmisión constante. Haciendo uso de la
herramienta analítica, se demostró que esto era posible. Como resultado de esta parte
del experimento obtiene una magnitud de la función de transferencia de canal
modificada.
Capítulo 3 43
En una segunda parte del experimento, con la nueva magnitud de la función de
transferencia se disminuye la DEP hasta alcanzar la capacidad inicial del canal
obteniéndose así una DEP menor que la inicial, mitigándose así la interferencia
electromagnética.
Este experimento condujo a la formulación de un algoritmo que se llamó Algoritmo de
Variación de Longitudes de Ramal (AVLR), el cual procede de una manera ordenada a
hacer variaciones de las cargas y longitudes de ramal, así como de la DEP, para lograr el
objetivo planteado. Esta aproximación se hace con la hipótesis de que cada transceptor
de la red tiene la posibilidad de efectuar estos cambios.
A su vez el algoritmo AVLR fue introducido al protocolo de relevo Opportunistic Time
División Decode and Forward (ODF), demostrándose que es posible cumplir con las
condiciones mostradas para ODF en el Marco Teórico para lograr la mitigación de la
interferencia cuando se usa este protocolo, lo que dio origen al algoritmo AVLR-ODF.
Un avance final se hace obteniendo mejoras en la magnitud de la función de
transferencia segmentando el ramal en pequeñas distancias que harían posible una
implementación real, dando origen al algoritmo AVLR-ODF-R
3.4 Uso del método de la observación científica
De acuerdo a Infante [70] ―la observación es la base del conocimiento y, a la vez, es el
procedimiento empírico más generalizado de conocimiento‖.
Al comenzar esta investigación, era muy reducido el conocimiento explicito publicado
acerca del problema de interferencia de las redes BPL hogareñas sobre los servicios de
telecomunicaciones. Realmente una de las primeras fuentes directas fueron videos
publicados en YouTube que documentaban el problema. En especial atrajo la atención
un video subido por ―rdehli‖ [71] con fecha 08/02/2009, en el cual se observa una
prueba con un receptor HF portátil y se muestra la interferencia sobre la recepción HF
causada por una red BPL hogareña. Es decir se estaba haciendo una prueba subjetiva.
44 Red BPL basada en relevo para la mitigación de la interferencia
Desde luego el interrogante es ¿hasta qué punto, desde el punto de vista de la ciencia
esta es una ―prueba‖ de la existencia del problema?
Los usuarios de telecomunicaciones que evidenciaron tempranamente este problema de
interferencia fueron los radioaficionados de Estados Unidos agrupados en la American
Radio Relay League (ARRL), quienes ejercieron una presión tal que los fabricantes
tuvieron suprimir la transmisión en las bandas usadas por los radioaficionados. Pero lo
interesante es la metodología con la cual se constató en el año 2000 si esta solución
funcionaba realmente [23]. Para ello, en un experimento se clasificó la interferencia
respecto a su ―Audibility‖ como ―Inaudible‖ o ―Just audible‖. Colocándolo en términos
sencillos, la prueba que definió la máscara de la densidad espectral de potencia de
transmisión de esta importante tecnología fue una prueba subjetiva.
Más recientemente, en el año 2011, ITU-R ( [5], sección A2.5) describe un experimento
subjetivo en el cual se generaba en una celda TEM (Transversal Electromagnetic Mode
Cell) [72] diferentes niveles de interferencia HF y se grababa el audio en la recepción
para que 24 escuchas no expertos escucharan estas grabaciones y clasificaran la
interferencia como:
―5: Imperceptible.
4: Perceptible but not annoying.
3: Slightly annoying.
2: Annoying.
1: Very annoying, where the quality of audio signal with both the Gaussian background
noise and the PLT noise was compared with that of the audio signal with the background
noise only (reference).”
Con estos antecedentes se llevó a cabo una prueba subjetiva simple para evaluar la
interferencia y así reforzar el estado del arte.
4 Resultados Intermedios
En este capítulo se incluyen todos aquellos resultados originales que fue necesario
buscar para desarrollar los resultados finales.
4.1 Exploración de canales
Si se construye la red de la Figura 2.12 con líneas de transmisión definidas por los
parámetros de Barmada y otros, se obtiene la magnitud de la función de transferencia
entre TX y RX, la cual se muestra en la Figura 4.1, la cual ha sido obtenida usando el
Programa 6.
Figura 4.1: Magnitud de la Función de transferencia entre TX y RX de la red mostrada en
la Figura 2.12.
Se observa que la magnitud de la función de transferencia de la Figura 4.1 tiene aspectos
comunes con la observada por Tucci y otros y mostrada en la Figura 2.13. Hay que
46 Red BPL residencial basada en relevo para mitigación de la interferencia
recordar que Tucci y otros no suministraron datos de la configuración de los parámetros
eléctricos usados para obtener esta magnitud de la función de transferencia.
Se usará la red de la Figura 2.12 para explorar la magnitud de la función de transferencia
de diferentes canales, buscando así observar comportamientos que aumenten el
conocimiento acerca de ellos y que puedan ser útiles para alcanzar los objetivos.
Inicialmente se procederá a encontrar la magnitud de la función de transferencia entre
TX y diferentes posibles destinos de la señal de acuerdo con la red de la Figura 2.12.
Para hacer un seguimiento de los resultados, la Figura 4.2 muestra la numeración de
tensiones y segmentos que se usó en los cálculos.
Figura 4.2: Numeración de tensiones y segmentos sobre una red hogareña de la Figura
2.12.
Los cálculos se realizan con el Programa 7 y los resultados se muestran en las Figuras
4.3 y 4.4, en el primer caso para L cerrado y en segundo para L abierto.
Capítulo 4 47
Figura 4.3: Magnitud de las funciones de transferencia entre TX y las posibles salidas
con el interruptor L cerrado.
48 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 4.4: Magnitud de las funciones de transferencia entre TX y las posibles salidas
con el interruptor L abierto.
Capítulo 4 49
Se puede observar que en general las respuestas mostradas en las Figuras 4.3 y 4.4
pueden inscribirse entre los dos primeros modelos de canales de referencia mostrados
en la Figura 2.14. Sin embargo el canal entre TX y el ramal 21 muestra una ganancia
apreciable como se muestra en la Figura 4.5, y cuya respuesta al impulso se muestra en
la Figura 4.6, la cual se ha encontrado usando para ello el Programa 8.
Figura 4.5: Magnitud de la función de transferencia entre TX-salida 21 con L abierto.
Figura 4.6: Respuesta al impulso para el canal TX-segmento 21 de la red del Figura 4.2.
5 10 15 20 25 300
5
10
15
20
25
30
35
40
45
50
55Vl21/VTX
|H(f
)| e
n d
B
0 0.2 0.4
-100
-80
-60
-40
-20
0
20
40
t en microsegundos
h(t
)
Respuesta al impulso (fs = 60 MHz)
10 20 300
5
10
15
20
25
30
35
40
45
50|H(f)| en dB, con 22 muestras
Frecuencia en MHz
|H(f
)| d
B
10 20 300
5
10
15
20
25
30
35
40
45
50|H(f)| en dB
Frecuencia en MHz
|H(f
)| d
B
50 Red BPL residencial basada en relevo para mitigación de la interferencia
En la Figura 4.6 la cantidad de impulsos se ha limitado a 22 y con ellos se construye la
magnitud de la función de transferencia. Al comparar con la magnitud de la función de
transferencia original (derecha), se observa que la respuesta del centro contiene las
características fundamentales de la respuesta original. La Tabla 4.1 muestra los datos de
los 22 impulsos considerados.
Tabla 4.1: Amplitud y posición en el tiempo de los 22 impulsos de la Figura 4.6.
Ahora se explora la red, cuando se transmite por el segmento 21. La Figura 4.7 muestra
en este caso la topología de la red, junto con la denominación de los segmentos.
Capítulo 4 51
Figura 4.7: Configuración de la red cuando se transmite por el segmento 21.
La magnitud de la función de transferencia para cada canal de la red de la Figura 4.7 se
calculó con el Programa 9, para los casos L cerrado y abierto respectivamente. Estos
resultados se muestran en las Figuras 4.8 y 4.9.
52 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 4.8: Magnitudes de las funciones de transferencia de la red cuando se transmite
por el segmento 21 con L cerrado.
Capítulo 4 53
Figura 4.9: Magnitudes de las funciones de transferencia de la red cuando se transmite
por el segmento 21 con L abierto.
54 Red BPL residencial basada en relevo para mitigación de la interferencia
En la Figura 4.8 se destaca el canal TX-FAN (TX-segmento 2), ya que presenta
ganancia, y el cual se destaca en la Figura 4.10.
Figura 4.10: Magnitud de la función de transferencia entre TX (segmento 21) y el
ventilador (segmento 2) con L cerrado.
Para finalizar la exploración de los canales, se investigó las magnitudes de la funciones
de transferencia cuando se transmite por el segmento 25 con L cerrado, mostrándose la
topología en la Figura 4.11.
Figura 4.11: Configuración de la red cuando se transmite por el segmento 21.
Capítulo 4 55
En este caso los resultados fueron generados con el Programa 10, los cuales se
muestran en la Figura 4.12. Se observa que no se producen magnitudes de funciones de
transferencia con ganancia.
Figura 4.12: Magnitudes de las funciones de transferencia de la red cuando se transmite
por el segmento 25 con L cerrado.
56 Red BPL residencial basada en relevo para mitigación de la interferencia
A partir de la información obtenida de la exploración de canales, se puede precisar más
acerca de lo que es un canal de transmisión hogareño. Para esto se hace el análisis de
datos de la Tabla 4.2, cuyo cálculo se ha hecho en el Programa 7.
Tabla 4.2: Análisis de datos de la magnitud de la función de transferencia (dB) para
diferentes canales In-House (internos).
Canal Descripción Media Desviación Estándar
1 Canal In-house de referencia 1, Fig. 2.14 -25.9351 4.4632
2 Canal In-house de referencia 2, Fig. 2.14 -37.9091 6.1755
3 Canal In-house de referencia 3, Fig. 2.14 -47.1135 5.3576
4 Canal In-house de referencia 4, Fig. 2.14 -60.4170 5.3656
5 B&VDW, un ramal, Fig. 2.3 (Canal interno) -6.8311 3.1968
6 B&VDW, seis ramales, Fig. 2.5 (Canal interno) -18.2210 10.5557
7 Canales red hogareña, TX-segmento2, Fig 4.3 -3.4158 3.1253
8 Canales red hogareña, TX-segmento21, Fig 4.3 38.8102 9.1273
9 Canales red hogareña, TX-segmento25, Fig 4.3 -15.9936 9.0721
10 Canales red hogareña, TX-segmento6, Fig 4.3 -11.2283 3.9537
11 Canales red hogareña, TX-segmento8, Fig 4.3 -19.2482 5.3828
12 Canales red hogareña, TX-segmento10, Fig 4.3 -17.4817 7.2808
13 Canales red hogareña, TX-segmento13, Fig 4.3 -22.5937 5.1977
14 Canales red hogareña, TX-segmento15, Fig 4.3 -26.9098 5.3259
15 Canales red hogareña, TX-segmento17, Fig 4.3 -31.2445 7.4578
16 Canales red hogareña, TX-segmento19, Fig 4.3 -33.9710 5.7680
17 Canales red hogareña, TX-segmento20, Fig 4.3 -33.9710 5.7680
Al observar la Tabla 4.2, podemos concluir que el canal 8 es una excepción, acerca del
cual se escribirá más adelante. La media de la magnitud de la función de transferencia
(dB) de los canales hogareños 7 y 8 a 12, lo cuales son obtenidos de los canales de la
Figura 4.3, están en el intervalo de la mostrada por los canales de referencia 1 y 2 de la
Capítulo 4 57
Figura 2.14. Sin embargo la desviación estándar de los canales hogareños es en general
mayor que la de los canales 1 y 2, por tanto la desviación estándar no se puede
considerar como un elemento de clasificación de canales, como si lo es la media.
De la observación de las Figuras 2.14 y 4.3 se observa que los canales hogareños
presentan atenuaciones similares a las observadas los modelos de canal 1 y 2 y que el
número de picos de desvanecimiento no es mayor de 8.
Por tanto, se puede considerar que un canal hogareño es aquel cuya media de la
magnitud de la función de transferencia promedio es menor o igual a ~ -38 dB (usando
canal 2 como límite) y el número de picos de desvanecimiento es menor o igual a 8.
Sin embargo, canales de las características como las de los canales de las Figuras 4.5 y
4.10 no han sido reportados así de claramente. En la investigación del estado del arte,
solo se encontró una referencia acerca de este asunto por parte de Cortés y otros [73]
donde después de generar canales con un modelo de canal llamado two-tap [74] afirman
que ―algunos de los canales generados tienen ganancias promedio de canal positivas,
esto es, que se producen canales que amplifican la señal transmitida, en vez de
atenuarla‖. En nuestro concepto este tipo de canales no han sido reportados con
amplitud en la literatura debido a dos causas:
Los modelos estadísticos difícilmente pueden llegar a definir redes hogareñas con
las características exactas para producir canales con ganancias como las que se
han mostrado.
No se ha encontrado alguna investigación donde se haga una investigación
exhaustiva de canales como la que se hace en este trabajo.
4.2 Cálculo de la velocidad de fase en redes hogareñas
Si 𝜸 es la constante de propagación de una línea de transmisión, esta se puede calcular
como:
𝛾 = 𝛼 + 𝑗𝛽 (4.1)
58 Red BPL residencial basada en relevo para mitigación de la interferencia
en donde la parte real, 𝛼, indica la atenuación que sufre la onda de voltaje, o de corriente
según sea el caso, conforme viaja o se propaga a lo largo de la línea; y 𝛽, que es la parte
imaginaria, indica la rapidez de cambio de la fase de la onda conforme se propaga. Las
unidades de la constante de atenuación 𝛼 son nepers por metro o dB/m si se multiplica 𝛼
por 8.686 y las de la constante de fase 𝛽 son radianes por metro. La constante de
atenuación puede se calculada como:
𝛼 𝑓 = 𝑅𝑒 𝛾 = 𝑅𝑒 𝑅 + 𝑗𝑤𝐿 𝐺 + 𝑗𝑤𝐶 (4.2)
Una aproximación que será útil, es considerar que las líneas de transmisión hogareñas
en la banda de frecuencias entre 1.8 y 30 MHz presentan una constante de atenuación
muy baja. Para soportar esta afirmación se puede observar la Tabla 4.3, donde se
muestran los resultados de la máxima constante de atenuación en la banda de
frecuencias para las líneas con los parámetros de B&VDW (líneas 1 a 9) y para la línea
con los parámetros de Barmada y otros (línea 10). Estos resultados han sido obtenidos
con el Programa 11.
Tabla 4.3: Constantes de atenuación para varias líneas de transmisión hogareñas.
Línea
Constante de
atenuación
(dB/m)
lin1 0.0942
lin2 0.0861
lin3 0.0840
lin4 0.0927
lin5 0.0935
lin6 0.1023
lin7 0.0759
lin8 0.0670
lin9 0.0719
lin10 0.0848
De acuerdo con Neri [75], para cualquier distancia z en la línea, la magnitud de la tensión
total (patrón de onda estacionaria) se puede obtener a partir de la ecuación (4.3),
Capítulo 4 59
considerando que la constante de atenuación es aproximadamente cero (aproximación,
que como se mostró, es razonable para redes hogareñas, ver Tabla 4.3):
𝑉(𝑧) = 𝐴 1 + 2 𝜌𝑣 cos 2𝛽𝑧 + 𝜃 + 𝜌𝑣 2 𝑣𝑜𝑙𝑡𝑖𝑜𝑠 (4.3)
donde 𝛽 es la constante de fase, 𝜌𝑣 es el coeficiente de reflexión en la carga, el cual es
en general complejo, y cuyo ángulo es 𝜃. Cuando la carga es circuito abierto, se puede
asumir como buena aproximación que 𝜌𝑣 = 1 y 𝜃 = 0. Entonces en este caso:
𝑉(𝑧) = 2 ∗ 𝐴 ∗ 1 + cos 2𝛽𝑧 (4.4)
y recordando que
𝛽 =2𝜋
𝜆
𝑟𝑎𝑑
𝑚 . (4.5)
En la Figura 4.13 se muestra 𝑉(𝑧) para el caso en el cual la carga es circuito abierto. Se
observa en la que la onda de tensión incidente se refleja exactamente, de la misma
manera como si fuera a continuar a lo largo de una línea infinitamente larga. Puede verse
que la onda estacionaria de tensión tiene un valor mínimo a una distancia de 𝜆/4 desde
la carga, y desde este punto de nuevo hay un mínimo a una distancia de media longitud
de onda. En general tendremos mínimos de 𝑉(𝑧) en los puntos:
𝑉(𝑧) 𝑚𝑖𝑛 = 𝑉(−𝜆
4∗ 𝑘) 𝑘 = 1, 3, 5, … (4.6)
60 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 4.13: Onda estacionaria de tensión en una línea de transmisión cuya carga es
circuito abierto.
Si se sabe la frecuencia donde se presenta el mínimo, podemos encontrar la velocidad
de fase como:
𝑣𝑝 = 𝑓𝑚𝑖𝑛 ∗ 𝜆 𝑚
𝑠 . (4.7)
Dicho esto, se puede diseñar un experimento en el cual:
𝜆 = 4 ∗ 𝑙𝑜𝑛𝑔𝑖𝑡𝑢𝑑 𝑑𝑒 𝑙𝑎 𝑙í𝑛𝑒𝑎 𝑚, (4.8)
es decir se puede tener una línea con una longitud 𝜆/4 terminada en circuito abierto, y se
podrán medir un 𝑉(𝑧) 𝑚𝑖𝑛 y un mínimo de impedancia en la entrada de dicha línea.
Capítulo 4 61
Se podría pensar en este momento en un experimento usando una red sencilla cuyas
longitudes de líneas tengan relación con las redes hogareñas. Para ello modificamos las
distancias de la red mostrada en la Figura 2.2 de la forma como se muestra en la Figura
4.14, pero conservando los mismos parámetros eléctricos.
Figura 4.14: Red para el cálculo de la velocidad de fase.
Haciendo uso de Programa 12 se calculan las funciones de transferencia entre los puntos
LT-B y LT-NT, las cuales se observan en la Figura 4.15.
Figura 4.15: Magnitud de la función de transferencia de red entre los puntos LT - B y LT-
NT de la red de la Figura 4.14.
5 10 15 20 25 30-25
-20
-15
-10
-5
0
5Función de transferencia = VB/VLT (dB)
Frecuencia en MHz
|H(f
)| (
dB
)
5 10 15 20 25 30-25
-20
-15
-10
-5
0
5Función de transferencia = VNT/VLT (dB)
Frecuencia en MHz
|H(f
)| (
dB
)
62 Red BPL residencial basada en relevo para mitigación de la interferencia
La gráfica la izquierda muestra la función de transferencia de la línea LT-B y la gráfica de
la derecha muestra la magnitud de la función de transferencia de la línea LT-NT. Las dos
solo presentan una ligera diferencia debida a la atenuación. Si se compara la función de
transferencia entre LT-NT de la Figura 4.15 con la mostrada en la Figura 2.3 se
encuentra que la respuesta para distancias hogareñas produce menos atenuación para
un amplio intervalo de frecuencias.
Si se asume que la línea B-ZL de la red de la Figura 4.14, cuya longitud es de 2.5 metros,
es una línea con longitud 𝜆/4 terminada en circuito abierto, se puede escribir que:
𝜆
4= 2.5 => 𝜆 = 10 𝑚. (4.9)
De acuerdo a lo comentado, es posible argumentar que la magnitud de la función de
transferencia de la línea de transmisión LT-B presentará un mínimo en la frecuencia cuya
longitud de onda corresponda a cuatro veces la longitud la línea B-ZL, esto en razón a
que la línea B-ZL estará presentando un mínimo de impedancia en B y por tanto habrá un
𝑉(𝑧) 𝑚𝑖𝑛 , siendo estos dos últimos asuntos tratados en detalle en el próximo apartado.
El Programa 12 reporta que el valor mínimo de la magnitud de la función de transferencia
de la línea LT-B es en 17.138 MHz. Con este dato encontramos que la velocidad de fase
es:
𝑣𝑓𝑎𝑠𝑒 = 𝑓𝑚𝑖𝑛𝐵 ∗ 𝜆 = 17.138 MHz ∗ 10 m = 171380000 m/s (4.10)
De nuevo se usa el Programa 12 para hallar la magnitud de la función de transferencia
entre los puntos LT y ZL, observándose el resultado en la Figura 4.16. Es importante
anotar la máxima ganancia que muestra la magnitud de la función de transferencia es 9.5
dB.
Capítulo 4 63
Figura 4.16: Magnitud de la función de transferencia entre los puntos LT y ZL mostrados
en la red de la Figura 4.14.
En esta ocasión el Programa 12 reporta que la frecuencia donde se produce el máximo
de la magnitud de la función de transferencia es 17.061 MHz. Esto quiere decir que se
logra el mayor valor en la magnitud de la función de transferencia entre LT y ZL alrededor
de la frecuencia donde se produce un mínimo en la magnitud de la función de
transferencia entre los puntos LT y B que en este caso es de 17.138 MHz. Esta pequeña
diferencia se puede explicar porque en el punto B hay una ligera influencia de la
impedancia de entrada de la línea B-NT.
Como segundo experimento con la red de la Figura 4.14, se considera el comportamiento
de la red compuesta con segmentos de cinco metros. Usando el Programa 12 se puede
encontrar la magnitud de la función de transferencia entre LT y ZL, la cual se observa en
la Figura 4.17, mostrándose una ganancia pico de cerca de 9.4 dB.
64 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 4.17: Magnitud de la función de transferencia entre LT y ZL de la red de Figura
4.14 para la configuración 555.
Tomando la red 555 será útil encontrar las frecuencias donde la magnitud de la función
de transferencia es mayor. En el caso de la Figura 4.17, el Programa 12 reporta que los
dos picos se encuentran en 9.414 MHz y 28.242 MHz.
Dado el ramal B-ZL, se podrá escribir (considerando una carga de circuito abierto):
𝜆
4= 5 => 𝜆 = 20 𝑚 . (4.11)
Se podrá entonces encontrar la velocidad de fase como:
𝑣𝑓𝑎𝑠𝑒 = 𝑓1 ∗ 𝜆 = 9.414 𝑀𝐻𝑧 ∗ 20 𝑚 = 188280000 𝑚/𝑠 (4.12)
Sobre el mismo ramal B-ZL, para que en B exista un mínimo, se puede afirmar que:
Capítulo 4 65
𝜆
4+
𝜆
2=
3𝜆
4= 5 => 𝜆 =
20
3 𝑚 . (4.13)
Si se usa la velocidad de fase encontrada en (4.12), se obtiene:
𝑓2 =𝑣𝑓𝑎𝑠𝑒
𝜆=
188280000 ∗ 3
20= 28.242 𝑀𝐻𝑧 (4.14)
Es de anotar la precisión con que coincide 𝑓2 con lo reportado por el Programa 12. Esto
es un indicativo de la poca variación que tiene la velocidad de fase con la frecuencia.
Por otro lado, se observa que si se dobla la distancia sobre la línea B-ZL, la velocidad de
fase aumenta del orden del 10%. Entonces la velocidad de fase no resulta tan sensible al
aumento de las distancias consideradas en las redes hogareñas.
4.3 Ganancia en la magnitud de la función de
transferencia de una línea de transmisión hogareña
Si se tiene una línea terminada en circuito abierto, su función de transferencia se puede
expresar como:
𝐻 𝑓 =1
cosh 𝛾𝑙 (4.15)
Usando el Programa 13, para una línea terminada en circuito abierto y con los
parámetros eléctricos de Barmada y otros (la cual se ha denominado lin10), se encontró
𝐻 𝑓 para longitudes de 1, 2, 3, 5, 7 y 10 m, cuyos resultados se muestran en la Figura
4.18.
66 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 4.18: Magnitud de la función de transferencia para varias longitudes de línea
terminada en circuito abierto.
En la Figura 4.18 se observan dos asuntos importantes:
Existe una dependencia de la magnitud de la función de transferencia con la
longitud de la línea. Controlar la longitud de la línea es equivalente a controlar un
dial que posiciona los picos de la magnitud de la función de transferencia.
La magnitud de la función de transferencia se mantiene en la gran mayoría de los
casos por encima de 0 dB.
Para análisis de la magnitud de la función de transferencia se toma como ejemplo la
respuesta para la línea de 10 metros. Para este caso, la Tabla 4.4 resume los resultados
entregados por el Programa 13. Es de anotar que en los cálculos de longitud de onda se
Capítulo 4 67
trabaja con velocidad de fase=188280000 m/s, que es una velocidad de fase estimada
hallada anteriormente.
Tabla 4.4: Picos de |H(f)| (dB) para una línea de 10 m, con parámetros de lin10.
Picos de |H(f)| (dB) Frecuencia (Hz) λ (m) Longitud de la línea
en función de λ
33.7909 4704000 40.0255 λ/4
24.5344 14121600 13.3328 3λ/4
21.2429 23529600 8.0018 5λ/4
La Tabla 4.4 muestra que existen picos de |H(f)| cuando la longitud de línea es un
múltiplo impar de λ/4. Al comparar este resultado con la ecuación 4.6, se puede afirmar
que cuando hay un pico de |H(f)| a la entrada de la línea estará 𝑉(𝑧) 𝑚𝑖𝑛 .
La teoría de líneas de transmisión da cuenta que la impedancia de entrada de una línea
terminada en circuito abierto es, siendo 𝑍𝑐 la impedancia característica de la línea:
𝑍𝑖 ,𝑍𝐿→∞ = 𝑍𝑐 coth 𝛾𝑙 =𝑍𝐶
tanh 𝛾𝑙 . (4.16)
En la Figura 4.19 se muestra el comportamiento de 𝑍𝑖 ,𝑍𝐿→∞ para las longitudes de línea
de hasta 10 m, el cual ha sido calculado usando el Programa 13. En la Figura 4.19 se
observa que los valores más bajos de la impedancia de entrada coinciden con los picos
de la magnitud de función de transferencia de la Figura 4.18. Es decir, en los valores
mínimos de impedancia de entrada el valor de tensión es 𝑉(𝑧) 𝑚𝑖𝑛 también es mínimo,
por ello existen picos en la magnitud de la función de transferencia en estos puntos.
68 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 4.19: Impedancia de entrada para líneas terminadas en circuito abierto (c.a).
Continuando con el ejemplo de la línea de 10 m, en la Tabla 4.5 se muestran los mínimos
de impedancia de entrada en el caso de la línea terminada en circuito abierto reportado
por el Programa 13. Estos mínimos coinciden con los picos de la magnitud de la función
de transferencia, lo que sucede cuando la longitud de la línea es múltiplo impar de λ/4.
Entre más baja es la impedancia de entrada mayor es la magnitud de estos picos.
Capítulo 4 69
Tabla 4.5: Magnitud de la impedancia de entrada para una línea de 10 metros terminada
en circuito abierto.
Frecuencia (Hz) |Impedancia de entrada| (Ohmios)
4704000 1.5082
14121600 4.3451
23529600 6.3126
De los resultados mostrados para la línea 𝜆/4 se puede concluir que esta línea tiene
vocación de producir magnitudes de funciones de transferencia mayores a 0 dB cuando
termina en circuito abierto. Esto tiene una consecuencia práctica, ya que en la banda de
frecuencia que se está analizado (1.8 - 30 MHz), se podría estimar que se podrían tener
ganancias en la magnitud de la función de transferencia en longitudes de línea entre
26.15 y 1.046 metros, distancias que coinciden con las de los segmentos de red en el
caso hogareño.
Se puede intuir que si la impedancia 𝑍𝑖 ,𝑍𝐿→∞ llega a estar muy cerca de cero, se podrían
crear problemas de estabilidad. A continuación se investiga esto, partiendo de nuevo con
la expresión:
𝑍𝑖 ,𝑍𝐿→∞ =𝑍𝐶
tanh 𝛾𝑙 . (4.17)
En este punto se debe recordar la siguiente igualdad:
tanh 𝑥 + 𝑗𝑦 =tanh 𝑥 + 𝑗 tan 𝑦
1 + 𝑗 𝑡𝑎𝑛𝑥 𝑡𝑎𝑛𝑦 . (4.18)
Usando la ecuación (4.18) con 𝛾𝑙 se tiene que:
70 Red BPL residencial basada en relevo para mitigación de la interferencia
tanh 𝛾𝑙 = tanh(𝛼𝑙 + 𝑗𝛽𝑙) =tanh 𝛼𝑙 +𝑗 tan 𝛽𝑙
1 + 𝑗 tanh 𝛼𝑙 tan 𝛽𝑙 . (4.19)
Si 𝑙 = 𝜆/4, entonces
tan 𝛽𝑙 = tan𝜋
2→ ∞ . (4.20)
Al reemplazar (4.20) en (4.19), y recordando que si 𝛼𝑙 es muy pequeño, entonces
tanh 𝛼𝑙 → 𝛼𝑙
tanh 𝛾𝑙 →0 + 𝑗
0 + 𝑗 tanh𝛼𝑙→
0 + 𝑗
0 + 𝑗𝛼𝑙→
1
𝛼𝑙 . (4.21)
Llevando la ecuación (4.21) a la ecuación (4.17), finalmente se obtiene que:
𝑍𝑖 ,𝑍𝐿→∞ = 𝑍𝐶 ∗ 𝛼 ∗ 𝑙 (4.20)
La ecuación (4.20) indica que aún con 𝛼𝑙 pequeña, 𝑍𝑖 ,𝑍𝐿→∞ no podrá ser cero. Interesa
investigar entonces si la condición 𝛼𝑙 pequeña es aplicable a las redes hogareñas.
Primero conviene indagar ¿qué tan pequeña debe ser 𝛼𝑙? Esto se observa en la Tabla
4.6.
Capítulo 4 71
Tabla 4.6: Valores de 𝐭𝐚𝐧𝐡𝜶𝒍 para valores pequeños de 𝜶𝒍.
𝛼𝑙 Tanh𝛼𝑙 0,01 0,00999967
0,02 0,01999733
0,03 0,029991
0,04 0,03997868
0,05 0,04995837
0,06 0,0599281
0,07 0,06988589
0,08 0,07982977
0,09 0,08975778
0,1 0,09966799
0,2 0,19737532
0,3 0,29131261
La Tabla 4.6 deja en claro que para que la ecuación (4.20) se pueda usar en las redes
hogareñas, 𝛼𝑙 no debe sobrepasar de 0.3.
Para observar si los valores de 𝛼𝑙 ≤ 0.3 se cumplen para el caso de las redes
hogareñas, se ha hecho el cálculo respectivo tomando la línea con los parámetros
eléctricos de Barmada y otros (lin10) para una distancia de segmento de 30 metros. El
resultado, calculado por el Programa 14, se aprecia en la Figura 4.20.
72 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 4.20: Valores de αl usando la línea lin10 para una distancia de 30 m.
Este resultado indica que para distancias de hasta 30 m para las líneas de transmisión
hogareñas la aproximación 𝛼𝑙 ≤ 0.3 se cumple, por tanto habrá estabilidad en ellas.
Ahora interesa observar el comportamiento de la magnitud de la función de transferencia
de la línea de transmisión hogareña para valores 0.01 ≦ 𝛼𝑙 ≦ 0.3. Para ello se retoma
la ecuación 4.15 para la línea λ/4 terminada en circuito abierto y se grafica la magnitud de
la función de transferencia en la Figura 4.21 usando el Programa 15:
𝐻 𝑓 =1
cosh 𝛾𝑙=
1
cosh 𝛼 𝑓 + 𝑗𝛽 ∗ 𝑙 =
1
cosh 𝛼 𝑓 ∗ 𝑙 + 𝑗 𝜋2
. 4.21
Capítulo 4 73
Figura 4.21: Magnitud de la función de transferencia para una línea hogareña con l=λ/4,
terminada en circuito abierto para valores 𝟎. 𝟎𝟏 ≦ 𝜶𝒍 ≦ 𝟎. 𝟑.
La Figura 4.21 muestra que las líneas de transmisión hogareñas tienen una combinación
particular de distancias y constantes de atenuación, que hacen que se puedan producir
ganancias apreciables estables. Pero la conclusión más importante es que con el
producto 𝛼𝑙 se puede controlar la ganancia en la magnitud de la función de transferencia
de la línea. Sin embargo, la constante de atenuación 𝛼 de la línea es un parámetro
eléctrico intrínseco que difícilmente puede ser controlado. En cambio la longitud sí es
potencialmente más controlable, por tanto esto abre un camino de investigación.
4.4 Estudio de una estructura básica
Se puede definir como estructura básica, a la red constituida por tres líneas de
transmisión, dos de las cuales pertenecen al cableado interno o intramuros del hogar y
una tercera es la línea de transmisión que conecta el cableado interno con una carga. Es
de anotar que el concepto de la estructura básica se usó para definir la configuración de
74 Red BPL residencial basada en relevo para mitigación de la interferencia
2, 𝑉2 , 𝑍2
3, 𝑉3 , 𝑍3 𝑚1 (lin9)
𝑚2 (lin6)
𝑚3 (lin9)
1, 𝑣𝑠 , 𝑍𝑐
la red en el cálculo de las magnitudes de las funciones de transferencia calculadas por la
herramienta analítica.
Así como segmentos individuales de red pueden presentar ganancias en la magnitud de
la función de transferencia, se ha mostrado evidencia, como en la Figura 4.16, que la
estructura básica también puede producir ganancia y pareciera que esta ganancia es
función de las longitudes de los segmentos. Para investigar esta relación, se considera
inicialmente la configuración de la Figura 4.22.
Figura 4.22: Estructura básica de una red BPL hogareña con recepción en el punto 2,
con la señal entrando por el punto 1.
El procedimiento que se sigue para observar el comportamiento de |𝐻(𝑓)|1−2 con
respecto a las longitudes de los segmentos 2 y 3 es el siguiente, considerando que la
señal entra por el punto 1:
Se escoge una frecuencia 𝑓 de la banda (por tanto se escoge también λ).
Se asigna:
𝑚2 =λ
4 . (4.22)
B
Capítulo 4 75
Esto se hace en razón a que para alguna frecuencia, la longitud del segmento 2
coincidirá con λ/4, y por tanto es posible que se presente un máximo en |𝐻(𝑓)|1−2
ya que 𝑍2 es circuito abierto.
Se definen las siguientes relaciones, las cuales asocian las longitudes de los
segmentos 1 y 3 con la longitud del segmento 2 así:
𝑟12 =𝑚1
𝑚2 , (4.23)
𝑟32 =𝑚3
𝑚2 . (4.24)
Encontrar |𝐻(𝑓)|1−2 variando las longitudes 𝑚1, 𝑚2 y 𝑚3 y con diferentes cargas
en los segmentos 2 y 3.
Desplegar |𝐻(𝑓)|1−2 en función de 𝑟12 y 𝑟32.
Estas consideraciones se aplican en el Programa 16 y en la Figura 4.23 se muestran
algunos resultados.
El análisis de los resultados de la Figura 4.23 lleva a las siguientes conclusiones:
La ganancia de la estructura básica puede llegar a ser de 10 dB y no se detectó
que fuera inferior de 0 dB.
La ganancia sigue existiendo incluso para valores de 𝑍2 = 100𝑍𝐶2 y de 𝑍2 =
10𝑍𝐶2.
Cuando la carga en el segmento 3 es cercana a la impedancia característica, la
magnitud de la función de transferencia depende básicamente de 𝑟12.
Si se varían las distancias los segmentos 1 y 3, y se mantiene el segmento 2 en λ/4 se
podrá encontrar un punto de operación donde la magnitud de la función de transferencia
tenga un valor alto (del orden de 9 dB). Lo mismo se puede lograr si se mantienen las
longitudes de los segmentos 1 y 3, y se varía la longitud del segmento 2, ya que en este
caso se estaría variando tanto en 𝑟12 como 𝑟32. En la práctica esto es lo que sucederá, ya
que los segmentos 1 y 3 son intramuros y será aplicable al ramal del receptor.
76 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 4.23: Ganancia de la estructura básica saliendo por ramal.
Capítulo 4 77
𝑉3, 𝑍3 𝑚2 (lin6)
𝑚1 (lin9)
𝑚3 (lin9)
𝑉2 , 𝑍2
𝑣𝑠 , 𝑍𝑐
Ahora se investigarán las magnitudes de función de transferencia cuando se sale por los
segmentos intramuros de la estructura básica, en el caso cuando la longitud del
segmento usado en la transmisión es λ/4 (𝑚1). Para ello se emplea la configuración de
la Figura 4.24 y se usa el Programa 17. Las impedancias de los puntos 2 y 3 serán las
que presente en un momento dado la red hogareña. Se hará una estimación asumiendo
algunas de estas impedancias.
Figura 4.24: Estructura básica de una red BPL residencial con transmisión sobre el
segmento 1.
En este caso se definen las siguientes contantes:
𝑚1 =λ
4 , (4.25)
𝑟21 =𝑚2
𝑚1 , (4.26)
𝑟31 =𝑚3
𝑚1 . (4.27)
En la Figura 4.25 se observa las respuestas sobre los segmentos 2 y 3, los cuales están
constituidos por las líneas con parámetros de lin6 y lin9 respectivamente, y el segmento 1
por lin9. Se muestra que entre mayor sea la carga de los segmentos 2 y 3 se presentan
mayores ganancias en la magnitud de la función de transferencia. Si se escoge
78 Red BPL residencial basada en relevo para mitigación de la interferencia
adecuadamente la longitud del segmento 1 para una frecuencia específica (recordar que
la longitud del segmento 1 es λ/4) potencialmente se pueden obtener ganancias en la
magnitud de la función de transferencia (en este caso hasta 15 dB). Estas respuestas se
obtuvieron con el Programa 17.
Figura 4.25: Transmisión sobre el segmento 1. Magnitud de función de transferencia
entre segmentos 1- 2 y 1- 3, para m1 = λ/4 y f = 20,1 MHz. Los segmentos 2 y 3 están
constituidos por lin6 y lin9 respectivamente, y el segmento 1 por lin9.
Capítulo 4 79
En la Figura 4.26 se muestra las respuestas cuando todos los segmentos de la estructura
básica están constituidos por el mismo tipo de línea (lin9) y donde se observa un
comportamiento similar al de Figura 4.25. Estas respuestas se encontraron usando el
Programa 17
Figura 4.26: Transmisión sobre el segmento 1. Magnitud de función de transferencia
entre segmentos 1- 2 y1- 3, m1 = λ/4, f = 20,1 MHz. Los segmentos son del mismo tipo
de línea (lin9).
Resulta significativo para los objetivos de esta investigación observar los puntos donde la
magnitud de la función de transferencia es mayor que cero. De acuerdo con la Figura
4.25 esto puede suceder para las impedancias de carga 𝑍2 = 100𝑍𝑐2 y 𝑍3 = 100𝑍𝑐3. Esto
se encontró usando el Programa 18 y los resultados se observan en la Figura 4.27.
80 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 4.27: Transmisión por el segmento 1. Magnitud de función de transferencia entre
segmentos 1- 2 y 1- 3 mayor que cero dB, para m1 = λ/4 y f = 20,1 MHz. Los segmentos
son del mismo tipo de línea (lin9).
En el caso de la Figura 4.27 hay 745.296 puntos en los cuales saliendo por el segmento
2, |H(f)|1-2 es mayor que 0 dB. Cuando se sale por el segmento 3, el número de puntos
es igual. El número de puntos totales es 962.361, lo que quiere decir que en cada caso la
cantidad de puntos donde |H(f)| es mayor que 0 dB es de 77.4% respectivamente.
Resulta conveniente estudiar con más detalle las respuestas mostradas en las Figura
4.27 en el intervalo 1 ≦ 𝑟21 ≦ 2 y 1 ≦ 𝑟31 ≦ 2. La elección del intervalo se hace en razón a
que si se considera la configuración de red de la Figura 4.24, se tiene que la longitud del
Capítulo 4 81
segmento 1 estaría alrededor de 2.34 metros (λ/4 @ 20.1 MHz). Este hecho sumado a
las distancias consideradas en la red hogareña, hacen que desde el punto de vista
práctico interese acotar los valores de las relaciones 𝑟31 y 𝑟21 a valores entre 1 y 2.
En este caso, usando el Programa 19, se obtiene la Figura 4.28, donde se muestra la
superposición de las magnitudes de las funciones de transferencia cuando se sale por los
segmentos 2 y 3 respectivamente transmitiendo desde el segmento 1, para magnitudes
mayores de 0 dB y con relaciones 𝑟31 y 𝑟21 entre 1 y 2. Los segmentos son del mismo
tipo de línea (lin9).
Figura 4.28: Transmisión por el segmento 1. Magnitud de la función de transferencia
entre segmentos 1- 2 y 1- 3 mayor que cero dB, para m1 = λ/4 y f = 20.1 MHz. Los
segmentos son del mismo tipo de línea (lin9). Superposición de |H(f)1-2| con |H(f)1-3|.
Vistas anterior y posterior. Relaciones 𝐫𝟑𝟏 y 𝐫𝟐𝟏 entre 1 y 2.
La Figura 4.28 muestra algo interesante. En los puntos donde la ganancia para una
magnitud de la función de transferencia es mayor, por ejemplo a 3.5 dB, para la otra
magnitud de función de transferencia es 0 dB o menor.
82 Red BPL residencial basada en relevo para mitigación de la interferencia
Con base en la información contenida en la Figura 4.28, se pueden dibujar los cuadrados
que se muestran en la Figura 4.29, los cuales pueden ser considerados como unas
zonas de trabajo donde se cumple que la ganancia de la magnitud de la función de
transferencia de cada segmento es mayor que 3.5 dB. Estas zonas de trabajo fueron
calculadas con el Programa 19.
Figura 4.29: Zonas de trabajo para una estructura básica. Transmisión por segmento 1,
m1 = λ/4 y f = 20.1 MHz. Los segmentos son del mismo tipo de línea (lin9). Relaciones
𝐫𝟑𝟏 y 𝐫𝟐𝟏 entre 1 y 2.
La Tabla 4.7 consigna unos modos de funcionamiento que se pueden identificar en la
estructura básica para este caso.
Capítulo 4 83
Tabla 4.7: Modos de funcionamiento de la estructura básica. Todos los segmentos con
mismo tipo de línea (lin9). Relaciones 𝐫𝟑𝟏 y 𝐫𝟐𝟏 entre 1 y 2.
Modo Ganancia (dB) 𝒓𝟑𝟏 𝒓𝟐𝟏
Unidireccional a la izquierda 3.5≦ H f 1-2≦6.2 |H(f)|1-3≦0
1.67-2
1-1.33
Unidireccional a la derecha 3.5≦ H f 1-3≦6.2 |H(f)|1-2≦0
1-1.33
1.67-2
Modo Ganancia (dB) 𝒓𝟑𝟏 = 𝒓𝟐𝟏
Difusión 3.5≦ H f 1-2 =|H(f)|1-3≦4.8
1.82-2
En la Tabla 4.7 se observan tres modos de funcionamiento: unidireccional a la izquierda,
unidireccional a la derecha y difusión. El primer modo significa que si se sale por el
segmento 2, se tendrá una ganancia entre 3.5 y 6.2 dB, mientras que si se sale por el
segmento 3, se tiene una ganancia de 0 dB o menor, cuando las relaciones 𝑟31 𝑦 𝑟21
cumplen las condiciones especificadas. El segundo modo es el opuesto del primer modo.
Esta unidireccionalidad es una característica importante ya que se favorece la
transmisión a un punto específico, además de disminuir la posible radiación en secciones
de la red donde no interesa que se propague está la señal.
El modo de difusión es el mismo que usualmente se espera de una red de datos
corriente. Sin embargo en las redes BPL hogareñas, no es el modo más usual ya que por
ejemplo en el caso que se está analizando solo hay 34 puntos comunes en las
magnitudes de la función de transferencia con ganancias mayores o iguales a 3.5 dB, los
cuales se observan en la zona superior derecha de la Figura 4.29.
El experimento anterior se puede realizar con la estructura básica compuesta por
segmentos de diferente tipo de línea. Por ejemplo si los segmentos 1 y 3 son del mismo
tipo de línea (lin9) y el segmento 2 es lin6, en este caso hay 766.185 puntos mayores que
0 dB cuando se sale por el segmento 2 y cuando se sale por el segmento 3, el número de
84 Red BPL residencial basada en relevo para mitigación de la interferencia
puntos es 801.772. El número de puntos totales es 962.361, lo que quiere decir que en
cada caso la cantidad de puntos donde |H(f)| es mayor que 0 dB es de 79.6% y 83.3%
respectivamente. Por tanto se presenta un desbalance con respecto al caso anterior.
También se observa que las ganancias cuando se sale sobre el segmento 2 son mayores
que cuando se sale sobre el segmento 3. Adicionalmente no se encontraron puntos para
una difusión estricta. Estos resultados se obtuvieron con el Programa 20 y se resumen
en la Tabla 4.8.
Tabla 4.8: Modos de funcionamiento de la estructura básica. Los segmentos 1 y 3 son
del mismo tipo de línea (lin9). El segmento 2 es lin6. Relaciones entre 1 y 2.
Modo Ganancia (dB) 𝒓𝟑𝟏 𝒓𝟐𝟏
Unidireccional a la izquierda 6≦ H f 1-2≦9.5 |H(f)|1-3≦0
1.635-2
1-1.23
Unidireccional a la derecha 4.5≦ H f 1-3≦6 |H(f)|1-2≦0
1-1.35
1.65-2
Se puede concluir acerca de la configuración que se ha denominado estructura básica,
que es una configuración que posee características importantes sobre todo el ámbito de
las redes BPL hogareñas, donde las longitudes de los segmentos de línea son
comparables a λ/4 en la banda considerada. Entre las características importantes se
puede mencionar:
Se presentan ganancias en la magnitud de la función de transferencia tanto en
las estructuras básicas tanto de transmisión como de recepción.
En el caso de la recepción, las ganancias son función de las impedancias de
carga y de las características eléctricas de cada segmento de salida. Entre más
grande la carga mayor la ganancia.
La ganancia en ambos casos es muy dependiente de las longitudes de los
segmentos.
Capítulo 4 85
En el caso de la transmisión se pueden presentar los modos unidireccionales a la
izquierda y a la derecha, y el modo de difusión, siendo el modo de difusión el que
tiende a presentarse con menor frecuencia.
4.5 Comportamiento global de la red hogareña
Al observar la ecuación (2.24), no es difícil concluir el importante papel de la magnitud de
función de transferencia al cuadrado (|𝐻 𝑓 |2) en esta ecuación. Para el caso específico
de las redes de acceso, se ha visto que Zimmermann y Dostert desarrollaron la ecuación
(2.1), con la cual lograron describir el comportamiento de estos canales. Sin embargo no
hay razón para no pensar que esta misma ecuación sea aplicable también a las redes
residenciales.
Aceptando que el modelo top-down de Zimmermann y Dostert es difícil de aplicar en
redes complejas ya que la determinación de los caminos no es obvia cuando se tiene un
gran número de derivaciones [76], pero esto no quiere decir que no se pueda aplicar.
Entonces partiendo del hecho que debe ser posible aplicar la modelación top-down para
redes hogareñas se hace el siguiente desarrollo.
En el Apéndice A, a partir de la ecuación (2.1) se encontró |𝐻 𝑓 |2 para N caminos como:
(|𝐻 𝑓 |2)𝑁 = (|𝐻 𝑓 |2)𝑁−1 + ∆𝑁 , (4.28)
siendo,
∆𝑁= 𝑔𝑁2 𝑒−2𝛼 𝑓 𝑑𝑁 1 + 2
𝑔𝑖
𝑔𝑁 𝑒−2𝛼 𝑓 𝑑𝑖 cos 2π ∙
𝑑𝑖 − 𝑑𝑁
λ
𝑁−1
𝑖=1
. (4.29)
La función ∆𝑁 describe la influencia en la magnitud de la función de transferencia al
cuadrado al considerarse un camino adicional al número de caminos 𝑁 − 1. El
entendimiento de esta función resulta fundamental si se persigue el objetivo de poder
controlar el valor de la magnitud de la función de transferencia al cuadrado.
86 Red BPL residencial basada en relevo para mitigación de la interferencia
El factor ∆𝑁 es dependiente de la diferencia de longitud de caminos y puede ser un valor
positivo o negativo dependiente de un valor 𝐺𝑑𝑖 , que se llamará ganancia por distancia,
la cual se define en la ecuación (4.30); y que puede ser graficada en función de λ, tal y
como se muestra en la Figura 4.30. Entonces para un camino 𝑖, se puede definir su
ganancia por distancia, 𝐺𝑑𝑖 , con respecto a un camino N con longitud 𝑑𝑁 así:
𝐺𝑑𝑖 = cos 2 ∙ π ∙ 𝑑𝑖 − 𝑑𝑁
λ= cos 2 ∙ π ∙
𝑑𝑖 − 𝑑𝑁
λ , (4.30)
por tanto se podrá escribir:
∆𝑁= 𝑔𝑁2 𝑒−2𝛼 𝑓 𝑑𝑁 1 + 2 𝑒−2𝛼 𝑓 𝑑𝑖
𝑁−1
𝑖=1
∙ 𝑔𝑖
𝑔𝑁∙ 𝐺𝑑𝑖 . (4.31)
Figura 4.30: Ganancia por distancia debida a la diferencia de caminos.
La Figura 4.30 muestra que si la señal al propagarse recorre diferentes caminos de igual
distancia o una diferencia de caminos que es múltiplo entero de la longitud de onda, la
ganancia por distancia es positiva y máxima, luego es un factor positivo para el resultado
Capítulo 4 87
final de ∆𝑁. Se debe recordar que las 𝑔𝑖´s pueden tener también valores positivos y
negativos. Entre más resultados positivos tanto de la ganancia por distancia como de las
como de la relación 𝑔𝑖 𝑔𝑁 o negativos para 𝑔𝑖 𝑔𝑁 y 𝐺𝑑𝑖 simultáneamente, de la misma
forma ∆𝑁 será mayor y por ende la magnitud de la función de transferencia al cuadrado.
Por ello eventualmente al aumentar N, ∆𝑁 podría ir acumulando valores positivos para a
su vez aumentar (|𝐻 𝑓 |2)𝑁.
El valor
𝑔𝑖
𝑔𝑁∙ 𝐺𝑑𝑖 (4.32)
tiene una parte 𝑔𝑖 𝑔𝑁 no calculable a priori, sino que debe ser medida en el laboratorio.
La segunda parte 𝐺𝑑𝑖 , es analítica, es decir se puede calcular para cualquier red
midiendo longitudes. Esto quiere decir que se puede observar el comportamiento de 𝐺𝑑𝑖
independientemente de los parámetros eléctricos y se puede constatar si hay relación de
su comportamiento con resultados obtenidos por la modelación bottom-up. A
continuación se muestran dos estudios en este sentido.
Para investigar el comportamiento mostrado en la Figura 4.5, se aplicarán las siguientes
reglas, las cuales se desprenden de lo que se ha comentado hasta este punto:
En las líneas de transmisión terminadas en circuito abierto la onda de tensión
incidente se refleja exactamente, de la misma manera como si fuera a continuar a
lo largo de una línea infinitamente larga.
Si existen en una red dos o más caminos de propagación con igual distancia a un
punto de recepción, potencialmente la magnitud de la función de transferencia
entre el transmisor y receptor, |𝐻(𝑓)|2 aumentará y en consecuencia también
|𝐻(𝑓)|.
En la Figura 4.31 se muestran dos caminos que tienen una distancia de 60 metros entre
transmisor (TX) y el punto de terminación de la línea del segmento 21. El camino de
88 Red BPL residencial basada en relevo para mitigación de la interferencia
propagación del primer y segundo recorridos sería la adición de las siguientes distancias,
donde las cantidades entre paréntesis muestran caminos creados por reflexión:
𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 𝑝𝑟𝑖𝑚𝑒𝑟 𝑟𝑒𝑐𝑜𝑟𝑟𝑖𝑑𝑜 = 3 + 1 + 11 + 1 + 13 + 13 + 1 + 11 + 3 + 3 = 60 𝑚 (4.33)
𝐷𝑖𝑠𝑡. 𝑠𝑒𝑔𝑢𝑛𝑑𝑜 𝑟𝑒𝑐𝑜𝑟𝑟𝑖𝑑𝑜 = 3 + 1 + 3 + 4 + 3 + 1 + 1 + 3 + 3 ∙ 5 + 3 + 4 + 3 = 60 𝑚 (4.34)
Figura 4.31: Dos posibles recorridos de la red de la Figura 2.12 para una distancia de
camino de propagación de 60 metros.
a. Primer posible recorrido
b. Segundo posible recorrido
Capítulo 4 89
Si se considera que la velocidad de fase está alrededor de 188280000 𝑚/𝑠 (dato que se
ha había estimado anteriormente) y si además se asume que en este caso 𝜆 = 60 𝑚
( 𝑑𝑖 − 𝑑𝑁 λ = 0), entonces se tendría una frecuencia de:
𝑓 =𝑣𝑝
𝜆=
188280000
60= 3.138 𝑀𝐻𝑧 (4.35)
Al observar la Figura 4.5, efectivamente esta frecuencia está dentro del intervalo de
frecuencias en las cuales la magnitud de la función de transferencia es máxima. La
magnitud de la función de transferencia para las demás frecuencias va a depender de los
caminos recorridos, la longitud de onda y los coeficientes de transmisión y reflexión a lo
largo de los caminos. Se debe recordar que la idea detrás de estos coeficientes, es que
estos sean primero obtenidos con mediciones sobre la red.
Se presenta a continuación un segundo estudio relacionado con el comportamiento
mostrado en la Figura 4.10 producido por la red mostrada en la Figura 4.7.
En este caso se podrían establecer las siguientes rutas de propagación, con sus
respectivos números de segmento:
𝑅1 = 21 − 4 − 3 − 2 . (4.36)
La longitud de la ruta R1 es:
𝑑𝑅1 = 3 + 3 + 1 + 1 = 8 𝑚 . (4.37)
También se puede definir la ruta R2:
90 Red BPL residencial basada en relevo para mitigación de la interferencia
𝑅2 = 21 − 22 − 24 − 26 − 26 − 24 − 22 − 4 − 3 − 2 . (4.38)
De acuerdo con esto, la longitud de la ruta R2 es:
𝑑𝑅2 = 3 + 4 + 3 + 1 + 1 + 3 + 4 + 3 + 1 + 1 = 24 𝑚 . (4.39)
En la Figura 4.32 se observan estas rutas sobre la red.
Figura 4.32: Rutas por las que la señal llega desde TX hasta FAN.
Si se supone que:
𝜆 = 𝑑𝑅2 − 𝑑𝑅1 = 24 − 8 = 16 𝑚 , (4.40)
se podría aplicar la teoría de la ganancia por distancia y escribir:
𝑑𝑅1 =𝜆
2 , (4.41)
Capítulo 4 91
𝑑𝑅2 =3𝜆
2 , (4.42)
luego,
𝑑𝑖 − 𝑑𝑁
λ=
𝑑𝑅2 − 𝑑𝑅1
λ=
3𝜆2
−𝜆2
λ= 1 . (4.43)
La ecuación (4.43) indica que con 𝜆 = 16 se podría tener unas acumulaciones positivas
de ∆𝑁 ′𝑠. Esto se confirma haciendo:
𝑓𝑝𝑖𝑐𝑜 =𝑣𝑝
𝜆=
188280000 𝑚/𝑠
16 𝑚= 11.7675 𝑀𝐻𝑧 . (4.44)
Efectivamente, al observar la Figura 4.10, se constata que en 𝑓𝑝𝑖𝑐𝑜 hay una ganancia
positiva.
4.6 Conformación discreta de la capacidad de canal de
las redes hogareñas
Recordando que en la ecuación (4.28) 𝑁 es el número de caminos considerados, se
puede reescribir esta ecuación como sigue:
(|𝐻 𝑓 |2)𝑁𝑐𝑎𝑚𝑖𝑛𝑜𝑠= (|𝐻 𝑓 |2)𝑁𝑐𝑎𝑚𝑖𝑛𝑜𝑠 −1 + ∆𝑁𝑐𝑎𝑚𝑖𝑛𝑜𝑠
, (4.45)
lográndose reescribir la ecuación (2.24) de la siguiente forma:
92 Red BPL residencial basada en relevo para mitigación de la interferencia
𝐶𝑁𝑐𝑎𝑚𝑖𝑛𝑜𝑠 = ∆𝑓 ∙ 𝑙𝑜𝑔2 1 +𝑆𝑡𝑡 (𝑓𝑖) ∙ (|𝐻 𝑓 |2)𝑁𝑐𝑎𝑚𝑖𝑛𝑜𝑠
𝑆𝑛𝑛 (𝑓𝑖)
𝑁
𝑖=1
𝑏𝑖𝑡𝑠
𝑠 . (4.46)
La ecuación (4.46) redefine la capacidad para redes BPL, la cual es potencialmente
controlable vía ∆𝑁𝑐𝑎𝑚𝑖𝑛𝑜𝑠 . Se observa que la construcción de la capacidad se puede
encontrar por pasos, evidenciándose un comportamiento discreto. Este concepto resulta
fundamental para el desenlace final de esta investigación.
De acuerdo con la ecuación (4.45), la capacidad 𝐶𝑁𝑐𝑎𝑚𝑖𝑛𝑜𝑠 en últimas depende del
número 𝑁 de caminos. Este número de caminos 𝑁 variará si tenemos simplemente una
línea punto a punto o si se tiene una red hogareña con derivaciones o ramales. El asunto
importante es encontrar si para redes BPL hogareñas, 𝑁 es lo suficientemente grande
para que se puedan producir ganancias en (|𝐻 𝑓 |2)𝑁𝑐𝑎𝑚 𝑖𝑛𝑜𝑠 . Este asunto se investigará
en el próximo capítulo.
4.7 Cargas semitransparentes en la recepción
Con el objeto de aumentar el número de caminos N, se ha introducido en el nodo
receptor un desacoplamiento. En este caso el receptor BPL presenta una carga de 5𝑍𝑐 ,
lo que produce un coeficiente de:
𝜌𝐿 =𝑍𝐿 − 𝑍𝑐
𝑍𝐿 + 𝑍𝑐=
5𝑍𝑐 − 𝑍𝑐
5𝑍𝑐 + 𝑍𝑐=
2
3 (4.47)
En el anterior cálculo hay que destacar que la impedancia característica de las líneas de
transmisión de las redes hogareñas es esencialmente resistiva. Esto se puede
comprobar por ejemplo para lin9 (Programa 11). Para una frecuencia de 1.8 MHz, su
impedancia característica es 73.9099 – 0.7972i ohmios y para una frecuencia de 30 MHz
es de 73.2528 – 0.2486i ohmios.
Capítulo 4 93
De acuerdo con Neri [75], la fracción 𝜂 de la potencia incidente que es entregada a la
carga (en este caso el receptor propiamente dicho) es:
𝜂 = 1 − 𝜌𝐿 2 = 1 −4
9=
5
9= 0.55 . 4.48
Es conveniente agregar que Schwager [20] encontró que el valor mediano de pérdida de
potencia debido al desacople de impedancia en el receptor es del orden del 20%. Esto
quiere decir que 𝜂 = 0.8, y aplicando la ecuación (4.48) se tiene que 𝜌𝐿 = 0.45. El valor
calculado de 𝜌𝐿 en la ecuación (4.47) también estaría considerando este efecto.
En este capítulo se han desarrollado elementos que serán usados en la solución final.
Algunos de ellos de por sí tienen la connotación especial de que son principios no
reportados aún en la literatura, los cuales rigen el comportamiento de las redes BPL
residenciales.
5 Resultados finales
En este capítulo se consignan los resultados que están en concordancia con lo
especificado en el anteproyecto, los cuales hacen uso de los resultados intermedios.
5.1 Algoritmo de Variación de Longitud de Ramal (AVLR)
En lo que sigue se explorará la posibilidad de disminuir la densidad espectral de potencia
del transmisor, al aumentar 𝐻(𝑓) (y por ende 𝐻(𝑓) 2) haciendo uso de los resultados
intermedios y en consecuencia se procede así:
Se encuentra inicialmente la capacidad y 𝐻(𝑓) entre dos puntos de una red.
Aumentar 𝐻(𝑓) aplicando los resultados intermedios.
Con la nueva 𝐻(𝑓) aumentada, calcular la capacidad inicial del canal
mediante la expresión de Shannon, disminuyendo la densidad espectral de
potencia del transmisor hasta obtener una capacidad igual a la capacidad
inicial.
Para aumentar 𝐻(𝑓) se propone el siguiente procedimiento:
Sobre los ramales que tengan receptores, colocar una carga igual a la impedancia
característica (Zc) de la línea del ramal. Esto hace que no se produzcan
reflexiones causadas por los receptores, persiguiendo la idea de aislar las
respuestas combinadas de todos los receptores con respecto a la respuesta entre
un transmisor y un receptor específico.
Lo siguiente es aplicable para un receptor diferente al que va dirigida la
comunicación. Tomar un primer receptor y cambiar la impedancia de tal forma
que se produzca un coeficiente de reflexión cercano a 1. Esto se logra por
ejemplo si se coloca una impedancia de 100Zc (valor con el que se hizo los
cálculos). No se propone que se logre un coeficiente de reflexión de 1, ya que ello
implicaría desconectar el receptor y posiblemente reconectarlo de nuevo, lo que
Capítulo 5 95
puede generar interferencias indeseables. De todos modos una carga de 100Zc
incrementa los N caminos por los que puede circular la señal.
Variar la distancia del ramal del receptor escogido en el punto anterior hasta
obtener la mayor capacidad de Shannon entre el transmisor y el receptor
específicos involucrados en la comunicación de datos. Si esta es la primera
capacidad que se obtiene, las demás capacidades que se hallarán en adelante
deberán ser mayor que esta.
Hacer lo mismo con los receptores que sean diferentes al receptor destino de la
comunicación. Si no se obtiene una capacidad mayor a una encontrada
anteriormente variando otro ramal, se deja Zc como la impedancia sobre este
ramal y se deja la distancia original de este ramal con el objeto de no alterar los
resultados de capacidad hallados desde anteriores ramales.
El receptor al que se va a dirigir la comunicación deberá colocar desde el
comienzo sobre el ramal una impedancia que produzca cierto nivel de reflexión de
tal forma que deje pasar hacia la recepción un nivel de potencia suficiente para la
detección. Se ha observado que este desacople ayuda a obtener una ganancia
adicional en la magnitud de la función de transferencia. Variar la longitud del
ramal del receptor destino hasta obtener la mayor capacidad entre transmisor y
receptor destino.
Variar la longitud del ramal del transmisor hasta obtener la máxima capacidad
entre transmisor y receptor destino. Además en el transmisor la línea estará
acoplada, para poder obtener máxima transferencia de potencia.
A este algoritmo se le denominará Algoritmo de Variación de Longitud de Ramal (AVLR).
Este algoritmo se apoya sobre la idea de que cada vez que se varía la longitud de un
ramal hasta obtener la mayor capacidad entre un transmisor y un receptor destino, se
está obteniendo una magnitud de la función de transferencia cuyos valores máximos
coinciden en puntos donde la relación señal a ruido es mayor. En otras palabras se está
acomodando la respuesta del canal para encontrar la mejor relación. Aquí
intrínsecamente juega un papel importante, el comportamiento local de la estructura
básica (direccionalidad y ganancia en la recepción) y el global de acuerdo con la teoría
de la ganancia por distancia de la red BPL hogareña y el hecho fundamental de que la
96 Red BPL residencial basada en relevo para mitigación de la interferencia
capacidad se puede construir de manera discreta, como se observó en la ecuación
(4.46).
Ahora se procederá a mostrar el funcionamiento de este algoritmo con las redes que se
han analizado, asumiendo las distancias residenciales comentadas en el apartado 2.7.
En primera instancia se considera la configuración de red mostrada en la Figura 2.4. Las
condiciones con las que se va a operar con la red de la Figura 2.4 son las siguientes:
Con excepción del segmento 13, los demás ramales tienen receptores.
Las longitudes iniciales de los ramales son de 1.5 m.
Las longitudes del backbone y ramales se pueden expresar con el siguiente
arreglo, el cual incluye dichas longitudes como [𝑙1 𝑙2 … 𝑙13 ]:
distancia=[1.5 1.5 2.6 1.5 3.6 1.5 6.5 1.5 3.6 1.5 3 1.5 2]. (5.1)
Como se observa se incluye una línea de 6.5 m, la cual se puede interpretar que
une dos secciones de la red.
El transmisor está sobre la línea 8 y el receptor sobre la línea 2.
Para encontrar la magnitud de la función de transferencia entre transmisor y receptor se
usa el Programa 21. En este caso la capacidad saliendo por el segmento 2 es de
627.61Mbps. El algoritmo para aumentar |𝐻(𝑓)| se ha implementado en el Programa 22 y
el resultado se muestra en la Figura 5.1.
Capítulo 5 97
Figura 5.1: Aumento de |𝑯(𝒇)| transmitiendo por segmento 8 y recibiendo por segmento
2, usando AVLR sobre la red de la Figura 2.4.
En este caso, la |H(f)| sin procesar por AVLR (|H(f)| original) tiene una |H(f)| promedio de
-12.9955 dB, mientras que la |H(f)| procesada por AVLR (|H(f)| modificada) tiene un
promedio de =-0.2975 dB, es decir la mejora en promedio es de 12.6980 dB. Como es de
esperarse al observar la Figura 5.1, la desviación estándar para la |H(f)| original es mayor
que para la |H(f)| modificada, siendo esta de 7.9831 y 1.3231 respectivamente.
Para obtener la |𝐻(𝑓)| modificada de la Figura 5.1, se procedió de la forma como lo
indican la Tabla 5.1, comenzando la variación de longitudes de los segmentos con el
segmento 12 y terminando con el segmento 1.
98 Red BPL residencial basada en relevo para mitigación de la interferencia
Tabla 5.1: Evolución sobre la red de la Figura 2.4 cuando se aplica AVLR recibiendo por
el segmento 2 y transmitiendo por el segmento 8.
En la Tabla 5.1 se muestra el procedimiento usado por AVLR. Primero se varió 𝑙12 y se
obtuvo una capacidad de 677.16 Mbps con 1.4 m, colocando una impedancia de carga
de 100Zc, lo que es resaltable, ya que la capacidad original era de 627.61Mbps. Con la
sola variación de 𝑙12 ya se obtiene una mejora de cerca de 50 Mbps.
Después se varió 𝑙10, pero el algoritmo AVLR encuentra que no hay una mejora en la
capacidad, dejándose una carga Zc y la longitud inicial de 1.5 m, e igual sucede al variar
𝑙8 (TX). Cuando se variaron las longitudes de los segmentos 6 y 4 se obtienen unas
mejoras en la capacidad, aumentándolas a 691.29 y 711.29 Mbps respectivamente,
colocándose en cada caso una impedancia de carga de 100Zc. En el segmento 2, donde
se encuentra el receptor, se coloca una impedancia 5Zc (desde el comienzo) y se varía la
longitud obteniéndose que a una longitud de 2.2 m se obtiene una máxima capacidad de
716.87 Mbps. Finalmente, se varió la longitud del segmento 1 y AVLR encontró que con
una longitud de 0.1 m y una carga de 100Zc la capacidad ascendió a 746.59 Mbps. Esto
quiere decir que la mejora en la capacidad fue de:
𝑚𝑒𝑗𝑜𝑟𝑎 𝑒𝑛 𝑐𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 = 746.59 − 627.61 = 118.98 𝑀𝑏𝑝𝑠. (5.1)
En este punto el lector se puede preguntar acerca de la incidencia que puede tener esta
mejora. Para contestar, se sigue el siguiente razonamiento: como el propósito de esta
Paso Segmento Longitud
inicial (m)
Longitud
final (m)
Capacidad
(Mbps)
Factor k de Zc
en la carga
1 12 1.5 1.4 677.16 100
2 10 1.5 1.5 677.16 1
3 8 1.5 1.5 677.16 1
4 6 1.5 0.1 691.29 100
5 4 1.5 0.1 711.29 100
6 2 1.5 2.2 716.87 5
7 1 1.5 0.1 746.59 100
Capítulo 5 99
investigación es el reducir los niveles de emisión y no el aumentar la capacidad de
transmisión, se toma la red generada por el algoritmo AVLR, que en este caso llega a
exhibir una capacidad de 746.59 Mbps, se introduce la |𝐻(𝑓)| modificada de este canal
en la fórmula de capacidad de Shannon para posteriormente disminuir progresivamente a
STX (densidad espectral de potencia del transmisión) hasta obtener la capacidad inicial,
que es de 627.61 Mbps en este caso. El Programa 22 efectuó este cálculo para el
escenario que se está tratando, y obtuvo:
STX = -64.13 dBm/Hz (5.2)
Esto quiere decir que para una capacidad de 627.61 Mbps que inicialmente se había
lograda con una STX de -52 dBm/Hz, ahora con la red modificada se logra con -64.13
dBm/Hz, obteniéndose una mejora de:
mejora STX = -64.13 dBm/Hz – (-52 dBm/Hz)= -12.13 dB. (5.3)
Ahora interesa encontrar la variación de la relación señal a ruido en la entrada del
receptor, calculándose esta como la relación entre la densidad espectral de potencia en
el receptor con la densidad espectral de potencia del ruido presente.
En la Figura 5.2 se muestra la disminución de la relación señal a ruido. En promedio la
relación señal a ruido original es de 73.4831 dB y con el canal modificado es de 67.7021
dB. La diferencia en promedio entre los dos casos es 5.781 dB. Es decir, total la
variación promedio de la relación señal a ruido es de 5.8 dB para una mejora en STX de
12.13 dB.
100 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 5. 2: Relaciones señal a ruido para el canal original y el canal modificado.
Sin embargo, para poder hacer un acercamiento a la practicidad del algoritmo AVLR, se
propone una variación máxima de longitud de ramal de 1.5 m, tal y como se muestra en
la Figura 5.3.
Figura 5.3: Segmentos usados por AVLR para variar la longitud del ramal.
Capítulo 5 101
En la Figura 5.3 se observa que el ramal ha sido dividido en cuatro secciones de 0.1, 0.3,
0.5 y 0.6 m, los cuales pueden ser combinados usando interruptores, alcanzándose un
máximo de 1.5 m. Estos interruptores deberán cumplir con las especificaciones de
corriente del modem BPL (0.12 A para el módem usado en el experimento [24]) pero las
demandas de tensión no son altas ya que sobre estos segmentos aparecerán tensiones
bajas, lo que hace el sistema apropiado para colocar interruptores electrónicos. En la
Tabla 5.2 se muestra las posibles combinaciones de distancias (A=abierto, C=cerrado,
X=no permitido).
Tabla 5.2: Combinación de segmentos para variación de distancias de ramal usada por
el algoritmo AVLR (A = abierto, C = cerrado, X = no permitido).
El funcionamiento de AVLR con las distancias de la Tabla 5.2 se apoya en el hecho de
que las mayores relaciones señal a ruido se presentan en las frecuencias superiores de
la banda entre 1.8 y 30 MHz, cuyas longitudes de onda son las menores y por tanto las
longitudes lambda cuartos de los ramales son compatibles con este hecho. A
continuación se muestra un ejemplo del desempeño de AVLR con las distancias de la
Tabla 5.2, donde se observa que la capacidad final, mostrada en la Tabla 5.3, difiere en
menos del 1% con respecto al valor final de la Tabla 5.1. De igual forma STX se
mantiene en este caso en -64.13 dBm/Hz. Estos resultados hacen pensar que AVLR
Longitud del ramal (m) Interruptor 1 Interruptor 2 Interruptor 3 Interruptor 4
0.1 A C C C
0.3 C A C C
0.4 A A C C
0.5 C C A C
0.6 C C C A
0.6 A C A C
0.7 A C C A
0.8 C A A C
0.9 C A C A
0.9 A A A C
1.0 A A C A
1.1 C C A A
1.2 A C A A
1.4 C A A A
1.5 A A A A
X C C C C
102 Red BPL residencial basada en relevo para mitigación de la interferencia
podría funcionar de manera satisfactoria solo con esta combinación de 4 segmentos. De
nuevo los resultados se obtuvieron con el Programa 22.
Tabla 5.3: Evolución sobre la red de la Figura 2.4 cuando se aplica AVLR recibiendo por
el segmento 2 y transmitiendo por el segmento 8 y usando una combinación de cuatro
segmentos sobre el ramal.
En la Figura 5.4 se muestra la modificación de 𝐻(𝑓) usando la combinación de cuatro
segmentos sobre los ramales. Se observa una ligera disminución de los valores de
𝐻(𝑓) en las altas frecuencias y en las bajas frecuencias prácticamente no hay
variaciones con respecto a lo mostrado en la Figura 5.1.
Figura 5.4: Aumento de |𝑯(𝒇)| transmitiendo por segmento 8 y recibiendo por segmento
2, usando el algoritmo AVLR y la combinación de cuatro segmentos en el ramal.
Paso Segmento Longitud inicial (m)
Longitud final (m)
Capacidad (Mbps)
Factor k de Zc en la carga
1 12 1.5 1.4 677.16 100
2 10 1.5 1.5 677.16 1
3 8 1.5 1.5 677.16 1
4 6 1.5 0.1 691.29 100
5 4 1.5 1.5 711.29 100
6 2 1.5 1.5 711.29 5
7 1 1.5 0.1 741.17 100
Capítulo 5 103
En la Figura 5.5 se muestra la disminución de la relación señal a ruido cuando se usa la
combinación de cuatro segmentos en el ramal. En promedio la relación señal a ruido
original sigue siendo (es el mismo canal) 73.4831 dB y con el canal modificado es de
67.413. La diferencia en promedio entre los dos casos es 6.068 dB. Es decir, la variación
promedio de SNR es de 6.06 dB para una mejora en STX de 12.13 dB.
Figura 5.5: Relaciones señal a ruido para el canal original y el canal modificado cuando
se usa la combinación de cuatro segmentos en el ramal.
Como segundo ejemplo de la aplicación de AVLR, en las Tablas 5.4 y 5.5 se muestran
los resultados al aplicar el algoritmo de modificación de la función de transferencia
mediante la variación de las longitudes de los ramales para el canal TX-RX de la Figura
4.2, tanto desde el punto de vista de aumento de la capacidad, como desde el punto de
vista de la mitigación de la interferencia. Estos resultados se obtienen usando el
Programa 23.
104 Red BPL residencial basada en relevo para mitigación de la interferencia
Tabla 5.4: Resultados desde el punto de vista de aumento de la capacidad para el canal
TX-RX de la Figura 4.2 con L abierto.
Canal directo TX-RX Capacidad (Mbps) DEP (dBm/Hz)
Original 530.45 -52
Modificado 600.97 -52
Tabla 5.5: Resultados desde el punto de vista de la mitigación de la interferencia para el
canal TX-RX de la Figura 4.2 con L abierto.
Canal directo TX-RX Capacidad (Mbps) DEP (dBm/Hz)
Original 530.45 -52.00
Modificado 530.45 -59.53
Se observa en las Tablas 5.4 y 5.5 que es posible con el algoritmo de variación de las
longitudes de los ramales, obtener mejoras en la capacidad de hasta 70.52 Mbps (Tabla
5.4) o disminuir la DEP de transmisión 7.53 dB (Tabla 5.5).
En la Tabla 5.6 se muestra para el caso de L abierto la evolución de longitudes de
segmentos y capacidades cuando se usa el algoritmo de variación de longitud de los
ramales, para el camino directo TX-RX, teniendo en cuenta que la variación de longitudes
comienza por el segmento 25 y termina en el segmento 1. Estos resultados han sido
calculados con el Programa 24.
Tabla 5.6: Evolución sobre la red de la Figura 4.2 cuando se aplica AVLR al canal directo
TX-RX (1-13) con L abierto.
Paso Segmento Longitud inicial (m) Longitud final (m) Capacidad (Mbps)
1 25 1.0 7.4 563.24
2 21 3.0 1.6 566.41
3 20 2.0 6.9 566.63
4 19 2.0 7.0 566.81
5 15 1.0 1.8 570.43
6 13 0.5 2.7 585.57
7 8 14.0 0.5 599.54
8 1 3.0 0.1 600.97
Capítulo 5 105
En la Figura 5.6 se observa el resultado después de aplicar el algoritmo AVLR al canal
directo TX-RX con L abierto. Se puede observar la efectividad en mejorar la magnitud de
la función de transferencia en la banda. Se observan mejoras en algunos casos del orden
de 22 dB, precisamente en la región donde el ruido es menor.
Figura 5.6: Resultado después de aplicar el algoritmo AVLR al canal TX-RX de la Figura
4.2 con L abierto.
En este caso, la |H(f)| sin procesar por AVLR (|H(f)| original) tiene una |H(f)| promedio de
-23.3663 dB, mientras que la |H(f)| procesada por AVLR (|H(f)| modificada) tiene un
promedio de =-15.839 dB, es decir la mejora en promedio es de 7.5273 dB. Como es de
esperarse al observar la Figura 5.6, la desviación estándar debe ser parecida.
Efectivamente para la |H(f)| original es 7.0695 y para la |H(f)| modificada es 8.802. Este
dato indican que no hay mucha variación en la forma de |H(f)|, como sí la hubo en caso
de la Figura 5.4.
En la Figura 5.7 se muestra en promedio una disminución de la relación señal a ruido
para este caso. En promedio la relación señal a ruido original es 68.2977 dB y con el
canal modificado es de 64.5313. La diferencia en promedio entre los dos casos es 3.7664
dB. En total la variación promedio de la relación señal a ruido es de 3.7 dB para una
mejora en STX de 7.53 dB.
106 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 5.7: Relaciones señal a ruido para el canal TX-RX de la Figura 4.2 con L abierto
para los casos del canal original y del canal modificado.
Ahora se tratará el caso del canal TX-RX de la Figura 4.2 con L cerrado. Para ello se
muestran los resultados pertinentes en la Tablas 5.7 y 5.8.
Tabla 5.7: Resultados desde el punto de vista de aumento de la capacidad para canal
TX-RX de la Figura 4.2 con L cerrado.
Canal directo TX-RX Capacidad (Mbps) DEP (dBm/Hz)
Original 537.69 -52
Modificado 608.16 -52
Capítulo 5 107
Tabla 5.8: Resultados desde el punto de vista de la mitigación de la interferencia para el
canal TX-RX de la Figura 4.2 con L cerrado.
Canal directo TX-RX Capacidad (Mbps) DEP (dBm/Hz)
Original 537.69 -52
Modificado 537.69 -59.53
En la Tabla 5.7 se observa una mejora en la capacidad de 70.47 Mbps y en la Tabla 5.8
desde el punto de vista de la interferencia se observa una disminución en la DEP de 7.53
dB. La Tabla 5.9 muestra la evolución de AVLR sobre el canal directo TX-RX con L
cerrado.
Tabla 5.9: Evolución sobre la red de la Figura 4.2 cuando se aplica AVLR al canal directo
TX-RX (1-13) con L cerrado.
La Figura 5.8 muestra el resultado después de aplicar el algoritmo AVLR al canal TX-RX
de la Figura 4.2 con L cerrado.
Paso Segmento Longitud inicial (m) Longitud final (m) Capacidad (Mbps)
1 25 1.0 7.5 570.38
2 21 3.0 1.6 573.52
3 20 2.0 6.9 573.73
4 19 2.0 6.9 573.91
5 15 1.0 1.8 577.64
6 13 0.5 2.7 592.75
7 8 14.0 0.5 606.72
8 1 3.0 0.1 608.16
108 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 5.8: Resultado después de aplicar el algoritmo AVLR al canal TX-RX de la Figura
4.2 con L cerrado.
En la Figura 5.9 se muestra en promedio una disminución de la relación señal a ruido.
En promedio la relación señal a ruido original es 68.2977 dB y con el canal modificado es
de 64.5313. La diferencia en promedio entre los dos casos es 3.3829 dB. En total la
variación promedio de la relación señal a ruido es de 4.95% para una mejora en STX de
14.5%. En este caso se observa un mejor comportamiento que en caso anterior (L
abierto), ya que para una misma mejora en STX la variación promedio de la relación
señal a ruido fue 3.38 dB.
Capítulo 5 109
Figura 5.9 Relaciones señal a ruido para el canal TX-RX de la Figura 4.2 con L cerrado
para los casos del canal original y del canal modificado.
En lo expuesto hasta aquí, es clara la contribución del algoritmo AVLR en la mitigación
de la interferencia. A continuación se mostrará el uso de este algoritmo en conjunto con
el protocolo ODF (relevo), teniendo en cuenta el estado del arte.
110 Red BPL residencial basada en relevo para mitigación de la interferencia
5.2 Uso del Algoritmo de Variación de Longitud de
Ramal (AVLR) en conjunción con el protocolo
Opportunistic Time División Decode and Forward
(ODF)
Los anteriores cálculos con AVLR, se han basado en el hecho de que el aumento de la
capacidad coincide con el aumento de 𝐻(𝑓) . Sin embargo, es bien sabido que la
tecnología aún no logra llegar a la capacidad de Shannon. Sin pérdida de generalidad, en
este punto se hace una reflexión acerca del estado del arte en módems BPL
residenciales.
HomePlug [77] ha producido un documento en el que se afirma que la Capa Física
(PHY) ―usa OFDM enventanado y un Código Turbo Convolucional poderoso, lo que
proporciona un desempeño robusto dentro de 0.5 dB de la Capacidad de Shannon‖.
Como la máxima velocidad de HomePlug AV es 200 Mbps a nivel físico, esto significa
que se espera del canal una Capacidad de Shannon mínima de 224.47 Mbps, con lo que
se tendría una constante técnica de 0.8913 de la capacidad de Shannon. Se debe
recordar que la tecnología base de HomePlug fue la que adoptó IEEE 1901. Veamos el
impacto que se tiene al considerar esta condición práctica.
5.2.1 Uso de el algoritmo AVLR práctico con capacidad esperada real.
Para aplicar AVLR en el caso práctico, es decir usando la combinación de los cuatro
segmentos sobre el ramal, se plantea el siguiente algoritmo para ejecutarse entre un
transmisor y un receptor:
Usando la magnitud de la función de transferencia del canal sin modificar,
encontrar un valor de STX entre transmisor y receptor que obtenga una fracción
Capítulo 5 111
de la capacidad del canal. Se experimentó con la fracción 0.7, es decir que se
debe disminuir STX hasta encontrar 157.2 Mbps.
Aplicar AVLR al canal usando la limitación de distancias de ramal (AVLR práctico)
y el STX encontrado en el punto anterior.
Con 𝐻(𝑓) modificada entre TX y RX por AVLR práctico aumentar STX hasta
encontrar la capacidad del canal.
En el Programa 24 se implementó este algoritmo. Inicialmente se encontró para el
canal TX-RX (1-13) con L cerrado de la Figura 4.2, una STX = -93.06 dB/Hz para una
fracción de capacidad de 157.05 Mbps. Luego, con esta STX se modificó la red usando
AVLR práctico cuya evolución que se muestra en la Tabla 5.10.
Tabla 5.10: Evolución sobre la red de la Figura 4.2 cuando se aplica AVLR práctico al
canal TX-RX (1-13) con L cerrado y una fracción de 0.7.
La capacidad obtenida con STX = -93.06 dBm/Hz una vez obtenidas las longitudes de los
ramales, fue 217.24 Mbps. Con esta configuración de red se aumentó STX hasta obtener
224.47 Mbps, hallándose una STX = -92.22 dBm/Hz. En la Figura 5.10 se muestra el
resultado de aplicar el algoritmo AVLR práctico al canal TX-RX de la Figura 4.2, para L
cerrado, usando el Programa 24.
La magnitud de la función de transferencia del canal original que se muestra en la Figura
5.10 tiene un valor medio de -22.5937 dB, mientras para la magnitud de la función de
Paso Segmento Longitud inicial (m) Longitud final (m) Capacidad (Mbps)
1 25 1.0 0.9 189.54
2 21 3.0 1.5 193.27
3 20 2.0 0.8 193.45
4 19 2.0 0.1 193.84
5 15 1.0 1.5 197.48
6 13 0.5 1.5 201.96
7 8 14.0 0.5 215.87
8 1 3.0 0.1 217.24
112 Red BPL residencial basada en relevo para mitigación de la interferencia
transferencia modificada es de -16.4034 dB, para una variación de 6.4034 dB. Este valor
es un indicador del poder de variación de la técnica desarrollada.
Figura 5.10: Aplicación del algoritmo AVLR práctico al canal TX-RX de la Figura 4.2,
para L cerrado.
5.2.2 Uso de AVLR práctico en transmisión por relevo.
En este punto se hace uso del protocolo ODF descrito en el apartado 2.6
implementándolo con AVLR práctico. El algoritmo que se propone para implementar ODF
es el siguiente:
Encontrar STX entre transmisor (S) y receptor (D) para una fracción de la
capacidad.
Con la STX encontrada en el punto anterior, aplicar AVLR usando limitación de
distancias de ramal. Sin embargo hay que observar que en esta ocasión se debe
hacer una pequeña modificación a AVLR. Junto con el camino directo (S,D) se
debe tener en cuenta al posible nodo R, a cuyo ramal se le colocará solamente Zc
Capítulo 5 113
como carga, y no se le podrá colocar kZc (en este estudio k=100) ya que el nodo
R quedaría imposibilitado para retransmitir dado su desacople. A esta
modificación se le llamará AVLR_R. Si es necesario, variar la longitud original del
segmento donde se ubica en nodo R.
Con 𝐻(𝑓) modificado entre TX (S) y RX (D) por AVLR_R aumentar STX hasta
encontrar la capacidad.
Observar la capacidad del posible nodo R. Si la capacidad es mayor que la
obtenida entre S y D, se elije este nodo como candidato a R.
Encontrar para el canal R-D una STX desde R que conduzca a obtener una
capacidad igual a la obtenida entre TX (S) y RX (D). Si esto es posible, se ha
encontrado el nodo R.
Si el anterior punto no se cumple, repetir el procedimiento con otro posible nodo
R.
Este algoritmo, al cual se le llamará AVLR_R_ODF, se ha implementado en el Programa
25 con la red propuesta en la Figura 4.2 y específicamente aplicándolo entre TX y RX de
esta red. En la Figura 5.12 se muestra la magnitud de las funciones de transferencia
obtenidas al aplicar AVLR_R_ODF transmitiendo por el segmento 1 (TX) y recibiendo por
el segmento 13 (RX) de la red de la Figura 4.2.
Se observa en la Figura 5.11 que la aplicación de AVLR_R_ODF mejora la magnitud de
las funciones de transferencia, lo cual se puede constatar al comparar con la Figura 4.3.
En particular mejora la magnitud de la función de transferencia entre los segmentos 1 y
13, que es lo que se persigue inicialmente.
114 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 5.11: Magnitud de las funciones de transferencia al aplicar AVLR_R_ODF entre
TX-RX de la red de la Figura 4.2 (segmento 1-segmento 13), para L cerrado.
Capítulo 5 115
El Programa 25 ha aplicado AVLR_R_ODF usando como nodo R posible el transmisor
ubicado sobre el segmento 21. En este caso se han encontrado las capacidades
mostradas en la Tabla 5.11, las cuales han sido calculadas con el Programa 26.
Tabla 5. 11: Capacidades y densidades espectrales de potencia para canales de la Red
de la Figura 4.2 usando AVLR_R_ODF.
De acuerdo con lo establecido en el marco teórico, a nivel MAC se ha de cumplir para
TDMA que:
𝑡 >𝐶𝑆,𝐷
𝐶𝑆,𝑅=
224.47 Mbps
765.35 Mbps= 0.29329, 𝑡𝜖 0,1 . (5.4)
Es importante resaltar el hecho de que AVLR_R_ODF no solamente mejora el canal
directo (1-13). Un ejemplo se puede observar en la Figura 5.12 donde se observa la
influencia sobre los canales 1-21 y 21-13 de la red de la Figura 4.2. Para el primer caso
el promedio de |H(f)| pasó de 38.8102 dB a 41.4548 dB, y en el segundo caso
de -22.9298 dB a -17.5095 dB. Esto demostraría la afirmación de Galli [78] de que ―los
canales en un hogar son correlacionados‖.
Canal Capacidad (Mbps) STX (dBm/Hz)
1-13 (S-D) 224.47 -91.75
1-21 (S-R) 765.35 -91.75
21-13 (R-D) 224.47 -90.82
116 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura 5.12: Mejora de canales producida por AVLR_R_ODF.
Ahora se podría usar este resultado desde la perspectiva de la técnica ATPM (ver
sección 1.4). El mínimo de la magnitud de la función de transferencia del canal 21-13,
mostrada en la Figura 5.13, es -3.2765 dB y al aplicar la ecuación (1.1), se tendría una
reducción de 26.72 dB en la DEP de transmisión, es decir una DEP = -81.72 dBm/Hz. En
la Figura 5.13 también se muestra la relación señal a ruido para el caso del canal 21-13,
donde se observa que todas las portadoras están habilitadas para la comunicación.
Capítulo 5 117
Figura 5.13: Magnitud de la función de transferencia y relación señal a ruido para el
canal 21-13 de la red de la Figura 4.2.al aplicar AVLR_R_ODF.
La Figura 5.13 ha sido obtenida con el Programa 25, el cual también ha calculado que la
relación señal a ruido (SNR) promedio es de es 41.5 dB (obtenida con una DEP de
transmisión de -81.72 dBm/Hz). Aplicando esta SNR promedio al cálculo de Guerrini y
otros [69] (ver sección 2.8), se obtiene que el máximo caudal promedio estimado para un
sistema HomePlug AV es aproximadamente 180 Mbps, cumpliéndose así lo esperado
por ATPM acerca de mantener una velocidad alta de transmisión.
Estos valores hacen que la configuración del relevo cambie. En la Tabla 5.12 se
muestran los nuevos valores, con los cuales se obtiene 𝑡 > 0.36.
118 Red BPL residencial basada en relevo para mitigación de la interferencia
Tabla 5.12: Capacidades y densidades espectrales de potencia para canales de la Red
de la Figura 4.2 usando AVLR_R_ODF.
En la Tabla 5.13 se observa la configuración final de la red después de haber aplicado
AVLR_R_ODF. La distancia de 3 m del segmento 21 es debido a que la variación de la
distancia de este ramal no se consideró ya que se observó que contribuía a una alta
ganancia con la distancia original.
Tabla 5.13: Configuración final de la red de la Figura 4.2 después de haber aplicado
AVLR_R_ODF.
Canal Capacidad (Mbps) STX (dBm/Hz)
1-13 (S-D) 307.54 -82.62
1-21 (S-R) 850.89 -82.62
21-13 (R-D) 307.54 -81.72
Segmento Longitud final (m) Factor k de Zc en la carga
1 (S) 0.1 1
8 0.5 100
13 (D) 1.5 5
15 1.5 100
19 0.1 100
20 0.8 100
21 (R) 3.0 1
25 0.9 100
Capítulo 5 119
Sin embargo, si el canal S-D tiene una capacidad muy grande, difícilmente habrá un
canal S-R con una capacidad mayor que la del canal S-D para así poder conformar el
canal de relevo. Para el caso de la red de la Figura 4.2, la Tabla 5.14 muestra que los
canales 1-8 y 1-25 también son candidatos para encontrar el nodo R, ya que en promedio
la magnitud de la función de transferencia |H(f)| es mayor que para el canal 1-13 en
ambos casos. La Tabla 5.13 ha sido calculada con el Programa 27.
Tabla 5. 14: |H(f)| promedio inicial para canales de la red de la Figura 4.2 con L cerrado.
En este punto se puede hacer una consideración acerca de la inclusión en los cálculos
del efecto de las cargas no lineales sobre el resultado del algoritmo AVLR_R_ODF. Para
ello se usa el Programa 28.
En la Tabla 5.15 se muestra la evolución del algoritmo para el canal TX-RX de la red de
la Figura 4.2, cuando el cálculo se hace en un periodo de estabilidad de la red. Cuando
se menciona el término un periodo de estabilidad, se quiere decir que se considera que
no hay cambio en las cargas no lineales hasta por 2 ms y que en este periodo se
encuentra la configuración de la red.
Canal |H(f)| promedio inicial
1-21 38.8102
1-25 -15.9936
1-8 -19.2482
1-13 -22.5937
1-15 -26.9098
1-19 -33.9716
1-20 -33.9716
120 Red BPL residencial basada en relevo para mitigación de la interferencia
Tabla 5.15: Evolución sobre la red de la Figura 4.2 cuando se aplica AVLR_R_ODF al
canal directo TX-RX (1-13) con L cerrado y una fracción de 0.7, en un solo periodo de
estabilidad.
En la Tabla 5.16 muestra la evolución, asumiendo que cada prueba de distancia de ramal
se hace en un periodo de estabilidad diferente, es decir los valores de las impedancias
no lineales cambian con cada variación de longitudes de los ramales.
Tabla 5.16: Evolución sobre la red de la Figura 4.2 cuando se aplica AVLR_R_ODF al
canal directo TX-RX (1-13) con L cerrado y una fracción de 0.7, usando múltiples
periodos de estabilidad.
En el caso de los cálculos con un solo periodo de estabilidad, la capacidad esperada por
el sistema HomePlug se encuentra con una DEP = -91.75 dBm/Hz y usando múltiples
periodos de estabilidad esta misma capacidad se encuentra con una DEP = -91.76
dBm/Hz.
Paso Segmento Longitud inicial (m) Longitud final (m) Capacidad (Mbps)
1 25 1.0 0.9 189.58
2 20 2.0 0.8 189.70
3 19 2.0 0.1 189.96
4 15 1.0 1.5 192.71
5 13 0.5 1.5 197.39
6 8 14.0 0.5 211.43
7 1 3.0 0.1 212.82
Paso Segmento Longitud inicial (m) Longitud final (m) Capacidad (Mbps)
1 25 1.0 0.9 189.58
2 20 2.0 0.9 189.75
3 19 2.0 0.1 189.99
4 15 1.0 1.5 192.83
5 13 0.5 1.5 197.45
6 8 14.0 0.5 211.59
7 1 3.0 0.3 212.91
Capítulo 5 121
De acuerdo con los datos anteriores se puede concluir que la influencia de las
impedancias no lineales es mínima sobre el algoritmo AVLR_R_ODF.
Como se muestra, el algoritmo AVLR_R_ODF es un algoritmo en el cual los
transmisores/receptores cooperan, los cuales operan usando el cableado residencial
como backbone. En 2009 se hizo un estudio en Europa que involucraba 23.200 usuarios
finales usando módems BPL internos y se encontró que el 39% de estos usuarios
usaban la red interna como backbone, es decir que el 39% tenían más de 2 módems en
la red. En 2011 se hizo el estudio con 75.000 usuarios y en esta ocasión 50% de ellos
usaban la red interna como backbone. Esto indica una tendencia que favorece la
operación del algoritmo AVLR_R_ODF. En la Figura 5.14 se observa en detalle la forma
como se ha usado el backbone interno en los años 2009 [48] y 2011 [79].
Figura 5.14: Número de módems BPL internos por red en Europa [48] [79] .
En este capítulo se ha discutido una técnica que aumenta la magnitud de la función de
transferencia del los canales de comunicación de la red, observándose que su promedio
aumenta hasta en 6.4 dB. Esta mejora es un insumo ideal para otro algoritmo de
mitigación de la interferencia llamado ATPM, el cual basa su operación en los picos de
122 Red BPL residencial basada en relevo para mitigación de la interferencia
menor atenuación de la magnitud de la función de transferencia del canal. Usando esta
técnica, el algoritmo AVLR-ODF-R logra que por el canal de relevo se inyecten de
manera no simultánea densidades espectrales de potencia que están por debajo de lo
requerido por la FCC, lográndose mejoras en este aspecto de hasta 26.72 dB. Estas
mejoras en general son compartidas por toda la red dada su correlación de canales. De
igual forma queda en evidencia la correcta operación del relevo para el sistema se
comunicación TDMA.
La relación señal a ruido producida por el algoritmo AVLR-ODF-R es lo suficientemente
buena como para que el sistema pueda operar a 180 Mbps. De otra parte se demuestra
que el impacto de las cargas no lineales en el comportamiento del algoritmo AVLR-ODF-
R es mínimo. Adicionalmente el sostenido crecimiento del número de módems BPL por
red, hacen que el enfoque cooperativo del algoritmo AVLR-ODF-R se vea favorecido.
Pero la cooperación se podría dar también a nivel de técnicas de mitigación de
interferencia. ITU-R ( [5], sección A2.6.3) ha calculado que para proteger las
comunicaciones de los aviones, los sistemas BPL instalados en construcciones y que
funcionan con una densidad espectral de potencia (DEP) de -55 dBm/Hz tendrían que
reducir la DEP 48 dB. De acuerdo con ITU-R esto se lograría reduciendo la DEP en 18
dB usando control dinámico de potencia de transmisión (ATPM) y 30 dB usando técnicas
de ranuras.
Dado que la técnica AVLR-ODF-R + ATPM no usa ranuras, se abriría la posibilidad de
combinaciones muy favorables para la compatibilidad electromagnética, ya que se podría
obtener una mejora combinada igual a 26.72 dB + 30 dB = 56.72 dB.
6 Alcances y limitaciones
A continuación se relacionan algunos alcances y limitaciones en relación con el presente
trabajo.
6.1 Alcance de la presente investigación
La presente investigación está basada en el desarrollo de método científico, cuyas
características básicas son:
Observación y recolección de datos.
Formulación y comprobación de hipótesis
Demostración de relaciones entre fenómenos.
En el sentir de quien escribe estas líneas, se ha cumplido el objetivo científico de producir
nuevo conocimiento mediante la aplicación del método científico, lo que está en
consonancia con el espíritu del anteproyecto aprobado por la Universidad Nacional, el
cual dio origen al presente trabajo y cuyos objetivos propuestos han sido alcanzados.
Después de la discusión teórica presentada, es posible que exista por parte de
interesados en el tema el plausible ánimo de plasmar prácticamente los resultados aquí
obtenidos para beneficio de la sociedad, otros considerarán hacer mayores aportes con
el mismo objetivo. Sin embargo, este es un paso posterior y se considera que es una
discusión necesaria pero en el presente escenario tal actividad está por fuera del alcance
del presente trabajo.
6.2 Presentación de los resultados más relevantes
En la primera versión de este documento, se presentaron resultados que podrían ayudar
a la investigación del comportamiento de los sistemas BPL residenciales, como por
ejemplo el generador de ruido. Sin embargo, los resultados de este simulador no fueron
124 Red BPL residencial basada en relevo para mitigación de la interferencia
usados para obtener algún resultado del presente documento, por tanto no se presenta
en virtud de la extensión del mismo.
6.3 Topologías de red
La herramienta analítica desarrollada en este trabajo, fue lo suficientemente flexible para
encontrar soluciones para las topologías de las redes de las Figuras 2.2, 2.5, 4.2, 4.7 y
4.11.
Estas redes y otras mencionadas en la literatura [80] [81] muestran que las redes
residenciales tienen las siguientes topologías:
Red en forma de bus.
Buses que se conectan al backbone (estructuras que aquí se llamaron árboles).
Conexiones en estrella que se conectan al backbone.
Fue posible definir estas topologías en la herramienta analítica, haciéndose en ella la
definición de nodos en base a estructuras básicas. Entonces se puede concluir que las
topologías mencionadas son las que serían aceptadas por la herramienta analítica.
7 Conclusiones, Trabajo Futuro e
Instrucciones
7.1 Conclusiones
En el presente trabajo se ha mostrado que es posible reducir la densidad espectral de
potencia (DEP) en las redes BPL residenciales introduciendo cambios en el canal de
transmisión mediante algoritmos que operan sobre la magnitud de las impedancias de
carga y sobre la longitud de las conexiones (ramales) al cableado eléctrico intramuros de
las residencias (que se ha llamado backbone). Esto conlleva a una inmediata reducción
de la interferencia electromagnética.
Se encontró que este control se puede realizar variando las longitudes de los ramales
entre 0.1 y 1.5 m, lo que hace que se pueda tener efectos apreciables mediante el control
de longitudes pequeñas de líneas de transmisión. El control de las impedancias de carga
se reduce a colocar convenientemente como carga de los ramales los valores Zc, 5Zc ó
100Zc ohmios. Con estos mecanismos se logró aumentar hasta en 6.4 dB el promedio de
la magnitud de la función de transferencia del canal.
La técnica cooperativa entre transceptores desarrollada es aplicable tanto para redes que
operan basadas en el canal de relevo, como para los canales individuales de las redes
BPL residenciales; y se convierte en una tercera opción técnica para la reducción de la
interferencia electromagnética producida por las redes BPL residenciales.
Para lograr este resultado se encontraron y aplicaron algunas derivaciones teóricas no
reportadas hasta el momento en la literatura, las cuales explicaron el comportamiento
observado en algunos canales residenciales; comportamiento que fue evidenciado al
usar la herramienta analítica desarrollada para tal efecto, operando en configuraciones
eléctricas residenciales típicas.
126 Red BPL residencial basada en relevo para mitigación de la interferencia
7.2 Trabajo Futuro
Se proponen los siguientes trabajos para continuar el desarrollo de esta investigación:
- Continuar la investigación en redes que contengan canales que se puedan
clasificar en los modelos 3 y 4 de la Figura 2.14.
- Considerar otro aspecto de control adicional a la distancia (por ejemplo variación
de los parámetros eléctricos) y carga en los ramales.
- Explorar otras formas de variar la magnitud de la función de transferencia del
canal.
- Encontrar un método para poder diseñar e implementar la función de
transferencia del canal.
- Aumentar la base de datos para modelar los canales BPL residenciales.
7.3 Instrucciones
Para verificación de la funcionalidad de los programas a los que se hace referencia en
este documento, se ha incluido en el medio óptico entregado un documento llamado
―Libro de Soporte de Programas v2.0‖, en el cual está contenido el código en MATLAB de
cada programa.
Instrucciones:
El código de cada programa debe ser llevado a la ventana de comandos de
MATLAB para su ejecución.
Los archivos .mat incluidos en el directorio ―tesis‖ del medio óptico entregado,
han sido generados con MATLAB 7.0.0 19920 (R14). Estos archivos pueden ser
usados para desplegar resultados, ya que algunos programas pueden demorar un
tiempo apreciable en su ejecución. La mayoría de programas tienen una sección
de despliegue de resultados que usan estos archivos.
El directorio ―tesis‖ incluido en el medio óptico, debe ser instalado en el directorio
raíz del disco duro (C:/)
Anexo A: Derivación de la expresión de la
ganancia por distancia
Para encontrar |𝐻 𝑓 |2, variable que es fundamental en la ecuación de capacidad de
Shannon, se puede desarrollar la ecuación (2.1):
Definiendo
𝑤𝑖 = 2𝜋𝑓𝜏𝑖 (𝐴. 1)
entonces, desarrollando la ecuación (2.1):
𝐻 𝑓 = (𝑔𝑖𝑒−𝛼 𝑓 𝑑𝑖 𝑐𝑜𝑠𝑤𝑖)
𝑁
𝑖=1
+ 𝑗 −𝑔𝑖𝑒−𝛼 𝑓 𝑑𝑖 𝑠𝑒𝑛𝑤𝑖 (𝐴. 2)
𝑁
𝑖=1
lo que lleva a:
|𝐻 𝑓 |2 = 𝑔𝑖𝑒−𝛼 𝑓 𝑑𝑖 𝑐𝑜𝑠𝑤𝑖
𝑁
𝑖=1
2
+ −𝑔𝑖𝑒−𝛼 𝑓 𝑑𝑖 𝑠𝑒𝑛𝑤𝑖
𝑁
𝑖=1
2
. (𝐴. 3)
Desarrollando (A.3) para N = 1 se tiene que:
|𝐻 𝑓 |2 = 𝑔12𝑒−2𝛼 𝑓 𝑑1 𝑠𝑒𝑛2𝑤𝑖 + 𝑐𝑜𝑠2𝑤𝑖 (𝐴. 4)
luego,
(|𝐻 𝑓 |2)1 = 𝑔12𝑒−2𝛼 𝑓 𝑑1 . (𝐴. 5)
128 Red BPL residencial basada en relevo para mitigación de la interferencia
Para N = 2 se tiene que:
(|𝐻 𝑓 |2)2 = (𝑔1𝑒−𝛼 𝑓 𝑑1𝑐𝑜𝑠𝑤1 + 𝑔2𝑒−𝛼 𝑓 𝑑2𝑐𝑜𝑠𝑤2)2 + (𝑔1𝑒−𝛼 𝑓 𝑑1𝑠𝑒𝑛𝑤1 +
𝑔2𝑒−𝛼 𝑓 𝑑2𝑠𝑒𝑛𝑤2)2
= 𝑔12𝑒−2𝛼 𝑓 𝑑1 𝑠𝑒𝑛2𝑤1 + 𝑐𝑜𝑠2𝑤1 + 𝑔2
2𝑒−2𝛼 𝑓 𝑑2 𝑠𝑒𝑛2𝑤2 + 𝑐𝑜𝑠2𝑤2
+ 2𝑔1𝑔2𝑒−2𝛼 𝑓 (𝑑1+𝑑2) 𝑠𝑒𝑛𝑤1𝑠𝑒𝑛𝑤2 + 𝑐𝑜𝑠𝑤1𝑐𝑜𝑠𝑤2
= 𝑔12𝑒−2𝛼 𝑓 𝑑1 + 𝑔2
2𝑒−2𝛼 𝑓 𝑑2 + 2𝑔1𝑔2𝑒−2𝛼 𝑓 (𝑑1+𝑑2) 𝑠𝑒𝑛𝑤1𝑠𝑒𝑛𝑤2 + 𝑐𝑜𝑠𝑤1𝑐𝑜𝑠𝑤2 . (𝐴. 6)
Como:
𝑠𝑒𝑛𝑤1𝑠𝑒𝑛𝑤2 = ½ cos 𝑤1 − 𝑤2 − ½ cos 𝑤1 + 𝑤2 (𝐴. 7)
y
𝑐𝑜𝑠𝑤1𝑐𝑜𝑠𝑤2 = ½ cos 𝑤1 − 𝑤2 + ½ cos 𝑤1 + 𝑤2 (𝐴. 8)
y sumando (A.7) con (A.8)
𝑠𝑒𝑛𝑤1𝑠𝑒𝑛𝑤2 + 𝑐𝑜𝑠𝑤1𝑐𝑜𝑠𝑤2 = cos 𝑤1 − 𝑤2 . (𝐴. 9)
Reemplazando (A.9) en (A.6):
(|𝐻 𝑓 |2)2 = 𝑔12𝑒−2𝛼 𝑓 𝑑1 + 𝑔2
2𝑒−2𝛼 𝑓 𝑑2 + 2𝑔1𝑔2𝑒−2𝛼 𝑓 (𝑑1+𝑑2) cos 𝑤1 − 𝑤2
= (|𝐻 𝑓 |2)1 + 𝑔22𝑒−2𝛼 𝑓 𝑑2 + 2𝑔1𝑔2𝑒−2𝛼 𝑓 (𝑑1+𝑑2) cos 𝑤1 − 𝑤2 (𝐴. 10)
obteniéndose finalmente:
(|𝐻 𝑓 |2)2 = (|𝐻 𝑓 |2)1 + 𝑔22𝑒−2𝛼 𝑓 𝑑2 [1 + 2(𝑔1/𝑔2) 𝑒−2𝛼 𝑓 𝑑1 cos 𝑤1 − 𝑤2 ] . (𝐴. 11)
Para N = 3 se tiene que:
(|𝐻 𝑓 |2)3 = (𝑔1𝑒−𝛼 𝑓 𝑑1𝑐𝑜𝑠𝑤1 + 𝑔2𝑒−𝛼 𝑓 𝑑2𝑐𝑜𝑠𝑤2+𝑔3𝑒−𝛼 𝑓 𝑑3𝑐𝑜𝑠𝑤3)2
+(𝑔1𝑒−𝛼 𝑓 𝑑1𝑠𝑒𝑛𝑤1 + 𝑔2𝑒−𝛼 𝑓 𝑑2𝑠𝑒𝑛𝑤2+𝑔3𝑒−𝛼 𝑓 𝑑3𝑠𝑒𝑛𝑤3)2 (𝐴. 12)
Anexo A. Derivación de la expresión de ganancia por distancia 129
(|𝐻 𝑓 |2)3 = 𝑔12𝑒−2𝛼 𝑓 𝑑1 + 𝑔2
2𝑒−2𝛼 𝑓 𝑑2 + 2𝑔1𝑔2𝑒−2𝛼 𝑓 (𝑑1+𝑑2)𝑐𝑜𝑠 𝑤1 − 𝑤2
+2𝑔1𝑔3𝑒−2𝛼 𝑓 (𝑑1+𝑑3) cos 𝑤1 − 𝑤3 + 2𝑔2𝑔3𝑒−2𝛼 𝑓 (𝑑2+𝑑3) cos 𝑤2 − 𝑤3
+𝑔32𝑒−2𝛼 𝑓 𝑑3 (𝐴. 13)
(|𝐻 𝑓 |2)3 = (|𝐻 𝑓 |2)2
+ 2𝑔1𝑔3𝑒−2𝛼 𝑓 (𝑑1+𝑑3) cos 𝑤1 − 𝑤3 + 2𝑔2𝑔3𝑒−2𝛼 𝑓 (𝑑2+𝑑3) cos 𝑤2 − 𝑤3
+𝑔32𝑒−2𝛼 𝑓 𝑑3 (𝐴. 14)
(|𝐻 𝑓 |2)3 = (|𝐻 𝑓 |2)2 + 𝑔32𝑒−2𝛼 𝑓 𝑑3 1 + 2
𝑔𝑖
𝑔3
2𝑖=1 𝑒−2𝛼 𝑓 𝑑𝑖 cos 𝑤𝑖 − 𝑤3 . (𝐴. 15)
Generalizando para 𝑁 > 1:
(|𝐻 𝑓 |2)𝑁 = (|𝐻 𝑓 |2)𝑁−1 + 𝑔𝑁2 𝑒−2𝛼 𝑓 𝑑𝑁 1 + 2 (𝑔𝑖/𝑔𝑁) 𝑒−2𝛼 𝑓 𝑑𝑖 cos 𝑤𝑖 − 𝑤𝑁 𝑁−1
𝑖=1 (𝐴16)
Como:
𝑣𝑝 =𝑑𝑖
𝜏𝑖 (𝐴. 17)
reemplazando (A.1) y (A.17) en (A.16):
(|𝐻 𝑓 |2)𝑁 = (|𝐻 𝑓 |2)𝑁−1
+𝑔𝑁2 𝑒−2𝛼 𝑓 𝑑𝑁 1 + 2
𝑔𝑖
𝑔𝑁 𝑒−2𝛼 𝑓 𝑑𝑖 cos
2 ∙ π ∙ f
vp∙ 𝑑𝑖 − 𝑑𝑁
𝑁−1
𝑖=1
. (𝐴. 18)
Recordando que en una línea de transmisión:
vp = λ ∗ f m
s (𝐴. 19)
donde λ es la longitud de onda, y reemplazando (A.19) en (A.18):
130 Red BPL residencial basada en relevo para mitigación de la interferencia
(|𝐻 𝑓 |2)𝑁 = (|𝐻 𝑓 |2)𝑁−1
+𝑔𝑁2 𝑒−2𝛼 𝑓 𝑑𝑁 1 + 2
𝑔𝑖
𝑔𝑁 𝑒−2𝛼 𝑓 𝑑𝑖 cos 2π ∙
𝑑𝑖 − 𝑑𝑁
λ
𝑁−1
𝑖=1
. (𝐴. 20)
Para lo que sigue resultará significativo si se escribe (A.20) así:
(|𝐻 𝑓 |2)𝑁 = (|𝐻 𝑓 |2)𝑁−1
+𝑔𝑁2 𝑒−2𝛼 𝑓 𝑑𝑁 1 + 2
𝑔𝑖
𝑔𝑁 𝑒−2𝛼 𝑓 𝑑𝑖 cos 2π ∙
𝑑𝑖 − 𝑑𝑁
λ
𝑁−1
𝑖=1
. (𝐴. 21)
Si
(|𝐻 𝑓 |2)𝑁 = (|𝐻 𝑓 |2)𝑁−1 + ∆𝑁 (𝐴. 22)
entonces,
∆𝑁= 𝑔𝑁2 𝑒−2𝛼 𝑓 𝑑𝑁 1 + 2
𝑔𝑖
𝑔𝑁 𝑒−2𝛼 𝑓 𝑑𝑖 cos 2π ∙
𝑑𝑖 − 𝑑𝑁
λ
𝑁−1
𝑖=1
. (𝐴. 23)
Anexo B: Notas acerca de la implementación
de la solución propuesta
Aunque la concepción de este trabajo es hacer una aproximación teórica para la
mitigación de interferencia en sistemas BPL residenciales, se harán algunos comentarios
acerca de su implementación práctica.
Dos asuntos importantes emergen para ser solucionados en una eventual
implementación de la solución propuesta. Uno es la presentación de diferentes
impedancias que el transceptor presenta a la línea y el otro son los interruptores que
seleccionan las porciones de línea que conectan el transceptor con el cableado
intramuros. Se comienza el análisis por el primer asunto.
Es necesario que los sistemas BPL tengan un circuito de acoplamiento para conectarse a
la línea de potencia, para así tener un aislamiento galvánico. Estos circuitos de
acoplamiento, en su forma más básica están compuestos por capacitores y
transformadores de acoplamiento.
Los capacitores de acoplamiento acoplan la señal BPL a la línea de potencia y a menudo
hacen parte de filtros pasabanda. Los transformadores de acoplamiento proveen el
aislamiento galvánico y la adaptación de impedancia y está diseñado para dejar pasar la
señal de alta frecuencia. En la Figura B.1 se muestra un circuito de acoplamiento básico
típico, propuesto por Bilal y otros [82].
132 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura B.1: Ejemplo de un circuito de acoplamiento [82]
Sin embargo desde el punto de vista de manejo de impedancias, Janse Van Rensburg en
su tesis provee un modelo más útil que incluye los transformadores de transmisión y
recepción, así como un modelo simplificado del canal de línea de potencia, el cual se
observa en la Figura B.2 [83].
Figura B.2: Modelo simplificado de transmisión, canal y recepción para un sistema BPL
InHouse [83]
De acuerdo con Janse Van Rensburg si los circuitos de transmisión y recepción están
bien diseñados y a las frecuencias de interés muestran un comportamiento plano, esto
implica que los capacitores de acoplamiento así como las inductancias de magnetización
y fuga pueden ser despreciados, y por tanto (lo más importante), ambos circuitos de
acoplamiento pueden ser modelados como transformadores ideales. Bajo estos
supuestos, Janse Van Rensburg encontró el modelo que se muestra en la Figura B.3.
Anexo B. Notas acerca de la implementación 133
Figura B.3: Modelo simplificado de transmisión con impedancias reflejadas sobre la línea
[83]
En la Figura B.3 se muestra que la impedancia que el receptor muestra a la línea es:
𝑍´𝑅𝑋 =𝑍𝑅𝑋
𝑎𝑅𝑋 2 . (𝐵. 1)
Esta ecuación significa que la impedancia que le muestra el receptor a la línea de
potencia es controlable mediante 𝑍𝑅𝑋 o 𝑎𝑅𝑋 o ambos. Desde el punto de vista del control
electrónico, es posible que se prefiera el control mediante 𝑍𝑅𝑋 . Entonces para presentar a
la línea de potencia las impedancias 𝑍𝑐 ó 5𝑍𝑐 ó 100𝑍𝑐 , tendrían que estar sobre el
secundario las impedancias 𝑍𝑅𝑋 = 𝑍𝑐 ∗ 𝑎𝑅𝑋 2 ó 𝑍𝑅𝑋 = 5𝑍𝑐 ∗ 𝑎𝑅𝑋 2 (en este caso se
conecta el sistema electrónico del receptor, dado que como se ha mencionado, existe un
desacople en funcionamiento normal) ó 𝑍𝑅𝑋 = 100 ∗ 𝑍𝑐 ∗ 𝑎𝑅𝑋 2. Conceptualmente una
posible solución, sería como la mostrada en la Figura B.4.
134 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura B. 4: Configuración en el receptor para la presentación de diferentes impedancias
a la línea de potencia
Cuando se requiere que no exista reflexión, el interruptor debe estar abierto y la
impedancia del bloque marcado como 𝑍𝑅𝑋 debe mostrar una impedancia 𝑍𝑐 ∗ 𝑎𝑅𝑋 2.
Cuando se requiere que exista reflexión, el interruptor debe estar abierto, la impedancia
del bloque marcado como 𝑍𝑅𝑋 debe exhibir una impedancia 100 ∗ 𝑍𝑐 ∗ 𝑎𝑅𝑋 2. Como se
muestra en la Figura B.5, en la práctica se puede tener un valor 𝑎𝑅𝑋 = 1.
Anexo B. Notas acerca de la implementación 135
Figura B.5: Interfaz típica de un sistema InHouse BPL [84]
Finalmente, cuando se requiere que opere el sistema electrónico del receptor, se cierra el
interruptor y el bloque 𝑍𝑅𝑋 (ver Figura B.4) presentará una alta impedancia.
El interruptor electrónico debe presentar una alta linealidad, muy baja impedancia cuando
esté cerrado y muy alta cuando se esté abierto, y además funcionar el intervalo de
frecuencia de HF. Se puede pensar en un interruptor como el ADG713, cuya respuesta
en frecuencia se puede observar en la Figura B.6. En esta Figura B.6 se observa que a
una frecuencia de 30 MHz, existe una atenuación de menos de 1 dB y a 1 MHz es casi
de 0 dB. Es posible que se tenga que hacer un cambio de nivel antes de entrar al
interruptor con el objeto de que la señal se toda positiva.
136 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura B.6: Respuesta en frecuencia del interruptor ADG713 [85]
El bloque 𝑍𝑅𝑋 de la Figura B.4 podría ser implementado usando una resistencia
controlada por voltaje basada en JFET como se muestra en la Figura B.7.
Figura B.7: Circuito atenuador basado en JFET [86]
Anexo B. Notas acerca de la implementación 137
En la Figura B.7 la impedancia que se ve a la entrada es 𝑅 + 𝑟𝐷𝑆 . El comportamiento de
la impedancia 𝑟𝐷𝑆 es como se muestra en la Figura B.8, donde 𝑟𝐷𝑆 es la impedancia
controlada entre drain y source, 𝑉𝐺𝑆 es voltaje entre gate y source, 𝑉𝐺𝑆(𝑜𝑓𝑓 ) es el voltaje
de corte entre gate y source, y 𝑟𝐷𝑆(𝑜𝑛 ) es la mínima resistencia entre drain y source.
Figura B.8: Comportamiento de 𝒓𝑫𝑺 normalizado [86]
La Figura B.8 es útil para la estimación del valor de 𝑟𝐷𝑆 para un valor dado de 𝑉𝐺𝑆 . La
resistencia es normalizada a su valor específico cuando 𝑉𝐺𝑆 = 0 𝑉.
Finalmente se hace una reflexión acerca de los interruptores mostrados en la Figura 5.3.
Una posible configuración de estos interruptores se muestra en la Figura B.9. En esta
Figura B.9 se muestra una configuración de dos transistores MOSFET de
enriquecimiento, canal n. El voltaje de operación de esta configuración es hasta 340 VAC
RMS, su corriente máxima 20 A y la impedancia del interruptor cuando conduce es de 0.3
Ohm. Sin embargo, su frecuencia de funcionamiento máxima es de 650 Hz, siendo esta
en general una limitación de la tecnología actual.
138 Red BPL residencial basada en relevo para mitigación de la interferencia
Figura B.9: Configuración de interruptor para selección de segmentos de línea para las
derivaciones de la red BPL [87]
Un asunto importante en la implementación es saber cuándo hay que modificar el canal.
Para ello, puede resultar útil usar las rutinas de estimación de canal usuales en sistemas
OFDM. La literatura da cuenta de estimaciones de canal realizadas en el dominio del
tiempo y de la frecuencia. Cuando se hace el dominio del tiempo se intenta estimar la
respuesta al impulso del canal. Cuando se hace en el dominio de la frecuencia se intenta
establecer la respuesta en frecuencia de portadoras específicas llamadas pilotos, para
posteriormente hacer uso de interpolación y estimar así la respuesta de frecuencia del
canal. En ambos caso se hace uso de secuencias de entrenamiento [88]
En el caso específico de sistemas BPL, como por ejemplo HomePlug AV, existe un tipo
especial de trama llamada trama de sondeo, cuya carga consiste en varios símbolos
OFDM que son conocidos en ambos lados del enlace de comunicación y que podrían ser
adoptados para la estimación de canal. A continuación se comenta la forma como se
hace la estimación de canal según IEEE 1901 [10].
Anexo B. Notas acerca de la implementación 139
De acuerdo con IEEE 1901, la estimación de canal es el proceso de medir las
características del canal de distribución eléctrica para adaptar la operación del nivel físico
y así proporcionar óptimo desempeño. Esta estimación involucra:
- La selección de la rata de corrección de error hacia adelante (Forward Error
Correction –FEC).
- Selección de la longitud del intervalo de guarda.
- Selección de los intervalos dentro del ciclo de la línea AC donde aplicar un mapa
de tonos específico.
Un mapa de tonos consiste en un conjunto único de métodos de modulación para cada
portadora, el intervalo de guarda para el símbolo OFDM y la rata de FEC.
El procedimiento de la estimación de canal puede ser dividido en dos fases dependiendo
si un transmisor tiene mapas de tonos validos:
- Estimación inicial de canal
- Adaptación dinámica de canal.
El transmisor invoca la estimación inicial de canal cuando necesita transmitir datos a un
destino particular y no tiene mapas de tonos válidos. Durante la estimación inicial, el
transmisor envía una o más tramas de sondeo al receptor. A continuación el receptor usa
estas tramas para estimar las características del canal y designar un mapa de tonos por
defecto que podría ser usado por la estación transmisora en cualquier lugar del ciclo AC.
Una vez que se completa de la estimación inicial, el receptor supervisa las
características del canal basado en tramas recibidas (ya sean de datos o sondeo) y
proporciona actualizaciones dinámicas al mapa de tonos por defecto y/o a los mapas de
tonos que son válidos para intervalos específicos del ciclo de la línea AC. Es proceso es
conocido como Adaptación de Canal Dinámica.
Sin embargo el uso tramas de sondeo reduce la eficiencia de la rata de transmisión
efectiva del sistema.
140 Red BPL residencial basada en relevo para mitigación de la interferencia
Cuando se usa el mapa de tonos por defecto se usan 917 portadoras y puede ser
representado con 4 bits * 917 tonos = 458.5 bytes. Cuando se prenden todas las
portadoras los datos del mapa de tonos sería de 4 bits * 1155 tonos = 577, 5 bytes.
Aunque existen tramas específicas que podrían transportar estos datos, en una trama
normal estos no se transportan. Lo que se hace es enviar en el encabezado de la trama
el índice del mapa de tonos (Tone Map Index – TMI), el cual es un identificador de 5 bits
que indica un mapa de tono específico que refleja las condiciones del canal entre un
transmisor y un receptor particulares. La Figura B.10 muestra el TMI dentro de una trama
normal.
Figura B.10: El Tone Map Index en una trama y su codificación [89]
Hasta aquí no se ha mencionado el uso de pilotos. Sin embargo en el estándar IEEE
1901 su uso es opcional. Los pilotos son 9 símbolos que son insertados cada 128
Anexo B. Notas acerca de la implementación 141
símbolos de datos (Frame Body). Con el uso de información (resultado de estimación del
canal, información de ecualización, rata de error, rata de retransmisión y otras) que se
obtiene de la señal recibida en el lado receptor, se determina si se insertan o no los
símbolos piloto en las tramas, como se muestra en la Figura B.11.
Figura B. 11: Uso de señales piloto en una trama IEEE 1901 [10]
El preámbulo en las tramas de HomePlug AV (HPAV) actúa como una Synchronization
Training Sequence (STS). El resultado en este caso, es mostrar aquellas portadoras con
un nivel de transmisión superior a un valor umbral 𝑎𝑡 (por ejemplo 𝑎𝑡 = −8 𝑑𝐵), como
se muestra en la Figura B.12.
Figura B.12: Estimación de subportadoras en HPAV usando Synchronization Training Sequence (STS) [90]
Usando la información de STS, Altolini y otros desarrollaron dos algoritmos para estimar
el canal: LS with full Rank reduced matrix (LS-FR) y LS with singular value decomposition
142 Red BPL residencial basada en relevo para mitigación de la interferencia
(LS-SVD). En teoría LS-SVD es el más robusto, obteniéndose un error cuadrático medio
de la estimación cercano a 3 dB por debajo del nivel de ruido para un amplio intervalo de
SNR de sistema.
Una vez estimado el canal por algún medio, será posible hallar el valor medio de la
magnitud de la función de transferencia, y si este baja de algún umbral previsto (por
ejemplo -25 dB) se reactivará el algoritmo AVLR. Otra opción es detectar que la mínima
atenuación de canal no sea mayor a -30 dB.
Bibliografía
[1] SZABO Csilla, "Brief on PLT interference," Eurocontrol, p. 1, 2000.
[2] STOTT Jonathan, "Potencials threats to radio services from PLT systems," EBU
Technical Review, pp. 1-15, julio 2006, Disponible en
http://tech.ebu.ch/docs/techreview/trev_307-stott.pdf.
[3] BENGER Josef and et al, "HF Interference, Procedures and Tools," RTO Technical
Report TR-IST-050, pp. ES-1 a ES-2, 2007, Disponible en
http://docsfiles.com/pdf_hf_interference_procedures_and_tools.html.
[4] HARE Ed, "BPL Update," NTIA Special Publication SP-07-445, pp. 107-116, 2007,
Disponible en: http://es.scribd.com/doc/65069969/NTIA-Special-Publication-SP-07-
445-Proceedings-of-the-International-Symposium-on-Advanced-Radio-
Technologies-ISART-02-2007.
[5] ITU-R SM Series, "Impact of power line telecommunication systems on
radiocommunication systems operating in the LF, MF, HF and VHF bands below 80
MHz," 2011, Disponible en: http://www.itu.int/dms_pub/itu-r/opb/rep/R-REP-
SM.2158-2-2011-PDF-E.pdf.
[6] ADEBISI Bamidele and HONARY Bahram, "Comparisons of indoor PLC Emissions
Measurement Results and Regulation Standards," in IEEE International Symposium
on Power Line Communications and Its Aplications, Orlando, 2006, pp. 319-323.
[7] MURATA MANUFACTURING CO., LTD, "Outlines of Major Noise Regulation
Standards," p. 184, 2006, Disponible en:
http://symmetron.ru/suppliers/filters/c31e.pdf.
[8] STEADMAN John, "Comments of IEEE-USA," IEEE-USA, 2004, Disponible en:
http://www.ieeeusa.org/policy/policy/2004/050304a.pdf.
[9] WELING Nico, "Expedient Permanent PSD Reduction Table as Mitigation Method
to Protect Radio Services," IEEE International Symposium on Power Line
Communications and Its Applications, Udine, 2011.
[10] IEEE COMMUNICATIONS SOCIETY, IEEE Standard for Broadband over Power
Line Networks: Medium Access Control and Physical Layer Specifications, IEEE
Std 1901-2010. New York: IEEE STANDARDS ASSOCIATION, 2010.
144 Red BPL residencial basada en relevo para mitigación de la interferencia
[11] CHENG Walter Y., Home Networking Basis, 1st ed. New Jersey: Prentice Hall,
2003.
[12] FEDERAL COMMUNICATIONS COMMISSION, "§ 15.209 Radiated Emission
Limits," p. 810, 2009, Disponible en: http://www.gpo.gov/fdsys/pkg/CFR-2009-
title47-vol1/pdf/CFR-2009-title47-vol1-part15.pdf.
[13] TIHANYI Laszlo, Electromagnetic Compatibility In Power Electronics. New Jersey,
USA: IEEE Press, 1995.
[14] MESCCO A. and et al, "Electromagnetic Emissions Issues in the Home
Environment," in Workshop on Power Line Communications, Boppard, 2010, pp.
31-33, Disponible en:
http://www.isplc.org/docsearch/Proceedings/2010/pdf/WPLC2010_09.pdf.
[15] SHAFFNER, "Basics in EMC and Power Quality," pp. 97-98, 2008, Disponible en:
http://www.emcia.org/documents/Schaffner/BasicsinEMCandPQ.pdf.
[16] IMPRENTA NACIONAL, "Artículo 250-23, Puesta a tierra de sistemas de c.a.
alimentados desde una acometida," Diario Oficial, vol. Año CXL, no. 45.592, p. 69,
junio 2004, Disponible en:
http://www.avancejuridico.com/actualidad/documentosoficiales/2004/45592/r_mme_
180398_2004.html.
[17] BIGLIERI Ezio, "Coding and Modulation for a Horrible Channel," IEEE
Communications Magazine, pp. 92-98, mayo 2003, Disponible en:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.13.8605&rep=rep1&type=
pdf.
[18] TONELLO Andrea and et al, "Opportunistic Relaying in In-Home PLC Networks,"
Proceedings of IEEE Global Communications Conference (GLOBECOM), 2010,
Descargado de:
http://web.diegm.uniud.it/tonello/PAPERS/CONFERENCES/GLOBECOM2010.pdf
.
[19] WELING Nico, "Field Analysis of 40.000 PLC Channels to Evaluate the Potencial
for Adaptive Transmit Power Management," IEEE International Symposium Power
Line Coomunications and Its Applications, pp. 201-206, 2010.
Bibliografía 145
[20] SCHWAGER Andreas, "Powerline Communications: Significant Technologies to
become Ready for Integration," Universidad Duisburg-Essen, Duisburg-Essen,
Disertación para obtener el título de Doctor en Ingeniería 2010.
[21] VUKICEVIC Ana and et al, "On the Impact of Mitigating Radiated Emissions on the
Capacity of PLC Systems," in IEEE International Symposium on Power Line
Communications and Its Applications, ISPLC '07, Udine, 2007, pp. 487-492.
[22] WELING Nico, "Feasibility Study on Detecting Short Wave Radio Stations on the
Powerlines for Dynamic PSD Reduction as Method for Cognitive PLC," in IEEE
International Symposium on Power Line Communications and Its Applications,
2011, pp. 311-316.
[23] DENTON Bruce and et al, "HomePlug & ARRL Joint Test Report," HomePlug &
ARRL, Newington, Test Report 2000.
[24] ZyXEL, PLA-4xx Series, User´s Guide, 1st ed. Anaheim, California: ZyXEL, 2007,
Disponible en: http://data.manualslib.com/pdf/21/2004/200309-
zyxel_communications/pla4xx_series.pdf?370bd8f6a718cd82c7de6fa89d957e09.
[25] The National Laboratory for Applied Network Research/Distributed Applications
Support Team. (2003, March) University of Central Florida-Computer Services &
Telecommunications. [Online]. https://nocweboldcst.ucf.edu/files/iperf.exe
[26] SONY. (1999) ICF-SW35 FM Stereo/SW/MW/LW PLL Synthesized Receiver.
[Online]. http://pdf.crse.com/manuals/3042774251.pdf
[27] FAVRE Patrick and et al, "Radiation and disturbance mitigation in PLC networks,"
20th Int. Zurich Symposium on EMC, pp. 5-8, 2009.
[28] PANG T. S. and et al, "Feasibility Study of a New Injection Method for EMI
Reduction in Indoor Broadband PLC Networks," IEEE Trnasactions on Power
Delivery, vol. 25, no. 4, pp. 2392-2398, octubre 2010.
[29] CATRYSSE Johan and VANTOMME Karel, "White Paper on CISPR/I/PLT," in EMC
Europa, Barcelona, 2006, pp. 1-28, Disponible en:
http://www.emc.york.ac.uk/cost286/Technical%20reports/BarcelonaSept2006/white
_paper_CISPR_I_PLT_WG_version_15052006.pdf.
[30] IEC, "Amendment 1 to CISPR 22 Ed. 6.0: Addition of limits and methods of
146 Red BPL residencial basada en relevo para mitigación de la interferencia
measurement for conformance testing of power line telecommunication ports
intended for the connection to the mains (CIS/I/301/CD)," 2009.
[31] RAZAFFERSON Richard and et al, "Report on Electro Magnetic Compatibility of
Power Line Communications," Information & Communication Technologies (ICT),
Seventh Framework Programme, Instanbul, ICT-213311 Omega, 2010.
[32] MEKURIA Getahun, "Mitigating EMI Powerline Communications Using Carrier-less
UWB Pulses," Universidad de Duisburg-Essen, Duisburg-Essen, Disertación para
obtener el titulo de Doctor en Ingeniería 2008.
[33] CHAABAN Mohamed and et al, "Reduction of Power Field Radiation for PLC
Applications," in ACTEA´09, Advances in Computational Tools for Engineering
Applications, Zouk Mosheh, 2009, pp. 422-426.
[34] ZIMMERMANN Manfred and DOSTERT Klauss, "A Multi-Path Signal Propagation
Model for the Power Line Channel in the High Ferquency Range," IEEE
International Symposium on Power Line Communications and Its Applications, pp.
45-51, 1999, Disponible en:
http://www.isplc.org/docsearch/Proceedings/1999/pdf/0572_001.pdf.
[35] ZIMMERMANN Manfred and DOSTERT Klauss, "A Multipath Model for the
Powerline Channel," IEEE Transactions on Communications, 2002, Disponible en:
http://ebookbrowse.com/a-multipath-model-for-the-powerline-channel-pdf-
d52204545.
[36] TUCCI Mauro, Computational Intelligence in Power-Line Communication Systems.
Beau Bassin, Mauritius: VDM Publishing House, 2009, p. 12.
[37] BOSTOEN Tom and VAN DE WEIL Olivier, "Modeling the low-voltage power
distribution network in the frequency band from 0.5 Mhz to 30 Mhz for broadband
powerline communications," in Proceedings of Seminar on Broadband
Communications, Accessing, Transmission, Networking, Zurich, 2003, pp. 171-178.
[38] BARMADA Sami and et al, "Response Bounds of Indoor Power-Line
Communication Systems With Cyclostationary Loads," IEEE Transactions on Power
Delivery, vol. 24, no. 2, pp. 596-603, abril 2009.
[39] MARTHE Emmanuel and et al, "Indoor Radiated Emission Associated with Power
Line Communication Systems," in IEEE International Symposium on
Bibliografía 147
Electromagnetic Compatibility, Montreal, 2001, pp. 517-520.
[40] HIRSCH H. and KOCH M., Power Line Communications, 1st ed., FERREIRA
Hendrik and et al, Eds. Chichester, United Kingdom: John Wiley & Sons Ltd, 2010.
[41] DOSTERT Klaus, Powerline Communications, 1st ed. New Jersey, United States:
Prentice Hall PTR, 2001.
[42] YONGE Larry, "HomePlug AV Technical Overview," in IEEE International
Symposium on Power Line Communications and Its Applications, Orlando, 2006,
Disponible en: http://www.ieee-isplc.org/2006/keynotes/key3larry.ppt.
[43] ZIMMERMANN Manfred and DOSTERT Klaus, "An Analysis of the Broadband
Noise Scenario in Powerline Networks," in IEEE International Symposium on Power
Line Communications and Its Applications, Limerick, 2000, pp. 131-138.
[44] LIU Duixian and et al, "Wide Band AC Power Line Characterization," IEEE
Transactions on Consumer Electronics, vol. 45, no. 4, pp. 1087-1097, November
1999.
[45] CHENG Walter. (agosto, 2003) Downloadable Matlab and Simulink Models of
Simulation Techniques. [Online]. http://authors.phptr.com/chen/
[46] BENYOUCEF Dirk, "A New Statistical Model of the Noise Power Density Spectrum
for Powerline Communication," in International Symposium on Power-Line
Communications and Its Applications, Kyoto, 2003, pp. 136-141, Disponible
en:http://www.isplc.org/docsearch/Proceedings/2003/pdf/A4-1.pdf.
[47] MLYNEK P. and et al, "OFDM model for power line communication," in 14th
WSEAS CSCC Multiconference, Corfu Island, 2010, pp. 161-164, Disponible en:
http://www.wseas.us/e-library/conferences/2010/Corfu/CIT/CIT-29.pdf.
[48] WELING Nico and KOCH Michael, "Keynote 5. Research and Customized Solutions
of Any-Wire IP-Networks for Multiple Infrastructures," in IEEE Symposium on Power
Line Communications and Its Applications, Dresden, 2009, pp. xviii-xxiv.
[49] MEZA O. and et al, "Análisis y Estudio del Ruido Presente en las Líneas Eléctricas
de Baja Tensión en la Ciudad de Concepción-Chile," Universidad de Bío-Bio,
Concepción, 2008.
[50] SHANNON Claude and WEAVER Warren, The Mathematical Theory of
148 Red BPL residencial basada en relevo para mitigación de la interferencia
Communication, First Paperback ed. Urbana-Champaign, United States of America:
University of Illinois, 1963.
[51] SHANMUGAM Sam, Digital and Analog Communication Systems. Singapore: John
Wiley & Sons, 1985.
[52] CAÑETE Francisco and et al, "Analysis of the Cyclic Short-Term Variation of Indoor
Power Line Channels," IEEE Journal on Selected Areas in communications, vol. 24,
no. 7, pp. 1327-1338, July 2006.
[53] MUSOLINO Antonio and et al, "Cyclic Short-Time Varying Channel Estimation in
OFDM Power-Line Communication," IEEE Transactions on Power Delivery, vol. 23,
no. 1, pp. 157-163, January 2008.
[54] AFKHAMIE Kaywan and et al, "An Overview of the upcoming HomePlug AV
Standard," in IEEE International Symposium on Power Line Communications and
Its Applications, Vancouver, 2005.
[55] CAÑETE Francisco, "Caracterización y Modelado de Redes Eléctricas Interiores
como Medio de Transmisión de Banda Ancha," Universidad de Málaga, Málaga,
Tesis Doctoral, 2004.
[56] AMIRSHAHI P. and et al, "Channel Characterization," in Power Line
Communications, FERREIRA Hendrik and et al, Eds. Chicheter, United Kingdom:
Jhon Wiley & Sons, 2010, ch. 2, pp. 7-126.
[57] TLICH Mohamed and et al, "A Broadband Powerline Channel Generator," in IEEE
International Symposium on Power-Line Communications and its Applications, Pisa,
2007, pp. 505-510.
[58] FARHADI Golnaz and BEAULIEU Norman, "Ergodic Capacity of Multihop Wireless
Systems in Rayleigh Fading," in IEEE Global Telecommunications Conference,
New Orleans, 2008, pp. 1-6.
[59] COVER Thomas and El GAMAL Abbas, "Capacity Theorems for the Relay
Channel," IEEE Transactions on Information Theory, vol. IT-25, no. 5, pp. 572-584,
September 1979, Disponible en: http://www-
isl.stanford.edu/groups/elgamal/abbas_publications/C005.pdf.
[60] LAMPE Lutz and et al, "Distributed Space-Time Coding for Multihop Transmission
in Power Line Communication Networks," IEEE Journal on Selected Areas in
Bibliografía 149
Communications, vol. 24, no. 7, pp. 1389-1400, July 2006.
[61] D'ALESSANDRO Salvatore and et al, "Power Savings with Opportunistic Decode
and Forward over In-Home PLC Networks," in IEEE International Symposium on
Power Line Communications and Its Applications, Udine, 2011, pp. 176-181.
[62] GUNDUZ Deniz and ERKIP Elza, "Opportunistic Cooperation by Dynamic Resource
Allocation," IEEE Transactions on Wireless Communications, vol. 6, no. 4, pp.
1446-1454, April 2007.
[63] IMPRENTA NACIONAL(a), "Artículo 210-52: Salidas de tomacorriente en unidades
de vivenda," Diario Oficial, vol. Año CXL, no. 45.592, pp. 50-51, junio 2004,
www.avancejuridico.com/actualidad/documentosoficiales/2004/45592/r_mme_1803
98_2004.html.
[64] MEJÍA Jorge. (2004) Instalaciones Eléctricas Residenciales. [Online].
http://docencia.udea.edu.co/ingenieria/circuitosII/docs/Dise%F1o%20Instalaciones
%20residenciales.pdf
[65] CENTELSA, "Guía para el Diseño de Instalaciones Eléctricas Domiciliarias
Seguras, Acorde al RETIE y al Código Eléctrico Colombiano," Cali, Boletín Técnico
2005.
[66] TUCCI Mauro and et al, "Blind Channel Estimation for Power-line Communications
by a Kohonen Neural Network," in IEEE International Symposium on Power-line
Communications and Its Applications, Pisa, 2007, pp. 35-40.
[67] BABIC Marko and et al, "Theoretical Postulation of PLC Channel Model," Open PLC
European Research, Technical Report 2005.
[68] SERNA Victor, "Comunicaciones a través de la red eléctrica - PLC," Revista
Española de Electrónica, pp. 62-65, marzo 2011.
[69] Guerrini E. and et ál, "Bit-loading algorithms and SNR estimate for HomePlug AV,"
in IEEE ISPLC´07, Pisa, 2007, pp. 419-424, Disponible en: http://www.dora-
vda.com/download/Bisaglia1_ISPLC07.pdf.
[70] INFANTE Clementina, Guía para la presentación de proyectos de investigación.
Bogotá, Colombia: Universidad Nacional de Colombia, 2010.
[71] RDEHLI. (2009, febrero) PLC HomePlug interference to shortwave radio part 3.
150 Red BPL residencial basada en relevo para mitigación de la interferencia
[Online]. http://www.youtube.com/watch?v=zlJvUwSZqNE
[72] ICHELN Clemens, "The Construction and Application of a GTEM CELL," Technical
University of Hamburg-Hamburg, Hamburg, Tesis de Maestría 1995.
[73] CORTÉS José and et al, "On the Statistical Properties of Indoor Power Line
Channels: Measurements and Models," in IEEE International Symposium on Power
Line Communications and Its Applications, Udine, 2011, pp. 271-276, Disponible
en:
http://webpersonal.uma.es/~fjcanyete/articulos/On%20the%20Statistical%20Propert
ies%20of%20Indoor%20Power%20Line%20Channels%20Measurements%20and%
20Models_2011.pdf.
[74] GALLI Stefano, "A simple Two-Tap statistical model for the power line channel," in
IEEE International Symposium on Power Line Communications and Its Applications,
Rio de Janeiro, 2010, pp. 242-248.
[75] NERI Rodolfo, Líneas de Transmisión, 1st ed. México, México: McGraw-Hill, 2004.
[76] KONATE C. and et al, "Multi path Model for Power Line Communication Chanel in
the Frequency Range of 1MHz-30MHz," in EUROCON 2007 The International
Conference on Computer as a Tool, Warsaw, 2007.
[77] HOMEPLUG Powerline Alliance, HomePlug AV White Paper, 2005, Disponible en:
http://www.homeplug.org/tech/whitepapers/HPAV-White-Paper_050818.pdf.
[78] GALLI Stefano, "Power Line Communications," in IEEE Communication Theory
Workshop, Cancun, 2010.
[79] WELING Nico and NAZARI Neda, "Statistical Evaluation of 55 Million PLC Channel
and Topology Measurements by more than 75.000 End-Users," in IEEE
International Symposium on Power Line Communications and Its Applications,
Udine, 2011, pp. 237-242.
[80] TONELLO Andrea and VERSOLATTO Fabio, "Bottom-Up Statistical PLC Channel
Modeling - Part I: Random Topology Model and Efficient Transfer Function
Computation," IEEE Transactions on Power Delivery, vol. 26, no. 2, pp. 891-898,
April 2011, Disponible en:
http://web.diegm.uniud.it/tonello/PAPERS/JOURNALS/TPD2010_I.pdf.
[81] BANWELL Thomas and GALLI Stefano, "A Novel Approach to the Modeling of the
Bibliografía 151
Indoor Power Line Channel Part I: Circuit Analysis and Companion Model," IEEE
Transactions on Power Delivery, vol. 20, no. 2, pp. 655-663, April 2005.
[82] BILAL Osama and et al, "Design of Broadband Coupling Circuits for Powerline
Communication," in isplc2004, Zaragoza, 2004, pp. 1-5.
[83] JANSE VAN RENSBURG P. A., "Effective Coupling for Power-Line
Communications," University of Johannesburg, Johannesburg, Tesis para optar al
título de Doctor Ingeneriae (D.Ing) 2008.
[84] MAXIM, "MAX2980 HomePlug Analog Front End," Preliminary Data Sheet 2004.
[85] ANALOG DEVICES, "CMOS Low Voltage, 4 ohm Quad SPST Switches
ADG711/ADG712/ADG 713," Norwood, DataSheet 2011.
[86] SILICONIX, "AN105 FETS As Voltage-Controlled Resistors," Santa Clara,
Application Note 1997.
[87] MICROPAC INDUSTRIES INC., "Isolated Output AC Industrial Power Controller
(IPC)," Garland, DataSheet 2012.
[88] HEISKALA Juha and TERRY John, OFDM Wireless LANs: A Theoretical and
Practical Guide. Indianapolis, United States of America: SAMS, 2002.
[89] CARCELLE Xavier, Power Line Communications in Practice. Boston: Artech House,
2006.
[90] ALTOLINI Diego, BENVENUTO Nevio, PUPOLIN Silvano, and RIVA Raffaele,
"Preamble-based Channel Estimation in HomePlug AV Systems," in ISPLC 2012,
Beijing, 2012, pp. 176-181.
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE INGENIERÍA
DOCTORADO EN INGENIERÍA ELÉCTRICA
Libro de Soporte de Programas en MATLAB
Red Residencial de Banda Ancha por Línea de Potencia Basada en Relevo para la Mitigación
de la Interferencia Presentado por: José Roberto Cárdenas C.
Por: Ing. José Roberto Cárdenas Castiblanco 09/08/2013
II
Contenido
Instrucciones ...................................................................................................................................... IV
1. Programa 1: Función de transferencia de red con una derivación ........................................... 5
2. Programa 2:Función de transferencia de red con seis derivaciones ........................................ 8
3. Programa 3: Generación de la DEP de Benyoucef a partir de artículo de revista .................. 14
4. Programa 4: Simulación de impedancias de carga no lineales ............................................... 19
6. Programa 6: Magnitudes de las funciones de transferencia entre TX y RX con L cerrado y abierto en red y parámetros de línea In-House propuestos por Tucci con lin10 ................... 26
7. Programa 7: Magnitudes de las funciones de transferencia entre TX y todos los ramales de salida con L cerrado y abierto en Red y parámetros de línea In-House propuestos por Tucci. Transmisión por segmento 1 .................................................................................................. 36
8. Programa 8: Respuesta al impulso y construcción de magnitud de la función de transferencia con 22 muestras de la respuesta al impulso ........................................................................... 66
9. Programa 9: Magnitudes de las funciones de transferencia entre TX y todas los ramales de salida con L cerrado y abierto en Red y parámetros de línea In-House propuestos por Tucci. Transmisión por segmento 21 ................................................................................................ 71
10. Programa 10: Magnitudes de las funciones de transferencia entre TX y algunos ramales de salida con L cerrado en Red y parámetros de línea In-House propuestos por Tucci. Transmisión por segmento 25. ............................................................................................... 98
11. Programa 11: Cálculo de la constante de atenuación para varias líneas de tramsmisión .. 147
12. Programa 12: Función de transferencia de red con una derivación y distancias In-House. Ganancia de una línea terminada en circuito abierto. ......................................................... 150
13. Programa 13: Cálculo de función de transferencia e impedancia de entrada de una línea terminada en circuito abierto en función de la frecuencia .................................................. 158
14. Programa 14: Valores de λl para el caso de las redes In-House residenciales, usando lin10 .............................................................................................................................................. 163
16. Programa 16: Encontrar la dependencia de la ganancia con respecto a los segmentos del backbone de la estructura básica, recibiendo por Segmento λ/4 ........................................ 167
17. Programa 17: Encontrar la dependencia de la ganancia con respecto a los segmentos del backbone de la estructura básica, transmitiendo con segmento 1= λ/4, con segmentos iguales y diferentes ............................................................................................................... 174
18. Programa 18: Encontrar la dependencia de la ganancia con respecto los segmentos del backbone de la estructura básica, transmitiendo con segmento 1= λ/4 y |H(f)| > 0, todos los segmentos con mismo tipo de línea ..................................................................................... 181
III
19. Programa 19: Encontrar la dependencia de la ganancia con respecto los segmentos del backbone de la estructura básica, transmitiendo con segmento 1= λ/4, |H(f)| > 0, relaciones entre 1 y 2 .......................................................................................................... 183
20. Programa 20: Encontrar la dependencia de la ganancia con respecto los segmentos del backbone de la estructura básica, transmitiendo con segmento 1= λ/4, |H(f)| > 0, relaciones entre 1 y 2, segmentos diferentes .................................................................... 192
21. Programa 21: Función de transferencia de red con ocho terminaciones. Cálculo de capacidad. Distancias residenciales. ..................................................................................... 199
22. Programa 22: Propuesta para PHY-MAC. Algoritmo para aumento de capacidad entre TX y RX en una red BPL In-House Residencial. Caso de red con ocho terminaciones propuesta por Bostoen T. y Van de Wiel O. Transmitiendo por segmento 8, recibiendo por segmentos 1/2. .............................................................................................................................................. 206
23. Programa 23: Propuesta para PHY-MAC:Transmisión por segmento 1 (TX) de la red de Tucci con modificación de la función de transferencia entre TX y segmento 13 (RX) por el método de variación de longitudes de ramales ................................................................................. 223
24. Programa 24: Aplicación de AVLR para casos prácticos. Caso canal TX-RX de la red de TUCCI para L cerrado ....................................................................................................................... 244
25. Programa 25. Aplicación de AVLR_R_ODF a la red de Tucci. Se usan como transmisores 1 y 21, se recibe en 13. En 21 Zc y no se usa para AVLR............................................................. 262
26. Programa 26: Encontrar las capacidades entre 1-21 y 21-13, cuando se aplica AVLR_R_ODF .............................................................................................................................................. 325
27. Programa 27: Cálculo de las |H(f)| promedio iniciales para canales de la red de la Figura 4.2
con L cerrado. ....................................................................................................................... 327
28. Programa 28: Aplicación de AVLR_R_ODF a la red de Tucci. Variación de las impedancias no lineales en cada prueba de distancia. Se usan como transmisores 1 y 21, se recibe en 13. En 21 Zc y no se usa para AVLR .................................................................................................. 328
IV
Instrucciones
Los archivos .mat incluidos en el directorio “tesis” del medio óptico entregado, han sido
generados con MATLAB 7.0.0 19920 (R14). Estos archivos pueden ser usados para
desplegar resultados, ya que algunos programas pueden demorar un tiempo apreciable en
su ejecución. La mayoría de programas tienen una sección de despliegue de resultados
que usan estos archivos.
El directorio tesis incluido en el medio óptico, debe ser instalado en el directorio raíz del
disco duro (C:/).
Programa 1 5
1. Programa 1: Función de transferencia
de red con una derivación
%Red con una derivación %Programó: Roberto Cárdenas C. %Diciembre 2009 %parámetros de líneas por unidad de longitud % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6 4.68e-12 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6 2.99e-12 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6 2.58e-12 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6 8.57e-12 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6 4.18e-12 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6 8.71e-12 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6 7.568e-12 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6 6.76e-12 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6 13e-12 216e-12]; %selección de canal y parámetros segmento1=zeros(5); segmento1=lin9; r1=segmento1(1); l1=segmento1(2); l2=segmento1(3); g1=segmento1(4); c1=segmento1(5); segmento2=zeros(5); segmento2=lin6; r12=segmento2(1); l12=segmento2(2); l22=segmento2(3); g12=segmento2(4); c12=segmento2(5); %parámetros de la línea en función de la frecuencia %lin9 f=1.8e6:1000:3e7; rf=r1.*sqrt(f); lf=l1+(l2./sqrt(f)); gf=g1.*f; c=c1; %lin6
Programa 1 6
rf2=r12.*sqrt(f); lf2=l12+(l22./sqrt(f)); gf2=g12.*f; c2=c12; %cargas abierto=1e50; z1=abierto; %cálculo de características de la línea de transmisión % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=sqrt((rf+ (2*pi.*f.*lf)*i)./(gf+(2*pi.*f*c)*i)); cp=sqrt((rf+ (2*pi.*f.*lf)*i).*(gf+(2*pi.*f*c)*i)); zc2=sqrt((rf2+ (2*pi.*f.*lf2)*i)./(gf2+(2*pi.*f*c2)*i)); cp2=sqrt((rf2+ (2*pi.*f.*lf2)*i).*(gf2+(2*pi.*f*c2)*i)); %características físicas y de alimentación de la línea vtx=1; rtx=zc; rrx=zc; m1=47; m2=20; m3=55; %parámetros T %segmento1 A1=cosh(cp.*m1); B1=zc.*sinh(cp.*m1); C1=(sinh(cp.*m1))./zc; D1= cosh(cp.*m1); %segmento2 A2=cosh(cp2.*m2); B2=zc2.*sinh(cp2.*m2); C2=(sinh(cp2.*m2))./zc2; D2= cosh(cp2.*m2); %segmento3 A3=cosh(cp.*m3); B3=zc.*sinh(cp.*m3); C3=(sinh(cp.*m3))./zc; D3= cosh(cp.*m3); %admitancias de carga false=0; true=1; c_abierto=false;
Programa 1 7
if z1 ~= abierto c_abierto=true; end y1=(C2+((D2./z1).*c_abierto))./(A2+((B2./z1).*c_abierto)); %definición de constantes k0=vtx./rtx; k1=((A1./B1)+(1./rtx)); k2=((A1./B1)+(A3./B3)+y1); k3=((A3./B3)+(1./rrx)); %ecuaciones de red VA = k0.*B1.^2.*(k3.*B3.^2.*k2-1)./(k1.*B1.^2.*k3.*B3.^2.*k2-k1.*B1.^2-k3.*B3.^2); VB =1./(k1.*B1.^2.*k3.*B3.^2.*k2-k1.*B1.^2-k3.*B3.^2).*B3.^2.*k0.*B1.*k3; VC=1./(k1.*B1.^2.*k3.*B3.^2.*k2-k1.*B1.^2-k3.*B3.^2).*B3.*k0.*B1; %funcion de transferencia vs=vtx.*(zc./(zc+rtx)); plot(f/1e6,20*log10(abs(VC./vs)), 'k') axis([1.8 30 -35 10]) title('Función de transferencia = VNT/VLT (dB)') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') %sistema de ecuaciones de red [va,vb,vc]=(solve('(va*k1)-(vb/B1)=k0','(vb*k2)-(va/B1)-(vc/B3)=0', '(vc*k3)-(vb/B3)=0', 'va', 'vb', 'vc'));
Programa 2 8
2. Programa 2:Función de transferencia
de red con seis derivaciones
%Programó: Roberto Cárdenas C. %enero de 2010 %parámetros de líneas por unidad de longitud % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6, 13e-12, 216e-12]; %intervalo de frecuencia fi=1.8e6; deltaf=1000; fin=3e7; f=fi:deltaf:fin; %construcción del canal segmentos=13; parametros=5; segmento=zeros(segmentos,parametros); segmento(1,:)=lin9; segmento(2,:)=lin3; segmento(3,:)=lin9; segmento(4,:)=lin3; segmento(5,:)=lin9; segmento(6,:)=lin6; segmento(7,:)=lin9; segmento(8,:)=lin6; segmento(9,:)=lin9; segmento(10,:)=lin3; segmento(11,:)=lin9; segmento(12,:)=lin6; segmento(13,:)=lin9;
Programa 2 9
%distancias segmentos distancia=zeros(segmentos); distancia=[2 2 15 6 12 14 18 20 22 13 28 5 5]; %parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end end %cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %impedancias tx y rx %segrrx=2; %saliendo por 2 segrrx=1; %saliendo por 1
Programa 2 10
segrtx=8; rrx=zc(segrrx,:); rtx=zc(segrtx,:);
%definición de cargas abierto=1e30*ones(1,frecs); noderivacion=zeros(1,frecs); carga=zeros(segmentos,frecs); carga(1,:)=rrx; carga(2,:)= zc(2,:); carga(3,:)=noderivacion; carga(4,:)=abierto; carga(5,:)=noderivacion; carga(6,:)=abierto; carga(7,:)=noderivacion; carga(8,:)=rtx; carga(9,:)=noderivacion; carga(10,:)=abierto; carga(11,:)=noderivacion; carga(12,:)=abierto; carga(13,:)=zc(13,:); %CONFIGURACIÓN DE LA RED nodos=[1,2,3; 3,4,5; 5,6,7; 7,8,9; 9,10,11; 11,12,13]; %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); %no se refleja la admitancia de carga en el nodo donde está tx for nodo=1:nronodos for j=1:frecs if (nodos(nodo,2)~=segrtx) %se reflejan las admitancias de carga del segmento central
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento del extremo izquierdo
if (nodo==1)&(nodos(nodo,1)~=segrtx)&(nodos(nodo,1)~=segrrx) yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento del extremo derecho if (nodo==nronodos)&(nodos(nodo,3)~=segrtx)&(nodos(nodo,3)~=segrrx)
Programa 2 11
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:))); %factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segmentosanteriores=2*(nodo-1); %nodosintermedios if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segmentosanteriores+1,:)./B(segmentosanteriores+1,:))+(A(segmentosanteriores+3,:)./B(segmentosanteriores+3,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segmentosanteriores+1,:); k((nodo*delta)-1,:)=1./B(segmentosanteriores+3,:); k((nodo*delta),:)=0;
end %nodo izquierdo if (nodo==1)&(nodos(nodo,1)~=segrtx)&(nodos(nodo,1)~=segrrx)
k((nodo*delta)-3,:)=(A(segmentosanteriores+3,:)./B(segmentosanteriores+3,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segmentosanteriores+3,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end %nodo derecho if (nodo==nronodos) &(nodos(nodo,3)~=segrtx)&(nodos(nodo,3)~=segrrx)
k((nodo*delta)-3,:)=(A(segmentosanteriores+1,:)./B(segmentosanteriores+1,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segmentosanteriores+1,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end %nodo intermedio con segmento de entrada if(nodo==(segrtx/2))
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:);
Programa 2 12
k((nodo*delta)-1,:)=1./B(segrtx+1,:); k((nodo*delta),:)=1./B(segrtx,:); end end %nodo transmisor kin=zeros(3,frecs); kout=zeros(3,frecs); kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %nodo receptor kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0; %señales vin=vs; vout=1./kout(1,:).*kout(2,:).*k(16,:).*vtx.*kin(3,:).*k(7,:).*k(11,:).*(k(21,:).*k(17,:)-k(19,:).*k(22,:))./(-k(18,:).*k(21,:).*kin(1,:).*k(9,:).*k(15,:).*k(1,:).*k(5,:)+k(18,:).*k(21,:).*kin(1,:).*k(9,:).*k(15,:).*k(6,:).*k(2,:)+k(21,:).*kin(1,:).*k(9,:).*k(13,:).*k(17,:).*k(1,:).*k(5,:)-k(21,:).*kin(1,:).*k(14,:).*k(11,:).*k(17,:).*k(1,:).*k(5,:)+k(21,:).*kin(1,:).*k(14,:).*k(11,:).*k(17,:).*k(6,:).*k(2,:)-k(21,:).*kin(1,:).*k(13,:).*k(17,:).*k(1,:).*k(7,:).*k(10,:)-k(21,:).*kin(1,:).*k(9,:).*k(13,:).*k(17,:).*k(6,:).*k(2,:)-k(21,:).*k(9,:).*k(16,:).*kin(2,:).*k(17,:).*k(1,:).*k(5,:)+k(21,:).*k(9,:).*k(16,:).*kin(2,:).*k(17,:).*k(6,:).*k(2,:)+k(21,:).*k(16,:).*kin(2,:).*k(17,:).*k(1,:).*k(7,:).*k(10,:)+kin(1,:).*k(14,:).*k(11,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)+k(18,:).*k(21,:).*kin(1,:).*k(15,:).*k(1,:).*k(7,:).*k(10,:)-k(9,:).*k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)-k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(1,:).*k(7,:).*k(10,:)+k(9,:).*k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)+kin(1,:).*k(9,:).*k(13,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)+kin(1,:).*k(13,:).*k(19,:).*k(22,:).*k(1,:).*k(7,:).*k(10,:)-kin(1,:).*k(9,:).*k(13,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)-kin(1,:).*k(14,:).*k(11,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)).*k(2,:); v1=k(16,:).*vtx.*kin(3,:).*k(7,:).*k(11,:).*(k(21,:).*k(17,:)-k(19,:).*k(22,:))./(-k(18,:).*k(21,:).*kin(1,:).*k(9,:).*k(15,:).*k(1,:).*k(5,:)+k(18,:).*k(21,:).*kin(1,:).*k(9,:).*k(15,:).*k(6,:).*k(2,:)+k(21,:).*kin(1,:).*k(9,:).*k(13,:).*k(17,:).*k(1,:).*k(5,:)-k(21,:).*kin(1,:).*k(14,:).*k(11,:).*k(17,:).*k(1,:).*k(5,:)+k(21,:).*kin(1,:).*k(14,:).*k(11,:).*k(17,:).*k(6,:).*k(2,:)-k(21,:).*kin(1,:).*k(13,:).*k(17,:).*k(1,:).*k(7,:).*k(10,:)-k(21,:).*kin(1,:).*k(9,:).*k(13,:).*k(17,:).*k(6,:).*k(2,:)-k(21,:).*k(9,:).*k(16,:).*kin(2,:).*k(17,:).*k(1,:).*k(5,:)+k(21,:).*k(9,:).*k(16,:).*kin(2,:).*k(17,:).*k(6,:).*k(2,:)+k(21,:).*k(16,:).*kin(2,:).*k(17,:).*k(1,:).*k(7,:).*k(10,:)+kin(1,:).*k(14,:).*k(11,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)+k(18,:).*k(21,:).*kin(1,:).*k(15,:).*k(1,:).*k(7,:).*k(10,:)-k(9,:).*k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)-k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(1,:).*k(7,:).*k(10,:)+k(9,:).*k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)+kin(1,:).*k(9,:).*k(13,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)+kin(1,:).*k(13,:).*k(19,:).*k(22,:).*k
Programa 2 13
(1,:).*k(7,:).*k(10,:)-kin(1,:).*k(9,:).*k(13,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)-kin(1,:).*k(14,:).*k(11,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)).*k(2,:); %Guardar %s2=20*log10(abs(vout./vin)); %save c:/tesis/salidapor2 f s2 %s1=20*log10(abs(vout./vin)); %save c:/tesis/salidapor1 f s1 %c28=20*log10(abs(vout./v1)); %save c:/tesis/canal28 f c28 %deplegar load c:/tesis/salidapor1 f s1 load c:/tesis/salidapor2 f s2 figure(1) plot(f/1e6,s2, 'k') axis([1.8 30 -40 -5]) title('SALIDA POR SEGMENTO 2') xlabel('Frecuencia en MHz') ylabel('|H(F)| dB')
figure(2) plot(f/1e6,s1, 'k') axis([1.8 30 -50 10]) title('SALIDA POR SEGMENTO 1') xlabel('Frecuencia en MHz') ylabel('|H(F)| dB') %ecuaciones para nodos [v1,v2,v3,v4,v5,v6,vin,vout]=solve('(v1*k1)-(v2*k2)=0','(v2*k5)-(v1*k6)-(v3*k7)=0','(v3*k9)-(v2*k10)-(v4*k11)=0','(v4*k13)-(v3*k14)-(v5*k15)-(vin*k16)=0','(v5*k17)-(v4*k18)-(v6*k19)=0','(v6*k21)-(v5*k22)=0','(vout*kout1)-(v1*kout2)=0','(vin*kin1)-(v4*kin2)=(vtx*kin3)', 'v1','v2','v3','v4','v5','v6','vin','vout');
Programa 3 14
3. Programa 3: Generación de la DEP
de Benyoucef a partir de artículo de
revista
%Documento base : Benyoucef D., A New Statistical Model of the Noise Power Density Spectrum for Powerline Communication, 7th International Symposium On Power-Line Communications and Its Applications: Kyoto, Japan, March 26-28 2003.
%Programó: Roberto Cárdenas C. %leer gráfica bmp [x,map]=imread('C:\tesis\benyoucef.bmp'); I=imread('C:\matlab72\work\benyoucef.bmp'); save I %figure(1) %imshow(I) %Solamente dejar la gráfica %borrado superior xtemp=x; for j=1:114 for k=1:1012 xtemp(j,k)=1; end end %borrado a la izquierda for j=1:761 for k=1:148 xtemp(j,k)=1; end end for j=1:340 for k=1:149 xtemp(j,k)=1; end end for j=1:300 for k=1:154
Programa 3 15
xtemp(j,k)=1; end end for j=400:500 for k=1:154 xtemp(j,k)=1; end end %borrado inferior for j=650:761 for k=1:1012 xtemp(j,k)=1; end end %borrado derecho for j=1:761 xtemp(j,976)=1; end for j=1:600 for k=950:980 xtemp(j,k)=1; end end %figure(2) %imshow(xtemp); %correr gráfica al origen imgcorrida=ones(761,1012); imgcorriday=ones(761,1012); %correr en x xshift=149; for j=1:761 for k=xshift:1012 imgcorrida(j,k-xshift+1)=xtemp(j,k); end end %correr en y
yshift=117; for j=yshift:761 for k=1:1012 imgcorriday(j-yshift+1,k)=imgcorrida(j,k); end
Programa 3 16
end %figure(3) %imshow(imgcorriday); x=827; y=527; benyoucef=zeros(y,x); for j=1:y for k=1:x benyoucef(j,k)=imgcorriday(j,k); end end %figure(4) %imshow(benyoucef); %mejora de la resolución arreglob=zeros(size(benyoucef,1), size(benyoucef,2)); for fila=1:size(benyoucef,1) for col=1:size(benyoucef,2) if benyoucef(fila,col)==0 arreglob(fila,col)=col; end end end %eliminar puntos redundantes for j=1:size(arreglob,2) h=find(arreglob(:,j)==j); if j==1 datoh=max(h); end if j>1 g=find(arreglob(:,j-1)==j-1); difj=size(h)-size(g); if difj>=0 datoh=min(h); end if difj<0 datoh=max(h); end end arreglob(:,j)=0; arreglob(datoh,j)=j;
Programa 3 17
end %figure(5) %imshow(arreglob); %desplegar la gráfica correctamente datab=zeros(1,827); for fila=1:527 for columna=1:827 if arreglob(fila,columna) > 0 datab(1,columna)=fila; end end end frec=[1:827]; dep=zeros(1,827); dep1=zeros(1,827); for j=1:827 dep(j)=datab(frec(j)); end depv=abs(dep-max(dep)); %niveles de dBm/Hz dBm=zeros(1,max(depv))+1; dBm1= zeros(1,max(depv)); depv1=zeros(1,size(depv,2)); maxdBm=-88; mindBm=-137.2; intervalodBm=maxdBm-mindBm; deltadBm=intervalodBm/max(depv); for j=1:max(depv)+1 if j==1 dBm(1,j)=mindBm; end if j>1 dBm(1,j)=dBm(1,j-1)+deltadBm; end end for j=1:max(depv)+1 dBm1(j)=j-1; end for j=1:827 encontrar= depv(1,j); G=find(dBm1==encontrar); depv1(1,j)=dBm(1,G); end
Programa 3 18
%frecuencias de 0-30 Mhz frecs= zeros(1,827); deltaf=30e6/(827-1); for j=2:size(frecs,2) frecs(1,j)=frecs(1,j-1)+deltaf; end %encontrar más puntos %expresar muestras en mW/Hz depmw=10.^(depv1/10); %expresar vector A en unidades de Voltios nfilt=fir2(100000,frecs/max(frecs),sqrt(depmw)); %obtener respuesta para 2938 muestras (cada 9600 desde 1.8 MHz) %intervalo de frecuencia %fi=1.8e6; fi=0; deltaf=9600; fin=3e7; ftemp=fi:deltaf:fin; locfi= find(ftemp>=1800000 & ftemp<=1800000+deltaf); intervalof=size(ftemp,2)-locfi+1; f=zeros(1, intervalof); for i=1:intervalof f(i)=ftemp(locfi+i-1); %size=2938 end [ h , w]=freqz(nfilt,1,size(ftemp,2)); %expresar en dBm/Hz py=20*log10(abs(h)); %size=3126 pyt= py'; pydesde18=zeros(1,intervalof); for j=1:size(pydesde18,2) pydesde18(j)=pyt(locfi+j-1); end plot(ftemp/1e6,pyt, 'k') grid xlabel('Frecuencia (MHz)') ylabel(' DEP del ruido (dBm/Hz)') fnoise18=f; pydesde0=pyt; f00=ftemp; %save c:/tesis/benyoucef pydesde0 f00 pydesde18 fnoise18
Programa 4 19
4. Programa 4: Simulación de
impedancias de carga no lineales
%Programó: Roberto Cárdenas C. %Febrero de 2010 %intervalo de frecuencia fi=1.8e6; deltaf=1000; fin=2e7; f=fi:deltaf:fin; frecs=size(f,2); %carga fan m=1e6; zfani=zeros(1,frecs); x=[1.8*m 2.75*m 4*m 5.9*m 7.1*m 7.7*m 8.7*m 10*m 11.2*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27.5*m 30*m]; y=[100 160 300 140 310 690 500 710 400 250 155 95 55 30 50 100 150]; for j=1:frecs zfani(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zfani(j)=zfani(j)*(1+(signo*vciclo)); end %carga tv ztvi=zeros(1,frecs); x=[1.8*m 2.5*m 3.7*m 5 6*m 6.9*m 7.5*m 8.3*m 9*m 9.5*m 10*m 10.6*m 11*m 11.25*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27*m 30*m]; y=[25 40 75 130 200 350 200 360 420 500 390 280 205 160 100 50 25 24 35 55 90 150]; for j=1:frecs
Programa 4 20
ztvi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end ztvi(j)=ztvi(j)*(1+(signo*vciclo)); end %carga coffee machine zcmi=zeros(1,frecs); x=[1.8*m 2.5*m 5*m 5.4*m 7.5*m 10*m 15*m 20*m 25*m 30*m]; y=[125 180 360 400 250 155 85 65 50 40]; for j=1:frecs zcmi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zcmi(j)=zcmi(j)*(1+(signo*vciclo)); end %Desplegar subplot(1,3,1) plot(f./1e6,zfani,'k') axis([1.8 20 0 800]) title('Ventilador') xlabel('Frecuencia en MHz') ylabel('Impedancia (ohmios)')
Programa 4 21
subplot(1,3,2) plot(f./1e6,ztvi,'k') axis([1.8 20 0 600]) title('Televisor') xlabel('Frecuencia en MHz') subplot(1,3,3) plot(f./1e6,zcmi,'k') axis([1.8 20 0 450]) title('Cafetera') xlabel('Frecuencia en MHz')
Programa 5 22
5. Programa 5: Canales In-House de
referencia %Programó Roberto Cárdenas
%junio de 2009, última versión: noviembre de 2011
fclose('all'); close all; clear all; clc %Datos extractados de: %IST Integrated Project No. 507667, D4:"Theoretical Postulation of PLC channel model", OPERA, %2005. %canal con 5 caminos ejet5=[0.2e-06 0.36e-06 0.4e-06 0.63e-06 0.68e-06]; ejeresp5=[0.05 -0.0281 0.0158 0.0089 -0.005]; %Canal con 10 caminos ejet10=[0.2e-6 0.34e-06 0.4e-6 0.54e-06 0.63e-06 0.72e-6 0.89e-06 1.01e-06 1.11e-06 1.15e-06]; ejeresp10=[0.01 -0.0084 -0.007 0.0058 -0.0049 0.0041 -0.0034 -0.0029 -0.0025 0.002]; th=[0.5e-6 1e-6 1.5e-6 2e-6]; %Canal con 15 caminos ejet15=[0.5e-6 0.65e-06 0.7e-6 0.84e-06 0.93e-06 1.01e-6 1.12e-06 1.2e-06 1.31e-06 1.51e-06 1.6e-06 1.7e-06 1.82e-06 1.86e-06 1.96e-06]; ejeresp15=[0.003 -0.00255 -0.00216 0.00183 -0.00155 -0.00132 -0.00112 0.00095 -0.0008 -0.00068 0.00058 -0.00049 -0.00042 0.00035 0.0003]; %Canal con 20 caminos ejet20=[0.5e-6 0.65e-06 0.75e-6 0.84e-06 0.91e-06 1.06e-6 1.15e-06 1.24e-06 1.3e-06 1.45e-06 1.57e-06 1.65e-06 1.73e-06 1.89e-06 1.98e-06 2.11e-06 2.21e-06 2.33e-06 2.42e-06 2.46e-06]; ejeresp20=[0.0005 -0.000459 -0.000422 -0.000388 0.000356 0.000327 0.000301 0.000276 -0.000254 -0.000233 0.000214 -0.000197 0.000181 0.000166 -0.000153 0.00014 -0.000129 -0.000119 0.000109 0.0001]; %Espectro de frecuencia for canal=1:4,
if canal==1, ejet=ejet5; ejeresp=ejeresp5; x=0; end
Programa 5 23
if canal==2, ejet=ejet10; ejeresp=ejeresp10; x=1; end if canal==3, ejet=ejet15; ejeresp=ejeresp15; x=2; end if canal==4, ejet=ejet20; ejeresp=ejeresp20; x=3; end %muestras de entrada plotejet=zeros(1,length(ejet)+1); plotejeresp=zeros(1,length(ejeresp)+1); %imprimir pulsos for h=2:length(plotejet) plotejet(h)=ejet(h-1); plotejeresp(h)=ejeresp(h-1); end; subplot(4,2,canal+x) stem(plotejet/1e-6,plotejeresp,'k','.') if canal==1, axis([0 2.5 -0.055 0.055]) title('Respuesta al impulso (fs = 100 MHz)') ylabel('h(t)_1') end if canal==2, axis([0 2.5 -0.013 0.013]) ylabel('h(t)_2') end if canal==3, axis([0 2.5 -3.5e-3 3.5e-3]) ylabel('h(t)_3') end if canal==4, axis([0 2.5 -5.3e-4 5.3e-4])
Programa 5 24
xlabel('t en µs') ylabel('h(t)_4') end %variables de muestreo y añadir ceros al final para ampliar periodo de TF. fs=100000000; Tt=30*max(ejet); tt=1/fs; t=0:tt:Tt; %incluir los impulsos en todo el espacio de muestras muestras=zeros(1,length(t)); muestrasincluidas=0; for h=1:length(ejet) for i=1:length(t) if abs(t(i)-ejet(h))<=1e-12 muestras(i)=ejeresp(h); muestrasincluidas=muestrasincluidas+1; end end end %DFT F=fft(muestras); tf=1/Tt; f=0:tf:(length(t)-1)*tf; %interpolación L=1; deltaf=f(2)-f(1); lf=size(f,2); ultimaf=f(1,lf); deltafi=deltaf/L; fi=0:deltafi:ultimaf; finterp=interp1(f,F,fi, 'spline'); if canal == 1 fi1=fi; finterp1=finterp; finterpdb1=20.*log10(abs(finterp1)); end if canal == 2 fi2=fi; finterp2=finterp; finterpdb2=20.*log10(abs(finterp2)); end
Programa 5 25
if canal == 3 fi3=fi; finterp3=finterp; finterpdb3=20.*log10(abs(finterp3)); end if canal == 4 fi4=fi; finterp4=finterp; finterpdb4=20.*log10(abs(finterp4)); end
end %desplegar magnitud de de la función de transferencia
subplot(4,2,2) plot(fi1/1e6,finterpdb1, 'k') axis([0 50 -100 0]) title('|H(f)| en dB') %xlabel('Frecuencia en MHz') subplot(4,2,4) plot(fi2/1e6,finterpdb2, 'k') axis([0 50 -100 0]) subplot(4,2,6) plot(fi3/1e6,finterpdb3, 'k') axis([0 50 -100 0]) subplot(4,2,8) plot(fi4/1e6,finterpdb4, 'k') axis([0 50 -100 0]) xlabel('Frecuencia en MHz')
Programa 6 26
6. Programa 6: Magnitudes de las
funciones de transferencia entre TX
y RX con L cerrado y abierto en red
y parámetros de línea In-House
propuestos por Tucci con lin10
%Programó: Roberto Cárdenas C. %marzo de 2010 %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178.
% r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.9*0.112e-6, 0.9*9.22e-6, 13e-12, 1.2*216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009 % r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8]; %intervalo de frecuencia fi=1.8e6; deltaf=1000; fin=2e7; f=fi:deltaf:fin;
Programa 6 27
%construcción del canal segmentos=26; parametros=5; segmento=zeros(segmentos,parametros); %arbol backbone segmento(1,:)=lin10; segmento(3,:)=lin10; segmento(5,:)=lin10; segmento(7,:)=lin10; segmento(12,:)=lin10; segmento(14,:)=lin10; segmento(16,:)=lin10; segmento(18,:)=lin10; segmento(20,:)=lin10; %ramificación directa backbone segmento(2,:)=lin10; segmento(4,:)=lin10; segmento(6,:)=lin10; segmento(13,:)=lin10; segmento(15,:)=lin10; segmento(17,:)=lin10; segmento(19,:)=lin10; %ramificación en estrella segmento(8,:)=lin10; segmento(9,:)=lin10; segmento(10,:)=lin10; segmento(11,:)=lin10; %ramificación en árbol segmento(21,:)=lin10; segmento(22,:)=lin10; segmento(23,:)=lin10; segmento(24,:)=lin10; segmento(25,:)=lin10; segmento(26,:)=lin10; %distancias segmentos distancia=zeros(segmentos); distancia=[3 1 1 3 11 3 1 14 13 7 18 2.5 0.5 2 1 5 3 3 2 2 3 4 3 3 1 1]; %parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs);
Programa 6 28
c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end end %cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end
Programa 6 29
%impedancias tx y rx segrrx=13; segrtx=1; rrx=zc(segrrx,:); rtx=zc(segrtx,:);
%definición de cargas abierto=1e30*ones(1,frecs); ztree=1e30*ones(1,frecs); backbone=zeros(1,frecs); carga=zeros(segmentos,frecs); %carga fan m=1e6; zfani=zeros(1,frecs); x=[1.8*m 2.75*m 4*m 5.9*m 7.1*m 7.7*m 8.7*m 10*m 11.2*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27.5*m 30*m]; y=[100 160 300 140 310 690 500 710 400 250 155 95 55 30 50 100 150]; for j=1:frecs zfani(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zfani(j)=zfani(j)*(1+(signo*vciclo)); end %carga tv ztvi=zeros(1,frecs); x=[1.8*m 2.5*m 3.7*m 5 6*m 6.9*m 7.5*m 8.3*m 9*m 9.5*m 10*m 10.6*m 11*m 11.25*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27*m 30*m]; y=[25 40 75 130 200 350 200 360 420 500 390 280 205 160 100 50 25 24 35 55 90 150]; for j=1:frecs ztvi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs
Programa 6 30
signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end ztvi(j)=ztvi(j)*(1+(signo*vciclo)); end %carga coffee machine zcmi=zeros(1,frecs); x=[1.8*m 2.5*m 5*m 5.4*m 7.5*m 10*m 15*m 20*m 25*m 30*m]; y=[125 180 360 400 250 155 85 65 50 40]; for j=1:frecs zcmi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zcmi(j)=zcmi(j)*(1+(signo*vciclo)); end %segmentos de las cargas no lineales fan=2; tv=17; cm=10; carga(1,:)=rtx; carga(fan,:)=zfani; carga(3,:)=backbone; carga(4,:)=ztree; carga(5,:)=backbone; %carga(6,:)= zc(6,:); %L cerrado carga(6,:)= abierto; %L abierto
Programa 6 31
carga(7,:)=backbone; carga(8,:)= zc(8,:); carga(9,:)= abierto; carga(cm,:)=zcmi; carga(11,:)= abierto; carga(12,:)=backbone; carga(13,:)=rrx; carga(14,:)=backbone; carga(15,:)= zc(15,:); carga(16,:)=backbone; carga(tv,:)= ztvi; carga(18,:)=backbone; carga(19,:)= zc(19,:); carga(20,:)= zc(20,:); carga(21,:)= zc(21,:); carga(22,:)=backbone; carga(23,:)= abierto; carga(24,:)=backbone; carga(25,:)= zc(25,:); carga(26,:)= abierto; %CONFIGURACIÓN DE LA RED star=0; nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[4,21,22; 22,23,24; 24,25,26]; %admitancia de la estrella nrosegstar=size(nodostar,2); ystar=zeros(nrosegstar,frecs); yestrella=zeros(1,frecs); for segstar=1:nrosegstar for j=1:frecs
ystar(segstar,j)=((C(nodostar(segstar),j)*carga(nodostar(segstar),j))+D(nodostar(segstar),j))/((A(nodostar(segstar),j)*carga(nodostar(segstar),j))+B(nodostar(segstar),j));
end end yestrella=sum(ystar); %impedancia del árbol nronodostree=size(nodostree,1); ytree=zeros(2,frecs); for nodost=1:nronodostree nodo=nronodostree-nodost+1; for j=1:frecs
Programa 6 32
ytree(1,j)=((C(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+D(nodostree(nodo,3),j))/((A(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+B(nodostree(nodo,3),j)); ytree(2,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end carga(nodostree(nodo,1),:)=1./sum(ytree); end %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); for nodo=1:nronodos for j=1:frecs %se incluye la admitancia de la estrella en el backbone if (nodos(nodo,2)==star) y(nodo,j)=yestrella(j); end %se reflejan sobre backbone las admitancias del segmento central de c/nodo if (nodos(nodo,2)~=segrtx)&(nodos(nodo,2)~=star)
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento de inicio del backbone if (nodo==1&nodos(nodo,1)~=segrtx&nodos(nodo,1)~=segrrx)
yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento final del backbone if(nodo==nronodos&nodos(nodo,3)~=segrtx&nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:))); %factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2);
Programa 6 33
delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segizq=nodos(nodo,1); segder=nodos(nodo,3); %nodo sin segmento central de entrada if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=1./B(segder,:); k((nodo*delta),:)=0;
end %nodo con segmento central de entrada if (nodos(nodo,2)==segrtx)
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end %primer nodo del backbone que no tenga tx ni rx en segmento izquierdo if ((nodo==1)&(segizq~=segrtx)&(segizq~=segrrx))
k((nodo*delta)-3,:)=(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segder,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end %nodo final del backbone que no tenga tx ni rx en segmento derecho if ((nodo==nronodos)&(segder~=segrtx)&(segder~=segrrx)) k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0; end end kin=zeros(3,frecs); kout=zeros(3,frecs); %punto de transmisión kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %punto de recepción kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:));
Programa 6 34
kout(2,:)=1./B(segrrx,:); kout(3,:)=0;
%señales vin=vs; vout=1./kout(1,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*(-k(29,:).*k(26,:).*k(23,:)+k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:))./(-k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-
Programa 6 35
k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)).*kout(2,:); %GUARDAR %respuesta para L cerrado %hmt=20.*log10(abs(vout./vin)); %save c:/tesis/hmatchedt f hmt %respuesta para L abierto %hot=20.*log10(abs(vout./vin)); %save c:/tesis/hopent f hot %desplegar resultados load c:/tesis/hmatchedt f hmt load c:/tesis/hopent f hot plot(f./1e6,hmt, 'k') hold on plot(f./1e6,hot, 'c') axis([1.8 20 -65 0]) title('Canal cicloestacionario con cambio de estado') xlabel('Frecuencia en MHz') ylabel('|H(f)| dB') legend ('L cerrado','L abierto') %ecuaciones para nodos [v1,v2,v3,v4,v5,v6,v7,v8,vin,vout]=(solve('(vin*kin1)-(v1*kin2)=vtx*kin3','(v1*k1)-(vin*k2)-(v2*k3)=0','(v2*k5)-(v1*k6)-(v3*k7)=0','(v3*k9)-(v2*k10)-(v4*k11)=0','(v4*k13)-(v3*k14)-(v5*k15)=0','(v5*k17)-(v4*k18)-(v6*k19)=0','(v6*k21)-(v5*k22)-(v7*k23)=0','(v7*k25)-(v6*k26)-(v8*k27)=0','(v8*k29)-(v7*k30)=0','(vout*kout1)-(v5*kout2)=0','v1','v2','v3','v4','v5','v6','v7','v8','vin','vout'));
Programa 7 36
7. Programa 7: Magnitudes de las
funciones de transferencia entre TX
y todos los ramales de salida con L
cerrado y abierto en Red y
parámetros de línea In-House
propuestos por Tucci. Transmisión
por segmento 1 %Programó: Roberto Cárdenas C. %julio de 2010 %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178. clear all % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6, 13e-12, 216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009 % r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8];
Programa 7 37
%intervalo de frecuencia %fi=1.8e6; fi=0; deltaf=9600; fin=3e7; ftemp=fi:deltaf:fin; locfi= find(ftemp>=1800000 & ftemp<=1800000+deltaf); intervalof=size(ftemp,2)-locfi+1; f=zeros(1, intervalof); for i=1:intervalof f(i)=ftemp(locfi+i-1); end %construcción del canal segmentos=26; parametros=5; segmento=zeros(segmentos,parametros); %arbol backbone segmento(1,:)=lin10; segmento(3,:)=lin10; segmento(5,:)=lin10; segmento(7,:)=lin10; segmento(12,:)=lin10; segmento(14,:)=lin10; segmento(16,:)=lin10; segmento(18,:)=lin10; segmento(20,:)=lin10; %ramificación directa backbone segmento(2,:)=lin10; segmento(4,:)=lin10; segmento(6,:)=lin10; segmento(13,:)=lin10; segmento(15,:)=lin10; segmento(17,:)=lin10; segmento(19,:)=lin10; %ramificación en estrella segmento(8,:)=lin10; segmento(9,:)=lin10; segmento(10,:)=lin10; segmento(11,:)=lin10;
Programa 7 38
%ramificación en árbol segmento(21,:)=lin10; segmento(22,:)=lin10; segmento(23,:)=lin10; segmento(24,:)=lin10; segmento(25,:)=lin10; segmento(26,:)=lin10; %distancias segmentos distancia=zeros(segmentos); distancia=[3 1 1 3 11 3 1 14 13 7 18 2.5 0.5 2 1 5 3 3 2 2 3 4 2 3 1 1]; %parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i));
Programa 7 39
end end %cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %impedancias tx y rx segrrx=13; segrtx=1; rrx=zc(segrrx,:); rtx=zc(segrtx,:);
%definición de cargas abierto=1e30*ones(1,frecs); ztree=1e30*ones(1,frecs); backbone=zeros(1,frecs); carga=zeros(segmentos,frecs); %carga fan m=1e6; zfani=zeros(1,frecs); x=[1.8*m 2.75*m 4*m 5.9*m 7.1*m 7.7*m 8.7*m 10*m 11.2*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27.5*m 30*m]; y=[100 160 300 140 310 690 500 710 400 250 155 95 55 30 50 100 150]; for j=1:frecs zfani(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end
Programa 7 40
while vciclo<0.1|vciclo>0.15 vciclo=rand; end zfani(j)=zfani(j)*(1+(signo*vciclo)); end %carga tv ztvi=zeros(1,frecs); x=[1.8*m 2.5*m 3.7*m 5 6*m 6.9*m 7.5*m 8.3*m 9*m 9.5*m 10*m 10.6*m 11*m 11.25*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27*m 30*m]; y=[25 40 75 130 200 350 200 360 420 500 390 280 205 160 100 50 25 24 35 55 90 150]; for j=1:frecs ztvi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end ztvi(j)=ztvi(j)*(1+(signo*vciclo)); end %carga coffee machine zcmi=zeros(1,frecs); x=[1.8*m 2.5*m 5*m 5.4*m 7.5*m 10*m 15*m 20*m 25*m 30*m]; y=[125 180 360 400 250 155 85 65 50 40]; for j=1:frecs zcmi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1;
Programa 7 41
end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zcmi(j)=zcmi(j)*(1+(signo*vciclo)); end %segmentos de las cargas no lineales fan=2; tv=17; cm=10; carga(1,:)=rtx; carga(fan,:)=zfani; carga(3,:)=backbone; carga(4,:)=ztree; carga(5,:)=backbone; %carga(6,:)= zc(6,:); %L cerrado carga(6,:)= abierto; %L abierto carga(7,:)=backbone; carga(8,:)= zc(8,:); carga(9,:)= abierto; carga(cm,:)=zcmi; carga(11,:)= abierto; carga(12,:)=backbone; carga(13,:)=rrx; carga(14,:)=backbone; carga(15,:)= zc(15,:); carga(16,:)=backbone; carga(tv,:)= ztvi; carga(18,:)=backbone; carga(19,:)= zc(19,:); carga(20,:)= zc(20,:); carga(21,:)= zc(21,:); carga(22,:)=backbone; carga(23,:)= abierto; carga(24,:)=backbone; carga(25,:)= zc(25,:); carga(26,:)= abierto; %CONFIGURACIÓN DE LA RED star=0; nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[4,21,22; 22,23,24; 24,25,26]; %admitancia de la estrella
Programa 7 42
nrosegstar=size(nodostar,2); ystar=zeros(nrosegstar,frecs); yestrella=zeros(1,frecs); for segstar=1:nrosegstar for j=1:frecs
ystar(segstar,j)=((C(nodostar(segstar),j)*carga(nodostar(segstar),j))+D(nodostar(segstar),j))/((A(nodostar(segstar),j)*carga(nodostar(segstar),j))+B(nodostar(segstar),j));
end end yestrella=sum(ystar); %impedancia del árbol nronodostree=size(nodostree,1); ytree=zeros(2,frecs); for nodost=1:nronodostree nodo=nronodostree-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+D(nodostree(nodo,3),j))/((A(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+B(nodostree(nodo,3),j)); ytree(2,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end carga(nodostree(nodo,1),:)=1./sum(ytree); end %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); for nodo=1:nronodos for j=1:frecs %se incluye la admitancia de la estrella en el backbone if (nodos(nodo,2)==star) y(nodo,j)=yestrella(j); end %se reflejan sobre backbone las admitancias del segmento central de c/nodo if (nodos(nodo,2)~=segrtx)&(nodos(nodo,2)~=star)
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento de inicio del backbone
if (nodo==1&nodos(nodo,1)~=segrtx&nodos(nodo,1)~=segrrx)
Programa 7 43
yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento final del backbone if(nodo==nronodos&nodos(nodo,3)~=segrtx&nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:)));
%factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segizq=nodos(nodo,1); segder=nodos(nodo,3);
%nodo sin segmento central de entrada if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=1./B(segder,:); k((nodo*delta),:)=0;
end
%nodo con segmento central de entrada if (nodos(nodo,2)==segrtx)
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end
%primer nodo del backbone que no tenga tx ni rx en segmento izquierdo if ((nodo==1)&(segizq~=segrtx)&(segizq~=segrrx))
k((nodo*delta)-3,:)=(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segder,:); k((nodo*delta)-1,:)=0;
Programa 7 44
k((nodo*delta),:)=0; end
%nodo final del backbone que no tenga tx ni rx en segmento derecho
if ((nodo==nronodos)&(segder~=segrtx)&(segder~=segrrx)) k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end end
kin=zeros(3,frecs); kout=zeros(3,frecs); %punto de transmisión kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %punto de recepción kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0;
%señales vin=vs; vout=1./kout(1,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*(-k(29,:).*k(26,:).*k(23,:)+k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:))./(-k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-
Programa 7 45
k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)).*kout(2,:); v1=(k(5,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(5,:).*k(13,:).*k(9,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(7,:).*k(13,:).*k(10,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(13,:).*k(10,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(13,:).*k(10,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(2,:).*vtx.*kin(3,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:)
Programa 7 46
.*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:
Programa 7 47
).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v2=k(2,:).*vtx.*kin(3,:).*k(6,:).*(k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(13,:).*k(9,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(11,:).*k(14,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(13,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-
Programa 7 48
kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v3=k(2,:).*vtx.*kin(3,:).*(k(13,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(13,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(13,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(13,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(13,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(10,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-
Programa 7 49
kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v4=k(2,:).*vtx.*kin(3,:).*k(10,:).*k(6,:).*k(14,:).*(k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(19,:).*k(22,:).*k(29,:).*k(25,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-
Programa 7 50
kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v5=(k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:)-k(29,:).*k(26,:).*k(23,:)).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,
Programa 7 51
:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v6=k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:).*k(22,:).*(k(29,:).*k(25,:)-k(27,:).*k(30,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-
Programa 7 52
k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v7=k(29,:).*k(26,:).*k(22,:).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,
Programa 7 53
:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v8=k(26,:).*k(22,:).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-
Programa 7 54
k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(30,:); %voltajes sobre backbone del árbol %admitancias del árbol nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11];
Programa 7 55
nodostree=[4,21,22; 22,23,24; 24,25,26]; nronodos=size(nodostree,1); yt=zeros(nronodos+1,frecs); for nodo=1:nronodos for j=1:frecs %se reflejan sobre backbone las admitancias del segmento central de c/nodo yt(nodo,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/ ((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j)); end end %admitancia de ramal final for j=1:frecs yt(nronodostree+1,j)=1/carga(nodostree(nronodos,3),j); end %factores constantes para ecuaciones de nodos en árbol nrosegsnodo=size(nodostree,2); delta= nrosegsnodo; kt=zeros((nronodos+1)*delta,frecs); for nodo=1:nronodos segizq=nodostree(nodo,1); segder=nodostree(nodo,3); kt((nodo*delta)-2,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+yt(nodo,:); kt((nodo*delta)-1,:)=1./B(segizq,:); kt((nodo*delta),:)=1./B(segder,:); end ramafinal=nodostree(nronodos,3); kt(((nronodos+1)*delta)-2,:)= (A(ramafinal,:)./B(ramafinal,:))+yt(nronodostree+1,:); kt(((nronodos+1)*delta)-1,:)= (1./B(ramafinal,:)); v21=v2.*kt(2,:).*-kt(10,:).*kt(8,:).*kt(6,:)+kt(4,:).*kt(10,:).*kt(7,:)-kt(4,:).*kt(9,:).*kt(11,:)./(-kt(10,:).*kt(8,:).*kt(1,:).*kt(6,:)+kt(1,:).*kt(4,:).*kt(10,:).*kt(7,:)-kt(1,:).*kt(4,:).*kt(9,:).*kt(11,:)-kt(5,:).*kt(3,:).*kt(10,:).*kt(7,:)+kt(5,:).*kt(3,:).*kt(9,:).*kt(11,:)); v22=(kt(10,:).*kt(7,:)-kt(9,:).*kt(11,:)).*kt(5,:).*v2.*kt(2,:)./(-kt(10,:).*kt(8,:).*kt(1,:).*kt(6,:)+kt(1,:).*kt(4,:).*kt(10,:).*kt(7,:)-kt(1,:).*kt(4,:).*kt(9,:).*kt(11,:)-kt(5,:).*kt(3,:).*kt(10,:).*kt(7,:)+kt(5,:).*kt(3,:).*kt(9,:).*kt(11,:)); v23=kt(10,:).*kt(8,:).*kt(5,:).*v2.*kt(2,:)./(-kt(10,:).*kt(8,:).*kt(1,:).*kt(6,:)+kt(1,:).*kt(4,:).*kt(10,:).*kt(7,:)-kt(1,:).*kt(4,:).*kt(9,:).*kt(11,:)-kt(5,:).*kt(3,:).*kt(10,:).*kt(7,:)+kt(5,:).*kt(3,:).*kt(9,:).*kt(11,:));
Programa 7 56
v24=kt(8,:).*kt(5,:).*v2.*kt(2,:)./(-kt(10,:).*kt(8,:).*kt(1,:).*kt(6,:)+kt(1,:).*kt(4,:).*kt(10,:).*kt(7,:)-kt(1,:).*kt(4,:).*kt(9,:).*kt(11,:)-kt(5,:).*kt(3,:).*kt(10,:).*kt(7,:)+kt(5,:).*kt(3,:).*kt(9,:).*kt(11,:)).*kt(11,:); %constantes para puntos de salida %salida por l2 segrrx=2; koutl2=zeros(2,frecs); koutl2(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl2(2,:)=1./B(segrrx,:); %salida por l21 (serían las mismas constantes que para voutt) segrrx=21; koutl21=zeros(2,frecs); koutl21(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl21(2,:)=1./B(segrrx,:); %salida por l23 segrrx=23; koutl23=zeros(2,frecs); koutl23(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl23(2,:)=1./B(segrrx,:); %salida por l25 segrrx=25; koutl25=zeros(2,frecs); koutl25(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl25(2,:)=1./B(segrrx,:); %salida por l26 (serían las mismas constantes que para v24) segrrx=26; koutl26=zeros(2,frecs); koutl26(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl26(2,:)=1./B(segrrx,:); %salida por l6 segrrx=6; koutl6=zeros(2,frecs); koutl6(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl6(2,:)=1./B(segrrx,:);
%salida por l8 segrrx=8; koutl8=zeros(2,frecs); koutl8(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl8(2,:)=1./B(segrrx,:);
Programa 7 57
%salida por l9 segrrx=9; koutl9=zeros(2,frecs); koutl9(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl9(2,:)=1./B(segrrx,:); %salida por l10 segrrx=10; koutl10=zeros(2,frecs); koutl10(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl10(2,:)=1./B(segrrx,:); %salida por l11 segrrx=11; koutl11=zeros(2,frecs); koutl11(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl11(2,:)=1./B(segrrx,:); %salida por l13 (salida propuesta por Tucci) segrrx=13; koutl13=zeros(2,frecs); koutl13(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl13(2,:)=1./B(segrrx,:); %salida por l15 segrrx=15; koutl15=zeros(2,frecs); koutl15(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl15(2,:)=1./B(segrrx,:); %salida por l17 segrrx=17; koutl17=zeros(2,frecs); koutl17(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl17(2,:)=1./B(segrrx,:); %salida por l19 segrrx=19; koutl19=zeros(2,frecs); koutl19(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl19(2,:)=1./B(segrrx,:); %salida por l20 segrrx=20; koutl20=zeros(2,frecs); koutl20(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl20(2,:)=1./B(segrrx,:);
Programa 7 58
%voltajes de salida voutl2 =v1.*koutl2(2,:)./koutl2(1,:); voutl21=v21.* koutl21(2,:)./ koutl21(1,:); voutl23=v22.* koutl23(2,:)./ koutl23(1,:); voutl25=v23.* koutl25(2,:)./ koutl25(1,:); voutl26=v23.* koutl26(2,:)./ koutl26(1,:); voutl6 =v3.*koutl6(2,:)./koutl6(1,:); voutl8 =v4.*koutl8(2,:)./koutl8(1,:); voutl9 =v4.*koutl9(2,:)./koutl9(1,:); voutl10 =v4.*koutl10(2,:)./koutl10(1,:); voutl11 =v4.*koutl11(2,:)./koutl11(1,:); voutl13 =v5.*koutl13(2,:)./koutl13(1,:); voutl15 =v6.*koutl15(2,:)./koutl15(1,:); voutl17 =v7.*koutl17(2,:)./koutl17(1,:); voutl19 =v8.*koutl19(2,:)./koutl19(1,:); voutl20 =v8.*koutl20(2,:)./koutl20(1,:); %guardar todas las variables %save c:/tesis/desde1cerrado %save c:/tesis/desde1abierto % Desplegar resultados %magnitud de función de transferencia con L cerrado load c:/tesis/desde1cerrado figure(1) subplot(6,2,1) plot(f./1e6,20.*log10(abs(voutl2./vin)),'k') axis([1.8 30 -15 5]) title('Vl2/VTX') ylabel('|H(f)| en dB') subplot(6,2,2) plot(f./1e6,20.*log10(abs(voutl21./ vin)),'k') axis([1.8 30 -5 55]) title('Vl21/VTX') ylabel('|H(f)| en dB') subplot(6,2,3) plot(f./1e6,20.*log10(abs(voutl25./vin)),'k') axis([1.8 30 -50 5]) title('Vl25/VTX') ylabel('|H(f)| en dB') subplot(6,2,4) plot(f./1e6,20.*log10(abs(voutl6./vin)),'k')
Programa 7 59
axis([1.8 30 -35 0]) title('Vl6/VTX') ylabel('|H(f)| en dB') subplot(6,2,5) plot(f./1e6,20.*log10(abs(voutl8./ vin)),'k') axis([1.8 30 -40 5]) title('Vl8/VTX') ylabel('|H(f)| en dB') subplot(6,2,6) plot(f./1e6,20.*log10(abs(voutl10./vin)),'k') axis([1.8 30 -40 5]) title('Vl10/VTX') ylabel('|H(f)| en dB') subplot(6,2,7) plot(f./1e6,20.*log10(abs(voutl13./vin)),'k') axis([1.8 30 -45 0]) title('Vl13/VTX') ylabel('|H(f)| en dB') subplot(6,2,8) plot(f./1e6,20.*log10(abs(voutl15./vin)),'k') axis([1.8 30 -45 0]) title('Vl15/VTX') ylabel('|H(f)| en dB') subplot(6,2,9) plot(f./1e6,20.*log10(abs(voutl17./vin)),'k') axis([1.8 30 -60 0]) title('Vl17/VTX') ylabel('|H(f)| en dB') subplot(6,2,10) plot(f./1e6,20.*log10(abs(voutl19./vin)),'k') axis([1.8 30 -50 0]) title('Vl19/VTX') xlabel('Frecuencia en MHz') ylabel('|H(f)| en dB') subplot(6,2,11) plot(f./1e6,20.*log10(abs(voutl20./vin)),'k') axis([1.8 30 -50 0]) title('Vl20/VTX') xlabel('Frecuencia en MHz') ylabel('|H(f)| en dB')
Programa 7 60
figure(3) load c:/tesis/desde1cerrado plot(f./1e6,20.*log10(abs(voutl21./ vin)),'k') axis([1.8 30 0 55]) title('Primer salto, L cerrado') ylabel('|H(f)| en dB') grid on %magnitud de función de transferencia con L abierto load c:/tesis/desde1abierto figure(2) subplot(5,2,1) plot(f./1e6,20.*log10(abs(voutl2./vin)),'k') axis([1.8 30 -15 5]) title('Vl2/VTX') ylabel('|H(f)| en dB') subplot(5,2,2) plot(f./1e6,20.*log10(abs(voutl21./ vin)),'k') axis([1.8 30 -5 55]) title('Vl21/VTX') ylabel('|H(f)| en dB') subplot(5,2,3) plot(f./1e6,20.*log10(abs(voutl25./vin)),'k') axis([1.8 30 -50 5]) title('Vl25/VTX') ylabel('|H(f)| en dB') subplot(5,2,4) plot(f./1e6,20.*log10(abs(voutl8./ vin)),'k') axis([1.8 30 -40 10]) title('Vl8/VTX') ylabel('|H(f)| en dB') subplot(5,2,5) plot(f./1e6,20.*log10(abs(voutl10./vin)),'k') axis([1.8 30 -40 5]) title('Vl10/VTX') ylabel('|H(f)| en dB') subplot(5,2,6) plot(f./1e6,20.*log10(abs(voutl13./vin)),'k') axis([1.8 30 -45 0]) title('Vl13/VTX') ylabel('|H(f)| en dB')
Programa 7 61
subplot(5,2,7) plot(f./1e6,20.*log10(abs(voutl15./vin)),'k') axis([1.8 30 -50 0]) title('Vl15/VTX') ylabel('|H(f)| en dB') subplot(5,2,8) plot(f./1e6,20.*log10(abs(voutl17./vin)),'k') axis([1.8 30 -60 0]) title('Vl17/VTX') ylabel('|H(f)| en dB') subplot(5,2,9) plot(f./1e6,20.*log10(abs(voutl19./vin)),'k') axis([1.8 30 -60 0]) title('Vl19/VTX') xlabel('Frecuencia en MHz') ylabel('|H(f)| en dB') subplot(5,2,10) plot(f./1e6,20.*log10(abs(voutl20./vin)),'k') axis([1.8 30 -60 0]) title('Vl20/VTX') xlabel('Frecuencia en MHz') ylabel('|H(f)| en dB') figure(3) plot(f./1e6,20.*log10(abs(voutl21./ vin)),'k') axis([1.8 30 0 55]) title('Vl21/VTX') ylabel('|H(f)| en dB') %ecuaciones para nodos [v1,v2,v3,v4,v5,v6,v7,v8,vin,vout]=(solve('(vin*kin1)-(v1*kin2)=vtx*kin3','(v1*k1)-(vin*k2)-(v2*k3)=0','(v2*k5)-(v1*k6)-(v3*k7)=0','(v3*k9)-(v2*k10)-(v4*k11)=0','(v4*k13)-(v3*k14)-(v5*k15)=0','(v5*k17)-(v4*k18)-(v6*k19)=0','(v6*k21)-(v5*k22)-(v7*k23)=0','(v7*k25)-(v6*k26)-(v8*k27)=0','(v8*k29)-(v7*k30)=0','(vout*kout1)-(v5*kout2)=0','v1','v2','v3','v4','v5','v6','v7','v8','vin','vout')); %ecuaciones para nodos de arbol [v21,v22,v23,v24,voutt]=(solve('(v21*kt1)-(v2*kt2)-(v22*kt3)=0','(v22*kt4)-(v21*kt5)-(v23*kt6)=0','(v23*kt7)-(v22*kt8)-(v24*kt9)=0','(v24*kt10)-(v23*kt11)=0','(voutt*koutt1)-(v21*koutt2)=0','v21','v22','v23','v24','voutt'));
Programa 7 62
%Análisis de datos de canales %analisis de datos para un ramal, Programa 1 fclose('all'); close all; clear all; clc load c:/tesis/mft_un_ramal; x1=20*log10(abs(VC./vs)); media1=mean(x1) desviacion1=std(x1) %media1 =-6.8311 %desviacion1 =3.1968 fclose('all'); close all; clear all; %analisis de datos para ramal en red de seis ramales, Programa 2 fclose('all'); close all; clear all; load c:/tesis/salidapor1 f s1 media2=mean(s1) desviacion2=std(s1) %media2 =-18.2210 %desviacion2 =10.5557 fclose('all'); close all; clear all; %************************************************** %análisis de los canales in-house de referencia, Programa 5 fclose('all'); close all; clear all; load c:/tesis/mft_seis_ramales %modelo1 media3=mean(finterpdb1) desviacion3=std(finterpdb1) %media3 =-25.9351 %desviacion3 =4.4632 %modelo2 media4=mean(finterpdb2) desviacion4=std(finterpdb2) %media4 =-37.9091 %desviacion4 =6.1755 %modelo3 media5=mean(finterpdb3) desviacion5=std(finterpdb3) %media5 =-47.1135 %desviacion5 =5.3576 %modelo4 media6=mean(finterpdb4)
Programa 7 63
desviacion6=std(finterpdb4) %media6 =-60.4170 %desviacion6 =5.3656 fclose('all'); close all; clear all; %************************************************** % análisis de canal TX-RX de la Red de Tucci, Programa 6 fclose('all'); close all; clear all; %L cerrado load c:/tesis/hmatchedt f hmt media7=mean(hmt) desviacion7=std(hmt) %media7 =-21.7573 %desviacion7 =5.0035 fclose('all'); close all; clear all; %L abierto load c:/tesis/hopent f hot media8=mean(hot) desviacion8=std(hot) %media8 =-23.1325 %desviacion8 =8.1139 fclose('all'); close all; clear all; %************************************************* % análisis de canal TX-RX de la Red de Tucci, TX por segmento 1, Programa 7 fclose('all'); close all; clear all; load c:/tesis/desde1cerrado %canal TX-segmento 2 x9=20.*log10(abs(voutl2./vin)); media9=mean(x9) desviacion9=std(x9) %media9 =-3.4158 %desviacion9 =3.1253 %canal TX-segmento 21 x10=20.*log10(abs(voutl21./vin)); media10=mean(x10) desviacion10=std(x10) %media10 =38.8102 %desviacion10 =9.1273 %canal TX-segmento 25 x11=20.*log10(abs(voutl25./vin)); media11=mean(x11) desviacion11=std(x11)
Programa 7 64
%media11 =-15.9936 %desviacion11 =9.0721 %canal TX-segmento 6 x12=20.*log10(abs(voutl6./vin)); media12=mean(x12) desviacion12=std(x12) %media12 =-11.2283 %desviacion12 =3.9537 %canal TX-segmento 8 x13=20.*log10(abs(voutl8./vin)); media13=mean(x13) desviacion13=std(x13) %media13 =-19.2482 %desviacion13 =5.3828 %canal TX-segmento 10 x14=20.*log10(abs(voutl10./vin)); media14=mean(x14) desviacion14=std(x14) %media14 =-17.4817 %desviacion14 =7.2808 %canal TX-segmento 13 x15=20.*log10(abs(voutl13./vin)); media15=mean(x15) desviacion15=std(x15) %media15 =-22.5937 %desviacion15 =5.1977 %canal TX-segmento 15 x16=20.*log10(abs(voutl15./vin)); media16=mean(x16) desviacion16=std(x16) %media16 =-26.9098 %desviacion16 =5.3259 %canal TX-segmento 17 x17=20.*log10(abs(voutl17./vin)); media17=mean(x17) desviacion17=std(x17) %media17 =-31.2445 %desviacion17 =7.4578 %canal TX-segmento 19 x18=20.*log10(abs(voutl19./vin)); media18=mean(x18)
Programa 7 65
desviacion18=std(x18) %media18 =-33.9710 %desviacion18 =5.7680 %canal TX-segmento 20 x19=20.*log10(abs(voutl20./vin)); media19=mean(x19) desviacion19=std(x19) %media19 =-33.9710 %desviacion19 =5.7680
Programa 8 66
8. Programa 8: Respuesta al impulso y
construcción de magnitud de la
función de transferencia con 22
muestras de la respuesta al impulso %Programó: Roberto Cárdenas Castiblanco %octubre de 2010 %Consultar: Karris S, Signals and Systems with MATLAB® Computing and Simulink Modeling®, Fourth Edition, Orchard Publications, 2008. Chapter 10. load c:/tesis/desde1abierto; %obtener respuesta al impulso delta=f(2)-f(1); j=sqrt(-1); hf= voutl21./vin; hfcj=zeros(1,size(hf,2)); for i=1:size(hf,2) hfcj(1,size(hf,2)-i+1)=real(hf(1,i))-j*imag(hf(1,i)); end hhf=[hf hfcj]; impulso=real(ifft(hhf)); fs=1/(2*fin); tiempo=zeros(1,size(impulso,2)); for j=1:size(impulso,2) tiempo(j)=j*fs; end fcompl=f; %arreglos para introducir al programa que calcula función de transferencia a partir de la respuesta al impulso muestrasinhouse=22; respmodel=impulso(1:muestrasinhouse); tmodel=zeros(1,size(respmodel,2)); for j=1:size(respmodel,2) tmodel(j)=j*fs; end %cálculo de la magnitud de la función de transferencia a partir de la respuesta al impulso
Programa 8 67
ejet=tmodel; ejeresp=respmodel; %Espectro de frecuencia %variables de muestreo y añadir ceros al final fs=60000000; Tt=30*max(ejet); tt=1/fs; t=0:tt:Tt; %incluir los impulsos en todo el espacio de muestras muestras=zeros(1,length(t)); muestrasincluidas=0; for h=1:length(ejet), for i=1:length(t), if abs(t(i)-ejet(h))<=1e-9, muestras(i)=ejeresp(h); muestrasincluidas=muestrasincluidas+1; end end; end; %DFT F=fft(muestras); tf=1/Tt; f=0:tf:(length(t)-1)*tf; graf=f/1e6; db=20*log10(abs(F)); %interpolación y suavizado db1=db; graf1=graf; for j=1:2 %interpolar interpf=zeros(1,length(graf1)); interpdb=interpf; for h=1:length(graf1)-1, interpf(h)=graf1(h)+((graf1(h+1)-graf1(h))/2); interpdb(h)=interp1(graf1,db1,interpf(h),'spline'); end; %unir interpolación con datos ydb=zeros(1,2*length(db1)); xgraf=zeros(1,2*length(graf1)); for h=1:length(xgraf), if h==1, ydb(h)=db1(h);
Programa 8 68
xgraf(h)=graf1(h); else if mod(h,2)==0, y=h/2; ydb(h)=interpdb(y); xgraf(h)=interpf(y); else y=(floor(h/2))+1; ydb(h)=db1(y); xgraf(h)=graf1(y); end end end; %adecuar longitud de la matriz de salida ydbp=zeros(1,length(ydb)-1); xgrafp=zeros(1,length(xgraf)-1); for h=1:length(xgraf)-1 ydbp(h)=ydb(h); xgrafp(h)=xgraf(h); end; graf1=xgrafp; db1=ydbp; end; %se despliega hasta donde interesa if mod(length(xgrafp),2)==0, desplieguef=(length(xgrafp)/2); else desplieguef=(length(xgrafp)-1)/2; end matrizf=zeros(1,desplieguef); matrizdb=zeros(1,desplieguef); for h=1:desplieguef, matrizf(h)=xgrafp(h); matrizdb(h)=ydbp(h); end; %DFT F=fft(muestras); tf=1/Tt; f=0:tf:(length(t)-1)*tf; graf=f/1e6; db=20*log10(abs(F)); %interpolación y suavizado
Programa 8 69
db1=db; graf1=graf; for j=1:2 %interpolar interpf=zeros(1,length(graf1)); interpdb=interpf; for h=1:length(graf1)-1, interpf(h)=graf1(h)+((graf1(h+1)-graf1(h))/2); interpdb(h)=interp1(graf1,db1,interpf(h),'spline'); end; %unir interpolación con datos ydb=zeros(1,2*length(db1)); xgraf=zeros(1,2*length(graf1)); for h=1:length(xgraf), if h==1, ydb(h)=db1(h); xgraf(h)=graf1(h); else if mod(h,2)==0, y=h/2; ydb(h)=interpdb(y); xgraf(h)=interpf(y); else y=(floor(h/2))+1; ydb(h)=db1(y); xgraf(h)=graf1(y); end end end; %adecuar longitud de la matriz de salida ydbp=zeros(1,length(ydb)-1); xgrafp=zeros(1,length(xgraf)-1); for h=1:length(xgraf)-1 ydbp(h)=ydb(h); xgrafp(h)=xgraf(h); end; graf1=xgrafp; db1=ydbp; end; %se despliega hasta donde interesa if mod(length(xgrafp),2)==0, desplieguef=(length(xgrafp)/2); else
Programa 8 70
desplieguef=(length(xgrafp)-1)/2; end matrizf=zeros(1,desplieguef); matrizdb=zeros(1,desplieguef); for h=1:desplieguef, matrizf(h)=xgrafp(h); matrizdb(h)=ydbp(h); end; %save c:/tesis/canalinhouse matrizf matrizdb fcompl ejet ejeresp %Desplegar load c:/tesis/canalinhouse %imprimir pulsos subplot(1,3,1) stem(ejet/1e-6,ejeresp, '.', 'k') axis([0 0.4 -110 40]) xlabel('t en microsegundos') ylabel('h(t) ') title('Respuesta al impulso (fs = 60 MHz)') %función de transferencia con 22 muestras subplot(1,3,2) plot(matrizf,matrizdb,'k') axis([0 30 0 60]) title('|H(f)| en dB, con 22 muestras') axis([1.8 30 0 50]) xlabel('Frecuencia en MHz') ylabel('|H(f)| dB') %función de transferencia original subplot(1,3,3) plot(fcompl/1e6,20*log10(abs(hf)), 'k') axis([1.8 30 0 50]) title('|H(f)| en dB') xlabel('Frecuencia en MHz') ylabel('|H(f)| dB')
Programa 9 71
9. Programa 9: Magnitudes de las
funciones de transferencia entre TX
y todas los ramales de salida con L
cerrado y abierto en Red y
parámetros de línea In-House
propuestos por Tucci. Transmisión
por segmento 21 %Programó: Roberto Cárdenas C. %octubre de 2010 %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178. clear all % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.9*0.112e-6, 0.9*9.22e-6, 13e-12, 1.2*216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009 % r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8];
Programa 9 72
%intervalo de frecuencia %fi=1.8e6; fi=0; deltaf=9600; fin=3e7; ftemp=fi:deltaf:fin; locfi= find(ftemp>=1800000 & ftemp<=1800000+deltaf); intervalof=size(ftemp,2)-locfi+1; f=zeros(1, intervalof); for i=1:intervalof f(i)=ftemp(locfi+i-1); end %construcción del canal segmentos=26; parametros=5; segmento=zeros(segmentos,parametros); %arbol backbone %segmento(1,:)=lin10; %segmento(3,:)=lin10; segmento(21,:)=lin10; segmento(4,:)=lin10; segmento(5,:)=lin10; segmento(7,:)=lin10; segmento(12,:)=lin10; segmento(14,:)=lin10; segmento(16,:)=lin10; segmento(18,:)=lin10; segmento(20,:)=lin10; %ramificación directa backbone %segmento(2,:)=lin10; %segmento(4,:)=lin10; segmento(22,:)=lin10; segmento(3,:)=lin10; segmento(6,:)=lin10; segmento(13,:)=lin10; segmento(15,:)=lin10; segmento(17,:)=lin10; segmento(19,:)=lin10; %ramificación en estrella segmento(8,:)=lin10; segmento(9,:)=lin10;
Programa 9 73
segmento(10,:)=lin10; segmento(11,:)=lin10; %ramificación en árbol1 %segmento(21,:)=lin10; %segmento(22,:)=lin10; segmento(23,:)=lin10; segmento(24,:)=lin10; segmento(25,:)=lin10; segmento(26,:)=lin10; %ramificación en árbol2 segmento(2,:)=lin10; segmento(1,:)=lin10; %distancias segmentos distancia=zeros(segmentos); %distancia=[3 4 3 1 11 3 1 14 13 7 18 2.5 0.5 2 1 5 3 3 2 2 3 3 1 1 1 3]; distancia=[1 1 3 1 11 3 1 14 13 7 18 2.5 0.5 2 1 5 3 3 2 2 3 3 1 1 1 3]; %parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end
Programa 9 74
% impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end end %cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %impedancias tx y rx segrrx=13; segrtx=21; rrx=zc(segrrx,:); rtx=zc(segrtx,:);
%definición de cargas abierto=1e30*ones(1,frecs); ztree=1e30*ones(1,frecs); backbone=zeros(1,frecs); carga=zeros(segmentos,frecs); %carga fan m=1e6; zfani=zeros(1,frecs); x=[1.8*m 2.75*m 4*m 5.9*m 7.1*m 7.7*m 8.7*m 10*m 11.2*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27.5*m 30*m]; y=[100 160 300 140 310 690 500 710 400 250 155 95 55 30 50 100 150]; for j=1:frecs zfani(j)=interp1(x,y,f(j)); end
Programa 9 75
vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zfani(j)=zfani(j)*(1+(signo*vciclo)); end %carga tv ztvi=zeros(1,frecs); x=[1.8*m 2.5*m 3.7*m 5 6*m 6.9*m 7.5*m 8.3*m 9*m 9.5*m 10*m 10.6*m 11*m 11.25*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27*m 30*m]; y=[25 40 75 130 200 350 200 360 420 500 390 280 205 160 100 50 25 24 35 55 90 150]; for j=1:frecs ztvi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end ztvi(j)=ztvi(j)*(1+(signo*vciclo)); end %carga coffee machine zcmi=zeros(1,frecs); x=[1.8*m 2.5*m 5*m 5.4*m 7.5*m 10*m 15*m 20*m 25*m 30*m]; y=[125 180 360 400 250 155 85 65 50 40]; for j=1:frecs zcmi(j)=interp1(x,y,f(j)); end vciclo=0;
Programa 9 76
for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zcmi(j)=zcmi(j)*(1+(signo*vciclo)); end %segmentos de las cargas no lineales fan=2; tv=17; cm=10; carga(1,:)=rtx; carga(fan,:)=zfani; carga(3,:)=backbone; carga(4,:)=ztree; carga(5,:)=backbone; carga(6,:)= zc(6,:); %L cerrado %carga(6,:)= abierto; %L abierto carga(7,:)=backbone; carga(8,:)= zc(8,:); carga(9,:)= abierto; carga(cm,:)=zcmi; carga(11,:)= abierto; carga(12,:)=backbone; carga(13,:)=rrx; carga(14,:)=backbone; carga(15,:)= zc(15,:); carga(16,:)=backbone; carga(tv,:)= ztvi; carga(18,:)=backbone; carga(19,:)= zc(19,:); carga(20,:)= zc(20,:); carga(21,:)= zc(21,:); carga(22,:)=ztree; carga(23,:)= abierto; carga(24,:)=backbone; carga(25,:)= zc(25,:); carga(26,:)= abierto; %CONFIGURACIÓN DE LA RED
Programa 9 77
star=0; %nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; %nodostar=[8, 9, 10, 11]; %nodostree=[4,21,22; 22,23,24; 24,25,26]; nodos=[21,22,4; 4,3,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[22,23,24; 24,25,26]; nodostree1=[3,2,1]; %admitancia de la estrella nrosegstar=size(nodostar,2); ystar=zeros(nrosegstar,frecs); yestrella=zeros(1,frecs); for segstar=1:nrosegstar for j=1:frecs
ystar(segstar,j)=((C(nodostar(segstar),j)*carga(nodostar(segstar),j))+D(nodostar(segstar),j))/((A(nodostar(segstar),j)*carga(nodostar(segstar),j))+B(nodostar(segstar),j));
end end yestrella=sum(ystar); %impedancia del árbol nronodostree=size(nodostree,1); ytree=zeros(2,frecs); for nodost=1:nronodostree nodo=nronodostree-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+D(nodostree(nodo,3),j))/((A(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+B(nodostree(nodo,3),j)); ytree(2,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end carga(nodostree(nodo,1),:)=1./sum(ytree); end %impedancia del árbol1 nronodostree1=size(nodostree1,1); ytree=zeros(2,frecs); for nodost=1:nronodostree1 nodo=nronodostree1-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree1(nodo,3),j)*carga(nodostree1(nodo,3),j))+D(nodostree1(nodo,3),j))/((A(nodostree1(nodo,3),j)*carga(nodostree1(nodo,3),j))+B(nodostree1(nodo,3),j)); ytree(2,j)=((C(nodostree1(nodo,2),j)*carga(nodostree1(nodo,2),j))+D(nodostree1(nodo,2),j))/((A(nodostree1(nodo,2),j)*carga(nodostree1(nodo,2),j))+B(nodostree1(nodo,2),j));
end carga(nodostree1(nodo,1),:)=1./sum(ytree); end
Programa 9 78
%admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); for nodo=1:nronodos for j=1:frecs %se incluye la admitancia de la estrella en el backbone if (nodos(nodo,2)==star) y(nodo,j)=yestrella(j); end %se reflejan sobre backbone las admitancias del segmento central de c/nodo if (nodos(nodo,2)~=segrtx)&(nodos(nodo,2)~=star)
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento de inicio del backbone
if (nodo==1&nodos(nodo,1)~=segrtx&nodos(nodo,1)~=segrrx) yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento final del backbone if(nodo==nronodos&nodos(nodo,3)~=segrtx&nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:))); %factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segizq=nodos(nodo,1); segder=nodos(nodo,3); %nodo sin segmento central de entrada
Programa 9 79
if (nodos(nodo,2)~=segrtx) k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=1./B(segder,:); k((nodo*delta),:)=0;
end
%nodo con segmento central de entrada if (nodos(nodo,2)==segrtx)
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end %primer nodo del backbone que no tenga tx ni rx en segmento izquierdo if ((nodo==1)&(segizq~=segrtx)&(segizq~=segrrx))
k((nodo*delta)-3,:)=(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segder,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end %nodo final del backbone que no tenga tx ni rx en segmento derecho if ((nodo==nronodos)&(segder~=segrtx)&(segder~=segrrx))
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end end %Constantes para las ecuaciones de entrada y salida kin=zeros(3,frecs); kout=zeros(3,frecs); %punto de transmisión kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %punto de recepción kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0;
%voltajes sobre backbone de los dos arboles
Programa 9 80
%admitancias del árbol nodos=[21,22,4; 4,3,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[22,23,24; 24,25,26]; nodostree1=[3,2,1]; nronodos=size(nodostree,1); yt=zeros(nronodos+1,frecs); %se reflejan sobre backbone las admitancias del segmento central de c/nodo for nodo=1:nronodos for j=1:frecs
yt(nodo,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/ ((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end end %admitancia de ramal final for j=1:frecs yt(nronodostree+1,j)=1/carga(nodostree(nronodos,3),j); end %admitancias del árbol1 %nodos=[21,22,4; 4,3,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; %nodostar=[8, 9, 10, 11]; %nodostree=[22,23,24; 24,25,26]; %nodostree1=[3,2,1]; nronodos=size(nodostree1,1); yt1=zeros(nronodos+1,frecs); for nodo=1:nronodos for j=1:frecs
%se reflejan sobre backbone las admitancias del segmento central de c/nodo yt1(nodo,j)=((C(nodostree1(nodo,2),j)*carga(nodostree1(nodo,2),j))+D(nodostree1(nodo,2),j))/ ((A(nodostree1(nodo,2),j)*carga(nodostree1(nodo,2),j))+B(nodostree1(nodo,2),j));
end end %admitancia de ramal final for j=1:frecs yt1(nronodostree1+1,j)=1/carga(nodostree1(nronodos,3),j); end %voltajes vin=vs; vout=1./kout(1,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*(-k(29,:).*k(26,:).*k(23,:)+k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:))./(-
Programa 9 81
k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*
Programa 9 82
k(29,:).*k(25,:)+k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)).*kout(2,:); v1=(k(5,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(5,:).*k(13,:).*k(9,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(7,:).*k(13,:).*k(10,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(13,:).*k(10,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(13,:).*k(10,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(2,:).*vtx.*kin(3,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).
Programa 9 83
*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v2=k(2,:).*vtx.*kin(3,:).*k(6,:).*(k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(13,:).*k(9,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(11,:).*k(14,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(13,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,
Programa 9 84
:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v3=k(2,:).*vtx.*kin(3,:).*(k(13,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(13,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(13,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(13,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(13,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(10,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,
Programa 9 85
:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v4=k(2,:).*vtx.*kin(3,:).*k(10,:).*k(6,:).*k(14,:).*(k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(19,:).*k(22,:).*k(29,:).*k(25,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-
Programa 9 86
k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v5=(k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:)-k(29,:).*k(26,:).*k(23,:)).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-
Programa 9 87
k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:
Programa 9 88
).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v6=k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:).*k(22,:).*(k(29,:).*k(25,:)-k(27,:).*k(30,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(1
Programa 9 89
4,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v7=k(29,:).*k(26,:).*k(22,:).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(
Programa 9 90
27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v8=k(26,:).*k(22,:).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).
Programa 9 91
*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(30,:); %desplegar la respuesta vout/vin. En este caso se transmite desde el segmento 21 %plot(f./1e6,20.*log10(abs(vout./vin)),'k') %axis([1.8 30 -50 0]) %title('Vout/Vin (Vin sobre segmento 21)') %xlabel('Frecuencia en MHz') %ylabel('H(f) en dB') %factores constantes para ecuaciones de nodos en árbol nodostree=[22,23,24; 24,25,26]; %nodostree1=[3,2,1]; nrosegsnodo=size(nodostree,2); nronodos=size(nodostree,1); nronodostree=size(nodostree,1); delta= nrosegsnodo; kt=zeros((nronodos+1)*delta,frecs); for nodo=1:nronodos segizq=nodostree(nodo,1); segder=nodostree(nodo,3); kt((nodo*delta)-2,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+yt(nodo,:); kt((nodo*delta)-1,:)=1./B(segizq,:); kt((nodo*delta),:)=1./B(segder,:); end ramafinal=nodostree(nronodos,3); kt(((nronodos+1)*delta)-2,:)= (A(ramafinal,:)./B(ramafinal,:))+yt(nronodostree+1,:); kt(((nronodos+1)*delta)-1,:)= (1./B(ramafinal,:)); %factores constantes para ecuaciones de nodos en árbol1 %nodostree=[22,23,24; 24,25,26]; nodostree1=[3,2,1]; nrosegsnodo=size(nodostree1,2);
Programa 9 92
delta= nrosegsnodo; nronodos=size(nodostree1,1); kt1=zeros((nronodos+1)*delta,frecs); nronodostree=size(nodostree1,1); for nodo=1:nronodos segizq=nodostree1(nodo,1); segder=nodostree1(nodo,3); kt1((nodo*delta)-2,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+yt(nodo,:); kt1((nodo*delta)-1,:)=1./B(segizq,:); kt1((nodo*delta),:)=1./B(segder,:); end ramafinal1=nodostree1(nronodos,3); kt1(((nronodos+1)*delta)-2,:)= (A(ramafinal1,:)./B(ramafinal1,:))+yt(nronodostree+1,:); kt1(((nronodos+1)*delta)-1,:)= (1./B(ramafinal1,:)); v22 =v1.*kt(2,:).*(kt(7,:).*kt(4,:)-kt(6,:).*kt(8,:))/(kt(1,:).*kt(7,:).*kt(4,:)-kt(1,:).*kt(6,:).*kt(8,:)-kt(7,:).*kt(5,:).*kt(3,:)); v23 =1./(kt(1,:).*kt(7,:).*kt(4,:)-kt(1,:).*kt(6,:).*kt(8,:)-kt(7,:).*kt(5,:).*kt(3,:)).*kt(7,:).*kt(5,:).*v1.*kt(2,:); v24 =1./(kt(1,:).*kt(7,:).*kt(4,:)-kt(1,:).*kt(6,:).*kt(8,:)-kt(7,:).*kt(5,:).*kt(3,:)).*kt(5,:).*v1.*kt(2,:).*kt(8,:); v25 =1./(kt1(4,:).*kt1(1,:)-kt1(3,:).*kt1(5,:)).*kt1(4,:).*v2.*kt1(2,:);
v26 =1./(kt1(4,:).*kt1(1,:)-kt1(3,:).*kt1(5,:)).*v2.*kt1(2,:).*kt1(5,:);
%constantes para puntos de salida %salida por l2 segrrx=2; koutl2=zeros(2,frecs); koutl2(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl2(2,:)=1./B(segrrx,:); %salida por l1 segrrx=1; koutl1=zeros(2,frecs); koutl1(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl1(2,:)=1./B(segrrx,:); %salida por l23 segrrx=23;
Programa 9 93
koutl23=zeros(2,frecs); koutl23(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl23(2,:)=1./B(segrrx,:); %salida por l25 segrrx=25; koutl25=zeros(2,frecs); koutl25(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl25(2,:)=1./B(segrrx,:); %salida por l26 (serían las mismas constantes que para v24) segrrx=26; koutl26=zeros(2,frecs); koutl26(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl26(2,:)=1./B(segrrx,:); %salida por l6 segrrx=6; koutl6=zeros(2,frecs); koutl6(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl6(2,:)=1./B(segrrx,:);
%salida por l8 segrrx=8; koutl8=zeros(2,frecs); koutl8(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl8(2,:)=1./B(segrrx,:); %salida por l9 segrrx=9; koutl9=zeros(2,frecs); koutl9(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl9(2,:)=1./B(segrrx,:); %salida por l10 segrrx=10; koutl10=zeros(2,frecs); koutl10(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl10(2,:)=1./B(segrrx,:); %salida por l11 segrrx=11; koutl11=zeros(2,frecs); koutl11(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl11(2,:)=1./B(segrrx,:); %salida por l15 segrrx=15; koutl15=zeros(2,frecs);
Programa 9 94
koutl15(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl15(2,:)=1./B(segrrx,:); %salida por l17 segrrx=17; koutl17=zeros(2,frecs); koutl17(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl17(2,:)=1./B(segrrx,:); %salida por l19 segrrx=19; koutl19=zeros(2,frecs); koutl19(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl19(2,:)=1./B(segrrx,:); %salida por l20 segrrx=20; koutl20=zeros(2,frecs); koutl20(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl20(2,:)=1./B(segrrx,:); %voltajes de salida voutl2 =v25.*koutl2(2,:)./koutl2(1,:); voutl1=v25.* koutl1(2,:)./ koutl1(1,:); voutl23=v22.* koutl23(2,:)./ koutl23(1,:); voutl25=v23.* koutl25(2,:)./ koutl25(1,:); voutl26=v23.* koutl26(2,:)./ koutl26(1,:); voutl6 =v3.*koutl6(2,:)./koutl6(1,:); voutl8 =v4.*koutl8(2,:)./koutl8(1,:); voutl9 =v4.*koutl9(2,:)./koutl9(1,:); voutl10 =v4.*koutl10(2,:)./koutl10(1,:); voutl11 =v4.*koutl11(2,:)./koutl11(1,:); voutl15 =v6.*koutl15(2,:)./koutl15(1,:); voutl17 =v7.*koutl17(2,:)./koutl17(1,:); voutl19 =v8.*koutl19(2,:)./koutl19(1,:); voutl20 =v8.*koutl20(2,:)./koutl20(1,:); %Guardar resultados %save c:/tesis/txporl21Lcerrado %save c:/tesis/txporl21Labierto %save c:/tesis/txporl21cerradoL2sin fan %save c:/tesis/txporl21LcerradoL2sinfanopen
% Desplegar resultados load c:/tesis/txporl21Lcerrado
Programa 9 95
figure(1) subplot(6,2,1) plot(f./1e6,20.*log10(abs(voutl1./ vin)),'k') axis([1.8 30 -20 10]) title('Vl1/VTX') ylabel('H(f) en dB') subplot(6,2,2) plot(f./1e6,20.*log10(abs(voutl2./vin)),'k') axis([1.8 30 -20 15]) title('Vl2/VTX') ylabel('H(f) en dB') subplot(6,2,3) plot(f./1e6,20.*log10(abs(voutl25./vin)),'k') axis([1.8 30 -50 5]) title('Vl25/VTX') ylabel('H(f) en dB') subplot(6,2,4) plot(f./1e6,20.*log10(abs(voutl6./vin)),'k') axis([1.8 30 -35 0]) title('Vl6/VTX') ylabel('H(f) en dB') subplot(6,2,5) plot(f./1e6,20.*log10(abs(voutl8./ vin)),'k') axis([1.8 30 -40 0]) title('Vl8/VTX') ylabel('H(f) en dB') subplot(6,2,6) plot(f./1e6,20.*log10(abs(voutl10./vin)),'k') axis([1.8 30 -40 5]) title('Vl10/VTX') ylabel('H(f) en dB') subplot(6,2,7) plot(f./1e6,20.*log10(abs(vout./ vin)),'k') axis([1.8 30 -50 5]) title('Vl13/VTX') ylabel('H(f) en dB') subplot(6,2,8) plot(f./1e6,20.*log10(abs(voutl15./vin)),'k') axis([1.8 30 -50 -10]) title('Vl15/VTX')
Programa 9 96
ylabel('H(f) en dB') subplot(6,2,9) plot(f./1e6,20.*log10(abs(voutl17./vin)),'k') axis([1.8 30 -60 -10]) title('Vl17/VTX') ylabel('H(f) en dB') subplot(6,2,10) plot(f./1e6,20.*log10(abs(voutl19./vin)),'k') axis([1.8 30 -60 -10]) title('Vl19/VTX') xlabel('Frecuencia en MHz') ylabel('H(f) en dB') subplot(6,2,11) plot(f./1e6,20.*log10(abs(voutl20./vin)),'k') axis([1.8 30 -60 -10]) title('Vl20/VTX') xlabel('Frecuencia en MHz') ylabel('H(f) en dB') load c:/tesis/txporl21Labierto figure(2) subplot(5,2,1) plot(f./1e6,20.*log10(abs(voutl1./ vin)),'k') axis([1.8 30 -20 10]) title('Vl1/VTX') ylabel('H(f) en dB') subplot(5,2,2) plot(f./1e6,20.*log10(abs(voutl2./vin)),'k') axis([1.8 30 -20 15]) title('Vl2/VTX') ylabel('H(f) en dB') subplot(5,2,3) plot(f./1e6,20.*log10(abs(voutl25./vin)),'k') axis([1.8 30 -50 5]) title('Vl25/VTX') ylabel('H(f) en dB') subplot(5,2,4) plot(f./1e6,20.*log10(abs(voutl8./ vin)),'k') axis([1.8 30 -50 0]) title('Vl8/VTX') ylabel('H(f) en dB')
Programa 9 97
subplot(5,2,5) plot(f./1e6,20.*log10(abs(voutl10./vin)),'k') axis([1.8 30 -50 0]) title('Vl10/VTX') ylabel('H(f) en dB') subplot(5,2,6) plot(f./1e6,20.*log10(abs(vout./ vin)),'k') axis([1.8 30 -50 5]) title('Vl13/VTX') ylabel('H(f) en dB') subplot(5,2,7) plot(f./1e6,20.*log10(abs(voutl15./vin)),'k') axis([1.8 30 -60 -10]) title('Vl15/VTX') ylabel('H(f) en dB') subplot(5,2,8) plot(f./1e6,20.*log10(abs(voutl17./vin)),'k') axis([1.8 30 -70 -10]) title('Vl17/VTX') ylabel('H(f) en dB') subplot(5,2,9) plot(f./1e6,20.*log10(abs(voutl19./vin)),'k') axis([1.8 30 -70 -10]) title('Vl19/VTX') xlabel('Frecuencia en MHz') ylabel('H(f) en dB') subplot(5,2,10) plot(f./1e6,20.*log10(abs(voutl20./vin)),'k') axis([1.8 30 -70 -10]) title('Vl20/VTX') xlabel('Frecuencia en MHz') ylabel('H(f) en dB') figure(3) load c:/tesis/txporl21Lcerrado %load c:/tesis/txporl21LcerradoL2sinfanopen %load c:/tesis/txporl21LcerradooL2sin fan plot(f./1e6,20.*log10(abs(voutl2./vin)),'k') axis([1.8 30 -20 15]) title('Vl2/VTX') ylabel('|H(f)| en dB')
Programa 10 98
10. Programa 10: Magnitudes de las
funciones de transferencia entre TX
y algunos ramales de salida con L
cerrado en Red y parámetros de
línea In-House propuestos por
Tucci. Transmisión por segmento 25. %Programó: Roberto Cárdenas C. %octubre de 2010 %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178. % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.9*0.112e-6, 0.9*9.22e-6, 13e-12, 1.2*216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009 % r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8]; %intervalo de frecuencia fi=1.8e6; deltaf=1000;
Programa 10 99
fin=2e7; f=fi:deltaf:fin; %construcción del canal segmentos=26; parametros=5; segmento=zeros(segmentos,parametros); %arbol backbone segmento(25,:)=lin10; segmento(24,:)=lin10; segmento(22,:)=lin10; segmento(4,:)=lin10; segmento(5,:)=lin10; segmento(7,:)=lin10; segmento(12,:)=lin10; segmento(14,:)=lin10; segmento(16,:)=lin10; segmento(18,:)=lin10; segmento(20,:)=lin10; %ramificación directa backbone segmento(26,:)=lin10; segmento(23,:)=lin10; segmento(21,:)=lin10; segmento(3,:)=lin10; segmento(6,:)=lin10; segmento(13,:)=lin10; segmento(15,:)=lin10; segmento(17,:)=lin10; segmento(19,:)=lin10; %ramificación en estrella segmento(8,:)=lin10; segmento(9,:)=lin10; segmento(10,:)=lin10; segmento(11,:)=lin10; %ramificación en árbol segmento(2,:)=lin10; segmento(1,:)=lin10; %distancias segmentos distancia=zeros(segmentos); distancia=[3 1 1 3 11 3 1 14 13 7 18 2.5 0.5 2 1 5 3 3 2 2 3 4 3 3 1 1];
Programa 10 100
%parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end end %cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg));
Programa 10 101
C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %impedancias tx y rx segrrx=13; segrtx=25; rrx=zc(segrrx,:); rtx=zc(segrtx,:);
%definición de cargas abierto=1e30*ones(1,frecs); ztree=1e30*ones(1,frecs); backbone=zeros(1,frecs); carga=zeros(segmentos,frecs); %carga fan m=1e6; zfani=zeros(1,frecs); x=[1.8*m 2.75*m 4*m 5.9*m 7.1*m 7.7*m 8.7*m 10*m 11.2*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27.5*m 30*m]; y=[100 160 300 140 310 690 500 710 400 250 155 95 55 30 50 100 150]; for j=1:frecs zfani(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zfani(j)=zfani(j)*(1+(signo*vciclo)); end %carga tv ztvi=zeros(1,frecs); x=[1.8*m 2.5*m 3.7*m 5 6*m 6.9*m 7.5*m 8.3*m 9*m 9.5*m 10*m 10.6*m 11*m 11.25*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27*m 30*m]; y=[25 40 75 130 200 350 200 360 420 500 390 280 205 160 100 50 25 24 35 55 90 150];
Programa 10 102
for j=1:frecs ztvi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end ztvi(j)=ztvi(j)*(1+(signo*vciclo)); end %carga coffee machine zcmi=zeros(1,frecs); x=[1.8*m 2.5*m 5*m 5.4*m 7.5*m 10*m 15*m 20*m 25*m 30*m]; y=[125 180 360 400 250 155 85 65 50 40]; for j=1:frecs zcmi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zcmi(j)=zcmi(j)*(1+(signo*vciclo)); end %segmentos de las cargas no lineales fan=2; tv=17; cm=10;
Programa 10 103
carga(1,:)=zc(1,:); carga(fan,:)=zfani; carga(3,:)=zc(3,:); carga(4,:)=backbone; carga(5,:)=backbone; carga(6,:)= zc(6,:); %L cerrado carga(7,:)=backbone; carga(8,:)= zc(8,:); carga(9,:)= abierto; carga(cm,:)=zcmi; carga(11,:)= abierto; carga(12,:)=backbone; carga(13,:)=rrx; carga(14,:)=backbone; carga(15,:)= zc(15,:); carga(16,:)=backbone; carga(tv,:)= ztvi; carga(18,:)=backbone; carga(19,:)= zc(19,:); carga(20,:)= zc(20,:); carga(21,:)= zc(21,:); carga(22,:)=backbone; carga(23,:)= abierto; carga(24,:)=backbone; carga(25,:)= zc(25,:); carga(26,:)= abierto; %CONFIGURACIÓN DE LA RED star=0; nodos=[25,26,24; 24,23,22; 22,21,4; 4,3,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[3,2,1]; %admitancia de la estrella nrosegstar=size(nodostar,2); ystar=zeros(nrosegstar,frecs); yestrella=zeros(1,frecs); for segstar=1:nrosegstar for j=1:frecs
ystar(segstar,j)=((C(nodostar(segstar),j)*carga(nodostar(segstar),j))+D(nodostar(segstar),j))/((A(nodostar(segstar),j)*carga(nodostar(segstar),j))+B(nodostar(segstar),j));
end end yestrella=sum(ystar); %impedancia del árbol
Programa 10 104
nronodostree=size(nodostree,1); ytree=zeros(2,frecs); for nodost=1:nronodostree nodo=nronodostree-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+D(nodostree(nodo,3),j))/((A(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+B(nodostree(nodo,3),j)); ytree(2,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end carga(nodostree(nodo,1),:)=1./sum(ytree); end %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); for nodo=1:nronodos for j=1:frecs %se incluye la admitancia de la estrella en el backbone if (nodos(nodo,2)==star) y(nodo,j)=yestrella(j); end %se reflejan sobre backbone las admitancias del segmento central de c/nodo if (nodos(nodo,2)~=segrtx)&(nodos(nodo,2)~=star)
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento de inicio del backbone
if (nodo==1&nodos(nodo,1)~=segrtx&nodos(nodo,1)~=segrrx) yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento final del backbone if(nodo==nronodos&nodos(nodo,3)~=segrtx&nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED
Programa 10 105
%estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:)));
%factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segizq=nodos(nodo,1); segder=nodos(nodo,3);
%nodo sin segmento central de entrada if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=1./B(segder,:); k((nodo*delta),:)=0;
end
%nodo con segmento central de entrada if (nodos(nodo,2)==segrtx)
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end
%primer nodo del backbone que no tenga tx ni rx en segmento izquierdo if ((nodo==1)&(segizq~=segrtx)&(segizq~=segrrx))
k((nodo*delta)-3,:)=(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segder,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end
%nodo final del backbone que no tenga tx ni rx en segmento derecho if ((nodo==nronodos)&(segder~=segrtx)&(segder~=segrrx))
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end end
%Constantes para entrada y salida kin=zeros(3,frecs);
Programa 10 106
kout=zeros(3,frecs); %punto de transmisión kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %punto de recepción kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0; %constantes para calcular voltajes sobre backbone del árbol %admitancias del árbol nodos=[25,26,24; 24,23,22; 22,21,4; 4,3,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[3,2,1]; nronodos=size(nodostree,1); yt=zeros(nronodos+1,frecs); for nodo=1:nronodos for j=1:frecs %se reflejan sobre backbone las admitancias del segmento central de c/nodo
yt(nodo,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/ ((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end end %admitancia de ramal final for j=1:frecs yt(nronodostree+1,j)=1/carga(nodostree(nronodos,3),j); end %factores constantes para ecuaciones de nodos en árbol nrosegsnodo=size(nodostree,2); delta= nrosegsnodo; kt=zeros((nronodos+1)*delta,frecs); for nodo=1:nronodos segizq=nodostree(nodo,1); segder=nodostree(nodo,3); kt((nodo*delta)-2,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+yt(nodo,:); kt((nodo*delta)-1,:)=1./B(segizq,:); kt((nodo*delta),:)=1./B(segder,:); end ramafinal=nodostree(nronodos,3); kt(((nronodos+1)*delta)-2,:)= (A(ramafinal,:)./B(ramafinal,:))+yt(nronodostree+1,:);
Programa 10 107
kt(((nronodos+1)*delta)-1,:)= (1./B(ramafinal,:)); %constantes para puntos de salida %salida por l1 segrrx=1; koutl1=zeros(2,frecs); koutl1(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl1(2,:)=1./B(segrrx,:); %salida por l2 segrrx=2; koutl2=zeros(2,frecs); koutl2(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl2(2,:)=1./B(segrrx,:); %salida por l21 (serían las mismas constantes que para voutt) segrrx=21; koutl21=zeros(2,frecs); koutl21(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl21(2,:)=1./B(segrrx,:); %salida por l23 segrrx=23; koutl23=zeros(2,frecs); koutl23(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl23(2,:)=1./B(segrrx,:); %salida por l1 segrrx=1; koutl25=zeros(2,frecs); koutl25(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl25(2,:)=1./B(segrrx,:); %salida por l26 (serían las mismas constantes que para v24) segrrx=26; koutl26=zeros(2,frecs); koutl26(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl26(2,:)=1./B(segrrx,:); %salida por l6 segrrx=6; koutl6=zeros(2,frecs); koutl6(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl6(2,:)=1./B(segrrx,:);
%salida por l8 segrrx=8; koutl8=zeros(2,frecs);
Programa 10 108
koutl8(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl8(2,:)=1./B(segrrx,:); %salida por l9 segrrx=9; koutl9=zeros(2,frecs); koutl9(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl9(2,:)=1./B(segrrx,:); %salida por l10 segrrx=10; koutl10=zeros(2,frecs); koutl10(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl10(2,:)=1./B(segrrx,:); %salida por l11 segrrx=11; koutl11=zeros(2,frecs); koutl11(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl11(2,:)=1./B(segrrx,:); %salida por l13 segrrx=13; koutl13=zeros(2,frecs); koutl13(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl13(2,:)=1./B(segrrx,:); %salida por l15 segrrx=15; koutl15=zeros(2,frecs); koutl15(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl15(2,:)=1./B(segrrx,:); %salida por l17 segrrx=17; koutl17=zeros(2,frecs); koutl17(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl17(2,:)=1./B(segrrx,:); %salida por l19 segrrx=19; koutl19=zeros(2,frecs); koutl19(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl19(2,:)=1./B(segrrx,:); %salida por l20 segrrx=20;
Programa 10 109
koutl20=zeros(2,frecs); koutl20(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl20(2,:)=1./B(segrrx,:); %señales %voltajes sobre el backbone vin=vs; v1 =k(2,:).*vtx.*kin(3,:).*(-k(13,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(10,:).*k(7,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(10,:).*k(7,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(10,:).*k(7,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(10,:).*k(7,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(10,:).*k(7,:).*k(21,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(10,:).*k(7,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(10,:).*k(7,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(9,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(10,:).*k(7,:).*k(21,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(10,:).*k(7,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(9,:).*k(21,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(9,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-
Programa 10 110
k(10,:).*k(7,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:))./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-
Programa 10 111
k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-
Programa 10 112
k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(
Programa 10 113
2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:));
v2 =-1./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-
Programa 10 114
k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-
Programa 10 115
k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-
Programa 10 116
kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)).*k(26,:).*k(22,:).*k(34,:).*k(30,:).*k(18,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(38,:);
v3=k(2,:).*vtx.*kin(3,:).*k(6,:).*(k(13,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:))./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1
Programa 10 117
,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).
Programa 10 118
*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-
Programa 10 119
k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:));
Programa 10 120
v4 =k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*(k(13,:).*k(21,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:))./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-
Programa 10 121
k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*
Programa 10 122
kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(
Programa 10 123
2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:));
v5 =k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(14,:).*(k(21,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(21,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:))./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-
Programa 10 124
kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).
Programa 10 125
*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*
Programa 10 126
k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:));
v6 =(-k(29,:).*k(21,:).*k(25,:).*k(37,:).*k(33,:)-k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(29,:).*k(21,:).*k(25,:).*k(35,:).*k(38,:)+k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(21,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:))./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-
Programa 10 127
kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9
Programa 10 128
,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*
Programa 10 129
k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)).*k(18,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:);
v7 =-k(18,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(22,:).*(k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(27,:).*k(30,:).*k(35,:).*k(38,:))./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(
Programa 10 130
1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,
Programa 10 131
:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k
Programa 10 132
(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:));
v8 =-(k(29,:).*k(37,:).*k(33,:)-k(29,:).*k(35,:).*k(38,:)-k(37,:).*k(34,:).*k(31,:))./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1
Programa 10 133
,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).
Programa 10 134
*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-
Programa 10 135
k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)).*k(26,:).*k(22,:).*k(18,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:);
Programa 10 136
v9 =-k(26,:).*k(22,:).*k(18,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(30,:).*(k(37,:).*k(33,:)-k(35,:).*k(38,:))./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-
Programa 10 137
k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*
Programa 10 138
k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-
Programa 10 139
k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:));
v10 =-1./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(
Programa 10 140
1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).
Programa 10 141
*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-
Programa 10 142
k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)).*k(26,:).*k(22,:).*k(37,:).*k(34,:).*k(30,:).*k(18,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:);
vout =-1./kout(1,:).*(k(29,:).*k(37,:).*k(33,:)-k(29,:).*k(35,:).*k(38,:)-k(37,:).*k(34,:).*k(31,:))./(-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-
Programa 10 143
k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(26,:).*k(23,:).*k(37,:).*k(34,:).*k(31,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(37,:).*k(33,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(1
Programa 10 144
3,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(37,:).*k(33,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(25,:).*k(37,:).*k(34,:).*k(31,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(37,:).*k(33,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-
Programa 10 145
k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(13,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)+k(13,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(17,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(13,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(17,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:).*k(35,:).*k(38,:)+k(21,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)-k(21,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:).*k(35,:).*k(38,:)).*k(26,:).*k(22,:).*k(18,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*kout(2,:);
%voltajes sobre backbone del árbol v41 =1./(kt(4,:).*kt(1,:)-kt(3,:).*kt(5,:)).*kt(4,:).*v4.*kt(2,:); v42 =1./(kt(4,:).*kt(1,:)-kt(3,:).*kt(5,:)).*v4.*kt(2,:).*kt(5,:); %voltajes en salidas voutl26 =v1.*koutl26(2,:)./koutl26(1,:); voutl23 =v2.*koutl23(2,:)./koutl23(1,:); voutl21 =v3.*koutl21(2,:)./koutl21(1,:); voutl2 =v41.*koutl2(2,:)./koutl2(1,:); voutl1 =v41.*koutl1(2,:)./koutl1(1,:); voutl6 =v5.*koutl6(2,:)./koutl6(1,:); voutl8 =v6.*koutl8(2,:)./koutl8(1,:); voutl13 =v7.*koutl13(2,:)./koutl13(1,:); voutl17 =v9.*koutl17(2,:)./koutl17(1,:); voutl19 =v10.*koutl19(2,:)./koutl19(1,:); voutl20 =v10.*koutl20(2,:)./koutl20(1,:); % Desplegar resultados figure(1) subplot(4,2,1) plot(f./1e6,20.*log10(abs(voutl21./vin)),'k') axis([1.8 20 -25 15]) title('Vl21/VTX') ylabel('Atenuación en dB') subplot(4,2,2) plot(f./1e6,20.*log10(abs(voutl1./vin)),'k') axis([1.8 20 -30 5]) title('Vl1/VTX') ylabel('Atenuación en dB')
Programa 10 146
subplot(4,2,3) plot(f./1e6,20.*log10(abs(voutl2./vin)),'k') axis([1.8 20 -30 5]) title('Vl2/VTX') ylabel('Atenuación en dB') subplot(4,2,4) plot(f./1e6,20.*log10(abs(voutl6./vin)),'k') axis([1.8 20 -30 7]) title('Vl6/VTX') ylabel('Atenuación en dB') subplot(4,2,5) plot(f./1e6,20.*log10(abs(voutl8./vin)),'k') axis([1.8 20 -40 0]) title('Vl8/VTX') ylabel('Atenuación en dB') subplot(4,2,6) plot(f./1e6,20.*log10(abs(voutl13./vin)),'k') axis([1.8 20 -60 0]) title('V13/VTX') ylabel('Atenuación en dB') subplot(4,2,7) plot(f./1e6,20.*log10(abs(voutl17./vin)),'k') axis([1.8 20 -80 -10]) title('Vl17/VTX') ylabel('Atenuación en dB') xlabel('Frecuencia en MHz') subplot(4,2,8) plot(f./1e6,20.*log10(abs(voutl19./vin)),'k') axis([1.8 20 -70 -10]) title('Vl19/VTX') ylabel('Atenuación en dB') xlabel('Frecuencia en MHz')
%ecuaciones para nodos [v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,vin,vout]=(solve('(vin*kin1)-(v1*kin2)=vtx*kin3','(v1*k1)-(vin*k2)-(v2*k3)=0','(v2*k5)-(v1*k6)-(v3*k7)=0','(v3*k9)-(v2*k10)-(v4*k11)=0','(v4*k13)-(v3*k14)-(v5*k15)=0','(v5*k17)-(v4*k18)-(v6*k19)=0','(v6*k21)-(v5*k22)-(v7*k23)=0','(v7*k25)-(v6*k26)-(v8*k27)=0','(v8*k29)-(v7*k30)-(v9*k31)=0','(v9*k33)-(v8*k34)-(v10*k35)=0','(v10*k37)-(v9*k38)=0','(vout*kout1)-(v7*kout2)=0','v1','v2','v3','v4','v5','v6','v7','v8', 'v9', 'v10','vin','vout')); %ecuaciones para nodo de arbol [v41,v42]=(solve('(v41*kt1)-(v4*kt2)-(v42*kt3)=0','(v42*kt4)-(v41*kt5)=0','v41','v42'))
Programa 11 147
11. Programa 11: Cálculo de la
constante de atenuación para varias
líneas de tramsmisión
%Programó: Roberto Cárdenas C. %octubre de 2011 %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178. % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6, 13e-12, 216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009 % r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8]; %intervalo de frecuencia %fi=1.8e6; fi=0; deltaf=9600; fin=3e7; ftemp=fi:deltaf:fin; locfi= find(ftemp>=1800000 & ftemp<=1800000+deltaf); intervalof=size(ftemp,2)-locfi+1; f=zeros(1, intervalof); for i=1:intervalof
Programa 11 148
f(i)=ftemp(locfi+i-1); end %construcción del canal segmentos=1; parametros=5; segmento=zeros(segmentos,parametros); %Tipo de línea segmento(seg,:)= lin9; %parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 | segmento(seg,:)==lin2 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end % impedancia característica, zc, en ohmios; constante de propagación, cp; constante de atenuación en neper/m (real(cp); constante de fase: imag(cp) en radianes/m zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end
Programa 11 149
end %constante de atenuación neper_a_db=8.686; %pag. 57 de Neri alfadb=real(cp).*neper_a_db; atlin=max(alfadb) %save c:/tesis/atlin10
%desplegar load c:/tesis/atlin10 plot(f./1e6, alfadb, 'k') axis([1.8 30 0.01 0.09]) title('Constante de Atenuación para LIN10') ylabel('Constante de atenuación (dB/m)') xlabel('Frecuencia en MHz')
%Resultados %atlin1 = 0.0942 %atlin2 = 0.0861 %atlin3= 0.0840 %atlin4 = 0.0927 %atlin5 = 0.0935 %atlin6 = 0.1023 %atlin7 = 0.0759 %atlin8 = 0.0670 %atlin9 = 0.0719 %atlin10=0.0848 %***********************************************************************
Programa 12 150
12. Programa 12: Función de
transferencia de red con una
derivación y distancias In-House.
Ganancia de una línea terminada en
circuito abierto.
%Red con una derivación %Roberto Cárdenas C. %noviembre 2010-marzo, revisado en 2011-julio 2011 %parámetros de líneas por unidad de longitud % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6 4.68e-12 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6 2.99e-12 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6 2.58e-12 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6 8.57e-12 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6 4.18e-12 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6 8.71e-12 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6 7.568e-12 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6 6.76e-12 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6 13e-12 216e-12]; %selección de canal y parámetros segmento1=zeros(5); segmento1=lin9; r1=segmento1(1); l1=segmento1(2); l2=segmento1(3); g1=segmento1(4); c1=segmento1(5); segmento2=zeros(5); segmento2=lin6; r12=segmento2(1); l12=segmento2(2); l22=segmento2(3); g12=segmento2(4); c12=segmento2(5);
Programa 12 151
%parámetros de la línea en función de la frecuencia %lin9 f=1.8e6:1000:3e7; rf=r1.*sqrt(f); lf=l1+(l2./sqrt(f)); gf=g1.*f; c=c1; %lin6 rf2=r12.*sqrt(f); lf2=l12+(l22./sqrt(f)); gf2=g12.*f; c2=c12; %cargas abierto=1e50; z1=abierto; %cálculo de características de la línea de transmisión % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=sqrt((rf+ (2*pi.*f.*lf)*i)./(gf+(2*pi.*f*c)*i)); cp=sqrt((rf+ (2*pi.*f.*lf)*i).*(gf+(2*pi.*f*c)*i)); zc2=sqrt((rf2+ (2*pi.*f.*lf2)*i)./(gf2+(2*pi.*f*c2)*i)); cp2=sqrt((rf2+ (2*pi.*f.*lf2)*i).*(gf2+(2*pi.*f*c2)*i)); %características físicas y de alimentación de la línea vtx=1; rtx=zc; rrx=zc; %zl3 %rrx=0.000000000000001; %zl3 m1=5; m2=2.5; m3=5; %distancias con ZL3=0 %m2=2.5; %m3=2.5; %m1=2.5; %m2=2.5; %m3=2.5; %m1=3.5; %m2=3.5; %m3=3.5; %m1=3; %m2=3; %m3=3; %m1=4;
Programa 12 152
%m2=4; %m3=4; %m1=4.5; %m2=4.5; %m3=4.5; %m1=5; %m2=5; %m3=5; %parámetros T %segmento1 A1=cosh(cp.*m1); B1=zc.*sinh(cp.*m1); C1=(sinh(cp.*m1))./zc; D1= cosh(cp.*m1); %segmento2 A2=cosh(cp2.*m2); B2=zc2.*sinh(cp2.*m2); C2=(sinh(cp2.*m2))./zc2; D2= cosh(cp2.*m2); %segmento3 A3=cosh(cp.*m3); B3=zc.*sinh(cp.*m3); C3=(sinh(cp.*m3))./zc; D3= cosh(cp.*m3); %admitancias de carga false=0; true=1; c_abierto=false; if z1 ~= abierto c_abierto=true; end y1=(C2+((D2./z1).*c_abierto))./(A2+((B2./z1).*c_abierto)); %definición de constantes k0=vtx./rtx; k1=((A1./B1)+(1./rtx)); k2=((A1./B1)+(A3./B3)+y1); k3=((A3./B3)+(1./rrx)); %ecuaciones de red VA = k0.*B1.^2.*(k3.*B3.^2.*k2-1)./(k1.*B1.^2.*k3.*B3.^2.*k2-k1.*B1.^2-k3.*B3.^2); VB =1./(k1.*B1.^2.*k3.*B3.^2.*k2-k1.*B1.^2-k3.*B3.^2).*B3.^2.*k0.*B1.*k3;
Programa 12 153
VC=1./(k1.*B1.^2.*k3.*B3.^2.*k2-k1.*B1.^2-k3.*B3.^2).*B3.*k0.*B1; %save c:/tesis/prog7_1_212 %save c:/tesis/prog7_1_222 %save c:/tesis/prog7_1_555 %save c:/tesis/prog7_1_5255 %save c:/tesis/prog7_1_752525 %save c:/tesis/prog7_1_1053535 %save c:/tesis/prog7_1_73535 %save c:/tesis/prog7_1_52525 %save c:/tesis/prog7_1_252525 %save c:/tesis/prog7_1_353535 %save c:/tesis/prog7_1_333 %save c:/tesis/prog7_1_353535_0 %save c:/tesis/prog7_1_444_0 %save c:/tesis/prog7_1_454545_0 %save c:/tesis/prog7_1_555_0 %******************************************************* %RESPUESTAS VARIAS %desplegar función de transferencia configuración 5 2.5 5 load c:/tesis/prog7_1_5255 vs=vtx.*(zc./(zc+rtx)); figure(1) plot(f/1e6,20*log10(abs(VC./vs)), 'k') axis([1.8 30 -25 5]) title('Función de transferencia = VNT/VLT (dB)') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') figure(2) plot(f/1e6,20*log10(abs(VB./vs)), 'k') axis([1.8 30 -25 5]) title('Función de transferencia = VB/VLT (dB)') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') %Salida por el segmento 2 para red 752525 load c:/tesis/prog7_1_752525 vs=vtx.*(zc./(zc+rtx)); koutl21=A2./B2+(1./z1); koutl22=1./B2; voutl2 =VB.*koutl22./koutl21; porl22=20*log10(abs(voutl2./vs)); plot(f/1e6,porl22, 'k')
Programa 12 154
axis([1.8 30 -10 12]) title('VZL/VLT (dB) red 7.5 2.5 2.5, ZL en C=0') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on %Salida por el segmento 2 para red 5255 load c:/tesis/prog7_1_5255 vs=vtx.*(zc./(zc+rtx)); koutl21=A2./B2+(1./z1); koutl22=1./B2; voutl2 =VB.*koutl22./koutl21; porl22=20*log10(abs(voutl2./vs)); plot(f/1e6,porl22, 'k') axis([1.8 30 -1 10]) title('VZL/VLT, red 5 2.5 5') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on %******************************************************* %******************************************************* %Salida por el segmento 2 para red 555 load c:/tesis/prog7_1_555 koutl21=A2./B2+(1./z1); koutl22=1./B2; voutl25 =VB.*koutl22./koutl21; porl2=20*log10(abs(voutl25./vs)); %Salida por el segmento 2 para red 222 load c:/tesis/prog7_1_222 koutl21=A2./B2+(1./z1); koutl22=1./B2; voutl2 =VB.*koutl22./koutl21; porl22=20*log10(abs(voutl2./vs)); figure(3) subplot(1,2,1) %se comenta para solo desplegar 555 plot(f/1e6,porl2, 'k') %grid on %para desplegar como se observa en la disertación axis([1.8 30 -1 10]) title('VZL/VLT, red 555') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') subplot(1,2,2)
Programa 12 155
plot(f/1e6,porl22, 'k') axis([1.8 30 -1 10]) title('VZL/VLT (dB) red 222') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') %*********************************************************** %********************************************************* %Desplegar para configuraciones con ZL3=0 ohmios %RESPUESTAS CON GANANCIA AUMENTADA %Salida por el segmento 2 para red 252525 subplot(3,2,1) load c:/tesis/prog7_1_252525 vs=vtx.*(zc./(zc+rtx)); koutl21=A2./B2+(1./z1); koutl22=1./B2; voutl2 =VB.*koutl22./koutl21; porl22=20*log10(abs(voutl2./vs)); plot(f/1e6,porl22, 'k') axis([1.8 30 -10 12]) title('red 2.5 2.5 2.5, ZL3 = 0 ohm') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on %Salida por el segmento 2 para red 333 subplot(3,2,2) load c:/tesis/prog7_1_333 vs=vtx.*(zc./(zc+rtx)); koutl21=A2./B2+(1./z1); koutl22=1./B2; voutl2 =VB.*koutl22./koutl21; porl22=20*log10(abs(voutl2./vs)); plot(f/1e6,porl22, 'k') axis([1.8 30 -10 12]) title('red 3 3 3, ZL3=0 ohm') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on %Salida por el segmento 2 para red 353535 subplot(3,2,3) load c:/tesis/prog7_1_353535_0
Programa 12 156
vs=vtx.*(zc./(zc+rtx)); koutl21=A2./B2+(1./z1); koutl22=1./B2; voutl2 =VB.*koutl22./koutl21; porl22=20*log10(abs(voutl2./vs)); plot(f/1e6,porl22, 'k') axis([1.8 30 -26 12]) title('red 3.5 3.5 3.5, ZL3=0 ohm') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on %Salida por el segmento 2 para red 444 subplot(3,2,4) load c:/tesis/prog7_1_444_0 vs=vtx.*(zc./(zc+rtx)); koutl21=A2./B2+(1./z1); koutl22=1./B2; voutl2 =VB.*koutl22./koutl21; porl22=20*log10(abs(voutl2./vs)); plot(f/1e6,porl22, 'k') axis([1.8 30 -26 12]) title('4 4 4 , ZL3=0 ohm') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on %Salida por el segmento 2 para red 454545 subplot(3,2,5) load c:/tesis/prog7_1_454545_0 vs=vtx.*(zc./(zc+rtx)); koutl21=A2./B2+(1./z1); koutl22=1./B2; voutl2 =VB.*koutl22./koutl21; porl22=20*log10(abs(voutl2./vs)); plot(f/1e6,porl22, 'k') axis([1.8 30 -26 12]) title('red 4.5 4.5 4.5, ZL3=0 ohm') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on %Salida por el segmento 2 para red 555 subplot(3,2,6) load c:/tesis/prog7_1_555_0
Programa 12 157
vs=vtx.*(zc./(zc+rtx)); koutl21=A2./B2+(1./z1); koutl22=1./B2; voutl2 =VB.*koutl22./koutl21; porl22=20*log10(abs(voutl2./vs)); plot(f/1e6,porl22, 'k') axis([1.8 30 -26 12]) title('red 5 5 5, ZL3=0 ohm') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on %********************************************************* %sistema de ecuaciones de red [va,vb,vc]=(solve('(va*k1)-(vb/B1)=k0','(vb*k2)-(va/B1)-(vc/B3)=0', '(vc*k3)-(vb/B3)=0', 'va', 'vb', 'vc'));
Programa 13 158
13. Programa 13: Cálculo de función de
transferencia e impedancia de
entrada de una línea terminada en
circuito abierto en función de la
frecuencia
%Programó: Roberto Cárdenas Castiblanco
%Julio de 2011
clear all %frecuencias en estudio fi=1.8048e6; deltaf=9600; fin=3e7; f=fi:deltaf:fin; %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178. % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.9*0.112e-6, 0.9*9.22e-6, 13e-12, 1.2*216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009
Programa 13 159
% r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8]; %parámetros en función de la frecuencia frecs=size(f,2); segmentos=1; parametros=5; segmento=zeros(segmentos,parametros); segmento(1,:)=lin10; r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end % constante de propagación, cp, en radianes por unidad de longitud cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end end
Programa 13 160
%longitud de línea l=1; %valor de la función de transferencia en dB vfase=188280000; lambda=vfase./f; alfa=real(cp); beta=(2*pi./lambda); gama=alfa+i*beta; hf=1./cosh(gama.*l); hfdb=20*log10(abs(hf)); %impedancia de entrada zinca=zc.*coth(gama.*l); zincaabs=abs(zinca); %almacenar %save c:/tesis/lambda_cuartos_1 %save c:/tesis/lambda_cuartos_2 %save c:/tesis/lambda_cuartos_3 %save c:/tesis/lambda_cuartos_5 %save c:/tesis/lambda_cuartos_7 %save c:/tesis/lambda_cuartos_10 %desplegar %desplegar funciones de transferencia figure(1) subplot(3,2,1) load c:/tesis/lambda_cuartos_1 plot(f./1e6,hfdb, 'k') axis([1.8 30 0 6]) title('Longitud de línea = 1 m, lin10 ') %xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on subplot(3,2,2) load c:/tesis/lambda_cuartos_2 plot(f./1e6,hfdb, 'k') axis([1.8 30 0 35]) title('Longitud de línea = 2 m, lin10 ') %xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on subplot(3,2,3)
Programa 13 161
load c:/tesis/lambda_cuartos_3 plot(f./1e6,hfdb, 'k') axis([1.8 30 0 35]) title('Longitud de línea = 3 m, lin10 ') %xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on subplot(3,2,4) load c:/tesis/lambda_cuartos_5 plot(f./1e6,hfdb, 'k') axis([1.8 30 -1 35]) title('Longitud de línea = 5 m, lin10 ') %xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on subplot(3,2,5) load c:/tesis/lambda_cuartos_7 plot(f./1e6,hfdb, 'k') axis([1.8 30 -1 35]) title('Longitud de línea = 7 m, lin10 ') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on subplot(3,2,6) load c:/tesis/lambda_cuartos_10 plot(f./1e6,hfdb, 'k') axis([1.8 30 -1 35]) title('Longitud de línea = 10 m, lin10 ') xlabel('Frecuencia en MHz') ylabel('|H(f)| (dB)') grid on %desplegar impedancia de entrada figure(2) subplot(3,2,1) load c:/tesis/lambda_cuartos_1 plot(f./1e6,zincaabs, 'k') axis([1.8 30 0 1200]) title('Longitud de línea = 1 m, lin10 ') %xlabel('Frecuencia en MHz') ylabel('|Zin,c.a.| (Ohmios)') grid on subplot(3,2,2)
Programa 13 162
load c:/tesis/lambda_cuartos_2 plot(f./1e6,zincaabs, 'k') axis([1.8 30 0 600]) title('Longitud de línea = 2 m, lin10 ') %xlabel('Frecuencia en MHz') ylabel('|Zina,c.a.| (Ohmios)') grid on subplot(3,2,3) load c:/tesis/lambda_cuartos_3 plot(f./1e6,zincaabs, 'k') axis([1.8 30 0 500]) title('Longitud de línea = 3 m, lin10 ') %xlabel('Frecuencia en MHz') ylabel('|Zinc.a.| (Ohmios)') grid on subplot(3,2,4) load c:/tesis/lambda_cuartos_5 plot(f./1e6,zincaabs, 'k') axis([1.8 30 -2 2200]) title('Longitud de línea = 5 m, lin10 ') %xlabel('Frecuencia en MHz') ylabel('|Zin,c.a.| (Ohmios)') grid on subplot(3,2,5) load c:/tesis/lambda_cuartos_7 plot(f./1e6,zincaabs, 'k') axis([1.8 30 -1 2000]) title('Longitud de línea = 7 m, lin10 ') xlabel('Frecuencia en MHz') ylabel('|Zin,c.a.| (Ohmios)') grid on subplot(3,2,6) load c:/tesis/lambda_cuartos_10 plot(f./1e6,zincaabs, 'k') axis([1.8 30 -1 2000]) title('Longitud de línea = 10 m, lin10 ') xlabel('Frecuencia en MHz') ylabel('|Zin,c.a.| (Ohmios) ') grid on
Programa 14 163
14. Programa 14: Valores de λl para el
caso de las redes In-House
residenciales, usando lin10
%Programó: Roberto Cárdenas Castiblanco
%Julio de 2011
clear all %frecuencias en estudio fi=1.8048e6; deltaf=9600; fin=3e7; f=fi:deltaf:fin; %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178. % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.9*0.112e-6, 0.9*9.22e-6, 13e-12, 1.2*216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009 % r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8];
Programa 14 164
%parámetros en función de la frecuencia frecs=size(f,2); segmentos=1; parametros=5; segmento=zeros(segmentos,parametros); segmento(1,:)=lin10; r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end % constante de propagación, cp, en radianes por unidad de longitud cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end end %longitud de línea l=30;
Programa 14 165
%calcular alfal=real(cp).*l; %almacenar %save c:/tesis/alfal_10 %desplegar load c:/tesis/alfal_10 plot(f./1e6,alfal, 'k') axis([1.8 30 0 0.35]) title('alfa(f)*l para lin10. Longitud de línea =l = 30 m') xlabel('Frecuencia en MHz') ylabel('alfa(f) * l') grid on
Programa 15 166
15. Programa 15: Cálculo de función de
transferencia de una línea
terminada en circuito abierto en
función de α*l
%Programó: Roberto Cárdenas Castiblanco
%agosto de 2011
beta=pi/2; alfa=0.01:0.001:0.3; ganancia=1./cosh(alfa+(beta*j)); plot(alfa,20.*log10(abs(ganancia)),'k') axis([0.01 0.3 10 40]) title('Ganancia de la línea lambda cuartos') xlabel('alfa * l') ylabel('|H(f)| (dB)') grid on
Programa 16 167
16. Programa 16: Encontrar la
dependencia de la ganancia con
respecto a los segmentos del
backbone de la estructura básica,
recibiendo por Segmento λ/4
%Programó: Roberto Cárdenas C. %Fecha: mayo de 2011-julio 2011
lin1=[142e-6, 0.287e-6, 22.3e-6 4.68e-12 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6 2.99e-12 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6 2.58e-12 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6 8.57e-12 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6 4.18e-12 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6 8.71e-12 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6 7.568e-12 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6 6.76e-12 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6 13e-12 216e-12]; %selección de canal y parámetros segmento1=zeros(5); segmento1=lin9; r1=segmento1(1); l1=segmento1(2); l2=segmento1(3); g1=segmento1(4); c1=segmento1(5); segmento2=zeros(5); segmento2=lin6; r12=segmento2(1); l12=segmento2(2); l22=segmento2(3); g12=segmento2(4); c12=segmento2(5); %parámetros de la línea en función de la frecuencia
Programa 16 168
%frecuencias en estudio fi=1.8048e6; deltaf=9600; fin=3e7; f=fi:deltaf:fin; %frecuencia a considerar según longitud del segmento (lambda/4) %ubicación relativa de la frecuencia de trabajo en la banda. Máximo valor de locftrabajo=1 %locftrabajo=0.5; %fw =15897600 %locftrabajo=0.25; % fw =8841600 %locftrabajo=0.75; %fw =22944000 locftrabajo=0.6497; %fw =20112000 frecentral=floor(locftrabajo*size(f,2)); fw=f(1,frecentral); %lin9 rf=r1*sqrt(fw); lf=l1+(l2/sqrt(fw)); gf=g1*fw; c=c1; %lin6 rf2=r12*sqrt(fw); lf2=l12+(l22/sqrt(fw)); gf2=g12*fw; c2=c12; %Estímulo vtx=1; %cálculo de características de la línea de transmisión % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud %parámetros segmento 1 y 3 zc=sqrt((rf+ (2*pi*fw*lf)*i)/(gf+(2*pi*fw*c)*i)); cp=sqrt((rf+ (2*pi*fw*lf)*i)*(gf+(2*pi*fw*c)*i)); %parámetros segmento 2 zc2=sqrt((rf2+ (2*pi*fw*lf2)*i)/(gf2+(2*pi*fw*c2)*i)); cp2=sqrt((rf2+ (2*pi*fw*lf2)*i)*(gf2+(2*pi*fw*c2)*i)); %cargas %z1=1e50; %en las gráficas Z2 z1=100*zc2;
Programa 16 169
%rrx=1; %rrx en las gráficas Z3 %rrx=zc; rrx=100*zc; %rrx=10*zc2; %rrx=1e50; rtx=zc;
%longitudes de onda a considerar vfase=188280000; lambdas=zeros(1,size(f,2)); lambdas=1./(f./vfase); lambda=lambdas(1,frecentral); %relaciones entre segmentos de backbone,r12= relación entre segmeto 1 y segmento 2 (ramal), %r32=relación entre segmento 3 y segmento 2 (ramal) r12s=0.1:0.005:5; r32s=0.1:0.005:5; %matriz para almacenamiento de resultados de ganancias hfdbs=zeros(size(r32s,2),size(r12s,2)); hfdbs1=zeros(size(r32s,2),size(r12s,2)); %longitud del ramal. El ramal funciona como una línea lambda /4 m2=lambda/4; %parámetros T del ramal %segmento2 (ramal) A2=cosh(cp2*m2); B2=zc2*sinh(cp2*m2); C2=(sinh(cp2*m2))/zc2; D2= cosh(cp2*m2); %admitancias del segmento 2 sobre el backbone y1=((C2*z1)+D2)/((A2*z1)+B2); %voltaje de entrada. Voltaje a la entrada del segmento 1 vs=vtx*(zc/(zc+rtx)); %funciones de transferencia para diferentes longitudes de segmentos 1 y 3. Longitud de segmento 2=lambda/4 %q1 es el eje y del arreglo de funciones de transferencia y q2 el eje x for q1=1:size(r12s,2) for q2=1:size(r32s,2) %relaciones de distancias entre segmentos r12=r12s(1,q1);
Programa 16 170
r32=r32s(1,q2); %longitudes de segmentos 1 y 3
m1=r12*m2; m3=r32*m2;
%parámetros T %segmento1 A1=cosh(cp*m1); B1=zc*sinh(cp*m1); C1=(sinh(cp*m1))/zc; D1= cosh(cp*m1);
%segmento3 %parámetros T si línea segmento 3=línea segmento 1 A3=cosh(cp*m3); B3=zc*sinh(cp*m3); C3=(sinh(cp*m3))/zc; D3= cosh(cp*m3);
%definición de constantes para cálculo de voltajes k0=vtx/rtx; k1=((A1/B1)+(1/rtx)); k2=((A1/B1)+(A3/B3)+y1); k3=((A3/B3)+(1/rrx));
%ecuaciones de red VA = k0*B1^2*(k3*B3^2*k2-1)/(k1*B1^2*k3*B3^2*k2-k1*B1^2-k3*B3^2); VB =1/(k1*B1^2*k3*B3^2*k2-k1*B1^2-k3*B3^2)*B3^2*k0*B1*k3; VC=1/(k1*B1^2*k3*B3^2*k2-k1*B1^2-k3*B3^2)*B3*k0*B1;
%cálculo de ganancia entre entrada por seg.1 y salida por seg. 2 koutl21=A2/B2+(1/z1); koutl22=1/B2; voutl2 =VB*koutl22/koutl21; hfdbs(q1,q2)=20*log10(abs(voutl2/vs)); %cálculo de ganancia entre entrada por seg.1 y salida por seg. 3 hfdbs1(q1,q2)=20*log10(abs(VC/vs));
end end
%save c:/tesis/hfgen1 %save c:/tesis/hfgen2 %save c:/tesis/hfgen3 %save c:/tesis/hfgen4
Programa 16 171
%save c:/tesis/hfgen5 %save c:/tesis/hfgen6 %save c:/tesis/hfgen7 %save c:/tesis/hfgen8 %save c:/tesis/hfgen9
%desplegar
figure(1) subplot(2,2,1) load c:/tesis/hfgen1 mesh(r32s,r12s,hfdbs) colorbar title(' Ganancia, Z2=abierto, Z3=1, f=15.9 MHz') xlabel('r32') ylabel('r12') zlabel('20log|V2/vs| (dB)') %********************************************************************* subplot(2,2,2) load c:/tesis/hfgen2 mesh(r32s,r12s,hfdbs) colorbar title(' Ganancia, Z2=100zc2, Z3=1, f=15.9 MHz') xlabel('r32') ylabel('r12') zlabel('20log|V2/vs| (dB)') %********************************************************************* subplot(2,2,3) load c:/tesis/hfgen5 mesh(r32s,r12s,hfdbs) colorbar title(' Ganancia, Z2=abierto, Z3=1, f=20.1 MHz') xlabel('r32') ylabel('r12') zlabel('20log|V2/vs| (dB)') %*********************************************************************** subplot(2,2,4) load c:/tesis/hfgen7 mesh(r32s,r12s,hfdbs) colorbar title(' Ganancia, Z2=abierto, Z3=10zc2, f=20.1 MHz') xlabel('r32') ylabel('r12') zlabel('20log|V2/vs| (dB)')
Programa 16 172
%*********************************************************************** subplot(2,2,1) load c:/tesis/hfgen8 mesh(r32s,r12s,hfdbs) colorbar title(' Ganancia, Z2=abierto, Z3=abierto, f=20.1 MHz') xlabel('r32') ylabel('r12') zlabel('20log|V2/vs| (dB)') rotate3d on hold on %********************************************************************* subplot(2,2,2) load c:/tesis/hfgen3 mesh(r32s,r12s,hfdbs) colorbar title(' Ganancia, Z2=100zc2, Z3=1, f=8.8 MHz') xlabel('r32') ylabel('r12') zlabel('20log|V2/vs| (dB)') %********************************************************************* subplot(2,2,3) load c:/tesis/hfgen4 mesh(r32s,r12s,hfdbs) colorbar title(' Ganancia, Z2=100zc2, Z3=1, f=22.9MHz') xlabel('r32') ylabel('r12') zlabel('20log|V2/vs| (dB)') rotate3d on %********************************************************************** subplot(2,2,4) load c:/tesis/hfgen9 mesh(r32s,r12s,hfdbs) colorbar title(' Ganancia, Z2=100zc2, Z3=zc, f=22.9MHz') xlabel('r32') ylabel('r12') zlabel('20log|V2/vs| (dB)') rotate3d on
Programa 16 173
,'(v42*kt4)-(v41*kt5)=0','v41','v42'))
Programa 17 174
17. Programa 17: Encontrar la
dependencia de la ganancia con
respecto a los segmentos del
backbone de la estructura básica,
transmitiendo con segmento 1= λ/4,
con segmentos iguales y diferentes
%Programó: Roberto Cárdenas C. %Fecha: julio 2011
lin1=[142e-6, 0.287e-6, 22.3e-6 4.68e-12 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6 2.99e-12 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6 2.58e-12 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6 8.57e-12 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6 4.18e-12 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6 8.71e-12 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6 7.568e-12 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6 6.76e-12 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6 13e-12 216e-12]; %selección de canal y parámetros segmento1=zeros(5); segmento1=lin9; r1=segmento1(1); l1=segmento1(2); l2=segmento1(3); g1=segmento1(4); c1=segmento1(5); segmento2=zeros(5); segmento2=lin6; r12=segmento2(1); l12=segmento2(2); l22=segmento2(3); g12=segmento2(4); c12=segmento2(5);
Programa 17 175
%parámetros de la línea en función de la frecuencia %frecuencias en estudio fi=1.8048e6; deltaf=9600; fin=3e7; f=fi:deltaf:fin; %frecuencia a considerar según longitud del segmento (lambda/4, lambda/2) %ubicación relativa de la frecuencia de trabajo en la banda. Máximo valor de locftrabajo=1 %locftrabajo=0.5; %fw =15897600 %locftrabajo=0.25; % fw =8841600 locftrabajo=0.75; %fw =22944000 %locftrabajo=0.6497; %fw =20112000 frecentral=floor(locftrabajo*size(f,2)); fw=f(1,frecentral); %lin9 rf=r1*sqrt(fw); lf=l1+(l2/sqrt(fw)); gf=g1*fw; c=c1; %lin6 rf2=r12*sqrt(fw); lf2=l12+(l22/sqrt(fw)); gf2=g12*fw; c2=c12; %Estímulo vtx=1; %cálculo de características de la línea de transmisión % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud %parámetros segmento 1 y 3 zc=sqrt((rf+ (2*pi*fw*lf)*i)/(gf+(2*pi*fw*c)*i)); cp=sqrt((rf+ (2*pi*fw*lf)*i)*(gf+(2*pi*fw*c)*i)); %parámetros segmento 2 para caso dende se usan diferentes tipos de líneas %zc2=sqrt((rf2+ (2*pi*fw*lf2)*i)/(gf2+(2*pi*fw*c2)*i)); %cp2=sqrt((rf2+ (2*pi*fw*lf2)*i)*(gf2+(2*pi*fw*c2)*i));
Programa 17 176
%parámetros segmento 2 para caso donde se usa un solo tipo de linea zc2=zc; cp2=cp; %cargas %segmento 2 %z1=1e50; %en las gráficas Z2 z1=100*zc2; %z1=zc2; %z1=1; %segmento 3 rrx=1; %rrx en las gráficas Z3 %rrx=zc; rrx=100*zc; %rrx=1e50; rtx=zc; %longitudes de onda a considerar vfase=188280000; lambdas=zeros(1,size(f,2)); lambdas=1./(f./vfase); lambda=lambdas(1,frecentral); %relaciones entre segmentos de backbone,r12= relación entre segmeto 1 y segmento 2 (ramal), %r32=relación entre segmento 3 y segmento 2 (ramal) r21s=0.1:0.005:5; r31s=0.1:0.005:5; %matriz para almacenamiento de resultados de ganancias hfdbs=zeros(size(r21s,2),size(r31s,2)); hfdbs1=zeros(size(r21s,2),size(r31s,2)); %longitud del ramal. El ramal funciona como una línea lambda /4 m1=lambda/4; %voltaje de entrada. Voltaje a la entrada del segmento 1 vs=vtx*(zc/(zc+rtx)); %funciones de transferencia para diferentes longitudes de segmentos 1 y 3. Longitud de segmento 1=lambda/4 %q1 es el eje y del arreglo de funciones de transferencia y q2 el eje x for q1=1:size(r21s,2) for q2=1:size(r31s,2) %relaciones de distancias entre segmentos
Programa 17 177
r21=r21s(1,q1); r31=r31s(1,q2); %longitudes de segmentos 2y 3
m2=r21*m1; m3=r31*m1;
%parámetros T %segmento1 A1=cosh(cp*m1); B1=zc*sinh(cp*m1); C1=(sinh(cp*m1))/zc; D1= cosh(cp*m1);
%segmento3 %parámetros T si línea segmento 3=línea segmento 1 A3=cosh(cp*m3); B3=zc*sinh(cp*m3); C3=(sinh(cp*m3))/zc; D3= cosh(cp*m3);
%segmento2 A2=cosh(cp2*m2); B2=zc2*sinh(cp2*m2); C2=(sinh(cp2*m2))/zc2; D2= cosh(cp2*m2); %admitancias del segmento 2 sobre el backbone y1=((C2*z1)+D2)/((A2*z1)+B2);
%definición de constantes para cálculo de voltajes k0=vtx/rtx; k1=((A1/B1)+(1/rtx)); k2=((A1/B1)+(A3/B3)+y1); k3=((A3/B3)+(1/rrx));
%ecuaciones de red VA = k0*B1^2*(k3*B3^2*k2-1)/(k1*B1^2*k3*B3^2*k2-k1*B1^2-k3*B3^2); VB =1/(k1*B1^2*k3*B3^2*k2-k1*B1^2-k3*B3^2)*B3^2*k0*B1*k3; VC=1/(k1*B1^2*k3*B3^2*k2-k1*B1^2-k3*B3^2)*B3*k0*B1;
%cálculo de ganancia entre entrada por seg.1 y salida por seg. 2 koutl21=A2/B2+(1/z1); koutl22=1/B2; voutl2 =VB*koutl22/koutl21; hfdbs(q1,q2)=20*log10(abs(voutl2/vs));
Programa 17 178
%cálculo de ganancia entre entrada por seg.1 y salida por seg. 3 hfdbs1(q1,q2)=20*log10(abs(VC/vs));
end end
%save c:/tesis/ebtx1 %save c:/tesis/ebtx1_1 %save c:/tesis/ebtx1_2 %save c:/tesis/ebtx1_seg_iguales %***************************************************** %desplegar respuestas con diferentes tipos de líneas figure(1) subplot(3,2,1) load c:/tesis/ebtx1_2 mesh(r21s,r31s,hfdbs) colorbar title('|H(f)|1-2 ( dB), Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') zlabel('20log|V2/vs| (dB)') rotate3d on %******************************************************* subplot(3,2,2) load c:/tesis/ebtx1_2 mesh(r21s,r31s,hfdbs1) colorbar title('|H(f)|1-3 (dB), Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') zlabel('20log|V3/vs| (dB)') rotate3d on %***************************************************** subplot(3,2,3) load c:/tesis/ebtx1 mesh(r21s,r31s,hfdbs) colorbar title('|H(f)|1-2 (dB), Z2=Zc2, Z3=Zc3') xlabel('r31') ylabel('r21') zlabel('20log|V2/vs| (dB)') rotate3d on %******************************************************* subplot(3,2,4) load c:/tesis/ebtx1
Programa 17 179
mesh(r21s,r31s,hfdbs1) colorbar title('|H(f)|1-3 (dB), Z2=Zc2, Z3=Zc3') xlabel('r31') ylabel('r21') zlabel('20log|V3/vs| (dB)') rotate3d on %***************************************************** subplot(3,2,5) load c:/tesis/ebtx1_1 mesh(r21s,r31s,hfdbs) colorbar title('|H(f)|1-2 (dB), Z2=1, Z3=1') xlabel('r31') ylabel('r21') zlabel('20log|V2/vs| (dB)') rotate3d on %******************************************************* subplot(3,2,6) load c:/tesis/ebtx1_1 mesh(r21s,r31s,hfdbs1) colorbar title('|H(f)|1-3 (dB), Z2=1, Z3=1') xlabel('r31') ylabel('r21') zlabel('20log|V3/vs| (dB)') rotate3d on %***************************************************** %***************************************************** %desplegar respuestas para todos los segmentos iguales figure(2) subplot(2,1,1) load c:/tesis/ebtx1_seg_iguales mesh(r21s,r31s,hfdbs) colorbar title('|H(f)|1-2 ( dB), Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') zlabel('20log|V2/vs| (dB)') rotate3d on %******************************************************* subplot(2,1,2) load c:/tesis/ebtx1_seg_iguales
Programa 17 180
mesh(r21s,r31s,hfdbs1) colorbar title('|H(f)|1-3 (dB), Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') zlabel('20log|V3/vs| (dB)') rotate3d on
Programa 18 181
18. Programa 18: Encontrar la
dependencia de la ganancia con
respecto los segmentos del backbone
de la estructura básica,
transmitiendo con segmento 1= λ/4 y
|H(f)| > 0, todos los segmentos con
mismo tipo de línea
%Programó: Roberto Cárdenas %Fecha: julio de 2011 %encontrar puntos con ganancias mayores o iguales a 0 db saliendo por segmento 2 y 3 %load c:/tesis/ebtx1_seg_iguales load c:/tesis/ebtx1_2 %segmentos diferentes umbraldb=0; contador=0; ganancia1=zeros(size(hfdbs1,1),size(hfdbs1,2)); %saliendo por 3 ganancia2=zeros(size(hfdbs,1),size(hfdbs,2)); %saliendo por 2 for j=1:size(hfdbs1,1) for k=1:size(hfdbs1,2) if hfdbs1(j,k)>=umbraldb contador=contador+1; ganancia1(j,k)=hfdbs1(j,k); end end end total_puntos1=contador contador=0; for j=1:size(hfdbs,1) for k=1:size(hfdbs,2) if hfdbs(j,k)>=umbraldb contador=contador+1; ganancia2(j,k)=hfdbs(j,k);
Programa 18 182
end end end total_puntos2=contador %para segmentos iguales %total_puntos1 =745296 %total_puntos2 =745296 %para segmentos diferentes %total_puntos1 =801772 %total_puntos2 =766185 %save c:/tesis/ebtx1_seg_iguales_masquecero %save c:/tesis/ebtx1_2_1 %segmentos diferentes %deplegar %load c:/tesis/ebtx1_seg_iguales_masquecero load c:/tesis/ebtx1_2_1 subplot(2,1,1) mesh(r21s,r31s,ganancia2) colorbar title('|H(f)|1-2 > 0 (dB), Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') zlabel('20log|V2/vs| (dB)') rotate3d on subplot(2,1,2) mesh(r21s,r31s,ganancia1) colorbar title('|H(f)|1-3 > 0 (dB), Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') zlabel('20log|V3/vs| (dB)') rotate3d on
Programa 19 183
19. Programa 19: Encontrar la
dependencia de la ganancia con
respecto los segmentos del backbone
de la estructura básica,
transmitiendo con segmento 1= λ/4,
|H(f)| > 0, relaciones entre 1 y 2
Principio de Direccionalidad
%Desplegar relaciones entre 1 y 2 saliendo por segmento 2 y 3. Segmentos iguales. Curvas de nivel. Zonas de trabajo %Programó: Roberto Cárdenas C. %agosto 2011 load c:/tesis/ebtx1_seg_iguales_masquecero inf=1; sup=2; delta21=r21s(1,2)-r21s(1,1); delta31=r31s(1,2)-r31s(1,1); r21s_1= inf:delta21:sup; r31s_1= inf:delta31:sup; ganancia_2=zeros(size(r21s_1,2),size( r31s_1,2)); ganancia21= find(r21s==r21s_1(1,1)) ganancia31= find(r31s==r31s_1(1,1)) %ganancias saliendo por 2 for j=1: size(r21s_1,2) for k=1: size( r31s_1,2) ganancia_2(j,k)=ganancia2(ganancia21,ganancia31); ganancia31=ganancia31+1; end ganancia21=ganancia21+1;
Programa 19 184
ganancia31= find(r31s==r31s_1(1,1)); end ganancia_1=zeros(size(r21s_1,2),size( r31s_1,2)); ganancia21= find(r21s==r21s_1(1,1)) ganancia31= find(r31s==r31s_1(1,1)) %ganancias saliendo por 3 for j=1: size(r21s_1,2) for k=1: size( r31s_1,2) ganancia_1(j,k)=ganancia1(ganancia21,ganancia31); ganancia31=ganancia31+1; end ganancia21=ganancia21+1; ganancia31= find(r31s==r31s_1(1,1)); end %archivo con ganancias entre 1 y 2 %save c:/tesis/ebtx1_seg_iguales_masquecero_12 %desplegar load c:/tesis/ebtx1_seg_iguales_masquecero_12 figure(1) subplot(1,2,1) mesh(r21s_1,r31s_1,ganancia_1) title('|H(f)|1-3> 0 (dB), Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') zlabel('20log|V3/vs| (dB)') rotate3d on subplot(1,2,2) mesh(r21s_1,r31s_1,ganancia_2) colorbar title('|H(f)|1-2 > 0 (dB)') xlabel('r31') ylabel('r21') zlabel('20log|V2/vs| (dB)') rotate3d on %************************************************************ figure(2) load c:/tesis/ebtx1_seg_iguales_masquecero_12 %saliendo por 2 subplot(1,2,1) mesh(r21s_1,r31s_1,ganancia_2)
Programa 19 185
title('Direccionalidad de la estructura básica, Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') zlabel('|H(f)| > 0 (dB)') rotate3d on hold on %saliendo por 3 mesh(r21s_1,r31s_1,ganancia_1) rotate3d on subplot(1,2,2) %saliendo por 2 mesh(r21s_1,r31s_1,ganancia_2) xlabel('r31') ylabel('r21') zlabel('|H(f)| > 0 (dB)') rotate3d on hold on %saliendo por 3 mesh(r21s_1,r31s_1,ganancia_1) colorbar rotate3d on %encontrar los puntos comúnes en la magnitud de la función de transferencia mayores o iguales a 3.5 dB para relaciones entre 1 dB y 2 dB saliendo por segmento 2 y 3 para segmentos con mismo tipo de línea load c:/tesis/ebtx1_seg_iguales_masquecero_12 r21s_12p=size(r21s_1,2); r31s_12p=size(r31s_1,2); ganiguales=zeros(r21s_12p,r31s_12p); ganiguales1=zeros(r21s_12p,r31s_12p); error=0.00000000000001; %se calculó porque deben ser 181 el número de ganancias iguales. Esta puede ser una estimación del error en los cálculos cuenta=0; cuenta1=0; for j=1:size(r21s_1,2) for k=1:size(r31s_1,2) if ganancia_1(j,k)<=ganancia_2(j,k)+error & ganancia_1(j,k)>=ganancia_2(j,k)-error ganiguales(j,k)=ganancia_1(j,k); cuenta=cuenta+1;
Programa 19 186
end end end for j=1:size(r21s_1,2) for k=1:size(r31s_1,2) if ganancia_2(j,k)<=ganancia_1(j,k)+error & ganancia_2(j,k)>=ganancia_1(j,k)-error ganiguales1(j,k)=ganancia_2(j,k); cuenta1=cuenta1+1; end end end %Discusión técnica. En este caso se deben desplegar 181 puntos del espacio tridimensional. Si se hace con mesh, el despliegue se vuelve caótico ya que se invololucra un mapa de colores para desplegar cada punto. Por ello es más conveniente usar plot3, cuya función sería solo el despliegue, aunque tiene más trabajo su manejo ya que se deben suministrar las coordenadas de los puntos tridimencionales desde tres arreglos unidimencionales, lo que dificulta un poco ya que las ganancias hasta este momento están en una arreglo bidimensional. r21s_1n=zeros(1, size(r21s_1,2)* size(r31s_1,2)); r31s_1n=zeros(1, size(r21s_1,2)* size(r31s_1,2)); m= size(r31s_1,2); %arreglo bidimensional de ganiguales a arreglo unidimensional ganiguales1n=reshape(ganiguales,1,[]); %arreglo bidimensional de ganiguales a arreglo unidimensional ganiguales1_1n=reshape(ganiguales1,1,[]); %arreglos para unidimensionales para coordenadas en concordancia con el arreglo unidimensional de ganancias cuenta=1; for r21=1:m for r31=1:m r21s_1n(1,((r21-1)*(m))+r31)=r21s_1(1,cuenta); end cuenta=cuenta+1; end for r21=1:m for r31=1:m r31s_1n(1,((r21-1)*(m))+r31)=r31s_1(1,r31); end end %save c:/tesis/ebtx1_masquecero_12_ganiguales
Programa 19 187
%desplegar load c:/tesis/ebtx1_masquecero_12_ganiguales figure(3) subplot(1,2,1) plot3(r21s_1n,r31s_1n,ganiguales1n) grid on rotate3d on hold on mesh(r21s_1,r31s_1,ganancia_1) title('|H(f)|1-3 > 0 (dB), Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') zlabel('|H(f)| (dB)') rotate3d on subplot(1,2,2) plot3(r21s_1n,r31s_1n,ganiguales1_1n) rotate3d on grid on hold on mesh(r21s_1,r31s_1,ganancia_2) %colorbar title('|H(f)|1-2 > 0 (dB)') xlabel('r31') ylabel('r21') zlabel('|H(f)| (dB)') rotate3d on %encontrar ganancias comunes mayores de 3.5 dB load c:/tesis/ebtx1_masquecero_12_ganiguales ganiguales35=zeros(1,size(ganiguales1n,2)); cuenta=0; for j=1:size(ganiguales1n,2) if ganiguales1n(1,j) >= 3.5 ganiguales35(1,j)=ganiguales1n(1,j); cuenta=cuenta+1; end end %save c:/tesis/ebtx1_masquecero_12_ganiguales_35
Programa 19 188
%cuenta =35, luego son 34 las ganancias mayores a 3.5 %desplegar load c:/tesis/ebtx1_masquecero_12_ganiguales_35 figure(3) subplot(1,2,1) plot3(r21s_1n,r31s_1n,ganiguales1n) xlabel('r31') ylabel('r21') zlabel('|H(f)| (dB)') grid on rotate3d on subplot(1,2,2) plot3(r21s_1n,r31s_1n,ganiguales35) xlabel('r31') ylabel('r21') zlabel('|H(f)| (dB)') grid on rotate3d on %************************************************************ %dibujar las curvas de nivel figure(4) load c:/tesis/ebtx1_seg_iguales_masquecero_12 subplot(1,2,2) cn=[3.5 6]; [c1,h1]=contour(r21s_1,r31s_1,ganancia_1,cn); clabel(c1,h1); colormap(winter) colorbar hold on cn1=[3.5 6]; [c2,h2]=contour(r21s_1,r31s_1,ganancia_2,cn1); clabel(c2,h2); title('|H(f)| > = 3.5 (dB)') xlabel('r31') ylabel('r21') grid on %************************************************************ subplot(1,2,1) load c:/tesis/ebtx1_seg_iguales_masquecero_12 cn=[0.005]; contour(r21s_1,r31s_1,ganancia_1,cn);
Programa 19 189
colormap(winter) hold on contour(r21s_1,r31s_1,ganancia_2,cn); title('|H(f)| < = 0 (dB)') xlabel('r31') ylabel('r21') colormap(winter) grid on %desplegar zonas de trabajo figure(5) load c:/tesis/ebtx1_seg_iguales_masquecero_12 %desplegar zona de trabajo |H(f)|1-2 > = 3.5 dB r31winf_1=1.67; r31wsup_1=2; r21winf_1=1; r21wsup_1=1.33; %delta entre coordenadas, ya definido deltar31=0.005; deltar21=0.005; r31ws_1= r31winf_1:deltar31: r31wsup_1; r21ws_1= r21winf_1:deltar21: r21wsup_1; area_trabajo=zeros(size(ganancia_2,1),size(ganancia_2,2)); r21s_11=1:deltar21:2; r31s_11=1:deltar31:2; y_1=find(r21s_11==r21winf_1); x_1=find(r31s_11==r31winf_1); for j=1:size(r21ws_1,2) for k=1:size(r31ws_1,2) area_trabajo(j+y_1-1,k+x_1-1)=ganancia_2(j+y_1-1,k+x_1-1); end end cn=[3.5]; [c1,h1]=contour(r21s_11,r31s_11,area_trabajo,cn); clabel(c1,h1); text(1.7,1.15, '|H(f)|1-3 < = 0 dB') text(1.7,1.1, '|H(f)|1-2 > = 3.5 dB')
Programa 19 190
colormap(winter) hold on %desplegar zona de trabajo |H(f)|1-3 > = 3.5 dB r31winf_1=1; r31wsup_1=1.33; r21winf_1=1.67; r21wsup_1=2; %definido anteriormente, distancia entre coordenas deltar31=0.005; deltar21=0.005; r31ws_1= r31winf_1:deltar31: r31wsup_1; r21ws_1= r21winf_1:deltar21: r21wsup_1; area_trabajo=zeros(size(ganancia_1,1),size(ganancia_1,2)); r21s_11=1:deltar21:2; r31s_11=1:deltar31:2; y_1=find(r21s_11==r21winf_1); x_1=find(r31s_11==r31winf_1); for j=1:size(r21ws_1,2) for k=1:size(r31ws_1,2) area_trabajo(j+y_1-1,k+x_1-1)=ganancia_1(j+y_1-1,k+x_1-1); end end cn=[3.5 6.2]; [c1,h1]=contour(r21s_11,r31s_11,area_trabajo,cn); clabel(c1,h1); text(1.02,1.9, '|H(f)|1-3 >= 3.5') text(1.02,1.8, '|H(f)|1-2 <= 0') colormap(winter) hold on cn=[3.5 6.2]; [c1,h1]=contour(r21s_1,r31s_1,ganancia_1,cn); clabel(c1,h1); colormap(winter) colorbar hold on cn1=[3.5 6.2]; [c2,h2]=contour(r21s_1,r31s_1,ganancia_2,cn1); clabel(c2,h2);
Programa 19 191
colormap(winter) %************************************************************ hold on cn=[0.005]; contour(r21s_1,r31s_1,ganancia_1,cn); colormap(winter)
hold on contour(r21s_1,r31s_1,ganancia_2,cn); colormap(winter) hold on load c:/tesis/ebtx1_masquecero_12_ganiguales_35 g35s=reshape(ganiguales35,201,[]); cn=[3.5 3.8 4 4.3 4.5 4.8 5 5.3 5.5]; [c2,h2]=contour(r21s_1,r31s_1,g35s,cn); clabel(c2,h2); colormap(winter) title('Direccionalidad de la estructura básica, Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') gtext('|H(f)|1-3 <= 0 dB') gtext('|H(f)|1-2 <= 0 dB') gtext('|H(f)|1-2=|H(f)|1-3>=3.5dB')
Programa 20 192
20. Programa 20: Encontrar la
dependencia de la ganancia con
respecto los segmentos del backbone
de la estructura básica,
transmitiendo con segmento 1= λ/4,
|H(f)| > 0, relaciones entre 1 y 2, segmentos diferentes
Principio de Direccionalidad
%Desplegar relaciones entre 1 y 2 saliendo por segmento 2 y 3. Segmentos con líneas diferentes. Curvas de nivel. %Programó: Roberto Cárdenas C. %desplegar relaciones entre 1 y 2 saliendo por segmento 2 con segmentos de características diferentes %deplegar relaciones entre 1 y 2 saliendo por 2 load c:/tesis/ebtx1_2_2 inf=1; sup=2; delta21=r21s(1,2)-r21s(1,1); delta31=r31s(1,2)-r31s(1,1); r21s_1= inf:delta21:sup; r31s_1= inf:delta31:sup; ganancia1=zeros(size(r21s_1,2),size( r31s_1,2)); ganancia21= find(r21s==r21s_1(1,1)) ganancia31= find(r31s==r31s_1(1,1))
Programa 20 193
for j=1: size(r21s_1,2) for k=1: size( r31s_1,2) ganancia1(j,k)=ganancia(ganancia21,ganancia31); ganancia31=ganancia31+1; end ganancia21=ganancia21+1; ganancia31= find(r31s==r31s_1(1,1)); end %save c:/tesis/ebtx1_2_2_2 %desplegar relaciones entre 1 y 2 saliendo por segmento 3 load c:/tesis/ebtx1_2_1_1 inf=1; sup=2; delta21=r21s(1,2)-r21s(1,1); delta31=r31s(1,2)-r31s(1,1); r21s_1= inf:delta21:sup; r31s_1= inf:delta31:sup; ganancia1=zeros(size(r21s_1,2),size( r31s_1,2)); ganancia21= find(r21s==r21s_1(1,1)); ganancia31= find(r31s==r31s_1(1,1)); for j=1: size(r21s_1,2) for k=1: size( r31s_1,2) ganancia1(j,k)=ganancia(ganancia21,ganancia31); ganancia31=ganancia31+1; end ganancia21=ganancia21+1; ganancia31= find(r31s==r31s_1(1,1)); end %save c:/tesis/ebtx1_2_1_2 %desplegar figure(1) subplot(1,2,2) load c:/tesis/ebtx1_2_2_2 mesh(r21s_1,r31s_1,ganancia1) colorbar title('|H(f)|1-2 > 0 (dB)') xlabel('r31') ylabel('r21') zlabel('20log|V2/vs| (dB)') rotate3d on
Programa 20 194
subplot(1,2,1) load c:/tesis/ebtx1_2_1_2 mesh(r21s_1,r31s_1,ganancia1) title('|H(f)|1-3> 0 (dB), Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21') zlabel('20log|V3/vs| (dB)') rotate3d on %observar posible comportamiento direccional para relaciones entre 1 y 2 figure(2) %figura izquierda subplot(1,2,1) load c:/tesis/ebtx1_2_1_2 mesh(r21s_1,r31s_1,ganancia1) rotate3d on hold on load c:/tesis/ebtx1_2_2_2 mesh(r21s_1,r31s_1,ganancia1) xlabel('r31') ylabel('r21') zlabel('|H(f)| > 0 (dB)') rotate3d on %figura derecha subplot(1,2,2) load c:/tesis/ebtx1_2_1_2 mesh(r21s_1,r31s_1,ganancia1) colorbar xlabel('r31') ylabel('r21') zlabel('|H(f)| > 0 (dB)') rotate3d on hold on load c:/tesis/ebtx1_2_2_2 mesh(r21s_1,r31s_1,ganancia1) colorbar rotate3d on %********************************************************* %curvas de nivel figure(3) subplot(1,2,2) load c:/tesis/ebtx1_2_1_2
Programa 20 195
cn=[4.5 6.5]; [c1,h1]=contour(r21s_1,r31s_1,ganancia1,cn); clabel(c1,h1); colormap(winter) hold on load c:/tesis/ebtx1_2_2_2 cn1=[4.5 9.5]; [c2,h2]=contour(r21s_1,r31s_1,ganancia1,cn1); colormap(winter) clabel(c2,h2); colormap(winter) colorbar title('|H(f)| > = 4.5 (dB)') xlabel('r31') ylabel('r21') grid on %************************************************************ subplot(1,2,1) load c:/tesis/ebtx1_2_1_2 cn=[0.005]; contour(r21s_1,r31s_1,ganancia1,cn); colormap(winter) hold on load c:/tesis/ebtx1_2_2_2 contour(r21s_1,r31s_1,ganancia1,cn); colormap(winter) title('|H(f)| < = 0 (dB)') xlabel('r31') ylabel('r21') grid on %******************************************************************* %desplegar zonas de trabajo figure(4) load c:/tesis/ebtx1_2_1_2 %superior %desplegar zona de trabajo |H(f)|1-3 > = 4.5 dB r31winf_1=1; r31wsup_1=1.35; r21winf_1=1.65; r21wsup_1=2; deltar31=0.005;
Programa 20 196
deltar21=0.005; r31ws_1= r31winf_1:deltar31: r31wsup_1; r21ws_1= r21winf_1:deltar21: r21wsup_1; area_trabajo=zeros(size(ganancia1,1),size(ganancia1,2)); r21s_11=1:deltar21:2; r31s_11=1:deltar31:2; y_1=find(r21s_11==r21winf_1); x_1=find(r31s_11==r31winf_1); for j=1:size(r21ws_1,2) for k=1:size(r31ws_1,2) area_trabajo(j+y_1-1,k+x_1-1)=ganancia1(j+y_1-1,k+x_1-1); end end cn=[4.5]; [c1,h1]=contour(r21s_11,r31s_11,area_trabajo,cn); clabel(c1,h1); text(1.1,1.9, '|H(f)|1-3 >= 4.5') text(1.1,1.8, '|H(f)|1-2 <= 0') colormap(winter) hold on %desplegar zona de trabajo |H(f)|1-2 > = 4.5 dB load c:/tesis/ebtx1_2_2_2 %inferior r31winf_1=1.635; r31wsup_1=2; r21winf_1=1; r21wsup_1=1.23; %definido anteriormente deltar31=0.005; deltar21=0.005; r21s_11=1:deltar21:2; r31s_11=1:deltar31:2; y_1=find(r21s_11 == r21winf_1); x_1=find(r31s_11 == r31winf_1); r31ws_1= r31winf_1:deltar31: r31wsup_1; r21ws_1= r21winf_1:deltar21: r21wsup_1; area_trabajo=zeros(size(ganancia1,1),size(ganancia1,2));
Programa 20 197
for j=1:size(r21ws_1,2) for k=1:size(r31ws_1,2) area_trabajo(j+y_1-1,k+x_1-1)=ganancia1(j+y_1-1,k+x_1-1); end end cn=[6 10]; [c1,h1]=contour(r21s_11,r31s_11,area_trabajo,cn); clabel(c1,h1); text(1.7,1.15, '|H(f)|1-2 >= 6 dB') text(1.7,1.05, '|H(f)|1-3 < = 0 dB') colormap(winter) %desplegar ganancias load c:/tesis/ebtx1_2_1_2 cn=[4.5 6]; [c1,h1]=contour(r21s_1,r31s_1,ganancia1,cn); clabel(c1,h1); colormap(winter) hold on load c:/tesis/ebtx1_2_2_2 cn1=[6 9.5]; [c2,h2]=contour(r21s_1,r31s_1,ganancia1,cn1); colormap(winter) clabel(c2,h2); colormap(winter) colorbar hold on %************************************************************ %desplegar nivel 0 y menores load c:/tesis/ebtx1_2_1_2 cn=[0.005]; contour(r21s_1,r31s_1,ganancia1,cn); colormap(winter) hold on load c:/tesis/ebtx1_2_2_2 contour(r21s_1,r31s_1,ganancia1,cn); colormap(winter) title('Direccionalidad de la estructura básica, Z2=100Zc2, Z3=100Zc3') xlabel('r31') ylabel('r21')
Programa 20 198
gtext('|H(f)|1-3 <= 0 dB') gtext('|H(f)|1-2 <= 0 dB') %************************************************************ %encontrar los puntos comúnes en la magnitud de la función de transferencia mayores o iguales a 4 dB para relaciones entre 1 dB y 2 dB saliendo por segmento 2 y 3 para segmentos con diferente tipo de línea load c:/tesis/ebtx1_2_1_2 ganancia_1=ganancia1; load c:/tesis/ebtx1_2_2_2 ganancia_2=ganancia1; gananciai=zeros(size(ganancia_1,1),size(ganancia_1,2)); cuenta=0; for j=1:size(ganancia_1,1) for k=1:size(ganancia_1,2) if ganancia_1(j,k)==ganancia_2(j,k) cuenta=cuenta+1; gananciai(j,k)=ganancia_1(j,k); end end end cuenta % cuenta = 0, no hay puntos comunes
Programa 21 199
21. Programa 21: Función de
transferencia de red con ocho
terminaciones. Cálculo de
capacidad. Distancias residenciales.
%Programó:Roberto Cárdenas C. %agosto de 2011 clear all; close all; clc %parámetros de líneas por unidad de longitud % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6, 13e-12, 216e-12]; %cargar dep ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; %frecuencias en estudio fi=1.8048e6; deltaf=9600; fin=3e7; f=fi:deltaf:fin; %construcción del canal segmentos=13; parametros=5;
Programa 21 200
segmento=zeros(segmentos,parametros); segmento(1,:)=lin9; segmento(2,:)=lin3; segmento(3,:)=lin9; segmento(4,:)=lin3; segmento(5,:)=lin9; segmento(6,:)=lin6; segmento(7,:)=lin9; segmento(8,:)=lin6; segmento(9,:)=lin9; segmento(10,:)=lin3; segmento(11,:)=lin9; segmento(12,:)=lin6; segmento(13,:)=lin9; %distancias segmentos distancia=zeros(segmentos); %primer caso %distancia=[1.5 1.5 2.6 1.5 3.6 1.5 6.5 1.5 3.6 1.5 3 1.5 2]; %segundo caso distancia=[1.5 1.5 3.3*0.7 1.5 3*0.7 1.5 9*0.7 1.5 9*0.7 1.5 9*0.7 1.5 8.8*0.7]; %parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i));
Programa 21 201
end end %cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %impedancias tx y rx %segrrx=2; %saliendo por 2 segrrx=1; %saliendo por 1 segrtx=8; rrx=zc(segrrx,:); rtx=zc(segrtx,:);
%definición de cargas abierto=1e30*ones(1,frecs); noderivacion=zeros(1,frecs); carga=zeros(segmentos,frecs); carga(1,:)=rrx; carga(2,:)= zc(2,:); carga(3,:)=noderivacion; carga(4,:)=abierto; carga(5,:)=noderivacion; carga(6,:)=abierto; carga(7,:)=noderivacion; carga(8,:)=rtx; carga(9,:)=noderivacion; carga(10,:)=abierto; carga(11,:)=noderivacion; carga(12,:)=abierto; carga(13,:)=zc(13,:); %CONFIGURACIÓN DE LA RED nodos=[1,2,3; 3,4,5; 5,6,7; 7,8,9; 9,10,11; 11,12,13]; %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs);
Programa 21 202
yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); %no se refleja la admitancia de carga en el nodo donde está tx for nodo=1:nronodos for j=1:frecs if (nodos(nodo,2)~=segrtx) %se reflejan las admitancias de carga del segmento central
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento del extremo izquierdo
if (nodo==1)&(nodos(nodo,1)~=segrtx)&(nodos(nodo,1)~=segrrx) yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento del extremo derecho if (nodo==nronodos)&(nodos(nodo,3)~=segrtx)&(nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:))); %factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segmentosanteriores=2*(nodo-1); %nodosintermedios if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segmentosanteriores+1,:)./B(segmentosanteriores+1,:))+(A(segmentosanteriores+3,:)./B(segmentosanteriores+3,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segmentosanteriores+1,:); k((nodo*delta)-1,:)=1./B(segmentosanteriores+3,:); k((nodo*delta),:)=0;
end %nodo izquierdo if (nodo==1)&(nodos(nodo,1)~=segrtx)&(nodos(nodo,1)~=segrrx)
Programa 21 203
k((nodo*delta)-3,:)=(A(segmentosanteriores+3,:)./B(segmentosanteriores+3,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segmentosanteriores+3,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end %nodo derecho if (nodo==nronodos) &(nodos(nodo,3)~=segrtx)&(nodos(nodo,3)~=segrrx)
k((nodo*delta)-3,:)=(A(segmentosanteriores+1,:)./B(segmentosanteriores+1,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segmentosanteriores+1,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end %nodo intermedio con segmento de entrada if(nodo==(segrtx/2))
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end end %nodo transmisor kin=zeros(3,frecs); kout=zeros(3,frecs); kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %nodo receptor kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0; %señales vin=vs; vout=1./kout(1,:).*kout(2,:).*k(16,:).*vtx.*kin(3,:).*k(7,:).*k(11,:).*(k(21,:).*k(17,:)-k(19,:).*k(22,:))./(-k(18,:).*k(21,:).*kin(1,:).*k(9,:).*k(15,:).*k(1,:).*k(5,:)+k(18,:).*k(21,:).*kin(1,:).*k(9,:).*k(15,:).*k(6,:).*k(2,:)+k(21,:).*kin(1,:).*k(9,:).*k(13,:).*k(17,:).*k(1,:).*k(5,:)-k(21,:).*kin(1,:).*k(14,:).*k(11,:).*k(17,:).*k(1,:).*k(5,:)+k(21,:).*kin(1,:).*k(14,:).*k(11,:).*k(17,:).*k(6,:).*k(2,:)-k(21,:).*kin(1,:).*k(13,:).*k(17,:).*k(1,:).*k(7,:).*k(10,:)-k(21,:).*kin(1,:).*k(9,:).*k(13,:).*k(17,:).*k(6,:).*k(2,:)-k(21,:).*k(9,:).*k(16,:).*kin(2,:).*k(17,:).*k(1,:).*k(5,:)+k(21,:).*k(9,:).*k(16,:).*kin(2,:).*k(17,:).*k(6,:).*k(2,:)+k(21,:).*k(16,:).*kin(2,:).*k(17,:).*k(1,:).*k(7,:).*k(10,:)+kin(1,:).*k(14,:).*k(11,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)+k(18,:).*k(21,:).*kin(1,:).*k(15,:).*k(1,:).*k(7,:).*k(10,:)-
Programa 21 204
k(9,:).*k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)-k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(1,:).*k(7,:).*k(10,:)+k(9,:).*k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)+kin(1,:).*k(9,:).*k(13,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)+kin(1,:).*k(13,:).*k(19,:).*k(22,:).*k(1,:).*k(7,:).*k(10,:)-kin(1,:).*k(9,:).*k(13,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)-kin(1,:).*k(14,:).*k(11,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)).*k(2,:); v1=k(16,:).*vtx.*kin(3,:).*k(7,:).*k(11,:).*(k(21,:).*k(17,:)-k(19,:).*k(22,:))./(-k(18,:).*k(21,:).*kin(1,:).*k(9,:).*k(15,:).*k(1,:).*k(5,:)+k(18,:).*k(21,:).*kin(1,:).*k(9,:).*k(15,:).*k(6,:).*k(2,:)+k(21,:).*kin(1,:).*k(9,:).*k(13,:).*k(17,:).*k(1,:).*k(5,:)-k(21,:).*kin(1,:).*k(14,:).*k(11,:).*k(17,:).*k(1,:).*k(5,:)+k(21,:).*kin(1,:).*k(14,:).*k(11,:).*k(17,:).*k(6,:).*k(2,:)-k(21,:).*kin(1,:).*k(13,:).*k(17,:).*k(1,:).*k(7,:).*k(10,:)-k(21,:).*kin(1,:).*k(9,:).*k(13,:).*k(17,:).*k(6,:).*k(2,:)-k(21,:).*k(9,:).*k(16,:).*kin(2,:).*k(17,:).*k(1,:).*k(5,:)+k(21,:).*k(9,:).*k(16,:).*kin(2,:).*k(17,:).*k(6,:).*k(2,:)+k(21,:).*k(16,:).*kin(2,:).*k(17,:).*k(1,:).*k(7,:).*k(10,:)+kin(1,:).*k(14,:).*k(11,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)+k(18,:).*k(21,:).*kin(1,:).*k(15,:).*k(1,:).*k(7,:).*k(10,:)-k(9,:).*k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)-k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(1,:).*k(7,:).*k(10,:)+k(9,:).*k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)+kin(1,:).*k(9,:).*k(13,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)+kin(1,:).*k(13,:).*k(19,:).*k(22,:).*k(1,:).*k(7,:).*k(10,:)-kin(1,:).*k(9,:).*k(13,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)-kin(1,:).*k(14,:).*k(11,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)).*k(2,:); %capacidad stx=stx_futuro; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vout./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); %magnitud de la función de transferencia hf=20*log10(abs(vout./vin)); ************************************fin de cálculos********************************* %Guardar %save c:/tesis/salidapor1_red6 %save c:/tesis/salidapor2_red6 %save c:/tesis/salidapor2_red6_1 %save c:/tesis/salidapor1_red6_1 %deplegar figure(1) load c:/tesis/salidapor2_red6 plot(f/1e6,hf, 'k') axis([1.8 30 -40 -5])
Programa 21 205
title('out 2/in 8 -Distancias Residenciales') xlabel('Frecuencia en MHz') ylabel('|H(f)| dB') grid on
figure(2) load c:/tesis/salidapor1_red6 plot(f/1e6,hf, 'k') axis([1.8 30 -35 0]) title('out 1/in 8 -Distancias Residenciales') xlabel('Frecuencia en MHz') ylabel('|H(f)| dB') grid on figure(3) load c:/tesis/salidapor2_red6_1 plot(f/1e6,hf, 'k') axis([1.8 30 -40 -5]) title('SALIDA POR SEGMENTO 2 -Distancias Residenciales') xlabel('Frecuencia en MHz') ylabel('|H(F)| dB') grid on figure(4) load c:/tesis/salidapor1_red6_1 plot(f/1e6,hf, 'k') axis([1.8 30 -50 10]) title('SALIDA POR SEGMENTO 1 -Distancias Residenciales') xlabel('Frecuencia en MHz') ylabel('|H(F)| dB') grid on %ecuaciones para nodos [v1,v2,v3,v4,v5,v6,vin,vout]=solve('(v1*k1)-(v2*k2)=0','(v2*k5)-(v1*k6)-(v3*k7)=0','(v3*k9)-(v2*k10)-(v4*k11)=0','(v4*k13)-(v3*k14)-(v5*k15)-(vin*k16)=0','(v5*k17)-(v4*k18)-(v6*k19)=0','(v6*k21)-(v5*k22)=0','(vout*kout1)-(v1*kout2)=0','(vin*kin1)-(v4*kin2)=(vtx*kin3)', 'v1','v2','v3','v4','v5','v6','vin','vout');
%capacidad saliendo por 2 =6.2761e+008 %capacidad saliendo por 1=6.5858e+008 %capacidad saliendo por dos segundo caso=6.3461e+008 %capacidad saliendo por 1 segundo caso=6.6265e+008
Programa 22 206
22. Programa 22: Propuesta para PHY-
MAC. Algoritmo para aumento de
capacidad entre TX y RX en una
red BPL In-House Residencial. Caso
de red con ocho terminaciones
propuesta por Bostoen T. y Van de
Wiel O. Transmitiendo por
segmento 8, recibiendo por
segmentos 1/2.
%Programó: Roberto Cárdenas C. %agosto de 2011 %ecuaciones para nodos [v1,v2,v3,v4,v5,v6,vin,vout]=solve('(v1*k1)-(v2*k2)=0','(v2*k5)-(v1*k6)-(v3*k7)=0','(v3*k9)-(v2*k10)-(v4*k11)=0','(v4*k13)-(v3*k14)-(v5*k15)-(vin*k16)=0','(v5*k17)-(v4*k18)-(v6*k19)=0','(v6*k21)-(v5*k22)=0','(vout*kout1)-(v1*kout2)=0','(vin*kin1)-(v4*kin2)=(vtx*kin3)', 'v1','v2','v3','v4','v5','v6','vin','vout'); %*************************comienzan cálculos********************************** clear all; close all; clc %parámetros de líneas por unidad de longitud % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12];
Programa 22 207
lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6, 13e-12, 216e-12]; %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; %frecuencias en estudio fi=1.8048e6; deltaf=9600; fin=3e7; f=fi:deltaf:fin; frecs=size(f,2); %construcción del canal segmentos=13; parametros=5; segmento=zeros(segmentos,parametros); segmento(1,:)=lin9; segmento(2,:)=lin3; segmento(3,:)=lin9; segmento(4,:)=lin3; segmento(5,:)=lin9; segmento(6,:)=lin6; segmento(7,:)=lin9; segmento(8,:)=lin6; segmento(9,:)=lin9; segmento(10,:)=lin3; segmento(11,:)=lin9; segmento(12,:)=lin6; segmento(13,:)=lin9; %arreglo para ramales variables ramales=7; ms=zeros(1,ramales); capacidades=zeros(1,size(ms,2)); %distancias iniciales de los ramales variables m7=1.5; %segmento 12 m6=1.5; %segmento 10 m5=1.5; %segmento 8 m4=1.5; %segmento 6
Programa 22 208
m3=1.5; %segmento 4 m2=1.5; %segmento 2 m1=1.5; %segmento 1 %distancias en el backbone y ramales fijos b6=2; b5=3; b4=3.6; b3=6.5; b2=3.6; b1=2.6; ms=[m1 m2 m3 m4 m5 m6 m7]; bs=[b1 b2 b3 b4 b5 b6]; %distancias segmentos de la red distancia=[ms(1,1) ms(1,2) bs(1,1) ms(1,3) bs(1,2) ms(1,4) bs(1,3) ms(1,5) bs(1,4) ms(1,6) bs(1,5) ms(1,7) bs(1,6)]; %ubicación de segmentos variables dentro del arreglo distancia useg=[1 2 4 6 8 10 12]; %coincide con número de segmento %parámetros eléctricos en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end
Programa 22 209
end %Paso 1. Colocar impedancias características sobre ramales y fijar impedancias en TX y RX %noderivacion=zeros(1,frecs); carga=zeros(segmentos,frecs); for j=1:size(useg,2) carga(1,useg(1,j))=zc(1,useg(1,j)); end %colocar cargas de entrada y salida
%tipos de desacople %abierto=1e30*ones(1,frecs); abierto=100; %abierto=1e30; desacople=5; %segmentos de entrada y salida %segrrx=1; %saliendo por 1 segrrx=2; %saliendo por 2 segrtx=8; %impedancias tx y rx %rrx=abierto; rrx=desacople.*zc(segrrx,:); rtx=zc(segrtx,:); %cargas de entrada y salida carga(segrrx,:)=rrx; carga(segrtx,:)=rtx; %carga para ramal fijo rfijo=13; cargarfijo=zc(rfijo,:); carga(rfijo,:)=cargarfijo; for turno=size(ms,2):-1:1 %comienza por el segmento 12
%Paso 2. Cambiar carga del ramal variable de Zc a 100Zc, abierto, etc segme=useg(1,turno);
mdelturno=distancia(1,segme);
if segme~=segrtx & segme~=segrrx carga(segme,:)=abierto.* zc(segme,:); end %Paso 3: variar longitud del ramal
Programa 22 210
%encontrar m´s %minicial=0.1; %variación de 10 cm en cada intento %m=minicial:0.1:10; m=[0.1 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.4 1.5]; %combinación de 4 longitudes caps=zeros(1,size(m,2)); vout=zeros(1,size(frecs,2)); vouts=zeros(size(m,2),frecs); for u=1:size(m,2)
ms(1,turno)=m(u);
%distancias segmentos distancia=[ms(1,1) ms(1,2) bs(1,1) ms(1,3) bs(1,2) ms(1,4) bs(1,3) ms(1,5) bs(1,4) ms(1,6) bs(1,5) ms(1,7) bs(1,6)];
%cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %CONFIGURACIÓN DE LA RED – ESTRUCTURAS BÁSICAS nodos=[1,2,3; 3,4,5; 5,6,7; 7,8,9; 9,10,11; 11,12,13]; %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); %no se refleja la admitancia de carga en el nodo donde está tx for nodo=1:nronodos for j=1:frecs %se reflejan las admitancias de carga del segmento central if (nodos(nodo,2)~=segrtx)
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end
Programa 22 211
%se refleja desde el segmento del extremo izquierdo if (nodo==1)&(nodos(nodo,1)~=segrtx)&(nodos(nodo,1)~=segrrx)
yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento del extremo derecho if (nodo==nronodos)&(nodos(nodo,3)~=segrtx)&(nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:))); %factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segmentosanteriores=2*(nodo-1); %nodosintermedios if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segmentosanteriores+1,:)./B(segmentosanteriores+1,:))+(A(segmentosanteriores+3,:)./B(segmentosanteriores+3,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segmentosanteriores+1,:); k((nodo*delta)-1,:)=1./B(segmentosanteriores+3,:); k((nodo*delta),:)=0;
end %nodo izquierdo if (nodo==1)&(nodos(nodo,1)~=segrtx)&(nodos(nodo,1)~=segrrx)
k((nodo*delta)-3,:)=(A(segmentosanteriores+3,:)./B(segmentosanteriores+3,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segmentosanteriores+3,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end %nodo derecho if (nodo==nronodos) &(nodos(nodo,3)~=segrtx)&(nodos(nodo,3)~=segrrx)
k((nodo*delta)-3,:)=(A(segmentosanteriores+1,:)./B(segmentosanteriores+1,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segmentosanteriores+1,:);
Programa 22 212
k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end %nodo intermedio con segmento de entrada if(nodo==(segrtx/2))
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end end %nodo transmisor kin=zeros(3,frecs); kout=zeros(3,frecs); kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %nodo receptor kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0; %señales vin=vs;
vouts(u,:) =1./kout(1,:).*kout(2,:).*k(16,:).*vtx.*kin(3,:).*k(7,:).*k(11,:).*(k(21,:).*k(17,:)-k(19,:).*k(22,:))./(-k(18,:).*k(21,:).*kin(1,:).*k(9,:).*k(15,:).*k(1,:).*k(5,:)+k(18,:).*k(21,:).*kin(1,:).*k(9,:).*k(15,:).*k(6,:).*k(2,:)+k(21,:).*kin(1,:).*k(9,:).*k(13,:).*k(17,:).*k(1,:).*k(5,:)-k(21,:).*kin(1,:).*k(14,:).*k(11,:).*k(17,:).*k(1,:).*k(5,:)+k(21,:).*kin(1,:).*k(14,:).*k(11,:).*k(17,:).*k(6,:).*k(2,:)-k(21,:).*kin(1,:).*k(13,:).*k(17,:).*k(1,:).*k(7,:).*k(10,:)-k(21,:).*kin(1,:).*k(9,:).*k(13,:).*k(17,:).*k(6,:).*k(2,:)-k(21,:).*k(9,:).*k(16,:).*kin(2,:).*k(17,:).*k(1,:).*k(5,:)+k(21,:).*k(9,:).*k(16,:).*kin(2,:).*k(17,:).*k(6,:).*k(2,:)+k(21,:).*k(16,:).*kin(2,:).*k(17,:).*k(1,:).*k(7,:).*k(10,:)+kin(1,:).*k(14,:).*k(11,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)+k(18,:).*k(21,:).*kin(1,:).*k(15,:).*k(1,:).*k(7,:).*k(10,:)-k(9,:).*k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)-k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(1,:).*k(7,:).*k(10,:)+k(9,:).*k(16,:).*kin(2,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)+kin(1,:).*k(9,:).*k(13,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)+kin(1,:).*k(13,:).*k(19,:).*k(22,:).*k(1,:).*k(7,:).*k(10,:)-kin(1,:).*k(9,:).*k(13,:).*k(19,:).*k(22,:).*k(1,:).*k(5,:)-kin(1,:).*k(14,:).*k(11,:).*k(19,:).*k(22,:).*k(6,:).*k(2,:)).*k(2,:);
%Verificación de capacidad al cambiar distancias
stx=stx_futuro;
%cálculo de capacidad
Programa 22 213
ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vouts(u,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); caps(u)=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2);
end
mtest= m(find(caps==max(caps))); if size(mtest,2) ~= 1 mtest=m(1,1); captest=caps(1,1); else captest= max(caps); end if turno < size(ms,2) if captest < capacidades(1,turno+1) carga(segme,:)=zc(segme,:); capacidades(1,turno)=capacidades(1,turno+1); ms(1,turno)= mdelturno;
else
ms(1,turno)=mtest;
capacidades(1,turno)=captest;
end
end
if turno == size(ms,2)
ms(1,turno)=mtest;
capacidades(1,turno)=captest;
end end
%imprimir resultados
ms
capacidades
%****************************fin de cálculos*********************************** %Guardar y graficar resultados %Guardar y desplegar %save c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto %100Zc, Zc %ms = 0.1000 2.2000 0.1000 0.1000 1.5000 1.5000 1.4000 %capacidades =1.0e+008 *7.4659 7.1687 7.1129 6.9129 6.7716 6.7716 6.7716 %stx=-64.13 %impedancia =100 5 100 100 1 1 100
Programa 22 214
%************************************************************************** %desplegar saliendo por 2, configuración 1 figure(1) load c:/tesis/salidapor2_red6 plot(f/1e6,hf, 'r') axis([1.8 30 -40 5]) xlabel('Frecuencia en MHz') ylabel('|H(F)| dB') grid on hold on load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto %load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto_4d_v1 umax=find(caps==max(caps)); plot(f./1e6,20.*log10(abs(vouts(umax,:)./vin)),'k') title('out 2/in 8, tx: acoplado, rx: desacoplado (5Zc), cargas: 100Zc, Zc') gtext('|H(f)| original') gtext('|H(f)| modificada') %comparación estadística %canal inicial load c:/tesis/salidapor2_red6 md1=mean(hf) std1=std(hf) %md1 =-12.9955 %std1 =7.9831 %canal modificado load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto umax=find(caps==max(caps)); cm=20.*log10(abs(vouts(umax,:)./vin)); md2=mean(cm) std2=std(cm) %md2 =-0.2975 %std2 =1.3231 mejora_md=md2-md1 %mejora_md =12.6980
Programa 22 215
%************************************************************************** %Cálculos saliendo por 2 con 4 distancias %ms =0.1000 1.5000 0.1000 0.1000 1.5000 1.5000 1.4000 %capacidades =1.0e+008 *7.4117 7.1129 7.1129 6.9129 6.7716 6.7716 6.7716 %stx =-64.1300 %impedancia =100 5 100 100 1 1 100 %useg=[1 2 4 6 8 10 12]
%save c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto_4d_v1 %4d, 100Zc, Zc
%********************************************************************
%CALCULOS RELACIONADOS CON OUT 2/IN 8
%CALCULOS PARA HALLAR LA NUEVA STX %cálculo capacidad h(f) original load c:/tesis/salidapor2_red6 %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; stx=stx_futuro; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vout./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2) %capacidad =6.2761e+008 %100Zc %cambio de stx %cargar h(f) mejorada %load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto %100Zc, Zc load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto_4d_v1 %4d, 100Zc, Zc %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; %mejora_c=7.4659e+008; %100Zc
Programa 22 216
mejora_c=7.4117e+008; %4d, 100Zc, Zc c_original=6.2761e+008; stx=stx_futuro; capacidad=mejora_c; while capacidad >=c_original stx=stx-0.01; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); umax=find(caps==max(caps)); srx_tx_rx=deptx.*(abs(vouts(umax,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); end stx %variación en la densidad espectral de potencia en el receptor %canal inicial close all, clear all, clc dept=-52; %deptm=-64.13; deptm=-61; load c:/tesis/salidapor2_red6 co=10.^(hf./20) dep1=10*log(10^(dept./10)*(co .^2)); %canal modificado %load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto_4d_v1 load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto umax=find(caps==max(caps)); cm=abs(vouts(umax,:)./vin); dep2=10*log(10^(deptm./10)*( cm.^2)); plot(f/1e6,dep1, 'r') %axis([1.8 30 -40 5]) xlabel('Frecuencia en MHz') ylabel('|H(F)| dB') grid on hold on
plot(f/1e6,dep2, 'k') %axis([1.8 30 -40 5]) xlabel('Frecuencia en MHz') ylabel('|H(F)| dB')
Programa 22 217
grid on
%impedancias en ramales %load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto_4d_v1 impedancia=zeros(1,size(useg,2)); for j=1:size(useg,2) if carga(useg(1,j),:)==zc(useg(1,j),:) impedancia(1,j)=1; end if carga(useg(1,j),:)==100.*zc(useg(1,j),:) impedancia(1,j)=100; end if carga(useg(1,j),:)==5.*zc(useg(1,j),:) impedancia(1,j)=5; end end impedancia
%CALCULOS RELACIONADOS CON OUT 1/IN 8
%*************************************************************** %distancias de segmentos y evolución de capacidades
%useg=[1 2 4 6 8 10 12]
%ms =2.1000 0.6000 0.1000 0.1000 1.5000 1.5000 1.4000
%capacidades =1.0e+008 * 7.6810 7.5165 7.2839 7.0944 6.9540 6.9540 6.9540
%stx =-63.6900
%impedancia =5 100 100 100 1 1 100
%save c:/tesis/cap_in8_out1_tx_acoplado_rx_desacoplado_auto %******************************************************************* figure(2) load c:/tesis/salidapor1_red6 plot(f/1e6,hf, 'r') axis([1.8 30 -35 15]) xlabel('Frecuencia en MHz') ylabel('|H(F)| dB') grid on hold on
Programa 22 218
%load c:/tesis/cap_in8_out1_tx_acoplado_rx_desacoplado_auto %100Zc, Zc load c:/tesis/cap_in8_out1_tx_acoplado_rx_desacoplado_auto_4d_v1 %4d, 100Zc, Zc umax=find(caps==max(caps)); plot(f./1e6,20.*log10(abs(vouts(umax,:)./vin)),'k') title('out 1/in 8, tx: acoplado, rx: desacoplado (5Zc), cargas: 100Zc, Zc') gtext('|H(f)| original') gtext('|H(f)| modificada') %CALCULOS PARA HALLAR LA NUEVA STX %calculo capacidad h(f) modificada load c:/tesis/cap_in8_out1_tx_acoplado_rx_desacoplado_auto %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; stx=stx_futuro; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); umax=find(caps==max(caps)); srx_tx_rx=deptx.*(abs(vouts(umax,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2) %capacidad =7.7035e+008 %100Zc %cálculo capacidad h(f) original load c:/tesis/salidapor1_red6 %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; stx_mod=-63.69; stx_mod_4d=-61.94; impulso=0; impulsodb=10; stx=stx_mod_4d; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10);
Programa 22 219
deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vout./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2) %capacidad =6.5858e+008 %100Zc %capacidad_mod =5.4905e+008 %capacidad_mod_4d =5.6545e+008 %cambio de stx %cargar h(f) mejorada %load c:/tesis/cap_in8_out1_tx_acoplado_rx_desacoplado_auto %100Zc, Zc load c:/tesis/cap_in8_out1_tx_acoplado_rx_desacoplado_auto_4d_v1 %4d, 100Zc, Zc %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; %mejora_c=7.681e+008; %100Zc, Zc mejora_c=7.5165e+008; %4d, 100Zc, Zc c_original=6.5858e+008; stx=stx_futuro; capacidad=mejora_c; while capacidad >=c_original stx=stx-0.01; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); umax=find(caps==max(caps)); srx_tx_rx=deptx.*(abs(vouts(umax,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); end stx %impedancias en ramales load c:/tesis/cap_in8_out1_tx_acoplado_rx_desacoplado_auto %load c:/tesis/cap_in8_out1_tx_acoplado_rx_desacoplado_auto_4d_v1 impedancia=zeros(1,size(useg,2)); for j=1:size(useg,2) if carga(useg(1,j),:)==zc(useg(1,j),:) impedancia(1,j)=1; end
Programa 22 220
if carga(useg(1,j),:)==100.*zc(useg(1,j),:) impedancia(1,j)=100; end if carga(useg(1,j),:)==5.*zc(useg(1,j),:) impedancia(1,j)=5; end end impedancia %*******************************************************************
%************************************************************************* %CALCULOS RELACIONADOS CON OUT 1/IN 8 con d=0.1, 0.3, 0.5, 0.6, manteniendo la capacidad
con Zc y longitud inicial
%ms =1.5000 0.6000 0.1000 0.1000 1.5000 1.5000 1.4000
%capacidades =1.0e+008 *7.5165 7.5165 7.2839 7.0944 6.9540 6.9540 6.9540
%impedancia = 5 100 100 100 1 1 100
%stx =-61.9400
%save c:/tesis/cap_in8_out1_tx_acoplado_rx_desacoplado_auto_4d_v1 %impedancias en ramales load c:/tesis/cap_in8_out1_tx_acoplado_rx_desacoplado_auto_4d_v1 impedancia=zeros(1,size(useg,2)); for j=1:size(useg,2) if carga(useg(1,j),:)==zc(useg(1,j),:) impedancia(1,j)=1; end if carga(useg(1,j),:)==100.*zc(useg(1,j),:) impedancia(1,j)=100; end if carga(useg(1,j),:)==5.*zc(useg(1,j),:) impedancia(1,j)=5; end end impedancia %CALCULOS RELACIONADOS CON OUT 2/IN 8 con d=0.1, 0.3, 0.5, 0.6 manteniendo capacidad
con Zc y longitud inicial
Programa 22 221
%ms =0.1000 1.5000 0.1000 0.1000 1.5000 1.5000 1.4000 %capacidades =1.0e+008 *7.4011 7.1090 7.1090 6.9087 6.7682 6.7682 6.7682 %impedancia = 100 5 100 100 1 1 100 % useg=[1 2 4 6 8 10 12] %stx =-64.0100 %save c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto_4d_v1 %impedancias en ramales load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto_4d_v1 impedancia=zeros(1,size(useg,2)); for j=1:size(useg,2) if carga(useg(1,j),:)==zc(useg(1,j),:) impedancia(1,j)=1; end if carga(useg(1,j),:)==100.*zc(useg(1,j),:) impedancia(1,j)=100; end if carga(useg(1,j),:)==5.*zc(useg(1,j),:) impedancia(1,j)=5; end end impedancia %cálculos de las relaciones señal a ruido %canal inicial close all, clear all, clc load c:/tesis/salidapor2_red6 dept=-52; co=10.^(hf./20); dep=10^(dept/10); s1=dep.*co; %canal modificado %load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto_4d_v1 load c:/tesis/cap_in8_out2_tx_acoplado_rx_desacoplado_auto deptm=-64.13; umax=find(caps==max(caps)); cm=abs(vouts(umax,:)./vin); depm=10^(deptm/10); s2=depm.*cm; %potencia del ruido load c:/tesis/benyoucef impulso=0;
Programa 22 222
impulsodb=10; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); %sndb sndb1=10*log10(s1./depruido); sndb2=10*log10(s2./depruido); plot(f/1e6,sndb1, 'r') xlabel('Frecuencia en MHz') ylabel('S/N dB') grid on hold on
plot(f/1e6,sndb2, 'k') xlabel('Frecuencia en MHz') ylabel('S/N (dB)') title('Relación Señal a Ruido (dB)') axis([1.8 30 40 85]) gtext('S/N canal original') gtext('S/N canal modificado') valores de medios de s/n vmedio_original=mean(sndb1) vmedio_modificado=mean(sndb2) dif=vmedio_original-vmedio_modificado %vmedio_original =73.4831 %vmedio_modificado =67.7021 %dif =5.7810
Programa 23 223
23. Programa 23: Propuesta para PHY-
MAC:Transmisión por segmento 1
(TX) de la red de Tucci con
modificación de la función de
transferencia entre TX y segmento
13 (RX) por el método de variación
de longitudes de ramales %Programó: Roberto Cárdenas C. %octubre de 2011 %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178. clear all; close all; clc % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6, 13e-12, 216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009 % r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd
Programa 23 224
ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8]; %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; %intervalo de frecuencia %fi=1.8e6; fi=0; deltaf=9600; fin=3e7; ftemp=fi:deltaf:fin; locfi= find(ftemp>=1800000 & ftemp<=1800000+deltaf); intervalof=size(ftemp,2)-locfi+1; f=zeros(1, intervalof); for i=1:intervalof f(i)=ftemp(locfi+i-1); end %construcción del canal segmentos=26; parametros=5; segmento=zeros(segmentos,parametros); %arbol backbone segmento(1,:)=lin10; segmento(3,:)=lin10; segmento(5,:)=lin10; segmento(7,:)=lin10; segmento(12,:)=lin10; segmento(14,:)=lin10; segmento(16,:)=lin10; segmento(18,:)=lin10; segmento(20,:)=lin10; %ramificación directa backbone segmento(2,:)=lin10; segmento(4,:)=lin10; segmento(6,:)=lin10; segmento(13,:)=lin10;
Programa 23 225
segmento(15,:)=lin10; segmento(17,:)=lin10; segmento(19,:)=lin10; %ramificación en estrella segmento(8,:)=lin10; segmento(9,:)=lin10; segmento(10,:)=lin10; segmento(11,:)=lin10; %ramificación en árbol segmento(21,:)=lin10; segmento(22,:)=lin10; segmento(23,:)=lin10; segmento(24,:)=lin10; segmento(25,:)=lin10; segmento(26,:)=lin10; %arreglo para ramales variables %ramales=8; %ms=zeros(1,ramales); %capacidades=zeros(1,size(ms,2)); %distancia=[3 1 1 3 11 3 1 14 13 7 18 2.5 0.5 2 1 5 3 3 2 2 3 4 3 3 1 1]; %distancias iniciales de los ramales variables mv8=1; %seg 25 mv7=3; %seg 21 mv6=2; %seg 20 mv5=2; %seg 19 mv4=1; %seg15 mv3=0.5; %seg 13 rx mv2=14; %seg8 mv1=3; %seg1 tx %distancias en el backbone y ramales fijos b18=1; %seg26 %ramal fijo b17=3; %seg24 b16=3; %seg23 %ramal fijo b15=4; %seg22 b14=3; %seg18 b13=3; %seg17 ramal fijo b12=5; %seg16 b11=2; %seg14 b10=2.5; %seg12 b9=18; %seg11 ramal fijo b8=7; %seg10 ramal fijo b7=13; %seg9 ramal fijo
Programa 23 226
b6=1; %seg7 b5=3; %seg6 ramal fijo, aquí está L b4=11; %seg5 b3=3; %seg4 b2=1; %seg3 b1=1; %seg2 ramal fijo ramalv=[1 8 13 15 19 20 21 25]; ms=[mv1 mv2 mv3 mv4 mv5 mv6 mv7 mv8]; bs=[b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18]; capacidades=zeros(1,size(ms,2)); %distancias segmentos distancia=zeros(segmentos); distancia=[ms(1,1) bs(1,1) bs(1,2) bs(1,3) bs(1,4) bs(1,5) bs(1,6) ms(1,2) bs(1,7) bs(1,8) bs(1,9) bs(1,10) ms(1,3) bs(1,11) ms(1,4) bs(1,12) bs(1,13) bs(1,14) ms(1,5) ms(1,6) ms(1,7) bs(1,15) bs(1,16) bs(1,17) ms(1,8) bs(1,18)]; %ubicación de segmentos variables dentro del arreglo distancia useg=[1 8 13 15 19 20 21 25]; %parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end
Programa 23 227
% impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end end %Paso 1. Colocar impedancias características sobre ramales y fijar impedancias en TX y RX %definición de cargas noderivacion=zeros(1,frecs); carga=zeros(segmentos,frecs); backbone=zeros(1,frecs); for j=1:size(ramalv,2) carga(ramalv(1,j),:)=zc(ramalv(1,j),:); end %colocar cargas de entrada y salida
%tipos de desacople abierto=1e30*ones(1,frecs); abierto2=100; %abierto2=1e30; desacople=5; ztree=1e30*ones(1,frecs); %segmentos de entrada y salida segrrx=13; segrtx=1;
%impedancias tx y rx rrx=desacople.*zc(segrrx,:); rtx=zc(segrtx,:); %cargas de entrada y salida carga(segrrx,:)=rrx; carga(segrtx,:)=rtx; %carga fan m=1e6; zfani=zeros(1,frecs);
Programa 23 228
x=[1.8*m 2.75*m 4*m 5.9*m 7.1*m 7.7*m 8.7*m 10*m 11.2*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27.5*m 30*m]; y=[100 160 300 140 310 690 500 710 400 250 155 95 55 30 50 100 150]; for j=1:frecs zfani(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zfani(j)=zfani(j)*(1+(signo*vciclo)); end %carga tv ztvi=zeros(1,frecs); x=[1.8*m 2.5*m 3.7*m 5 6*m 6.9*m 7.5*m 8.3*m 9*m 9.5*m 10*m 10.6*m 11*m 11.25*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27*m 30*m]; y=[25 40 75 130 200 350 200 360 420 500 390 280 205 160 100 50 25 24 35 55 90 150]; for j=1:frecs ztvi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end ztvi(j)=ztvi(j)*(1+(signo*vciclo)); end
Programa 23 229
%carga coffee machine zcmi=zeros(1,frecs); x=[1.8*m 2.5*m 5*m 5.4*m 7.5*m 10*m 15*m 20*m 25*m 30*m]; y=[125 180 360 400 250 155 85 65 50 40]; for j=1:frecs zcmi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zcmi(j)=zcmi(j)*(1+(signo*vciclo)); end %segmentos de las cargas no lineales fan=2; tv=17; cm=10; %carga de ramales fijos carga(1,:)=rtx; carga(fan,:)=zfani; carga(3,:)=backbone; carga(4,:)=ztree; carga(5,:)=backbone; %carga(6,:)= zc(6,:); %L cerrado carga(6,:)= abierto; %L abierto carga(7,:)=backbone; %carga(8,:)= zc(8,:); %variable carga(9,:)= abierto; carga(cm,:)=zcmi; carga(11,:)= abierto; carga(12,:)=backbone; carga(13,:)=rrx; carga(14,:)=backbone; %carga(15,:)= zc(15,:); %variable carga(16,:)=backbone;
Programa 23 230
carga(tv,:)= ztvi; carga(18,:)=backbone; %carga(19,:)= zc(19,:); %variable %carga(20,:)= zc(20,:); %variable %carga(21,:)= zc(21,:); %variable carga(22,:)=backbone; carga(23,:)= abierto; carga(24,:)=backbone; %carga(25,:)= zc(25,:); %variable carga(26,:)= abierto; for turno=size(ms,2):-1:1
%Paso 2. Cambiar carga del ramal variable de Zc a 100Zc, abierto, etc segme=ramalv(1,turno); segme1=useg(1,turno);
mdelturno=distancia(1,segme1);
if segme~=segrtx & segme~=segrrx carga(segme,:)=abierto2.* zc(segme,:); end %Paso 3: variar longitud del ramal %encontrar m´s %minicial=0.1; %m=minicial:0.1:10; m=[0.1 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.4 1.5]; caps=zeros(1,size(m,2)); vout=zeros(1,size(frecs,2)); vouts=zeros(size(m,2),frecs); for u=1:size(m,2)
ms(1,turno)=m(1,u);
%distancias segmentos distancia=[ms(1,1) bs(1,1) bs(1,2) bs(1,3) bs(1,4) bs(1,5) bs(1,6) ms(1,2) bs(1,7) bs(1,8) bs(1,9) bs(1,10) ms(1,3) bs(1,11) ms(1,4) bs(1,12) bs(1,13) bs(1,14) ms(1,5) ms(1,6) ms(1,7) bs(1,15) bs(1,16) bs(1,17) ms(1,8) bs(1,18)];
%cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos
Programa 23 231
for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %CONFIGURACIÓN DE LA RED star=0; nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[4,21,22; 22,23,24; 24,25,26]; %admitancia de la estrella nrosegstar=size(nodostar,2); ystar=zeros(nrosegstar,frecs); yestrella=zeros(1,frecs); for segstar=1:nrosegstar for j=1:frecs
ystar(segstar,j)=((C(nodostar(segstar),j)*carga(nodostar(segstar),j))+D(nodostar(segstar),j))/((A(nodostar(segstar),j)*carga(nodostar(segstar),j))+B(nodostar(segstar),j));
end end yestrella=sum(ystar); %impedancia del árbol nronodostree=size(nodostree,1); ytree=zeros(2,frecs); for nodost=1:nronodostree nodo=nronodostree-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+D(nodostree(nodo,3),j))/((A(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+B(nodostree(nodo,3),j)); ytree(2,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end carga(nodostree(nodo,1),:)=1./sum(ytree); end %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs);
Programa 23 232
yder=zeros(nronodos,frecs); for nodo=1:nronodos for j=1:frecs %se incluye la admitancia de la estrella en el backbone if (nodos(nodo,2)==star) y(nodo,j)=yestrella(j); end %se reflejan sobre backbone las admitancias del segmento central de c/nodo if (nodos(nodo,2)~=segrtx)&(nodos(nodo,2)~=star)
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento de inicio del backbone if (nodo==1&nodos(nodo,1)~=segrtx&nodos(nodo,1)~=segrrx)
yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento final del backbone if(nodo==nronodos&nodos(nodo,3)~=segrtx&nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:)));
%factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segizq=nodos(nodo,1); segder=nodos(nodo,3);
%nodo sin segmento central de entrada if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=1./B(segder,:); k((nodo*delta),:)=0;
end
Programa 23 233
%nodo con segmento central de entrada
if (nodos(nodo,2)==segrtx) k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end
%primer nodo del backbone que no tenga tx ni rx en segmento izquierdo if ((nodo==1)&(segizq~=segrtx)&(segizq~=segrrx))
k((nodo*delta)-3,:)=(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segder,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end
%nodo final del backbone que no tenga tx ni rx en segmento derecho if ((nodo==nronodos)&(segder~=segrtx)&(segder~=segrrx))
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end end
%Constantes para las ecuaciones de entrada y salida
kin=zeros(3,frecs); kout=zeros(3,frecs); %punto de transmisión kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %punto de recepción kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0;
%señales vin=vs; vouts(u,:) =1./kout(1,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*(-k(29,:).*k(26,:).*k(23,:)+k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:))./(-k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-
Programa 23 234
k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)).*kout(2,:);
Programa 23 235
%Cálculo de capacidad al cambiar distancias
stx=stx_futuro;
%cálculo de capacidad ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vouts(u,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); caps(u)=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2);
end %de u
mtest= m(find(caps==max(caps))); captest= max(caps); if size(mtest,2) ~= 1 mtest=m(1,1); captest=caps(1,1); else captest= max(caps); end %manejo de capacidades maximas iguales %si no se han procesado todos los ramales variables if turno < size(ms,2) if captest < capacidades(1,turno+1) % si no se puede aumentar la capacidad carga(segme,:)=zc(segme,:); %si no hay influencia en la capacidad, colocar Zc capacidades(1,turno)=capacidades(1,turno+1);%colocar cap anterior mayor ms(1,turno)= mdelturno; %se deja la distancia original del ramal variable %ya que los cálculos anteriores se hicieron con esta %distancia else ms(1,turno)=mtest; capacidades(1,turno)=captest; end end if turno == size(ms,2) ms(1,turno)=mtest; capacidades(1,turno)=captest; end end %de turno %imprimir los resultados ms
Programa 23 236
capacidades %capacidades para L abierto
%ms =0.1000 0.5000 2.7000 1.8000 7.0000 6.9000 1.6000 7.4000
%capacidades =1.0e+008 *6.0097 5.9954 5.8557 5.7043 5.6681 5.6663 5.6641 5.6324
%ramalv=[1 8 13 15 19 20 21 25];
%save c:/tesis/desde1abierto_ganancia_v1
%capacidades para L cerrado
%ms =0.1000 0.5000 2.7000 1.8000 6.9000 6.9000 1.6000 7.5000
%capacidades =1.0e+008 *6.0816 6.0672 5.9275 5.7754 5.7391 5.7373 5.7352 5.7038
%save c:/tesis/desde1cerrado_ganancia_v1
%************************************************************************
% Desplegar resultados %magnitud de función de transferencia con L cerrado figure(1) load c:/tesis/desde1cerrado_ganancia_v1 %load c:/tesis/desde1cerrado_ganancia_v1_4d umax=find(caps==max(caps)); plot(f./1e6,20.*log10(abs(vouts(umax,:)./vin)),'k') hold on load c:/tesis/desde1cerrado plot(f./1e6,20.*log10(abs(voutl13./vin)),'r') axis([1.8 30 -50 0]) title('out 13/in 1, Modificación de |H(f)|, L cerrado') ylabel('|H(f)| en dB') xlabel('Frecuencia en MHz') grid on gtext('|H(f)| original') gtext('|H(f)| modificada') %capacidad con L cerrado load c:/tesis/desde1cerrado_ganancia_v1 %cargar ruido load c:/tesis/benyoucef %condiciones iniciales
Programa 23 237
stx_futuro=-52; impulso=0; impulsodb=10; stx=stx_futuro; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); umax=find(caps==max(caps)); srx_tx_rx=deptx.*(abs(vouts(umax,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2) %capacidad = 6.0816e+008 %************************************************************** load c:/tesis/desde1cerrado %cargar ruido load c:/tesis/benyoucef %condiciones iniciales %stx_futuro=-52; stx_no_interferencia=-72; impulso=0; impulsodb=10; stx=stx_no_interferencia; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vout./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2) %capacidad original=5.3769e+008 %capacidad_no_interferencia =3.5043e+008 %****************************************************************** %cambio en stx %cargar h(f) mejorada %load c:/tesis/desde1cerrado_ganancia_v1 load c:/tesis/desde1cerrado_ganancia_v1_4d %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; %mejora_c= 6.0816e+008;
Programa 23 238
mejora_c= 5.9570e+008; %4d c_original=5.3769e+008; stx=stx_futuro; capacidad=mejora_c; while capacidad >=c_original stx=stx-0.01; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); umax=find(caps==max(caps)); srx_tx_rx=deptx.*(abs(vouts(umax,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); end stx %stx =-59.5300
%**********************************************************************
%capacidades para L cerrado con d=0.1, 0.3, 0.5, 0.6
%ms =0.1000 0.6000 1.5000 1.5000 0.1000 0.8000 1.5000 1.0000
%capacidades =1.0e+008 *5.9570 5.9426 5.7979 5.7462 5.7304 5.7298 5.7292 5.7034
%save c:/tesis/desde1cerrado_ganancia_v1_4d %stx = -58.2000 %******************************************************************************* %cálculos con L abierto figure(2) load c:/tesis/desde1abierto_ganancia_v1 umax=find(caps==max(caps)); plot(f./1e6,20.*log10(abs(vouts(umax,:)./vin)),'k') hold on load c:/tesis/desde1abierto plot(f./1e6,20.*log10(abs(voutl13./vin)),'r') %axis([1.8 30 -50 0]) axis([1.8 30 -50 5]) title('out 13/in 1, Modificación de |H(f)|, L abierto') ylabel('|H(f)| en dB') xlabel('Frecuencia en MHz') grid on gtext('|H(f)| original') gtext('|H(f)| modificada')
Programa 23 239
%capacidad con L abierto load c:/tesis/desde1abierto_ganancia_v1 stx=stx_futuro; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); umax=find(caps==max(caps)); srx_tx_rx=deptx.*(abs(vouts(umax,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2) %capacidad =6.0097e+008 %capacidad inicial (original) con L abierto load c:/tesis/desde1abierto %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; %stx_no_interferencia=-72; impulso=0; impulsodb=10; %stx=stx_no_interferencia; stx=stx_futuro; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vout./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2) %capacidad_no_interferencia con -72 =3.4320e+008 %capacidad con -52 =5.3045e+008 %cambio en stx %cargar h(f) mejorada %load c:/tesis/desde1abierto_ganancia_v1 load c:/tesis/desde1abierto_ganancia_v1_4d %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; %mejora_c=6.0097e+008;
Programa 23 240
mejora_c=5.8856e+008; %4d c_original=5.3045e+008; stx=stx_futuro; capacidad=mejora_c; while capacidad >=c_original stx=stx-0.01; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); umax=find(caps==max(caps)); srx_tx_rx=deptx.*(abs(vouts(umax,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); end stx %stx =-59.5300 %comparación estadística %canal inicial %load c:/tesis/desde1abierto load c:/tesis/desde1cerrado hf=20.*log10(abs(voutl13./vin)); md1=mean(hf) std1=std(hf) md1 =-23.3663 std1 =7.0695 %canal modificado load c:/tesis/desde1cerrado_ganancia_v1 umax=find(caps==max(caps)); cm=20.*log10(abs(vouts(umax,:)./vin)); md2=mean(cm) std2=std(cm) %md2 =-15.8390 (abierto) %std2 =8.8020 (abierto) mejora_md=md2-md1 %mejora_md =7.5273 (abierto) %cálculos de las relaciones señal a ruido %canal inicial close all, clear all, clc load c:/tesis/desde1abierto dept=-52; %co=10.^(hf./20);
Programa 23 241
hf=abs(vout./vin); dep=10^(dept/10); s1=dep.*hf; %canal modificado load c:/tesis/desde1abierto_ganancia_v1 load c:/tesis/desde1cerrado_ganancia_v1 deptm=-59.53; %(abierto y cerrado) umax=find(caps==max(caps)); cm=abs(vouts(umax,:)./vin); depm=10^(deptm/10); s2=depm.*cm; %potencia del ruido load c:/tesis/benyoucef impulso=0; impulsodb=10; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); %sndb sndb1=10*log10(s1./depruido); sndb2=10*log10(s2./depruido); plot(f/1e6,sndb1, 'r') xlabel('Frecuencia en MHz') ylabel('S/N dB') grid on hold on
plot(f/1e6,sndb2, 'k') xlabel('Frecuencia en MHz') ylabel('S/N (dB)') title('Relación Señal a Ruido (dB)') axis([1.8 30 35 80]) gtext('S/N canal original') gtext('S/N canal modificado') %valores de medios de s/n vmedio_original=mean(sndb1) vmedio_modificado=mean(sndb2) dif=vmedio_original-vmedio_modificado
Programa 23 242
%vmedio_original =68.2977 (abierto) %vmedio_modificado =64.5313 (abierto) %dif =3.7664 (abierto) %vmedio_original =68.2977 %vmedio_modificado =64.9147 %dif =3.3829 %***********************************************************************
%capacidades para L abierto con d=0.1, 0.3, 0.5, 0.6
%ms =0.1000 0.5000 1.5000 1.5000 0.1000 0.8000 1.5000 0.9000
%capacidades =1.0e+008 *5.8856 5.8712 5.7268 5.6753 5.6598 5.6593 5.6587 5.6317
%stx =-58.2100
%save c:/tesis/desde1abierto_ganancia_v1_4d %******************************************************************************
%CALCULOS Y DESPLIEGUE PARA EL PRIMER SALTO
%desplegar primer salto para L cerrado y L abierto subplot(1,2,1) load c:/tesis/desde1abierto plot(f./1e6,20.*log10(abs(voutl21./ vin)),'k') axis([1.8 30 0 55]) title('Primer salto, L abierto') ylabel('|H(f)| en dB') xlabel('Frecuencia en MHz') grid on subplot(1,2,2) load c:/tesis/desde1cerrado plot(f./1e6,20.*log10(abs(voutl21./ vin)),'k') axis([1.8 30 0 55]) title('Primer salto, L cerrado') ylabel('|H(f)| en dB') xlabel('Frecuencia en MHz') grid on %CAPACIDADES DEL PRIMER SALTO %cargar datos de la red de Tucci %load c:/tesis/desde1abierto load c:/tesis/desde1cerrado %cargar ruido load c:/tesis/benyoucef
Programa 23 243
%condiciones iniciales stx_futuro=-52; stx_no_interferencia=-72; impulso=0; impulsodb=10; stx=stx_no_interferencia; %stx=stx_futuro; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(voutl21./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2) %capacidad primer salto, stx_futuro, L abierto=1.1130e+009
%capacidad primer salto, stx_no_interferencia, L abierto =9.2562e+008
%capacidad primer salto, stx_futuro, L cerrado =1.1130e+009
%capacidad primer salto, stx_no_interferencia, L cerrado =9.2562e+008
Programa 24 244
24. Programa 24: Aplicación de AVLR
para casos prácticos. Caso canal
TX-RX de la red de TUCCI para L
cerrado %PROGRAMÓ: ROBERTO CÁRDENAS C. %OCTUBRE DE 2011 clear all; close all; clc % FASE 1. ENCONTRAR STX INICIAL. BAJAR STX HASTA ENCONTRAR UNA RATA DE FUNCIONAMIENTO IGUAL A UNA FRACCIÓN DE LA CAPACIDAD MÁXIMA (224.47 Mbps) CON LA FUNCIÓN DE TRANSFERENCIA ORIGINAL %cargar h(f) original load c:/tesis/desde1cerrado %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; %(IEEE) impulso=0; impulsodb=10; %constante técnica %ctdb=0.5; %Según HomePlug %máxima rata de funcionamiento=capacidad esperada en HomePlug mr=224.47e+6; %Según HomePlug %fracción de la máxima rata para cálculo de h(f) mejorado fmr=0.7 %fmr=0.5 %DEP stx=stx_futuro; %rata de trabajo rt=mr*fmr;
Programa 24 245
%constante técnica %ct=10^(-ctdb/10); rata_temp=mr; while rata_temp >=rt stx=stx-0.01; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vout./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); rata_temp=capacidad; end stx=stx+0.01 %fmr =0.5000, stx =-98.4000 %fmr =0.7000,stx =-93.0600 %FASE 2. APLICAR AVLR %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178. % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6, 13e-12, 216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009 % r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8];
Programa 24 246
%cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; %intervalo de frecuencia %fi=1.8e6; fi=0; deltaf=9600; fin=3e7; ftemp=fi:deltaf:fin; locfi= find(ftemp>=1800000 & ftemp<=1800000+deltaf); intervalof=size(ftemp,2)-locfi+1; f=zeros(1, intervalof); for i=1:intervalof f(i)=ftemp(locfi+i-1); end %construcción del canal segmentos=26; parametros=5; segmento=zeros(segmentos,parametros); %arbol backbone segmento(1,:)=lin10; segmento(3,:)=lin10; segmento(5,:)=lin10; segmento(7,:)=lin10; segmento(12,:)=lin10; segmento(14,:)=lin10; segmento(16,:)=lin10; segmento(18,:)=lin10; segmento(20,:)=lin10; %ramificación directa backbone segmento(2,:)=lin10; segmento(4,:)=lin10; segmento(6,:)=lin10; segmento(13,:)=lin10; segmento(15,:)=lin10; segmento(17,:)=lin10;
Programa 24 247
segmento(19,:)=lin10; %ramificación en estrella segmento(8,:)=lin10; segmento(9,:)=lin10; segmento(10,:)=lin10; segmento(11,:)=lin10; %ramificación en árbol segmento(21,:)=lin10; segmento(22,:)=lin10; segmento(23,:)=lin10; segmento(24,:)=lin10; segmento(25,:)=lin10; segmento(26,:)=lin10; %arreglo para ramales variables %ramales=8; %ms=zeros(1,ramales); %capacidades=zeros(1,size(ms,2)); %distancia=[3 1 1 3 11 3 1 14 13 7 18 2.5 0.5 2 1 5 3 3 2 2 3 4 3 3 1 1]; %distancias iniciales de los ramales variables mv8=1; %seg 25 mv7=3; %seg 21 mv6=2; %seg 20 mv5=2; %seg 19 mv4=1; %seg15 mv3=0.5; %seg 13 rx mv2=14; %seg8 mv1=3; %seg1 tx %distancias en el backbone y ramales fijos b18=1; %seg26 %ramal fijo b17=3; %seg24 b16=3; %seg23 %ramal fijo b15=4; %seg22 b14=3; %seg18 b13=3; %seg17 ramal fijo b12=5; %seg16 b11=2; %seg14 b10=2.5; %seg12 b9=18; %seg11 ramal fijo b8=7; %seg10 ramal fijo b7=13; %seg9 ramal fijo b6=1; %seg7 b5=3; %seg6 ramal fijo, aquí está L
Programa 24 248
b4=11; %seg5 b3=3; %seg4 b2=1; %seg3 b1=1; %seg2 ramal fijo ramalv=[1 8 13 15 19 20 21 25]; ms=[mv1 mv2 mv3 mv4 mv5 mv6 mv7 mv8]; bs=[b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18]; capacidades=zeros(1,size(ms,2)); %distancias segmentos distancia=zeros(segmentos); distancia=[ms(1,1) bs(1,1) bs(1,2) bs(1,3) bs(1,4) bs(1,5) bs(1,6) ms(1,2) bs(1,7) bs(1,8) bs(1,9) bs(1,10) ms(1,3) bs(1,11) ms(1,4) bs(1,12) bs(1,13) bs(1,14) ms(1,5) ms(1,6) ms(1,7) bs(1,15) bs(1,16) bs(1,17) ms(1,8) bs(1,18)]; %ubicación de segmentos variables dentro del arreglo distancia useg=[1 8 13 15 19 20 21 25]; %parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end % impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud
Programa 24 249
zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end end %Paso 1. Colocar impedancias características sobre ramales y fijar impedancias en TX y RX %definición de cargas noderivacion=zeros(1,frecs); carga=zeros(segmentos,frecs); backbone=zeros(1,frecs); for j=1:size(ramalv,2) carga(ramalv(1,j),:)=zc(ramalv(1,j),:); end %colocar cargas de entrada y salida
%tipos de desacople abierto=1e30*ones(1,frecs); abierto2=100; %abierto2=1e30; desacople=5; ztree=1e30*ones(1,frecs); %segmentos de entrada y salida segrrx=13; segrtx=1;
%impedancias tx y rx rrx=desacople.*zc(segrrx,:); rtx=zc(segrtx,:); %cargas de entrada y salida carga(segrrx,:)=rrx; carga(segrtx,:)=rtx; %carga fan m=1e6; zfani=zeros(1,frecs); x=[1.8*m 2.75*m 4*m 5.9*m 7.1*m 7.7*m 8.7*m 10*m 11.2*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27.5*m 30*m]; y=[100 160 300 140 310 690 500 710 400 250 155 95 55 30 50 100 150];
Programa 24 250
for j=1:frecs zfani(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zfani(j)=zfani(j)*(1+(signo*vciclo)); end %carga tv ztvi=zeros(1,frecs); x=[1.8*m 2.5*m 3.7*m 5 6*m 6.9*m 7.5*m 8.3*m 9*m 9.5*m 10*m 10.6*m 11*m 11.25*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27*m 30*m]; y=[25 40 75 130 200 350 200 360 420 500 390 280 205 160 100 50 25 24 35 55 90 150]; for j=1:frecs ztvi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end ztvi(j)=ztvi(j)*(1+(signo*vciclo)); end %carga coffee machine zcmi=zeros(1,frecs); x=[1.8*m 2.5*m 5*m 5.4*m 7.5*m 10*m 15*m 20*m 25*m 30*m];
Programa 24 251
y=[125 180 360 400 250 155 85 65 50 40]; for j=1:frecs zcmi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zcmi(j)=zcmi(j)*(1+(signo*vciclo)); end %segmentos de las cargas no lineales fan=2; tv=17; cm=10; %carga de ramales fijos carga(1,:)=rtx; carga(fan,:)=zfani; carga(3,:)=backbone; carga(4,:)=ztree; carga(5,:)=backbone; carga(6,:)= zc(6,:); %L cerrado %carga(6,:)= abierto; %L abierto carga(7,:)=backbone; %carga(8,:)= zc(8,:); %variable carga(9,:)= abierto; carga(cm,:)=zcmi; carga(11,:)= abierto; carga(12,:)=backbone; carga(13,:)=rrx; carga(14,:)=backbone; %carga(15,:)= zc(15,:); %variable carga(16,:)=backbone; carga(tv,:)= ztvi; carga(18,:)=backbone; %carga(19,:)= zc(19,:); %variable
Programa 24 252
%carga(20,:)= zc(20,:); %variable %carga(21,:)= zc(21,:); %variable carga(22,:)=backbone; carga(23,:)= abierto; carga(24,:)=backbone; %carga(25,:)= zc(25,:); %variable carga(26,:)= abierto; for turno=size(ms,2):-1:1
%Paso 2. Cambiar carga del ramal variable de Zc a 100Zc, abierto, etc segme=ramalv(1,turno); segme1=useg(1,turno);
mdelturno=distancia(1,segme1);
if segme~=segrtx & segme~=segrrx carga(segme,:)=abierto2.* zc(segme,:); end %Paso 3: variar longitud del ramal %encontrar m´s %minicial=0.1; %m=minicial:0.1:10; m=[0.1 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.4 1.5]; caps=zeros(1,size(m,2)); vout=zeros(1,size(frecs,2)); vouts=zeros(size(m,2),frecs); for u=1:size(m,2)
ms(1,turno)=m(1,u);
%distancias segmentos distancia=[ms(1,1) bs(1,1) bs(1,2) bs(1,3) bs(1,4) bs(1,5) bs(1,6) ms(1,2) bs(1,7) bs(1,8) bs(1,9) bs(1,10) ms(1,3) bs(1,11) ms(1,4) bs(1,12) bs(1,13) bs(1,14) ms(1,5) ms(1,6) ms(1,7) bs(1,15) bs(1,16) bs(1,17) ms(1,8) bs(1,18)];
%cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg));
Programa 24 253
C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %CONFIGURACIÓN DE LA RED star=0; nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[4,21,22; 22,23,24; 24,25,26]; %admitancia de la estrella nrosegstar=size(nodostar,2); ystar=zeros(nrosegstar,frecs); yestrella=zeros(1,frecs); for segstar=1:nrosegstar for j=1:frecs
ystar(segstar,j)=((C(nodostar(segstar),j)*carga(nodostar(segstar),j))+D(nodostar(segstar),j))/((A(nodostar(segstar),j)*carga(nodostar(segstar),j))+B(nodostar(segstar),j));
end end yestrella=sum(ystar); %impedancia del árbol nronodostree=size(nodostree,1); ytree=zeros(2,frecs); for nodost=1:nronodostree nodo=nronodostree-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+D(nodostree(nodo,3),j))/((A(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+B(nodostree(nodo,3),j)); ytree(2,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end carga(nodostree(nodo,1),:)=1./sum(ytree); end %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); for nodo=1:nronodos
Programa 24 254
for j=1:frecs %se incluye la admitancia de la estrella en el backbone if (nodos(nodo,2)==star) y(nodo,j)=yestrella(j); end %se reflejan sobre backbone las admitancias del segmento central de c/nodo if (nodos(nodo,2)~=segrtx)&(nodos(nodo,2)~=star)
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento de inicio del backbone if (nodo==1&nodos(nodo,1)~=segrtx&nodos(nodo,1)~=segrrx)
yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento final del backbone if(nodo==nronodos&nodos(nodo,3)~=segrtx&nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:)));
%factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segizq=nodos(nodo,1); segder=nodos(nodo,3);
%nodo sin segmento central de entrada if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=1./B(segder,:); k((nodo*delta),:)=0;
end
%nodo con segmento central de entrada if (nodos(nodo,2)==segrtx)
Programa 24 255
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end
%primer nodo del backbone que no tenga tx ni rx en segmento izquierdo if ((nodo==1)&(segizq~=segrtx)&(segizq~=segrrx))
k((nodo*delta)-3,:)=(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segder,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end
%nodo final del backbone que no tenga tx ni rx en segmento derecho if ((nodo==nronodos)&(segder~=segrtx)&(segder~=segrrx))
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end end
%Constantes para las ecuaciones de entrada y salida
kin=zeros(3,frecs); kout=zeros(3,frecs); %punto de transmisión kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %punto de recepción kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0;
%señales vin=vs; vouts(u,:) =1./kout(1,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*(-k(29,:).*k(26,:).*k(23,:)+k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:))./(-k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+k(5,:).*kin(1,:).*k(1,:).
Programa 24 256
*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)).*kout(2,:);
%Cálculo de capacidad al cambiar distancias
Programa 24 257
%stx=stx_futuro;
%cálculo de capacidad ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vouts(u,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); caps(u)=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2);
end %de u
mtest= m(find(caps==max(caps))); captest= max(caps); if size(mtest,2) ~= 1 mtest=m(1,1); captest=caps(1,1); else captest= max(caps); end %manejo de capacidades maximas iguales %si no se han procesado todos los ramales variables if turno < size(ms,2) if captest < capacidades(1,turno+1) % si no se puede aumentar la capacidad carga(segme,:)=zc(segme,:); %si no hay influencia en la capacidad, colocar Zc capacidades(1,turno)=capacidades(1,turno+1);%colocar cap anterior mayor ms(1,turno)= mdelturno; %se deja la distancia original del ramal variable %ya que los cálculos anteriores se hicieron con esta %distancia else ms(1,turno)=mtest; capacidades(1,turno)=captest; end end if turno == size(ms,2) ms(1,turno)=mtest; capacidades(1,turno)=captest; end end %de turno %imprimir los resultados ms %FASE 3. CON EL CANAL MEJORADO POR AVLR AUMENTAR DEP HASTA ALCANZAR LA MÁXIMA RATA DE FUNCIONAMIENTO.
Programa 24 258
umax=find(caps==max(caps)); %constante técnica en dB %ctdb=0.5; %Según HomePlug %constante técnica %ct=10^(-ctdb/10); rata_temp=rt; ratas=zeros(1,size(capacidades,2)); %ratas=ct.*capacidades %ratas=capacidades while rata_temp <= mr deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vouts(umax,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); rata_temp=capacidad; stx=stx+0.0001; end stx=stx-0.0001 %save c:/tesis/desde1_avlr_practico_fmr05 %save c:/tesis/desde1_avlr_practico_fmr07 %save c:/tesis/desde1_avlr_practico_fmr05_c %save c:/tesis/desde1_avlr_practico_fmr07_c %L cerrado %**************************************************************************** %calculando con capacidad nov 2012 %fmr =0.7000 %stx =-93.0600 %ms =0.1000 0.5000 1.5000 1.5000 0.1000 0.8000 1.5000 0.9000 %capacidades =1.0e+008 *2.1724 2.1587 2.0196 1.9748 1.9384 1.9345 1.9327 1.8954 %stx =-92.2200 %fmr =0.5000 %stx =-98.4000 %ms =0.1000 0.5000 1.5000 1.5000 0.4000 0.9000 1.5000 0.9000 %ratas =1.0e+008 *1.7276 1.7143 1.5794 1.5395 1.4818 1.4773 1.4752 1.4317 %stx =-92.3200 %****************************************************************************
Programa 24 259
%fmr =0.5000 %stx =-98.4100 %ms =0.1000 0.6000 1.5000 1.5000 0.4000 0.9000 1.5000 0.9000 %ratas =1.0e+008 *1.5383 1.5265 1.4063 1.3710 1.3196 1.3155 1.3136 1.2747 %stx =-92.3100 %fmr =0.7000 %stx inicial=-93.0600 %ms =0.1000 0.5000 1.5000 1.5000 0.1000 0.8000 1.5000 0.9000 %ratas =1.0e+008 *1.9369 1.9247 1.8006 1.7605 1.7277 1.7244 1.7229 1.6896 %stx final =-92.2400 %desplegar para interruptor cerrado figure(1) subplot(2,1,1) %load c:/tesis/desde1_avlr_practico_fmr05 load c:/tesis/desde1_avlr_practico_fmr05_c umax=find(caps==max(caps)); plot(f./1e6,20.*log10(abs(vouts(umax,:)./vin)),'k') hold on load c:/tesis/desde1cerrado plot(f./1e6,20.*log10(abs(vout./vin)),'r') axis([1.8 30 -50 0]) title('out13/in1 (Fig. 4.2), Modificación de |H(f)|, L cerrado, AVLR práctico, frm=0.5') ylabel('|H(f)| en dB') %xlabel('Frecuencia en MHz') grid on gtext('|H(f)| original') gtext('|H(f)| modificada') subplot(2,1,2) %load c:/tesis/desde1_avlr_practico_fmr07 load c:/tesis/desde1_avlr_practico_fmr07_c umax=find(caps==max(caps)); plot(f./1e6,20.*log10(abs(vouts(umax,:)./vin)),'k') hold on load c:/tesis/desde1cerrado plot(f./1e6,20.*log10(abs(vout./vin)),'r') axis([1.8 30 -50 0]) title('out13/in1 (Fig. 4.2), Modificación de |H(f)|, L cerrado, AVLR práctico, fmr=0.7') ylabel('|H(f)| en dB') xlabel('Frecuencia en MHz') grid on gtext('|H(f)| original') gtext('|H(f)| modificada')
Programa 24 260
%comparación estadística %valor promedio de la mft original load c:/tesis/desde1cerrado vmoriginal=mean(20.*log10(abs(vout./vin))); % vmoriginal =-22.5937 media de la function de transferencia original %cálculos de las relaciones señal a ruido %canal inicial close all, clear all, clc load c:/tesis/desde1_avlr_practico_fmr07_c deptm=-92.22; %para máxima capacidad HomePlug umax=find(caps==max(caps)); cm=abs(vouts(umax,:)./vin); depm=10^(deptm/10); s2=depm.*cm; cmpdb=mean(20*log10(cm)); %media de la nueva función de transferencia %cmpdb =-16.4034 deltahf=cmpdb-vmoriginal; %diferencias en hf %deltahf =6.1903 %potencia del ruido load c:/tesis/benyoucef impulso=0; impulsodb=10; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); %sndb sndb2=10*log10(s2./depruido); figure(1)
plot(f/1e6,sndb2, 'k')
xlabel('Frecuencia en MHz') ylabel('S/N (dB)') title('Relación Señal a Ruido (dB)') axis([1.8 30 -5 45]) grid on %valor de medio de s/n vmedio_modificado=mean(sndb2) %vmedio_modificado =31.5591 snr del canal modificado
Programa 24 261
load c:/tesis/desde1_avlr_practico_fmr07_c %se usa -52 dBm/Hz umax=find(caps==max(caps)); figure(2) plot(f./1e6,20.*log10(abs(vouts(umax,:)./vin)),'k') hold on load c:/tesis/desde1cerrado plot(f./1e6,20.*log10(abs(vout./vin)),'r') axis([1.8 30 -50 0]) title('out13/in1 (Fig. 4.2), Modificación de |H(f)|, L cerrado, AVLR práctico') ylabel('|H(f)| en dB') xlabel('Frecuencia en MHz') grid on gtext('|H(f)| original') gtext('|H(f)| modificada') %cálculo del porcentaje de portadoras inútiles en la snr load c:/tesis/desde1_avlr_practico_fmr07_c deptm=-92.22; %para máxima capacidad HomePlug umax=find(caps==max(caps)); cm=abs(vouts(umax,:)./vin); depm=10^(deptm/10); s2=depm.*cm; %potencia del ruido load c:/tesis/benyoucef impulso=0; impulsodb=10; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); %sndb sndb2=10*log10(s2./depruido); p_no_util=0; for j=1:size(sndb2,2) if sndb2(1,j) <= 0 p_no_util=p_no_util+1; end end pp=(p_no_util/size(sndb2,2))*100
Programa 25 262
25. Programa 25. Aplicación de
AVLR_R_ODF a la red de Tucci. Se
usan como transmisores 1 y 21, se
recibe en 13. En 21 Zc y no se usa
para AVLR %PROGRAMÓ: ROBERTO CÁRDENAS C. %OCTUBRE DE 2011 clear all; close all; clc % FASE 1. ENCONTRAR STX INICIAL. BAJAR STX HASTA ENCONTRAR UNA RATA DE FUNCIONAMIENTO IGUAL A UNA FRACCIÓN DE LA CAPACIDAD MÁXIMA (224.47 Mbps) CON LA FUNCIÓN DE TRANSFERENCIA ORIGINAL %cargar h(f) original load c:/tesis/desde1cerrado %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; %(IEEE) impulso=0; impulsodb=10; %constante técnica %ctdb=0.5; %Según HomePlug %máxima rata de funcionamiento=capacidad esperada en HomePlug mr=224.47e+6; %Según HomePlug %fracción de la máxima rata para cálculo de h(f) mejorado fmr=0.7 %DEP stx=stx_futuro;
Programa 25 263
%rata de trabajo rt=mr*fmr; %constante técnica %ct=10^(-ctdb/10); rata_temp=mr; while rata_temp >=rt stx=stx-0.01; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vout./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); rata_temp=capacidad; end stx=stx+0.01 %stx =-93.0600 %capacidad =1.5705e+008 %rt =157129000 %FASE 2. APLICAR AVLR %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178. % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6, 13e-12, 216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009 % r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd
Programa 25 264
ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8]; %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; %intervalo de frecuencia %fi=1.8e6; fi=0; deltaf=9600; fin=3e7; ftemp=fi:deltaf:fin; locfi= find(ftemp>=1800000 & ftemp<=1800000+deltaf); intervalof=size(ftemp,2)-locfi+1; f=zeros(1, intervalof); for i=1:intervalof f(i)=ftemp(locfi+i-1); end %construcción del canal segmentos=26; parametros=5; segmento=zeros(segmentos,parametros); %arbol backbone segmento(1,:)=lin10; segmento(3,:)=lin10; segmento(5,:)=lin10; segmento(7,:)=lin10; segmento(12,:)=lin10; segmento(14,:)=lin10; segmento(16,:)=lin10; segmento(18,:)=lin10; segmento(20,:)=lin10; %ramificación directa backbone segmento(2,:)=lin10; segmento(4,:)=lin10; segmento(6,:)=lin10; segmento(13,:)=lin10;
Programa 25 265
segmento(15,:)=lin10; segmento(17,:)=lin10; segmento(19,:)=lin10; %ramificación en estrella segmento(8,:)=lin10; segmento(9,:)=lin10; segmento(10,:)=lin10; segmento(11,:)=lin10; %ramificación en árbol segmento(21,:)=lin10; segmento(22,:)=lin10; segmento(23,:)=lin10; segmento(24,:)=lin10; segmento(25,:)=lin10; segmento(26,:)=lin10; %arreglo para ramales variables %ramales=8;
%ms=zeros(1,ramales);
%capacidades=zeros(1,size(ms,2));
%distancia=[3 1 1 3 11 3 1 14 13 7 18 2.5 0.5 2 1 5 3 3 2 2 3 4 3 3 1 1]; %distancias iniciales de los ramales variables mv7=1; %seg 25 %mv7=3; %seg 21 %en este experimento no varía mv6=2; %seg 20 mv5=2; %seg 19 mv4=1; %seg15 mv3=0.5; %seg 13 rx mv2=14; %seg8 mv1=3; %seg1 tx %distancias en el backbone y ramales fijos b19=3; %seg 21 %retransmisor para el salto b18=1; %seg26 %ramal fijo b17=3; %seg24 b16=3; %seg23 %ramal fijo b15=4; %seg22 b14=3; %seg18 b13=3; %seg17 ramal fijo b12=5; %seg16 b11=2; %seg14 b10=2.5; %seg12 b9=18; %seg11 ramal fijo b8=7; %seg10 ramal fijo
Programa 25 266
b7=13; %seg9 ramal fijo b6=1; %seg7 b5=3; %seg6 ramal fijo, aquí está L b4=11; %seg5 b3=3; %seg4 b2=1; %seg3 b1=1; %seg2 ramal fijo ramalv=[1 8 13 15 19 20 25]; ms=[mv1 mv2 mv3 mv4 mv5 mv6 mv7]; bs=[b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19]; capacidades=zeros(1,size(ms,2)); %distancias segmentos distancia=zeros(segmentos); distancia=[ms(1,1) bs(1,1) bs(1,2) bs(1,3) bs(1,4) bs(1,5) bs(1,6) ms(1,2) bs(1,7) bs(1,8) bs(1,9) bs(1,10) ms(1,3) bs(1,11) ms(1,4) bs(1,12) bs(1,13) bs(1,14) ms(1,5) ms(1,6) bs(1,19) bs(1,15) bs(1,16) bs(1,17) ms(1,7) bs(1,18)]; %ubicación de segmentos variables dentro del arreglo distancia useg=[1 8 13 15 19 20 25]; %parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end
Programa 25 267
% impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end end %Paso 1. Colocar impedancias características sobre ramales y fijar impedancias en TX y RX %definición de cargas noderivacion=zeros(1,frecs); carga=zeros(segmentos,frecs); backbone=zeros(1,frecs); for j=1:size(ramalv,2) carga(ramalv(1,j),:)=zc(ramalv(1,j),:); end %colocar cargas de entrada y salida
%tipos de desacople abierto=1e30*ones(1,frecs); abierto2=100; %abierto2=1e30; desacople=5; ztree=1e30*ones(1,frecs); %segmentos de entrada y salida segrrx=13; segrtx=1;
%impedancias tx y rx rrx=desacople.*zc(segrrx,:); rtx=zc(segrtx,:); %cargas de entrada y salida carga(segrrx,:)=rrx; carga(segrtx,:)=rtx; %carga fan m=1e6; zfani=zeros(1,frecs);
Programa 25 268
x=[1.8*m 2.75*m 4*m 5.9*m 7.1*m 7.7*m 8.7*m 10*m 11.2*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27.5*m 30*m]; y=[100 160 300 140 310 690 500 710 400 250 155 95 55 30 50 100 150]; for j=1:frecs zfani(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zfani(j)=zfani(j)*(1+(signo*vciclo)); end %carga tv ztvi=zeros(1,frecs); x=[1.8*m 2.5*m 3.7*m 5 6*m 6.9*m 7.5*m 8.3*m 9*m 9.5*m 10*m 10.6*m 11*m 11.25*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27*m 30*m]; y=[25 40 75 130 200 350 200 360 420 500 390 280 205 160 100 50 25 24 35 55 90 150]; for j=1:frecs ztvi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end ztvi(j)=ztvi(j)*(1+(signo*vciclo)); end
Programa 25 269
%carga coffee machine zcmi=zeros(1,frecs); x=[1.8*m 2.5*m 5*m 5.4*m 7.5*m 10*m 15*m 20*m 25*m 30*m]; y=[125 180 360 400 250 155 85 65 50 40]; for j=1:frecs zcmi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zcmi(j)=zcmi(j)*(1+(signo*vciclo)); end %segmentos de las cargas no lineales fan=2; tv=17; cm=10; %carga de ramales fijos carga(1,:)=rtx; carga(fan,:)=zfani; carga(3,:)=backbone; carga(4,:)=ztree; carga(5,:)=backbone; carga(6,:)= zc(6,:); %L cerrado %carga(6,:)= abierto; %L abierto carga(7,:)=backbone; %carga(8,:)= zc(8,:); %variable carga(9,:)= abierto; carga(cm,:)=zcmi; carga(11,:)= abierto; carga(12,:)=backbone; carga(13,:)=rrx; carga(14,:)=backbone; %carga(15,:)= zc(15,:); %variable carga(16,:)=backbone;
Programa 25 270
carga(tv,:)= ztvi; carga(18,:)=backbone; %carga(19,:)= zc(19,:); %variable %carga(20,:)= zc(20,:); %variable carga(21,:)= zc(21,:); carga(22,:)=backbone; carga(23,:)= abierto; carga(24,:)=backbone; %carga(25,:)= zc(25,:); %variable carga(26,:)= abierto; for turno=size(ms,2):-1:1
%Paso 2. Cambiar carga del ramal variable de Zc a 100Zc, abierto, etc segme=ramalv(1,turno); segme1=useg(1,turno);
mdelturno=distancia(1,segme1);
if segme~=segrtx & segme~=segrrx carga(segme,:)=abierto2.* zc(segme,:); end %Paso 3: variar longitud del ramal %encontrar m´s %minicial=0.1; %m=minicial:0.1:10; m=[0.1 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.4 1.5]; caps=zeros(1,size(m,2)); vout=zeros(1,size(frecs,2)); vouts=zeros(size(m,2),frecs); for u=1:size(m,2)
ms(1,turno)=m(1,u);
%distancias segmentos
distancia=[ms(1,1) bs(1,1) bs(1,2) bs(1,3) bs(1,4) bs(1,5) bs(1,6) ms(1,2) bs(1,7) bs(1,8) bs(1,9) bs(1,10) ms(1,3) bs(1,11) ms(1,4) bs(1,12) bs(1,13) bs(1,14) ms(1,5) ms(1,6) bs(1,19) bs(1,15) bs(1,16) bs(1,17) ms(1,7) bs(1,18)];
%cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs);
Programa 25 271
for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %CONFIGURACIÓN DE LA RED star=0; nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[4,21,22; 22,23,24; 24,25,26]; %admitancia de la estrella nrosegstar=size(nodostar,2); ystar=zeros(nrosegstar,frecs); yestrella=zeros(1,frecs); for segstar=1:nrosegstar for j=1:frecs
ystar(segstar,j)=((C(nodostar(segstar),j)*carga(nodostar(segstar),j))+D(nodostar(segstar),j))/((A(nodostar(segstar),j)*carga(nodostar(segstar),j))+B(nodostar(segstar),j));
end end yestrella=sum(ystar); %impedancia del árbol nronodostree=size(nodostree,1); ytree=zeros(2,frecs); for nodost=1:nronodostree nodo=nronodostree-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+D(nodostree(nodo,3),j))/((A(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+B(nodostree(nodo,3),j)); ytree(2,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end carga(nodostree(nodo,1),:)=1./sum(ytree); end %admitancias reflejadas sobre el backbone nronodos=size(nodos,1);
Programa 25 272
y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); for nodo=1:nronodos for j=1:frecs %se incluye la admitancia de la estrella en el backbone if (nodos(nodo,2)==star) y(nodo,j)=yestrella(j); end %se reflejan sobre backbone las admitancias del segmento central de c/nodo if (nodos(nodo,2)~=segrtx)&(nodos(nodo,2)~=star)
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento de inicio del backbone if (nodo==1&nodos(nodo,1)~=segrtx&nodos(nodo,1)~=segrrx)
yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento final del backbone if(nodo==nronodos&nodos(nodo,3)~=segrtx&nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:)));
%factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segizq=nodos(nodo,1); segder=nodos(nodo,3);
%nodo sin segmento central de entrada if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=1./B(segder,:);
Programa 25 273
k((nodo*delta),:)=0; end
%nodo con segmento central de entrada if (nodos(nodo,2)==segrtx)
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end
%primer nodo del backbone que no tenga tx ni rx en segmento izquierdo if ((nodo==1)&(segizq~=segrtx)&(segizq~=segrrx))
k((nodo*delta)-3,:)=(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segder,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end
%nodo final del backbone que no tenga tx ni rx en segmento derecho if ((nodo==nronodos)&(segder~=segrtx)&(segder~=segrrx))
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end end
%Constantes para las ecuaciones de entrada y salida
kin=zeros(3,frecs); kout=zeros(3,frecs); %punto de transmisión kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %punto de recepción kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0;
%señales vin=vs; vouts(u,:) =1./kout(1,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*(-k(29,:).*k(26,:).*k(23,:)+k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:))./(-k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(
Programa 25 274
22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(29,:).
Programa 25 275
*k(25,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)).*kout(2,:);
%Cálculo de capacidad al cambiar distancias
%stx=stx_futuro;
%cálculo de capacidad ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vouts(u,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); caps(u)=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2);
end %de u
mtest= m(find(caps==max(caps)));
captest= max(caps);
if size(mtest,2) ~= 1 mtest=m(1,1); captest=caps(1,1); else
captest= max(caps); end
%manejo de capacidades maximas iguales
%si no se han procesado todos los ramales variables
if turno < size(ms,2)
if captest < capacidades(1,turno+1) % si no se puede aumentar la capacidad
carga(segme,:)=zc(segme,:); %si no hay influencia en la capacidad, colocar Zc
capacidades(1,turno)=capacidades(1,turno+1);%colocar cap anterior mayor
ms(1,turno)= mdelturno; %se deja la distancia original del ramal variable
%ya que los cálculos anteriores se hicieron con esta
%distancia
else
ms(1,turno)=mtest;
capacidades(1,turno)=captest;
end
end
if turno == size(ms,2)
ms(1,turno)=mtest;
capacidades(1,turno)=captest;
end end %de turno
Programa 25 276
%imprimir los resultados ms %FASE 3. CON EL CANAL MEJORADO POR AVLR AUMENTAR DEP HASTA ALCANZAR LA MÁXIMA RATA DE FUNCIONAMIENTO. umax=find(caps==max(caps)); %constante técnica en dB %ctdb=0.5; %Según HomePlug %constante técnica %ct=10^(-ctdb/10); rata_temp=rt; ratas=zeros(1,size(capacidades,2)); %ratas=ct.*capacidades %ratas=capacidades while rata_temp <= mr deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vouts(umax,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); rata_temp=capacidad; stx=stx+0.0001; end stx=stx-0.0001 %ms =0.1000 0.5000 1.5000 1.5000 0.1000 0.8000 0.9000 %stx =-91.7505 % rata_temp =2.2447e+008 %capacidades =1.0e+008 *2.1282 2.1143 1.9739 1.9271 1.8996 1.8970 1.8958 %save c:/tesis/desde1_avlr_practico_fmr07_sin21 %desplegar para interruptor cerrado figure(1) load c:/tesis/desde1_avlr_practico_fmr07_sin21 umax=find(caps==max(caps)); plot(f./1e6,20.*log10(abs(vouts(umax,:)./vin)),'k') hold on load c:/tesis/desde1cerrado plot(f./1e6,20.*log10(abs(vout./vin)),'r') axis([1.8 30 -50 0]) title('out 13/in 1 (Tucci), Modificación de |H(f)|, L cerrado, AVLR práctico, frm=0.5, sin21') ylabel('|H(f)| en dB') %xlabel('Frecuencia en MHz')
Programa 25 277
grid on gtext('|H(f)| original') gtext('|H(f)| modificada') %encontrar función de transferencia y capacidad 1-21 load c:/tesis/desde1_avlr_practico_fmr07_sin21 % ramalv =1 8 13 15 19 20 25 % useg =1 8 13 15 19 20 25 % ms = 0.1000 0.5000 1.5000 1.5000 0.1000 0.8000 0.9000 ms1=ms; %distancias iniciales de los ramales variables mv7=1; %seg 25 %mv7=3; %seg 21 %en este experimento no varía mv6=2; %seg 20 mv5=2; %seg 19 mv4=1; %seg15 mv3=0.5; %seg 13 rx mv2=14; %seg8 mv1=3; %seg1 tx %distancias en el backbone y ramales fijos b19=3; %seg 21 %retransmisor para el salto b18=1; %seg26 %ramal fijo b17=3; %seg24 b16=3; %seg23 %ramal fijo b15=4; %seg22 b14=3; %seg18 b13=3; %seg17 ramal fijo b12=5; %seg16 b11=2; %seg14 b10=2.5; %seg12 b9=18; %seg11 ramal fijo b8=7; %seg10 ramal fijo b7=13; %seg9 ramal fijo b6=1; %seg7 b5=3; %seg6 ramal fijo, aquí está L b4=11; %seg5 b3=3; %seg4 b2=1; %seg3 b1=1; %seg2 ramal fijo ramalv=[1 8 13 15 19 20 25]; ms=[mv1 mv2 mv3 mv4 mv5 mv6 mv7]; bs=[b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19];
Programa 25 278
%distancias segmentos distancia=zeros(segmentos); distancia=[ms(1,1) bs(1,1) bs(1,2) bs(1,3) bs(1,4) bs(1,5) bs(1,6) ms(1,2) bs(1,7) bs(1,8) bs(1,9) bs(1,10) ms(1,3) bs(1,11) ms(1,4) bs(1,12) bs(1,13) bs(1,14) ms(1,5) ms(1,6) bs(1,19) bs(1,15) bs(1,16) bs(1,17) ms(1,7) bs(1,18)]; %ubicación de segmentos variables dentro del arreglo distancia useg=[1 8 13 15 19 20 25]; for j=1:size(ms1,2) distancia(1,useg(1,j))=ms1(1,j); end %distancia =0.1 1 1 3 11 3 1 0.5 13 7 18 2.5 1.5 2 1.5 5 3 3 0.1 0.8 3 4 3 3 0.9 1 %cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %CONFIGURACIÓN DE LA RED star=0; nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[4,21,22; 22,23,24; 24,25,26]; %admitancia de la estrella nrosegstar=size(nodostar,2); ystar=zeros(nrosegstar,frecs); yestrella=zeros(1,frecs); for segstar=1:nrosegstar for j=1:frecs
ystar(segstar,j)=((C(nodostar(segstar),j)*carga(nodostar(segstar),j))+D(nodostar(segstar),j))/((A(nodostar(segstar),j)*carga(nodostar(segstar),j))+B(nodostar(segstar),j));
end end yestrella=sum(ystar);
Programa 25 279
%impedancia del árbol nronodostree=size(nodostree,1); ytree=zeros(2,frecs); for nodost=1:nronodostree nodo=nronodostree-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+D(nodostree(nodo,3),j))/((A(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+B(nodostree(nodo,3),j)); ytree(2,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end carga(nodostree(nodo,1),:)=1./sum(ytree); end %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); for nodo=1:nronodos for j=1:frecs %se incluye la admitancia de la estrella en el backbone if (nodos(nodo,2)==star) y(nodo,j)=yestrella(j); end %se reflejan sobre backbone las admitancias del segmento central de c/nodo if (nodos(nodo,2)~=segrtx)&(nodos(nodo,2)~=star)
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento de inicio del backbone
if (nodo==1&nodos(nodo,1)~=segrtx&nodos(nodo,1)~=segrrx) yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento final del backbone if(nodo==nronodos&nodos(nodo,3)~=segrtx&nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end
Programa 25 280
%ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:)));
%factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segizq=nodos(nodo,1); segder=nodos(nodo,3);
%nodo sin segmento central de entrada if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=1./B(segder,:); k((nodo*delta),:)=0;
end
%nodo con segmento central de entrada if (nodos(nodo,2)==segrtx)
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end
%primer nodo del backbone que no tenga tx ni rx en segmento izquierdo if ((nodo==1)&(segizq~=segrtx)&(segizq~=segrrx))
k((nodo*delta)-3,:)=(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segder,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end
%nodo final del backbone que no tenga tx ni rx en segmento derecho if ((nodo==nronodos)&(segder~=segrtx)&(segder~=segrrx))
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end end
kin=zeros(3,frecs);
Programa 25 281
kout=zeros(3,frecs); %punto de transmisión kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %punto de recepción kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0;
%señales vin=vs; vout=1./kout(1,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*(-k(29,:).*k(26,:).*k(23,:)+k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:))./(-k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(3,:).*k(6
Programa 25 282
,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)).*kout(2,:); v1=(k(5,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(5,:).*k(13,:).*k(9,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(7,:).*k(13,:).*k(10,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(13,:).*k(10,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(13,:).*k(10,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(2,:).*vtx.*kin(3,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2
Programa 25 283
,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v2=k(2,:).*vtx.*kin(3,:).*k(6,:).*(k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(13,:).*k(9,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(11,:).*k(14,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(13,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k
Programa 25 284
(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:));
Programa 25 285
v3=k(2,:).*vtx.*kin(3,:).*(k(13,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(13,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(13,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(13,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(13,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(10,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-
Programa 25 286
k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v4=k(2,:).*vtx.*kin(3,:).*k(10,:).*k(6,:).*k(14,:).*(k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(19,:).*k(22,:).*k(29,:).*k(25,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-
Programa 25 287
k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v5=(k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:)-k(29,:).*k(26,:).*k(23,:)).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-
Programa 25 288
kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v6=k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:).*k(22,:).*(k(29,:).*k(25,:)-k(27,:).*k(30,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(1
Programa 25 289
0,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v7=k(29,:).*k(26,:).*k(22,:).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-
Programa 25 290
kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v8=k(26,:).*k(22,:).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-
Programa 25 291
k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(30,:); %voltajes sobre backbone del árbol %admitancias del árbol nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[4,21,22; 22,23,24; 24,25,26]; nronodos=size(nodostree,1); yt=zeros(nronodos+1,frecs); for nodo=1:nronodos for j=1:frecs %se reflejan sobre backbone las admitancias del segmento central de c/nodo yt(nodo,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/ ((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j)); end end %admitancia de ramal final
Programa 25 292
for j=1:frecs yt(nronodostree+1,j)=1/carga(nodostree(nronodos,3),j); end %factores constantes para ecuaciones de nodos en árbol nrosegsnodo=size(nodostree,2); delta= nrosegsnodo; kt=zeros((nronodos+1)*delta,frecs); for nodo=1:nronodos segizq=nodostree(nodo,1); segder=nodostree(nodo,3); kt((nodo*delta)-2,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+yt(nodo,:); kt((nodo*delta)-1,:)=1./B(segizq,:); kt((nodo*delta),:)=1./B(segder,:); end ramafinal=nodostree(nronodos,3); kt(((nronodos+1)*delta)-2,:)= (A(ramafinal,:)./B(ramafinal,:))+yt(nronodostree+1,:); kt(((nronodos+1)*delta)-1,:)= (1./B(ramafinal,:)); v21=v2.*kt(2,:).*-kt(10,:).*kt(8,:).*kt(6,:)+kt(4,:).*kt(10,:).*kt(7,:)-kt(4,:).*kt(9,:).*kt(11,:)./(-kt(10,:).*kt(8,:).*kt(1,:).*kt(6,:)+kt(1,:).*kt(4,:).*kt(10,:).*kt(7,:)-kt(1,:).*kt(4,:).*kt(9,:).*kt(11,:)-kt(5,:).*kt(3,:).*kt(10,:).*kt(7,:)+kt(5,:).*kt(3,:).*kt(9,:).*kt(11,:)); v22=(kt(10,:).*kt(7,:)-kt(9,:).*kt(11,:)).*kt(5,:).*v2.*kt(2,:)./(-kt(10,:).*kt(8,:).*kt(1,:).*kt(6,:)+kt(1,:).*kt(4,:).*kt(10,:).*kt(7,:)-kt(1,:).*kt(4,:).*kt(9,:).*kt(11,:)-kt(5,:).*kt(3,:).*kt(10,:).*kt(7,:)+kt(5,:).*kt(3,:).*kt(9,:).*kt(11,:)); v23=kt(10,:).*kt(8,:).*kt(5,:).*v2.*kt(2,:)./(-kt(10,:).*kt(8,:).*kt(1,:).*kt(6,:)+kt(1,:).*kt(4,:).*kt(10,:).*kt(7,:)-kt(1,:).*kt(4,:).*kt(9,:).*kt(11,:)-kt(5,:).*kt(3,:).*kt(10,:).*kt(7,:)+kt(5,:).*kt(3,:).*kt(9,:).*kt(11,:)); v24=kt(8,:).*kt(5,:).*v2.*kt(2,:)./(-kt(10,:).*kt(8,:).*kt(1,:).*kt(6,:)+kt(1,:).*kt(4,:).*kt(10,:).*kt(7,:)-kt(1,:).*kt(4,:).*kt(9,:).*kt(11,:)-kt(5,:).*kt(3,:).*kt(10,:).*kt(7,:)+kt(5,:).*kt(3,:).*kt(9,:).*kt(11,:)).*kt(11,:); %constantes para puntos de salida %salida por l2 segrrx=2; koutl2=zeros(2,frecs); koutl2(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl2(2,:)=1./B(segrrx,:); %salida por l21 (serían las mismas constantes que para voutt) segrrx=21;
Programa 25 293
koutl21=zeros(2,frecs); koutl21(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl21(2,:)=1./B(segrrx,:); %salida por l23 segrrx=23; koutl23=zeros(2,frecs); koutl23(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl23(2,:)=1./B(segrrx,:); %salida por l25 segrrx=25; koutl25=zeros(2,frecs); koutl25(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl25(2,:)=1./B(segrrx,:); %salida por l26 (serían las mismas constantes que para v24) segrrx=26; koutl26=zeros(2,frecs); koutl26(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl26(2,:)=1./B(segrrx,:); %salida por l6 segrrx=6; koutl6=zeros(2,frecs); koutl6(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl6(2,:)=1./B(segrrx,:);
%salida por l8 segrrx=8; koutl8=zeros(2,frecs); koutl8(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl8(2,:)=1./B(segrrx,:); %salida por l9 segrrx=9; koutl9=zeros(2,frecs); koutl9(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl9(2,:)=1./B(segrrx,:); %salida por l10 segrrx=10; koutl10=zeros(2,frecs); koutl10(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl10(2,:)=1./B(segrrx,:); %salida por l11 segrrx=11;
Programa 25 294
koutl11=zeros(2,frecs); koutl11(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl11(2,:)=1./B(segrrx,:); %salida por l13 (salida propuesta por Tucci) segrrx=13; koutl13=zeros(2,frecs); koutl13(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl13(2,:)=1./B(segrrx,:); %salida por l15 segrrx=15; koutl15=zeros(2,frecs); koutl15(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl15(2,:)=1./B(segrrx,:); %salida por l17 segrrx=17; koutl17=zeros(2,frecs); koutl17(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl17(2,:)=1./B(segrrx,:); %salida por l19 segrrx=19; koutl19=zeros(2,frecs); koutl19(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl19(2,:)=1./B(segrrx,:); %salida por l20 segrrx=20; koutl20=zeros(2,frecs); koutl20(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl20(2,:)=1./B(segrrx,:); %voltajes de salida voutl2 =v1.*koutl2(2,:)./koutl2(1,:); voutl21=v21.* koutl21(2,:)./ koutl21(1,:); voutl23=v22.* koutl23(2,:)./ koutl23(1,:); voutl25=v23.* koutl25(2,:)./ koutl25(1,:); voutl26=v23.* koutl26(2,:)./ koutl26(1,:); voutl6 =v3.*koutl6(2,:)./koutl6(1,:); voutl8 =v4.*koutl8(2,:)./koutl8(1,:); voutl9 =v4.*koutl9(2,:)./koutl9(1,:); voutl10 =v4.*koutl10(2,:)./koutl10(1,:); voutl11 =v4.*koutl11(2,:)./koutl11(1,:); voutl13 =v5.*koutl13(2,:)./koutl13(1,:); voutl15 =v6.*koutl15(2,:)./koutl15(1,:); voutl17 =v7.*koutl17(2,:)./koutl17(1,:);
Programa 25 295
voutl19 =v8.*koutl19(2,:)./koutl19(1,:); voutl20 =v8.*koutl20(2,:)./koutl20(1,:); %guardar todas las variables %save c:/tesis/desde1cerrado_avlr_practico_cap_homeplug_07 % Desplegar resultados %magnitud de función de transferencia con L cerrado load c:/tesis/desde1cerrado_avlr_practico_cap_homeplug_07 figure(1) subplot(6,2,1) plot(f./1e6,20.*log10(abs(voutl2./vin)),'k') axis([1.8 30 -15 5]) title('Vl2/VTX') ylabel('|H(f)| en dB') subplot(6,2,2) plot(f./1e6,20.*log10(abs(voutl21./ vin)),'k') axis([1.8 30 -5 70]) title('Vl21/VTX') ylabel('|H(f)| en dB') subplot(6,2,3) plot(f./1e6,20.*log10(abs(voutl25./vin)),'k') axis([1.8 30 -50 5]) title('Vl25/VTX') ylabel('|H(f)| en dB') subplot(6,2,4) plot(f./1e6,20.*log10(abs(voutl6./vin)),'k') axis([1.8 30 -40 0]) title('Vl6/VTX') ylabel('|H(f)| en dB') subplot(6,2,5) plot(f./1e6,20.*log10(abs(voutl8./ vin)),'k') axis([1.8 30 -45 5]) title('Vl8/VTX') ylabel('|H(f)| en dB') subplot(6,2,6) plot(f./1e6,20.*log10(abs(voutl10./vin)),'k') axis([1.8 30 -40 5]) title('Vl10/VTX') ylabel('|H(f)| en dB')
Programa 25 296
subplot(6,2,7) plot(f./1e6,20.*log10(abs(voutl13./vin)),'k') axis([1.8 30 -45 0]) title('Vl13/VTX') ylabel('|H(f)| en dB') subplot(6,2,8) plot(f./1e6,20.*log10(abs(voutl15./vin)),'k') axis([1.8 30 -45 0]) title('Vl15/VTX') ylabel('|H(f)| en dB') subplot(6,2,9) plot(f./1e6,20.*log10(abs(voutl17./vin)),'k') axis([1.8 30 -60 0]) title('Vl17/VTX') ylabel('|H(f)| en dB') subplot(6,2,10) plot(f./1e6,20.*log10(abs(voutl19./vin)),'k') axis([1.8 30 -50 0]) title('Vl19/VTX') xlabel('Frecuencia en MHz') ylabel('|H(f)| en dB') subplot(6,2,11) plot(f./1e6,20.*log10(abs(voutl20./vin)),'k') axis([1.8 30 -50 0]) title('Vl20/VTX') xlabel('Frecuencia en MHz') ylabel('|H(f)| en dB') figure(3) load c:/tesis/desde1cerrado_avlr_practico_cap_homeplug plot(f./1e6,20.*log10(abs(voutl21./ vin)),'k') axis([1.8 30 0 70]) title('|H(f)| en el receptor de segmento 21, AVLR práctico, Capacidad HomePlug, L cerrado') ylabel('|H(f)| en dB') grid on
%magnitud de la función de transferencia y capacidad entre 21-13. TX en 21. load c:/tesis/desde1_avlr_practico_fmr07_sin21 %orden desde TX=1[1 2 3….26] distancia =[0.1 1 1 3 11 3 1 0.5 13 7 18 2.5 1.5 2 1.5 5 3 3 0.1 0.8 3 4 3 3 0.9 1]; distancia1=distancia; impedancia=zeros(1,size(useg,2));
Programa 25 297
for j=1:size(useg,2) if carga(useg(1,j),:)==zc(useg(1,j),:) impedancia(1,j)=1; end if carga(useg(1,j),:)==100.*zc(useg(1,j),:) impedancia(1,j)=100; end if carga(useg(1,j),:)==5.*zc(useg(1,j),:) impedancia(1,j)=5; end end %impedancia = 1 100 5 100 100 100 100 %ramalv = 1 8 13 15 19 20 25 %distancias segmentos %distancia desde 21=[3 4 3 1 11 3 1 14 13 7 18 2.5 0.5 2 1 5 3 3 2 2 3 3 1 1 1 3]; orden21=[21 22 4 1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23 24 25 26 2 1]; for j=1:size(orden21,2) distancia(1,j)=distancia1(1,orden21(1,j)); end %distancia =3 4 3 0.1 11 3 1 0.5 13 7 18 2.5 1.5 2 1.5 5 3 3 0.1 0.8 3 3 0.9 1 1 0.1 %cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end %impedancias tx y rx segrrx=13; segrtx=21; rrx=zc(segrrx,:); rtx=zc(segrtx,:);
%definición de cargas
Programa 25 298
abierto=1e30*ones(1,frecs); ztree=1e30*ones(1,frecs); backbone=zeros(1,frecs); carga=zeros(segmentos,frecs); %segmentos de las cargas no lineales fan=2; tv=17; cm=10; %cargas carga(1,:)=zc(1,:); carga(fan,:)=zfani; carga(3,:)=backbone; carga(4,:)=ztree; carga(5,:)=backbone; carga(6,:)= zc(6,:); %L cerrado %carga(6,:)= abierto; %L abierto carga(7,:)=backbone; carga(8,:)= 100.*zc(8,:); carga(9,:)= abierto; carga(cm,:)=zcmi; carga(11,:)= abierto; carga(12,:)=backbone; carga(13,:)=5.*zc(13,:); carga(14,:)=backbone; carga(15,:)= 100*zc(15,:); carga(16,:)=backbone; carga(tv,:)= ztvi; carga(18,:)=backbone; carga(19,:)= 100.*zc(19,:); carga(20,:)= 100.*zc(20,:); carga(21,:)= zc(21,:); carga(22,:)=ztree; carga(23,:)= abierto; carga(24,:)=backbone; carga(25,:)= 100.*zc(25,:); carga(26,:)= abierto; %CONFIGURACIÓN DE LA RED star=0; %nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; %nodostar=[8, 9, 10, 11]; %nodostree=[4,21,22; 22,23,24; 24,25,26]; nodos=[21,22,4; 4,3,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[22,23,24; 24,25,26]; nodostree1=[3,2,1];
Programa 25 299
%admitancia de la estrella nrosegstar=size(nodostar,2); ystar=zeros(nrosegstar,frecs); yestrella=zeros(1,frecs); for segstar=1:nrosegstar for j=1:frecs
ystar(segstar,j)=((C(nodostar(segstar),j)*carga(nodostar(segstar),j))+D(nodostar(segstar),j))/((A(nodostar(segstar),j)*carga(nodostar(segstar),j))+B(nodostar(segstar),j));
end end yestrella=sum(ystar); %impedancia del árbol nronodostree=size(nodostree,1); ytree=zeros(2,frecs); for nodost=1:nronodostree nodo=nronodostree-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+D(nodostree(nodo,3),j))/((A(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+B(nodostree(nodo,3),j)); ytree(2,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end carga(nodostree(nodo,1),:)=1./sum(ytree); end %impedancia del árbol1 nronodostree1=size(nodostree1,1); ytree=zeros(2,frecs); for nodost=1:nronodostree1 nodo=nronodostree1-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree1(nodo,3),j)*carga(nodostree1(nodo,3),j))+D(nodostree1(nodo,3),j))/((A(nodostree1(nodo,3),j)*carga(nodostree1(nodo,3),j))+B(nodostree1(nodo,3),j)); ytree(2,j)=((C(nodostree1(nodo,2),j)*carga(nodostree1(nodo,2),j))+D(nodostree1(nodo,2),j))/((A(nodostree1(nodo,2),j)*carga(nodostree1(nodo,2),j))+B(nodostree1(nodo,2),j));
end carga(nodostree1(nodo,1),:)=1./sum(ytree); end %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs);
Programa 25 300
for nodo=1:nronodos for j=1:frecs %se incluye la admitancia de la estrella en el backbone if (nodos(nodo,2)==star) y(nodo,j)=yestrella(j); end %se reflejan sobre backbone las admitancias del segmento central de c/nodo if (nodos(nodo,2)~=segrtx)&(nodos(nodo,2)~=star)
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento de inicio del backbone
if (nodo==1&nodos(nodo,1)~=segrtx&nodos(nodo,1)~=segrrx) yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j)); y(nodo,j)= y(nodo,j)+ yizq(nodo,j);
end %se refleja desde el segmento final del backbone if(nodo==nronodos&nodos(nodo,3)~=segrtx&nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j)); y(nodo,j)= y(nodo,j)+ yder(nodo,j);
end end end %ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:))); %factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segizq=nodos(nodo,1); segder=nodos(nodo,3); %nodo sin segmento central de entrada if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=1./B(segder,:); k((nodo*delta),:)=0;
end
Programa 25 301
%nodo con segmento central de entrada
if (nodos(nodo,2)==segrtx) k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end %primer nodo del backbone que no tenga tx ni rx en segmento izquierdo if ((nodo==1)&(segizq~=segrtx)&(segizq~=segrrx))
k((nodo*delta)-3,:)=(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segder,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end %nodo final del backbone que no tenga tx ni rx en segmento derecho if ((nodo==nronodos)&(segder~=segrtx)&(segder~=segrrx))
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end end %Constantes para las ecuaciones de entrada y salida kin=zeros(3,frecs); kout=zeros(3,frecs); %punto de transmisión kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %punto de recepción kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0;
%voltajes sobre backbone de los dos arboles %admitancias del árbol nodos=[21,22,4; 4,3,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[22,23,24; 24,25,26]; nodostree1=[3,2,1]; nronodos=size(nodostree,1);
Programa 25 302
yt=zeros(nronodos+1,frecs); %se reflejan sobre backbone las admitancias del segmento central de c/nodo for nodo=1:nronodos for j=1:frecs
yt(nodo,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/ ((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end end %admitancia de ramal final for j=1:frecs yt(nronodostree+1,j)=1/carga(nodostree(nronodos,3),j); end %admitancias del árbol1 %nodos=[21,22,4; 4,3,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; %nodostar=[8, 9, 10, 11]; %nodostree=[22,23,24; 24,25,26]; %nodostree1=[3,2,1]; nronodos=size(nodostree1,1); yt1=zeros(nronodos+1,frecs); for nodo=1:nronodos for j=1:frecs
%se reflejan sobre backbone las admitancias del segmento central de c/nodo yt1(nodo,j)=((C(nodostree1(nodo,2),j)*carga(nodostree1(nodo,2),j))+D(nodostree1(nodo,2),j))/ ((A(nodostree1(nodo,2),j)*carga(nodostree1(nodo,2),j))+B(nodostree1(nodo,2),j));
end end %admitancia de ramal final for j=1:frecs yt1(nronodostree1+1,j)=1/carga(nodostree1(nronodos,3),j); end %voltajes vin=vs; vout=1./kout(1,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*(-k(29,:).*k(26,:).*k(23,:)+k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:))./(-k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).
Programa 25 303
*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)).*kout(2,:); v1=(k(5,:).*k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(5,:).*k(13,:).*k(9,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(30,:).*k(27
Programa 25 304
,:).*k(17,:)-k(5,:).*k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(7,:).*k(13,:).*k(10,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(13,:).*k(10,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(13,:).*k(10,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(2,:).*vtx.*kin(3,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).
Programa 25 305
*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v2=k(2,:).*vtx.*kin(3,:).*k(6,:).*(k(11,:).*k(14,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(13,:).*k(9,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(13,:).*k(9,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(11,:).*k(14,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(11,:).*k(14,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(11,:).*k(14,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(9,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(13,:).*k(9,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(13,:).*k(9,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(9,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).
Programa 25 306
*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v3=k(2,:).*vtx.*kin(3,:).*(k(13,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(13,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(13,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(13,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(13,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(10,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-
Programa 25 307
kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v4=k(2,:).*vtx.*kin(3,:).*k(10,:).*k(6,:).*k(14,:).*(k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(19,:).*k(22,:).*k(29,:).*k(25,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-
Programa 25 308
k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v5=(k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:)-k(29,:).*k(26,:).*k(23,:)).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-
Programa 25 309
k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v6=k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:).*k(22,:).*(k(29,:).*k(25,:)-k(27,:).*k(30,:))./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).
Programa 25 310
*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:));
Programa 25 311
v7=k(29,:).*k(26,:).*k(22,:).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-
Programa 25 312
k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)); v8=k(26,:).*k(22,:).*k(10,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*k(14,:).*k(6,:)./(-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(5,:).*k(13,:).*k(9,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(5,:).*k(9,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(5,:).*k(11,:).*k(14,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(7,:).*k(13,:).*k(10,:).*k(2,:).*kin(2,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+k(7,:).*k(10,:).*k(2,:).*kin(2,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(7,:).*k(13,:).*k(10,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-kin(1,:).*k(7,:).*k(10,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)-kin(1,:).*k(5,:).*k(11,:).*k(14,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(21,:).*k(18,:).*k(15,:).*k(27,:).*k(30,:)+kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-kin(1,:).*k(5,:).*k(13,:).*k(9,:).*k(1,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)+kin(1,:).*k(5,:).*k(9,:).*k(1,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)-
Programa 25 313
k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(30,:).*k(27,:).*k(17,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(21,:).*k(17,:).*k(29,:).*k(25,:)+k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)-k(3,:).*kin(1,:).*k(11,:).*k(14,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(27,:).*k(30,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(17,:).*k(29,:).*k(26,:).*k(23,:)+k(3,:).*kin(1,:).*k(13,:).*k(9,:).*k(6,:).*k(19,:).*k(22,:).*k(29,:).*k(25,:)-k(3,:).*kin(1,:).*k(9,:).*k(6,:).*k(18,:).*k(15,:).*k(29,:).*k(26,:).*k(23,:)).*k(30,:); %desplegar la respuesta vout/vin. En este caso se transmite desde el segmento 21 %plot(f./1e6,20.*log10(abs(vout./vin)),'k') %axis([1.8 30 -50 0]) %title('Vout/Vin (Vin sobre segmento 21)') %xlabel('Frecuencia en MHz') %ylabel('H(f) en dB') %factores constantes para ecuaciones de nodos en árbol nodostree=[22,23,24; 24,25,26]; %nodostree1=[3,2,1]; nrosegsnodo=size(nodostree,2); nronodos=size(nodostree,1); nronodostree=size(nodostree,1); delta= nrosegsnodo; kt=zeros((nronodos+1)*delta,frecs); for nodo=1:nronodos segizq=nodostree(nodo,1); segder=nodostree(nodo,3); kt((nodo*delta)-2,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+yt(nodo,:); kt((nodo*delta)-1,:)=1./B(segizq,:); kt((nodo*delta),:)=1./B(segder,:); end ramafinal=nodostree(nronodos,3); kt(((nronodos+1)*delta)-2,:)= (A(ramafinal,:)./B(ramafinal,:))+yt(nronodostree+1,:); kt(((nronodos+1)*delta)-1,:)= (1./B(ramafinal,:)); %factores constantes para ecuaciones de nodos en árbol1 %nodostree=[22,23,24; 24,25,26]; nodostree1=[3,2,1]; nrosegsnodo=size(nodostree1,2); delta= nrosegsnodo; nronodos=size(nodostree1,1); kt1=zeros((nronodos+1)*delta,frecs); nronodostree=size(nodostree1,1); for nodo=1:nronodos segizq=nodostree1(nodo,1);
Programa 25 314
segder=nodostree1(nodo,3); kt1((nodo*delta)-2,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+yt(nodo,:); kt1((nodo*delta)-1,:)=1./B(segizq,:); kt1((nodo*delta),:)=1./B(segder,:); end ramafinal1=nodostree1(nronodos,3); kt1(((nronodos+1)*delta)-2,:)= (A(ramafinal1,:)./B(ramafinal1,:))+yt(nronodostree+1,:); kt1(((nronodos+1)*delta)-1,:)= (1./B(ramafinal1,:)); v22 =v1.*kt(2,:).*(kt(7,:).*kt(4,:)-kt(6,:).*kt(8,:))/(kt(1,:).*kt(7,:).*kt(4,:)-kt(1,:).*kt(6,:).*kt(8,:)-kt(7,:).*kt(5,:).*kt(3,:)); v23 =1./(kt(1,:).*kt(7,:).*kt(4,:)-kt(1,:).*kt(6,:).*kt(8,:)-kt(7,:).*kt(5,:).*kt(3,:)).*kt(7,:).*kt(5,:).*v1.*kt(2,:); v24 =1./(kt(1,:).*kt(7,:).*kt(4,:)-kt(1,:).*kt(6,:).*kt(8,:)-kt(7,:).*kt(5,:).*kt(3,:)).*kt(5,:).*v1.*kt(2,:).*kt(8,:); v25 =1./(kt1(4,:).*kt1(1,:)-kt1(3,:).*kt1(5,:)).*kt1(4,:).*v2.*kt1(2,:);
v26 =1./(kt1(4,:).*kt1(1,:)-kt1(3,:).*kt1(5,:)).*v2.*kt1(2,:).*kt1(5,:);
%constantes para puntos de salida %salida por l2 segrrx=2; koutl2=zeros(2,frecs); koutl2(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl2(2,:)=1./B(segrrx,:); %salida por l1 segrrx=1; koutl1=zeros(2,frecs); koutl1(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl1(2,:)=1./B(segrrx,:); %salida por l23 segrrx=23; koutl23=zeros(2,frecs); koutl23(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl23(2,:)=1./B(segrrx,:); %salida por l25 segrrx=25; koutl25=zeros(2,frecs); koutl25(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:));
Programa 25 315
koutl25(2,:)=1./B(segrrx,:); %salida por l26 (serían las mismas constantes que para v24) segrrx=26; koutl26=zeros(2,frecs); koutl26(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl26(2,:)=1./B(segrrx,:); %salida por l6 segrrx=6; koutl6=zeros(2,frecs); koutl6(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl6(2,:)=1./B(segrrx,:);
%salida por l8 segrrx=8; koutl8=zeros(2,frecs); koutl8(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl8(2,:)=1./B(segrrx,:); %salida por l9 segrrx=9; koutl9=zeros(2,frecs); koutl9(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl9(2,:)=1./B(segrrx,:); %salida por l10 segrrx=10; koutl10=zeros(2,frecs); koutl10(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl10(2,:)=1./B(segrrx,:); %salida por l11 segrrx=11; koutl11=zeros(2,frecs); koutl11(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl11(2,:)=1./B(segrrx,:); %salida por l15 segrrx=15; koutl15=zeros(2,frecs); koutl15(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl15(2,:)=1./B(segrrx,:); %salida por l17 segrrx=17; koutl17=zeros(2,frecs); koutl17(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl17(2,:)=1./B(segrrx,:);
Programa 25 316
%salida por l19 segrrx=19; koutl19=zeros(2,frecs); koutl19(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl19(2,:)=1./B(segrrx,:); %salida por l20 segrrx=20; koutl20=zeros(2,frecs); koutl20(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); koutl20(2,:)=1./B(segrrx,:); %voltajes de salida voutl2 =v25.*koutl2(2,:)./koutl2(1,:); voutl1=v25.* koutl1(2,:)./ koutl1(1,:); voutl23=v22.* koutl23(2,:)./ koutl23(1,:); voutl25=v23.* koutl25(2,:)./ koutl25(1,:); voutl26=v23.* koutl26(2,:)./ koutl26(1,:); voutl6 =v3.*koutl6(2,:)./koutl6(1,:); voutl8 =v4.*koutl8(2,:)./koutl8(1,:); voutl9 =v4.*koutl9(2,:)./koutl9(1,:); voutl10 =v4.*koutl10(2,:)./koutl10(1,:); voutl11 =v4.*koutl11(2,:)./koutl11(1,:); voutl15 =v6.*koutl15(2,:)./koutl15(1,:); voutl17 =v7.*koutl17(2,:)./koutl17(1,:); voutl19 =v8.*koutl19(2,:)./koutl19(1,:); voutl20 =v8.*koutl20(2,:)./koutl20(1,:); %Guardar resultados %save c:/tesis/desde21_avlr_practico_fmr07 % Desplegar resultados load c:/tesis/desde21_avlr_practico_fmr07 figure(1) subplot(6,2,1) plot(f./1e6,20.*log10(abs(voutl1./ vin)),'k') axis([1.8 30 -40 25]) title('Vl1/VTX') ylabel('H(f) en dB') subplot(6,2,2) plot(f./1e6,20.*log10(abs(voutl2./vin)),'k') axis([1.8 30 -30 25]) title('Vl2/VTX') ylabel('H(f) en dB') subplot(6,2,3)
Programa 25 317
plot(f./1e6,20.*log10(abs(voutl25./vin)),'k') axis([1.8 30 -10 10]) title('Vl25/VTX') ylabel('H(f) en dB') subplot(6,2,4) plot(f./1e6,20.*log10(abs(voutl6./vin)),'k') axis([1.8 30 -35 0]) title('Vl6/VTX') ylabel('H(f) en dB') subplot(6,2,5) plot(f./1e6,20.*log10(abs(voutl8./ vin)),'k') axis([1.8 30 -40 0]) title('Vl8/VTX') ylabel('H(f) en dB') subplot(6,2,6) plot(f./1e6,20.*log10(abs(voutl10./vin)),'k') axis([1.8 30 -40 5]) title('Vl10/VTX') ylabel('H(f) en dB') subplot(6,2,7) plot(f./1e6,20.*log10(abs(vout./ vin)),'k') axis([1.8 30 -50 0]) title('Vl13/VTX') ylabel('H(f) en dB') subplot(6,2,8) plot(f./1e6,20.*log10(abs(voutl15./vin)),'k') axis([1.8 30 -45 -5]) title('Vl15/VTX') ylabel('H(f) en dB') subplot(6,2,9) plot(f./1e6,20.*log10(abs(voutl17./vin)),'k') axis([1.8 30 -60 -10]) title('Vl17/VTX') ylabel('H(f) en dB') subplot(6,2,10) plot(f./1e6,20.*log10(abs(voutl19./vin)),'k') axis([1.8 30 -60 0]) title('Vl19/VTX') xlabel('Frecuencia en MHz') ylabel('H(f) en dB')
Programa 25 318
subplot(6,2,11) plot(f./1e6,20.*log10(abs(voutl20./vin)),'k') axis([1.8 30 -60 0]) title('Vl20/VTX') xlabel('Frecuencia en MHz') ylabel('H(f) en dB') % ENCONTRAR STX. BAJAR STX HASTA ENCONTRAR UNA RATA DE FUNCIONAMIENTO IGUAL A LA RATA MÁXIMA %cargar h(f) transmitiendo desde 21, AVLR se ha aplicado desde 1. load c:/tesis/desde21_avlr_practico_fmr07 %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; stx_inicial_sd=-93.06; impulso=0; impulsodb=10; %máxima rata de funcionamiento mr=224.47e+6; %Según HomePlug %DEP stx=stx_inicial_sd; %rata_temp=mr/2; capacidad=mr/2; while capacidad<=mr stx=stx+0.0001; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vout./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); end stx=stx-0.0001 %stx =-90.8197 %capacidad =2.2447e+008
Programa 25 319
%desplegar para interruptor cerrado. Mejora de AVLR_R_ODF en los canales vecinos subplot(2,1,1) load c:/tesis/desde1cerrado_avlr_practico_cap_homeplug_07 plot(f./1e6,20.*log10(abs(voutl21./ vin)),'k') axis([1.8 30 0 70]) title('out 21/in 1 (Fig. 4.2), Modificación de |H(f)|, L cerrado, AVLR-R-ODF, frm=0.7') ylabel('|H(f)| en dB') hold on load c:/tesis/desde1cerrado plot(f./1e6,20.*log10(abs(voutl21./vin)),'r') axis([1.8 30 0 70]) ylabel('|H(f)| en dB') grid on gtext('|H(f)| original') gtext('|H(f)| modificada') subplot(2,1,2) load c:/tesis/desde21_avlr_practico_fmr07 plot(f./1e6,20.*log10(abs(vout./ vin)),'k') axis([1.8 30 -50 0]) hold on load c:/tesis/txporl21Lcerrado plot(f./1e6,20.*log10(abs(vout./vin)),'r') axis([1.8 30 -50 0]) ylabel('|H(f)| en dB') xlabel('Frecuencia en MHz') title('out 13/in 21 (Fig. 4.2), Modificación de |H(f)|, L cerrado, AVLR-R-ODF, frm=0.7') grid on gtext('|H(f)| original') gtext('|H(f)| modificada') %cálculo de promedios para las mejoras %promedio inicial del canal 1-21 load c:/tesis/desde1cerrado p1_21_i=mean(20.*log10(abs(voutl21./ vin))) %p1_21_i =38.8102 %promedio final del canal modificado 1-21 load c:/tesis/desde1cerrado_avlr_practico_cap_homeplug_07 p1_21_m=mean(20.*log10(abs(voutl21./ vin))) %p1_21_m =41.4548 %promedio inicial del canal 21-13 load c:/tesis/txporl21Lcerrado
Programa 25 320
p21_13_i=mean(20.*log10(abs(vout./vin))) %p21_13_i =-22.9298 %promedio final del canal modificado 21-13 load c:/tesis/desde21_avlr_practico_fmr07 p_21_13_m=mean(20.*log10(abs(vout./ vin))) %p_21_13_m =-17.5095 %cálculos de las relaciones señal a ruido %canal inicial close all, clear all, clc load c:/tesis/desde21_avlr_practico_fmr07 %deptm=-90.82; %para máxima capacidad HomePlug deptm=-81.72; %al aplicar atpm cm=abs(vout./ vin); depm=10^(deptm/10); s2=depm.*cm; %potencia del ruido load c:/tesis/benyoucef impulso=0; impulsodb=10; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); %sndb sndb2=10*log10(s2./depruido); %snr promedio msnrdb2=mean(sndb2); % msnrdb2=32.4061 figure(1) subplot(1,2,2) plot(f/1e6,sndb2, 'k') xlabel('Frecuencia en MHz') ylabel('S/N (dB)') title('Relación Señal a Ruido (dB)') axis([1.8 30 5 55]) grid on %desplegar canal 21-13 subplot(1,2,1)
Programa 25 321
load c:/tesis/desde21_avlr_practico_fmr07 plot(f./1e6,20.*log10(abs(vout./ vin)),'k') axis([1.8 30 -40 0]) ylabel('|H(f)| en dB') xlabel('Frecuencia en MHz') title('out 13/in 21, L cerrado, AVLR-R-ODF, frm=0.7') grid on %experimento para encontrar un mejor caudal según Guerrini %canal modificado 21-13 close all, clear all, clc load c:/tesis/desde21_avlr_practico_fmr07 %deptm=-90.82; %para máxima capacidad HomePlug %deptm=-72; %para cumplir FCC deptm=-81.72 %por ATPM cm=abs(vout./ vin); depm=10^(deptm/10); s2=depm.*cm; %potencia del ruido load c:/tesis/benyoucef impulso=0; impulsodb=10; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); %sndb sndb2=10*log10(s2./depruido); %snr promedio msnrdb2=mean(sndb2) % msnrdb2=32.4061 para capacidad esperada de homeplug %msnrdb2 =51.2261 para cumplir fcc %msnrdb2 =41.5061 por ATPM %canal 21-13 original load c:/tesis/txporl21Lcerrado %deptm=-90.82; %para máxima capacidad HomePlug %deptm=-72; %para cumplir FCC deptm=-70.4 cm=abs(vout./ vin); depm=10^(deptm/10); s2=depm.*cm;
Programa 25 322
%potencia del ruido load c:/tesis/benyoucef impulso=0; impulsodb=10; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); %sndb sndb2=10*log10(s2./depruido); %snr promedio msnrdb2=mean(sndb2) % msnrdb2 =29.6960 con -90.82 % msnrdb2 =48.5160 %msnrdb2 =50.1160 con -70.4 %valores para aplicar ATPM load c:/tesis/txporl21Lcerrado cmdb=20*log10(abs(vout./ vin)); minatpm=max(cmdb) mejora=30+minatpm %minatpm =-14.6085 %mejora =15.3915 load c:/tesis/desde21_avlr_practico_fmr07 cmdb=20*log10(abs(vout./ vin)); minatpm=max(cmdb) mejora=30+minatpm %minatpm =-3.2765 %mejora =26.7235 %Encontrar las DEPs de canal de relevo una vez que ha encontrado la DEP de R-D %paso1: encontrar la nueva capacidad de R-D %cargar ruido load c:/tesis/benyoucef impulso=0; impulsodb=10; %cargar hf canal 21-13 load c:/tesis/desde21_avlr_practico_fmr07 stx=-81.72; hf=abs(vout./vin);
Programa 25 323
ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*hf.^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2) %capacidad =3.0754e+008 %nueva capacidad de 21-13 %paso2: encontrar STX para canal 1-13 que sea igual a la nueva capacidad de canal 21-13 %cargar ruido load c:/tesis/benyoucef impulso=0; impulsodb=10; %cargar canal 1-13 load c:/tesis/desde1_avlr_practico_fmr07_sin21 umax=find(caps==max(caps)); %máxima rata de funcionamiento mr=307.54e+6; %al aplicar ATPM sobre acanal 21-13 %DEP stx=-91.75; %STX canal relevo original capacidad=mr/2; while capacidad <=mr stx=stx+0.01; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*( abs(vouts(umax,:)./vin).^2); deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); end stx=stx-0.01 % stx =-82.6200 %nueva stx para canal 1-13 en el relevo %paso3: calcular la capacidad del canal 1-21 %cargar ruido load c:/tesis/benyoucef impulso=0; impulsodb=10; %cargar canal 1-21 load c:/tesis/desde1cerrado_avlr_practico_cap_homeplug_07
Programa 25 324
hf=abs(voutl21./vin); stx=-82.62; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*hf.^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2) %capacidad = capacidad =8.5089e+008 con …homeplug_07 %desplegar para interruptor cerrado figure(1) load c:/tesis/desde1_avlr_practico_fmr07_sin21 umax=find(caps==max(caps)); plot(f./1e6,20.*log10(abs(vouts(umax,:)./vin)),'k') hold on load c:/tesis/desde1cerrado plot(f./1e6,20.*log10(abs(vout./vin)),'r') axis([1.8 30 -50 0]) title('out 13/in 1 (Tucci), Modificación de |H(f)|, L cerrado, AVLR práctico, frm=0.5, sin21') ylabel('|H(f)| en dB') %xlabel('Frecuencia en MHz') grid on gtext('|H(f)| original') gtext('|H(f)| modificada')
Programa 26 325
26. Programa 26: Encontrar las
capacidades entre 1-21 y 21-13,
cuando se aplica AVLR_R_ODF %Programó: Roberto Cárdenas %noviembre de 2011 load c:/tesis/desde1cerrado_avlr_practico_cap_homeplug_c %load c:/tesis/desde21_avlr_practico_fmr07 %load c:/tesis/desde1cerrado %cargar ruido load c:/tesis/benyoucef %condiciones iniciales %stx_futuro=-52; %stx_no_interferencia=-72; stx_odf_desde_1 =-91.7500; %stx_odf_desde_21 =-90.8200; impulso=0; impulsodb=10; %1-21 hf= abs(voutl21./ vin); %21-13 %hf=abs(vout./vin); %1-13 %hf= abs(vout./ vin); stx=stx_odf_desde_1; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*hf.^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2)
Programa 26 326
%capacidad 1-21=7.6535e+008 %capacidad 21-13= 2.2447e+008 %capacidad 1-13 original con stx_odf_desde_1 =1.6866e+008
Programa 27 327
27. Programa 27: Cálculo de las |H(f)|
promedio iniciales para canales de la
red de la Figura 4.2 con L cerrado.
%cargar h(f) original con TX en 1, L cerrado load c:/tesis/desde1cerrado hf21= mean(20*log10(abs(voutl21./ vin))) hf25= mean(20*log10(abs(voutl25./ vin))) hf6= mean(20*log10(abs(voutl6./ vin))) hf8= mean(20*log10(abs(voutl8./ vin))) hf13=mean(20*log10( abs(voutl13./ vin))) hf15=mean(20*log10 (abs(voutl15./ vin))) hf19=mean(20*log10( abs(voutl19./ vin))) hf20=mean(20*log10( abs(voutl20./ vin))) %resultados %hf21 =38.8102 %hf25 =-15.9936 %hf6 =-11.2283 %hf8 =-19.2482 %hf13 =-22.5937 %hf15 =-26.9098 %hf19 =-33.9710 %hf20 =-33.9710
Programa 28 328
28. Programa 28: Aplicación de
AVLR_R_ODF a la red de Tucci.
Variación de las impedancias no
lineales en cada prueba de distancia.
Se usan como transmisores 1 y 21, se
recibe en 13. En 21 Zc y no se usa
para AVLR %Programó: Roberto Cárdenas C. clear all; close all; clc % FASE 1. ENCONTRAR STX INICIAL. BAJAR STX HASTA ENCONTRAR UNA RATA DE FUNCIONAMIENTO IGUAL A UNA FRACCIÓN DELA RATA MÁXIMA %cargar h(f) original load c:/tesis/desde1cerrado %cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; %(IEEE) impulso=0; impulsodb=10; %constante técnica %ctdb=0.5; %Según HomePlug %máxima rata de funcionamiento=capacidad esperada en HomePlug mr=224.47e+6; %Según HomePlug %fracción de la máxima rata para cálculo de h(f) mejorado fmr=0.7 %DEP
Programa 28 329
stx=stx_futuro; %rata de trabajo rt=mr*fmr; %constante técnica %ct=10^(-ctdb/10); rata_temp=mr; while rata_temp >=rt stx=stx-0.01; ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vout./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); rata_temp=capacidad; end stx=stx+0.01 %FASE 2. APLICAR AVLR %parámetros de líneas por unidad de longitud %de Bostoen T. y Van de Wiel O., Modeling de Low Voltage Power distribution Network in the Frequency Band from 0.5 Mhz to 30 Mhz for Broadband Powerline Communications (PLC), Proceedings. 2000 International Zurich Seminar on Broadband Communications, 2000. Volume , Issue , 2000 Page(s):171 – 178. % r l1 l2 g c lin1=[142e-6, 0.287e-6, 22.3e-6, 4.68e-12, 91e-12]; lin2=[178e-6, 0.369e-6, 32.7e-6, 2.99e-12, 68.8e-12]; lin3=[116e-6, 0.195e-6, 17.9e-6, 2.5e-12, 133e-12]; lin4=[79.1e-6, 0.248e-6, 16.8e-6, 8.57e-12, 111e-12]; lin5=[164e-6, 0.372e-6, 24.8e-6, 4.18e-12, 73.8e-12]; lin6=[93.9e-6, 0.191e-6, 23.2e-6, 8.71e-12, 142e-12]; lin7=[61.1e-6, 0.166e-6, 92.6e-6, 7.568e-12, 141e-12]; lin8=[51.8e-6, 0.219e-6, 17.9e-6, 6.76e-12, 110e-12]; lin9=[31.9e-6, 0.112e-6, 9.22e-6, 13e-12, 216e-12]; %de Tucci M., el. al, Response Bounds of Indoor Power-Line Communication Systems with Cycloestationary Loads, ,IEEE Transactions on Power delivery, Vol. 24 No 2, April 2009 % r0 L g0 C lin10=[0.1239, 0.369e-6 0 8.05e-6 68.8e-12]; % trn trd tgn tgd ct=[1.06e-7 1.17e-8 1.161e-7 0.666e-8];
Programa 28 330
%cargar ruido load c:/tesis/benyoucef %condiciones iniciales stx_futuro=-52; impulso=0; impulsodb=10; %intervalo de frecuencia %fi=1.8e6; fi=0; deltaf=9600; fin=3e7; ftemp=fi:deltaf:fin; locfi= find(ftemp>=1800000 & ftemp<=1800000+deltaf); intervalof=size(ftemp,2)-locfi+1; f=zeros(1, intervalof); for i=1:intervalof f(i)=ftemp(locfi+i-1); end %construcción del canal segmentos=26; parametros=5; segmento=zeros(segmentos,parametros); %arbol backbone segmento(1,:)=lin10; segmento(3,:)=lin10; segmento(5,:)=lin10; segmento(7,:)=lin10; segmento(12,:)=lin10; segmento(14,:)=lin10; segmento(16,:)=lin10; segmento(18,:)=lin10; segmento(20,:)=lin10; %ramificación directa backbone segmento(2,:)=lin10; segmento(4,:)=lin10; segmento(6,:)=lin10; segmento(13,:)=lin10; segmento(15,:)=lin10;
Programa 28 331
segmento(17,:)=lin10; segmento(19,:)=lin10; %ramificación en estrella segmento(8,:)=lin10; segmento(9,:)=lin10; segmento(10,:)=lin10; segmento(11,:)=lin10; %ramificación en árbol segmento(21,:)=lin10; segmento(22,:)=lin10; segmento(23,:)=lin10; segmento(24,:)=lin10; segmento(25,:)=lin10; segmento(26,:)=lin10; %arreglo para ramales variables %ramales=8; %ms=zeros(1,ramales); %capacidades=zeros(1,size(ms,2)); %distancia=[3 1 1 3 11 3 1 14 13 7 18 2.5 0.5 2 1 5 3 3 2 2 3 4 3 3 1 1]; %distancias iniciales de los ramales variables mv7=1; %seg 25 %mv7=3; %seg 21 %en este experimento no varía mv6=2; %seg 20 mv5=2; %seg 19 mv4=1; %seg15 mv3=0.5; %seg 13 rx mv2=14; %seg8 mv1=3; %seg1 tx %distancias en el backbone y ramales fijos b19=3; %seg 21 %retransmisor para el salto b18=1; %seg26 %ramal fijo b17=3; %seg24 b16=3; %seg23 %ramal fijo b15=4; %seg22 b14=3; %seg18 b13=3; %seg17 ramal fijo b12=5; %seg16 b11=2; %seg14 b10=2.5; %seg12 b9=18; %seg11 ramal fijo b8=7; %seg10 ramal fijo b7=13; %seg9 ramal fijo
Programa 28 332
b6=1; %seg7 b5=3; %seg6 ramal fijo, aquí está L b4=11; %seg5 b3=3; %seg4 b2=1; %seg3 b1=1; %seg2 ramal fijo ramalv=[1 8 13 15 19 20 25]; ms=[mv1 mv2 mv3 mv4 mv5 mv6 mv7]; bs=[b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19]; capacidades=zeros(1,size(ms,2)); %distancias segmentos distancia=zeros(segmentos); distancia=[ms(1,1) bs(1,1) bs(1,2) bs(1,3) bs(1,4) bs(1,5) bs(1,6) ms(1,2) bs(1,7) bs(1,8) bs(1,9) bs(1,10) ms(1,3) bs(1,11) ms(1,4) bs(1,12) bs(1,13) bs(1,14) ms(1,5) ms(1,6) bs(1,19) bs(1,15) bs(1,16) bs(1,17) ms(1,7) bs(1,18)]; %ubicación de segmentos variables dentro del arreglo distancia useg=[1 8 13 15 19 20 25]; %parámetros en función de la frecuencia frecs=size(f,2); r=zeros(segmentos,frecs); l= zeros(segmentos,frecs); g= zeros(segmentos,frecs); c= zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos if segmento(seg,:)==lin10
for j=1:frecs r(seg,j)=segmento(seg,1)*((1+2*pi*f(j)*ct(1)*i)/(1+ 2*pi*f(j)*ct(2)*i)); l(seg,j)=segmento(seg,2); g(seg,j)=segmento(seg,4)*((1+2*pi*f(j)*ct(3)*i)/(1+ 2*pi*f(j)*ct(4)*i)); c(seg,j)= segmento(seg,5);
end end if segmento(seg,:)~=lin10 for j=1:frecs r(seg,j)=segmento(seg,1)*sqrt(f(j)); l(seg,j)=segmento(seg,2)+(segmento(seg,3)/sqrt(f(j))); g(seg,j)=segmento(seg,4)*f(j); c(seg,j)=segmento(seg,5); end end end
Programa 28 333
% impedancia característica, zc, en ohmios; constante de propagación, cp, en radianes por unidad de longitud zc=zeros(segmentos,frecs); cp=zeros(segmentos,frecs); i=sqrt(-1); for seg=1:segmentos for j=1:frecs zc(seg,j)=sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)/(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); cp(seg,j)= sqrt((r(seg,j)+ (2*pi*f(j)*l(seg,j))*i)*(g(seg,j)+(2*pi*f(j)*c(seg,j))*i)); end end %Paso 1. Colocar impedancias características sobre ramales y fijar impedancias en TX y RX %definición de cargas noderivacion=zeros(1,frecs); carga=zeros(segmentos,frecs); backbone=zeros(1,frecs); for j=1:size(ramalv,2) carga(ramalv(1,j),:)=zc(ramalv(1,j),:); end %colocar cargas de entrada y salida
%tipos de desacople abierto=1e30*ones(1,frecs); abierto2=100; %abierto2=1e30; desacople=5; ztree=1e30*ones(1,frecs); %segmentos de entrada y salida segrrx=13; segrtx=1;
%impedancias tx y rx rrx=desacople.*zc(segrrx,:); rtx=zc(segrtx,:); %cargas de entrada y salida carga(segrrx,:)=rrx; carga(segrtx,:)=rtx; %cálculo aleatorio de la impedancias no lineales %carga fan m=1e6; zfani=zeros(1,frecs);
Programa 28 334
x=[1.8*m 2.75*m 4*m 5.9*m 7.1*m 7.7*m 8.7*m 10*m 11.2*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27.5*m 30*m]; y=[100 160 300 140 310 690 500 710 400 250 155 95 55 30 50 100 150]; for j=1:frecs zfani(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zfani(j)=zfani(j)*(1+(signo*vciclo)); end %carga tv ztvi=zeros(1,frecs); x=[1.8*m 2.5*m 3.7*m 5 6*m 6.9*m 7.5*m 8.3*m 9*m 9.5*m 10*m 10.6*m 11*m 11.25*m 12.5*m 15*m 17.5*m 20*m 22.5*m 25*m 27*m 30*m]; y=[25 40 75 130 200 350 200 360 420 500 390 280 205 160 100 50 25 24 35 55 90 150]; for j=1:frecs ztvi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end ztvi(j)=ztvi(j)*(1+(signo*vciclo)); end
Programa 28 335
%carga coffee machine zcmi=zeros(1,frecs); x=[1.8*m 2.5*m 5*m 5.4*m 7.5*m 10*m 15*m 20*m 25*m 30*m]; y=[125 180 360 400 250 155 85 65 50 40]; for j=1:frecs zcmi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zcmi(j)=zcmi(j)*(1+(signo*vciclo)); end %segmentos de las cargas no lineales fan=2; tv=17; cm=10; %carga de ramales fijos carga(1,:)=rtx; carga(fan,:)=zfani; carga(3,:)=backbone; carga(4,:)=ztree; carga(5,:)=backbone; carga(6,:)= zc(6,:); %L cerrado %carga(6,:)= abierto; %L abierto carga(7,:)=backbone; %carga(8,:)= zc(8,:); %variable carga(9,:)= abierto; carga(cm,:)=zcmi; carga(11,:)= abierto; carga(12,:)=backbone; carga(13,:)=rrx; carga(14,:)=backbone; %carga(15,:)= zc(15,:); %variable carga(16,:)=backbone;
Programa 28 336
carga(tv,:)= ztvi; carga(18,:)=backbone; %carga(19,:)= zc(19,:); %variable %carga(20,:)= zc(20,:); %variable carga(21,:)= zc(21,:); carga(22,:)=backbone; carga(23,:)= abierto; carga(24,:)=backbone; %carga(25,:)= zc(25,:); %variable carga(26,:)= abierto; for turno=size(ms,2):-1:1
%Paso 2. Cambiar carga del ramal variable de Zc a 100Zc, abierto, etc segme=ramalv(1,turno); segme1=useg(1,turno);
mdelturno=distancia(1,segme1);
if segme~=segrtx & segme~=segrrx carga(segme,:)=abierto2.* zc(segme,:); end %Paso 3: variar longitud del ramal %encontrar m´s %minicial=0.1; %m=minicial:0.1:10; m=[0.1 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.4 1.5]; caps=zeros(1,size(m,2)); vout=zeros(1,size(frecs,2)); vouts=zeros(size(m,2),frecs); for u=1:size(m,2) %*************************************************************************
%actualizar cálculo aleatorio de la impedancias no lineales, incluir este código si se quiere calcular con múltiples periodos de invarianza del canal
%carga fan mk=1e6; zfani=zeros(1,frecs); x=[1.8*mk 2.75*mk 4*mk 5.9*mk 7.1*mk 7.7*mk 8.7*mk 10*mk 11.2*mk 12.5*mk 15*mk
17.5*mk 20*mk 22.5*mk 25*mk 27.5*mk 30*mk]; y=[100 160 300 140 310 690 500 710 400 250 155 95 55 30 50 100 150]; for j=1:frecs zfani(j)=interp1(x,y,f(j)); end vciclo=0;
Programa 28 337
for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zfani(j)=zfani(j)*(1+(signo*vciclo)); end %carga tv ztvi=zeros(1,frecs); x=[1.8*mk 2.5*mk 3.7*mk 5 6*mk 6.9*mk 7.5*mk 8.3*mk 9*mk 9.5*mk 10*mk 10.6*mk
11*mk 11.25*mk 12.5*mk 15*mk 17.5*mk 20*mk 22.5*mk 25*mk 27*mk 30*mk]; y=[25 40 75 130 200 350 200 360 420 500 390 280 205 160 100 50 25 24 35 55 90 150]; for j=1:frecs ztvi(j)=interp1(x,y,f(j)); end vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end ztvi(j)=ztvi(j)*(1+(signo*vciclo)); end %carga coffee machine zcmi=zeros(1,frecs); x=[1.8*mk 2.5*mk 5*mk 5.4*mk 7.5*mk 10*mk 15*mk 20*mk 25*mk
30*mk]; y=[125 180 360 400 250 155 85 65 50 40]; for j=1:frecs zcmi(j)=interp1(x,y,f(j)); end
Programa 28 338
vciclo=0; for j=1:frecs signo=rand; if signo >0.5 signo=1; end if signo<=0.5 signo=-1; end while vciclo<0.1|vciclo>0.15 vciclo=rand; end zcmi(j)=zcmi(j)*(1+(signo*vciclo)); end
%actualizar cargas no lineales en la base de datos de cargas carga(fan,:)=zfani; carga(cm,:)=zcmi; carga(tv,:)= ztvi;
%*********************************************************************
ms(1,turno)=m(1,u);
%distancias segmentos
distancia=[ms(1,1) bs(1,1) bs(1,2) bs(1,3) bs(1,4) bs(1,5) bs(1,6) ms(1,2) bs(1,7) bs(1,8) bs(1,9) bs(1,10) ms(1,3) bs(1,11) ms(1,4) bs(1,12) bs(1,13) bs(1,14) ms(1,5) ms(1,6) bs(1,19) bs(1,15) bs(1,16) bs(1,17) ms(1,7) bs(1,18)];
%cálculo de parámetros T A=zeros(segmentos,frecs); B= zeros(segmentos,frecs); C= zeros(segmentos,frecs); D= zeros(segmentos,frecs); for seg=1:segmentos for j=1:frecs A(seg,j)= cosh(cp(seg,j)*distancia(seg)); B(seg,j)= zc(seg,j)*sinh(cp(seg,j)*distancia(seg)); C(seg,j)= (sinh(cp(seg,j)*distancia(seg)))/zc(seg,j); D(seg,j)= cosh(cp(seg,j)*distancia(seg)); end end
%CONFIGURACIÓN DE LA RED
Programa 28 339
star=0; nodos=[1,2,3; 3,4,5; 5,6,7; 7,star,12; 12,13,14; 14,15,16; 16,17,18; 18,19,20]; nodostar=[8, 9, 10, 11]; nodostree=[4,21,22; 22,23,24; 24,25,26]; %admitancia de la estrella nrosegstar=size(nodostar,2); ystar=zeros(nrosegstar,frecs); yestrella=zeros(1,frecs); for segstar=1:nrosegstar for j=1:frecs
ystar(segstar,j)=((C(nodostar(segstar),j)*carga(nodostar(segstar),j))+D(nodostar(segstar),j))/((A(nodostar(segstar),j)*carga(nodostar(segstar),j))+B(nodostar(segstar),j));
end end yestrella=sum(ystar); %impedancia del árbol nronodostree=size(nodostree,1); ytree=zeros(2,frecs); for nodost=1:nronodostree nodo=nronodostree-nodost+1; for j=1:frecs
ytree(1,j)=((C(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+D(nodostree(nodo,3),j))/((A(nodostree(nodo,3),j)*carga(nodostree(nodo,3),j))+B(nodostree(nodo,3),j));
ytree(2,j)=((C(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+D(nodostree(nodo,2),j))/((A(nodostree(nodo,2),j)*carga(nodostree(nodo,2),j))+B(nodostree(nodo,2),j));
end carga(nodostree(nodo,1),:)=1./sum(ytree); end %admitancias reflejadas sobre el backbone nronodos=size(nodos,1); y=zeros(nronodos,frecs); yizq=zeros(nronodos,frecs); yder=zeros(nronodos,frecs); for nodo=1:nronodos for j=1:frecs %se incluye la admitancia de la estrella en el backbone if (nodos(nodo,2)==star) y(nodo,j)=yestrella(j); end %se reflejan sobre backbone las admitancias del segmento central de c/nodo if (nodos(nodo,2)~=segrtx)&(nodos(nodo,2)~=star)
Programa 28 340
y(nodo,j)=((C(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+D(nodos(nodo,2),j))/ ((A(nodos(nodo,2),j)*carga(nodos(nodo,2),j))+B(nodos(nodo,2),j));
end %se refleja desde el segmento de inicio del backbone if (nodo==1&nodos(nodo,1)~=segrtx&nodos(nodo,1)~=segrrx)
yizq(nodo,j)=((C(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+D(nodos(nodo,1),j))/ ((A(nodos(nodo,1),j)*carga(nodos(nodo,1),j))+B(nodos(nodo,1),j));
y(nodo,j)= y(nodo,j)+ yizq(nodo,j); end %se refleja desde el segmento final del backbone if(nodo==nronodos&nodos(nodo,3)~=segrtx&nodos(nodo,3)~=segrrx)
yder(nodo,j)=((C(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+D(nodos(nodo,3),j))/ ((A(nodos(nodo,3),j)*carga(nodos(nodo,3),j))+B(nodos(nodo,3),j));
y(nodo,j)= y(nodo,j)+ yder(nodo,j); end end end
%ECUACIONES DE RED %estímulo vtx=1; vs=vtx*(zc(segrtx,:)./(rtx+zc(segrtx,:)));
%factores constantes para nodos terminales de entrada y salida nrosegsnodo=size(nodos,2); delta= nrosegsnodo+1; k=zeros(nronodos*delta,frecs); for nodo=1:nronodos segizq=nodos(nodo,1); segder=nodos(nodo,3);
%nodo sin segmento central de entrada if (nodos(nodo,2)~=segrtx)
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=1./B(segder,:); k((nodo*delta),:)=0;
end
%nodo con segmento central de entrada if (nodos(nodo,2)==segrtx)
k((nodo*delta)-3,:)=(A(segrtx-1,:)./B(segrtx-1,:))+(A(segrtx+1,:)./B(segrtx+1,:))+(A(segrtx,:)./B(segrtx,:)); k((nodo*delta)-2,:)=1./B(segrtx-1,:); k((nodo*delta)-1,:)=1./B(segrtx+1,:);
k((nodo*delta),:)=1./B(segrtx,:); end
Programa 28 341
%primer nodo del backbone que no tenga tx ni rx en segmento izquierdo if ((nodo==1)&(segizq~=segrtx)&(segizq~=segrrx))
k((nodo*delta)-3,:)=(A(segder,:)./B(segder,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segder,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end
%nodo final del backbone que no tenga tx ni rx en segmento derecho if ((nodo==nronodos)&(segder~=segrtx)&(segder~=segrrx))
k((nodo*delta)-3,:)=(A(segizq,:)./B(segizq,:))+y(nodo,:); k((nodo*delta)-2,:)=1./B(segizq,:); k((nodo*delta)-1,:)=0; k((nodo*delta),:)=0;
end end
%Constantes para las ecuaciones de entrada y salida
kin=zeros(3,frecs); kout=zeros(3,frecs); %punto de transmisión kin(1,:)=(A(segrtx,:)./B(segrtx,:))+(1./carga(segrtx,:)); kin(2,:)=1./B(segrtx,:); kin(3,:)=1./carga(segrtx,:); %punto de recepción kout(1,:)=(A(segrrx,:)./B(segrrx,:))+(1./carga(segrrx,:)); kout(2,:)=1./B(segrrx,:); kout(3,:)=0;
%señales vin=vs; vouts(u,:) =1./kout(1,:).*k(14,:).*k(10,:).*k(6,:).*k(2,:).*vtx.*kin(3,:).*k(18,:).*(-k(29,:).*k(26,:).*k(23,:)+k(21,:).*k(29,:).*k(25,:)-k(21,:).*k(27,:).*k(30,:))./(-k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)+k(5,:).*kin(1,:).*k(1,:).
Programa 28 342
*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)-k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)+k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(22,:).*k(19,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(22,:).*k(19,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(29,:).*k(26,:).*k(23,:)+kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(29,:).*k(25,:)-kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(15,:).*k(18,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*kin(1,:).*k(3,:).*k(6,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(5,:).*k(2,:).*kin(2,:).*k(9,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(27,:).*k(30,:)+k(17,:).*k(14,:).*k(5,:).*kin(1,:).*k(1,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(29,:).*k(26,:).*k(23,:)-k(17,:).*k(14,:).*k(5,:).*k(2,:).*kin(2,:).*k(11,:).*k(29,:).*k(26,:).*k(23,:)+k(17,:).*k(2,:).*kin(2,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(5,:).*kin(1,:).*k(1,:).*k(9,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)+k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(29,:).*k(25,:)-k(17,:).*k(14,:).*kin(1,:).*k(3,:).*k(6,:).*k(11,:).*k(21,:).*k(27,:).*k(30,:)-k(17,:).*kin(1,:).*k(1,:).*k(10,:).*k(7,:).*k(13,:).*k(21,:).*k(29,:).*k(25,:)).*kout(2,:);
%Cálculo de capacidad al cambiar distancias
%stx=stx_futuro;
%cálculo de capacidad ruidodbm=pydesde18+(impulsodb*impulso); depruido=10.^(ruidodbm./10); deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vouts(u,:)./vin)).^2;
Programa 28 343
deltaf=fnoise18(2)-fnoise18(1); caps(u)=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2);
end %de u
mtest= m(find(caps==max(caps))); captest= max(caps); if size(mtest,2) ~= 1 mtest=m(1,1); captest=caps(1,1); else captest= max(caps); end %manejo de capacidades maximas iguales %si no se han procesado todos los ramales variables if turno < size(ms,2) if captest < capacidades(1,turno+1) % si no se puede aumentar la capacidad carga(segme,:)=zc(segme,:); %si no hay influencia en la capacidad, colocar Zc capacidades(1,turno)=capacidades(1,turno+1);%colocar cap anterior mayor ms(1,turno)= mdelturno; %se deja la distancia original del ramal variable %ya que los cálculos anteriores se hicieron con esta %distancia else ms(1,turno)=mtest; capacidades(1,turno)=captest; end end if turno == size(ms,2) ms(1,turno)=mtest; capacidades(1,turno)=captest; end end %de turno %imprimir los resultados ms %FASE 3. CON EL CANAL MEJORADO POR AVLR AUMENTAR DEP HASTA ALCANZAR LA MÁXIMA RATA DE FUNCIONAMIENTO. umax=find(caps==max(caps)); fmr =0.7000 stx =-93.0600 %ms =0.3000 0.5000 1.5000 1.5000 0.1000 0.9000 0.9000
Programa 28 344
rt =157129000 mr =224470000 rata_temp=rt; %ratas=zeros(1,size(capacidades,2)); %ratas=ct.*capacidades while rata_temp <= mr deptx=10^(stx/10); srx_tx_rx=deptx.*(abs(vouts(umax,:)./vin)).^2; deltaf=fnoise18(2)-fnoise18(1); capacidad=sum(log10((1+( srx_tx_rx ./depruido))))*deltaf/log10(2); rata_temp=capacidad; stx=stx+0.0001; end stx=stx-0.0001
%considerando que cada cambio de longitud se hace en varios periodos de estabilidad de 1-2ms %fmr =0.7000 %stx =-93.0600 %ms =0.3000 0.5000 1.5000 1.5000 0.1000 0.9000 0.9000 %rt =157129000 % mr =224470000 %stx =-91.7584 %capacidades =1.0e+008 *2.1291 2.1159 1.9745 1.9283 1.8999 1.8975 1.8958 %save c:/tesis/desde1_avlr_practico_fmr07_sin21_znl %considerando que cada cambio de longitud se hace en un periodo de estabilidad de 1-2ms load c:/tesis/desde1_avlr_practico_fmr07_sin21 %ms =0.1000 0.5000 1.5000 1.5000 0.1000 0.8000 0.9000 %capacidades = 1.0e+008 *2.1282 2.1143 1.9739 1.9271 1.8996 1.8970 1.8958
Top Related