Ejercicio: Este problema lo elegí de un libro que llevo una compañera de clase el cual se llama Sistemas de Control Moderno.
Determínise la función de Transferencia \mathbf{X_{1}(s)/U(s)} y \mathbf{X_{1}(s)/F(s)} para el sistema acomplado resorte-masa: Este problema ya habia hecho uno parecido en el cual me base en unos videos, por ese motivo lo escogí para que no se me complicara mucho :P.
Funcion de Transferencia=\mathbf{G\left ( s \right )}=\frac{L[salida]}{L [entrada]}|\textrm{condiciones iniciales cero}
\mathbf{k_{1}},\mathbf{k_{2}}: constante elástica
\mathbf{b}:constante de biscuocidad.
\mathbf{V_{1}},\mathbf{V_{2}}:Velocidad.
derivada del desplazamiento es \mathbf{\frac{dy}{dt} } y se utilizara de la siguiente manera \mathbf{\dot{y}}
Como sabemos la Ley fundamental que controla los sistemas mecaánicos es la Segunda Ley de Newton
\mathbf{\sum F_{externas}=ma}
Ahora tomando lo anterior y utilizando la Segunda Ley de Newton pasaremos a la solución del problema:
Solución:
Primero que nada vamos a sacar las fuerzas que actúan sobre cada cuerpo, que en este caso tenemos dos.
\mathbf{M_{1}}:
\mathbf{M_{2}}:
Ya que terminamos de sacar las fuerzas que actúan obre cada cuerpo aplicamos la segunda Ley de Newton a cada uno de ellos:
Tomamos el sentido de la fuerza u como el sentido positivo (derecha=sentido positivo), lo que quiere decir que las fuerzas que actúen de lado izquierdo seran negativas:
\mathbf{\sum F_{externas}=ma}
Tomando en cuenta que:
\mathbf{a=\frac{d^{2x}}{dt^{2}}=\ddot{x}}
masa 1: \mathbf{F-k_{1}x_{1}-k_{2}\left ( x_{1}-x_{2} \right )=m_{1}\ddot{x}_{1}}
masa 2: \mathbf{-b_{1}\dot{x}_{2}-k_{2}\left ( x_{1}-x_{2} \right )=m_{2}\ddot{x}_{2}}
Nuestro proyecto consiste en un elevador de niveles, manejado por un motor de corriente directa, avanza según el desplazamiento ascendente o descendente.
Materiales Utilizados
Para poder saber los materiales que utilizariamos desarrollamos una estructura que en este caso es nuestrao elevador la cual se compone de lo siguiente:
A partir de esto los materiales utilizados son los siuientes:
Aluminio: Para la elaboración de la estructura
Tornillo sin fin: Para ayudar al movimiento de arriba hacia bajo.
Motor: Para mover el tornillo sin fin
Base de madera: Para el soporte del elevador
Circuito utilizado
Para poder realizar la programación utilizamos el software IDE de arduino y la placa arduino uno.
Circuito
Código:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
El reporte esta en el blog de mi compañero Rene: Link
jueves, 1 de noviembre de 2012
Actividad 5: Laboratorio
Para esta actividad seleccione el problema 8.22 del libro el cual trata de lo siguiente:
Considere el sistema de control que se muestra en la siguiente figura:
Dibuje los diagramas de Nyquist de G(s), donde:
para k=0.3, 0.5 y 0.7
Para poder solucionar este problema me base en como se resolvían los del libro :P, para poder sacar los diagramas de Nyquist usaremos Octave.
Primero que nada sustituiremos lo que es el valor de k, mejor dicho de las 3ks en lo que es la función de transferencia y sacamos su diagrama de Nyquist correspondiente:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Programa 1 Auto
Para comenzar anteriormente teniamos nuestra función de Transferencia la cual es:
\mathbf{F\left ( t \right )=\tfrac{\frac{R_{e}}{K\Phi }}{T_{m}S}\left [ l_{e}S-l_{c}(S) \right ]}
Nuestro programa en octave para la función de transferencia es el siguiente:
octave:1> den = [2 2]; octave:2> num = [3]; octave:3> sys = tf(num,den); octave:4> step(sys) octave:5> bode(sys)
Diagrama de bode:
También intente con otro código pero el cual no me graficaba nada :(
miércoles, 24 de octubre de 2012
Report 3
Para esta semana teniamos que seleccionar un cifrado de flujo para investigar sobre el y más que nada investigar más a fondo acerca de estos temas:
Origenes
¿Cuál fue la razon por la que se propuso?
Como trabaja
¿Cuál es la matemática que se usa?
Ejemplo
Ataques y vulnerabilidades
En mi caso seleccione el cifrado Turing.
Stream cipher: Turing
Origenes de Turing
El cifrado de Turing fue desarrollado por Gregory G. Rose and Philip Hawkes de Qualcomm para CDMA. El año en que fue creado fue entre el 2000 y 20003.
¿Cuál fue la razon por la que se propuso?
Fue diseñado para que fuera uno de los software más rapidos y para alcanzar alrededor de 5,5 ciclos / byte en algunos procesadores x86.
También para ser al mismo tiempo:
El software es muy rápido en los ordenadores de productos básicos
Utilizán en muy poca RAM en procesadores embebidos
Explotán el paralelismo para permitir la implementación hardware rápido.
Está diseñado para satisfacer las necesidades de aplicaciones integradas tales como encriptación de voz en los teléfonos inalámbricos que ponen severas restricciones en la cantidad de potencia de procesamiento, espacios de programa y la memoria disponible para los algoritmos de cifrado de software.
Acerca de Turing Se compone principalmente del Registro de desplzamiento lineal con realimentación lo cual se originó con el diseño de Sober.
Turing utiliza una caja S se deriva principalmente de la utilizada en Sober-t32. Structur
El cifrado de flujo Turing se integra de cuatro componentes claves los cuales son:
carga
descarga vector de inicialización
un LFSR
una llave de filtro no lineal (NLF)
A continuación se muestra una imagen en donde se muestra un diagrama de bloques de las dos últimas:
Matemáticas usada
Consideraciones Byte Orden El cifrado de Turing utiliza operaciones nativas de procesador en los elementos de datos del tamaño de palabr, pero se espera que acepten claves que son simplemente cadenas de bytes y para producir un flujo de bytes como salida para el cifrado. Los estándares de Internet se definen utilizando "big-endian" orden de bytes, en el que el byte más significativo de una cantidad multi-byte aparece primero en la memoria, esto es lo que se elige para Turing. Link]. Matemáticas usada Consideraciones Byte Orden El cifrado de Turing utiliza operaciones nativas de procesador en los elementos de datos del tamaño de palabr, pero se espera que acepten claves que son simplemente cadenas de bytes y para producir un flujo de bytes como salida para el cifrado. Los estándares de Internet se definen utilizando "big-endian" orden de bytes, en el que el byte más significativo de una cantidad multi-byte aparece primero en la memoria, esto es lo que se elige para Turing. El "little-endian" máquinas, los bytes de la clave y el vector debe ser ensamblado en palabras, y las palabras de la corriente de salida debe ser revertido antes de ser byte XOR en el búfer. LFSR de Turing
LFSR puede operar sobre cualquier campo finito, y puede ser más eficiente en software mediante la utilización de un campo finito más adecuado pcon elementos 2W \mathbf{(GF(2^{w}))}, donde w está relacionada con el tamaño de los elementos en el procesador subyacente, por lo general bytes o palabras de 32-bit. ara el procesador. Una opcion buena que encontramos para el campo de Galois con elementos 2W \mathbf{(GF(2^{w}))} w es el tamaño de los elementos en el procesador subyacente, generalmente bytes o palabras de 32-bit.
El campo GF (2 w) puede ser representado como el operador de módulo 2 coeficientes de todos los polinomios con grado menor que w. Esto es, un elemento de un campo está representado por una palabra w bits con bits $\mathbf{a_{w-1},a_{w-2},...a_{1},a_{0}}$ lo que representa el polinomio:
\mathbf{a_{w-1}x^{w-1}+a_{w-2}x^{w-2}+...+a_{1}x+a_{0}} Turing usa 8-nit bytes para representan los elementos de GF(28) y 32-bit que representan a 3 grados polinomios de bytes. El LFSR consiste en 17 palabras de información de estado w=32.
The Nonlinear Filter
Las cajas-S es el unico componente de Turing que es explícitaente no lineal. El filtro no lineal en Turing consta de:
Intensificación de la LFSR y la selección de los 5 canales de entrada
Mezcla las palabras utilizando el Transform1 Pseudo-Hadamard
La transformación de los bytes con transformaciones por clave, y mezclando las palabras utilizando cuatro 8 → 32 bits lineales S-boxes
Una vez más mezclando las palabras usando la Transformada de Pseudo-Hadamard
Intensificación de la LFSR de nuevo y añadir (mod 232) más las palabras de entrada
La Clave-dependiente Transformación de caja S
El cifrado de Turing transforma cada palabra usando logicmente de 8 a 32 cajas-S se aplica a cada byte de la palabra de entrada y XOR.
Las cajas-S se basan al mismo tiempo en un fijo del 8 → 8 bits permutación S-box y un fijo no lineal 8 → 32 Qbox.
Las palabras B, C y D son girados dejados por 8, 16 y 24 bits, respectivamente, antes de la transformación de caja S. Obtención de la Sbox
Es una permutación de los bytes de entrada y tiene un no linealidad mínimo de 104:
Obtención de la Qbox
El Qbox es un fijo no lineal 8 → 32-bit. Ha sido desarrollado por la Universidad de Tecnología de Queensland en nuestra petición. Se ve mejor como 32 funciones booleanas independientes de los 8 bits de entrada. Los criterios para su desarrollo fueron: • Las funciones deben ser altamente no lineal (cada uno tiene no linealidad de 114) • Las funciones deben ser equilibrados • Las funciones deben ser pares correlacionados
Las claves dependientes Sboxes Ventajas y Desventajas Ventajas:
Turing supera la ineficiencia de LFSRs binarios de una manera similar a la de SNOW 2,0 mediante la utilización de un LFSR definido sobre GF ((28) 4) y un número de técnicas para grandemente
aumentar la velocidad de generación de la secuencia pseudo-aleatoria en el software de un general
procesador.
Turing permite un equilibrio entre el uso de la aplicación de memoria pequeña o muy alta velocidad utilizando pre-calculados tablas.
En esta ocasión seleccione el problema 3 del capítulo 5 el cual trata de lo siguiente:
Considere el sistema en lazo cerrado dado por:
\mathbf{\frac{C\left ( s \right )}{R\left ( s \right )}=\frac{w^{2}_{n}}{s^{2}+2\zeta w_{n}s+w^{2}_{n}}}
Determine los valores de \mathbf{\zeta } y\mathbf{w_{n}} para que el sistema responda a una entrada escalon con una sobreelongación de aproximadamente el 5% y con un tiempo de asentamiento de 2 seg (Utilize el criterio del 2%).
Para comenzar tenemos que observar que la soobrelongacion \mathbf{M_{p}} es:
En esta semana se trabajo realizando un webservice, para esto utilice PHP y mysql
El siguiente es el código para la conexión de la base de datos, en donde use mi contraseña.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Después tenemos lo que es el programa en si, por un lado el usuario podemos generar un challege que seria en este caso un numero random asignado a una variable x, el programa me da la opción de descargar el script, que correremos para poder generar el response. También tenemos que seleccionar el usuario antes de picarle submit.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Primero que nada tenemos la interfaz :P, en donde nos da la opción de descargar el script, para poder correrlo.
Ya descargado le picamos en Generate para generar nuestra x que nos salio 38:
Ahora vamos a correr el script y nos pide x, en este caso ponemos la que se nos genero arriba, la d y la n son de la clave privada que esa nos la dieron al momento de crear un usuario en mi caso blanka.
Nos arroja un resultado que es r=response, lo pondremos donde viene la R que significa response.
Le damos a submit y si soy yo :D
Y por ejemplo si pongo un usuario q no es correcto ya que no tengo sus claves privadas me sale q no soy :P
jueves, 13 de septiembre de 2012
En esta semana trabajamos con rsa,
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Modelen lo que se controlará en su proyecto grupal y calculen la función de transferencia para la planta.
Descripción:
El proyecto sera controlado por medio de arduino, ya que tenemos un conocimiento más amplio acerca de este, lo que se hara es controlar un motor para que la rueda o el estacionamiento gire, lo que quiere decir que nuestro sistema sera un istema mecánico de rotación.
El arduino enviara un impulso al motor para que este gire y al momento de que se mueva se movera la rueda, la rueda sufrira un desplazamiento, la fuerza aplicada a la rueda dependera del peso que se concentra en la rueda, que dependera del peso de la cantidad de los autos .
Al mometo de que el primer coche se estaciona la rueda calcula el peso y lo manda como parametro para saber cual va a hacer la fuerza que el motor aplica sobre ella, para poder hacerla girar.
Función de Transferencia
La función de transferencia de un sistema descrito mediante una ecuación diferencial lineal e invariante con el tiempo se define como el cociente entre la transformada de Laplace de la salida (función de respuesta) y la transformada de Laplace de la entrada (función de excitación) bajo la suposición de que todas las condiciones iniciales son cero.[Texto sacado del libro ]
Link2 Funcion de Transferencia=\mathbf{G\left ( s \right )}=\frac{L[salida]}{L [entrada]}|\textrm{condiciones iniciales cero}
Salida del sistema:
La salida del sistema en este caso es es desplazamiento angular que sufre la rueda del estacionamiento.
Entrada del sistema:
La entrada del sistema seria el impulso enviado por el arduino.
Como la 2da ley de Newtón controla a los sistemas mecánicos, utilizaremos esta formula:
Obtenga el desarrollo en fracciones simples de la siguiente función utilizando MATLAB. F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}
En mi caso yo no utilizare MATLAB sino el programa Octave ya que es con uno de los que estamos trabajando.
Utilizaremos la siguiente función: \left [ r,p,k,e \right ]= residue\left ( num,den \right )
La cual nos sirve para poder calcular la descomposición de factores simples del cociente del polinomion num(numerador) entre el den(denominador):
r = Son los residuos (numeradores)
p = Son los polos (denominadores)
k = Es el cociente
e = Son los exponentes para cada denominador
Ahora vamonos a octave en nuestra términal, para entrar tecleamos lo siguiente:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Ya que estamos dentro de Octave capturamos dos vectores con los coeficientes del numerados y denominador en mi caso yo le llame num(numerados) y den(denominador):
Para poder hacer esto nosotros tenemos que tener la función expresada en un solo polinomio no en varios, pero para no hacerlo tan dificil y tener que estando multiplicando mucho lo que aremos sera usar otra función de octave que realiza esto por nosotros:
conv\left ( p,s \right )
Lo malo es que solo puede realizarse sobre dos polinomios entonces ajustaremos nuestra función dada para que solo sean dos en el caso del numerador y el denominador:
Términando lo anterior pondremos los vectores en la términal, recuerden que solo se ponen los constantes:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Utilizamos la función residue para sacar lo que se nos pidio:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Después obtenga la transformada inversa de Laplace de F\left ( s \right )
Para poder obtener la transformada podemos usar lo que obtuvimos en lo anterior de fracciones simples con octave, primero lo aremos de esta manera y después de la manera larga en donde nosotros tenemos que obtenerlo por fracciones parciales:
Para calcular la transformada inversa necesitaremos la tabla de parejas de transformadas de laplace que viene en el libro que estamos utilizando: Link (Libro 4ta edición-no vienen algunas páginas):
Tranformada inversa con los datos que nos arrojo octave F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}={\frac{.9375}{\left ( s+1 \right )}}+{\frac{1.25}{\left ( s+3 \right )}}+\frac{3.75}{\left ( s+5 \right )^{2}}+{\frac{-2.1875}{\left ( s+5 \right )}}
Esto solo se hace en un paso ya teniendo los valores de las fracciones simples lo unico que hacemos es buscar en la tabla el denominador que tienen estas fracciones.
De la tabla las que utilizaremos serán:
Función f(t)
Transformada F(s)
e^{-at}
\frac{1}{s+a}
te^{-at}
\frac{1}{\left ( s+a \right )^{2}}
Como se dan cuenta las fracciones simples que tenemos son como lo que tenemos en la parte de Transformada F(s) en nuestra tabla:
Lo unico que hacemos es tomar la Función f(t) que le pertenece a esa Transformada F(s) con sus valores de a indicados.
Ahora sacamos la transformada inversa directamente:
L^{-1}[F\left ( s \right )]=.9375e^{-t}+1.25e^{-5t}+3.75te^{-5t}-2.1875e^{-5t}
Ya terminado lo haremos por la parte larga que ya menciones, donde para ello utilizaremos las fracciones parciales.
Lo primero que haremos sera expresar la función que nos dieron en fracciones parciales:
Recurden que cuando tenemos factores de primer grado repetidos en el denoominador como en nuestro caso \left ( s+5 \right )^{2} , lo que haremos es poner una constante sobre cada raiz disminuyendo en uno el exponente.
La función queda de la siguiente manera:
F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}={\frac{A}{\left ( s+1 \right )}}+{\frac{B}{\left ( s+3 \right )}}+\frac{C}{\left ( s+5 \right )^{2}}+{\frac{D}{\left ( s+5 \right )}}
Pasos para Resolver:
Paso 1
Multiplicamos los miembros de las fracciones parciales por el denominador de la función que se nos dio:
Si se fijan obtuvimos los mismos valores que nos arrojo octave, entonces solo es de sustituir como anteriormente con l función de f(t) que le pertenece a la transformada de F(s) y da el mismo resultado.
L^{-1}F\left ( s \right )= .9375e^{-t}+1.25e^{-5t}+3.75te^{-5t}-2.1875e^{-5t}
Referencias:
Información de residue y conv: octave
jueves, 30 de agosto de 2012
Tarea2:
La tarea 2 es checar si las claves que genera nuestro otp (one time pad) realmente es aleatoria.
La clave evaluada fue la siguiente:
Esta clave es generada del programa anterior con el siguiente código:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Funciona leyendo las claves del archivo llamado key.txt pasandoselo a cada uno de los test.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Primero yo realice un test sencillo que se llama Monobit:
Monobit
Detecta los ceros y los unos que se encuentran en la cadena binaria, sustituyendo los ceros que encuentre por -1, asi realizando una suma. La aparición de ceros y unos en la secuencia global deberan de ser igualmente probables
Datos a tener:
n = tamaño de la clave binaria ε =La secuencia de bits que se esta probando
Procedimiento:
1. Como mencione se buscan los ceros y se sustituyen por -1y se realiza una suma, ejemplo:
lista=[1,1,0,0,1,0,1]
quedaría:
lista=[11,-1-1,1-11]
y se realiza la suma de la lista
2-Se calcula la prueba estadística:
3. Se calcula p_value (erfc es la función error complementaria.)
4.Si P - value > 0.01, la secuencia es aleatoria.
Código:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
También utilice otras dos pruebas que es la de Poker y la de frecuencia de Bloques
Frecuencia de Bloques
En la prueba de bloques los ceros y unos deberan de ser igualmente probables.
Datos:
n - largo de la secuencia m - el largo de cada bloque ε - secuencia de bits generada Recomendaciones:
Procedimiento: 1. Se parte la prueba e bloques de un cierto tamaño se calcula de la siguiente manera:
2. Se determina la proporción de unos:
3. Se calcula la chi2=X2
4. Se calcula la p_value:
Código
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Lo que hace la prueba de póker es dividir la clave en numeros de 4 bist, por ejemplo si yo tengo esta:
0101000001100011
se divide de la siguiente manera :
0101 0000 0110 0011
entonces como se divide en 4 hay 16 posibles resulados que pueden salir y esos 16 resultados son contados las veces que estan o el número de frecuencias de cada uno.
La formula que se realiza es la siuiente:
en donde:
m = es el tamaño de la división de la secuencia en este caso 4
n = lóngitud o tamaño de la secuencia binaria
k = es la división de m entre n
Pasos:
1. Se divide la serie de número binarios en secciones de 4 numeros (0000).
2. Se buscan las frecuencias de los 16 diferentes numeros que se pueden encontrar
3. La frecuencia se eleva al cuadrado
4. Se realiza lo que es la ecuación anterior:
x2=(16/k)(frecuencias al cuadrado)-k
La prueba se pasa cuando 1.03<x<57.4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters