Análisis de sistemas de control, Digital Signal Processing, Ingeniería Electrónica, Ingeniería Mecánica, Mecatrónica, Procesamiento de señales digitales, Teoría Electromagnética

La Mecatrónica y el Procesamiento de Señales Digitales (DSP) – Sistemas de Control Automático

Comencemos con una pregunta ¿Qué papel juega DSP (Digital Signal Processing) en los sistemas de control modernos?

Las herramientas clásicas de control para sistemas de tiempo continuo permiten el diseño de circuitos analógicos para gobernar todo tipo de sistemas físicos. Sin embargo, con los microprocesadores, los ingenieros de control son capaces de ajustar o cambiar la ley de control de una manera más rápida y versátil. La dificultad radica en la necesidad de trasladar todos los conceptos de la ingeniería clásica de control al nuevo escenario en que las señales no son conocidas en todo instante de tiempo (sistemas de tiempo discreto).

Las herramientas básicas para el control de sistemas de tiempo discreto son El Concepto de Muestreo y Reconstrucción y el análisis matemático de las señales muestreadas mediante La Transformada Z. Estos serán los primeros tópicos de conocimiento que necesitamos adquirir, compartir, simular y organizar en una KB (Knowledge Base).

Los pasos TC a TD y viceversa, permiten emplear sistemas tiempo discreto para realizar el procesado de las señales analógicas del mundo real y devolverlas al mismo. Se necesita una interfaz entre la señal analógica y el procesador digital. Esta interfaz se llama conversor A/D.

La señal digital concede las siguientes ventajas:

  • El almacenamiento es más fácil en soportes magnéticos (discos y cintas), sin deterioro o pérdida en la fidelidad de la señal.
  • La tolerancia en los circuitos analógicos son más difíciles de controlar, mientras que en los digitales es más fácil.
  • El procesado digital permite la implementación de algoritmos de procesado más sofisticados.
  • El procesado digital es más barato que su equivalente analógico. El hardware digital es más barato que el analógico.
  • El procesado de señales digitales es más flexible.
  • La transmisión de señales digitales es menos susceptible al ruido que la analógica.
  • Las señales digitales permiten evitar la distorsión, el ruido de transmisión y la diafonía.

Sin embargo, hay una limitación práctica. La velocidad de operación de los convertidores A/D y la velocidad de los procesadores de señales digitales. Las señales con ancho de banda grande precisan de convertidores A/D con velocidades de muestreo altas y procesadores digitales rápidos, lo cual es una limitación física.

Ejemplo de implementación analógica.

Los potenciómetros del circuito de la Figura 12.2 permiten modificar la ley del compensador de la Figura 12.1 (hasta ciertos límites). Sin  embargo, si el ingeniero desea probar otro tipo de compensador, tendrá que soldar un nuevo circuito, alternativa muy tediosa, lenta y poco práctica.

Por motivos de flexibilidad, coste, programabilidad, almacenamiento y capacidad de compresión, es preferible el procesamiento de señales (DSP) mediante sistemas digitales.

Ejemplo de implementación digital.

En la Figura 12.3 se muestra la alternativa digital al mismo problema. Se sustituye el controlador por un microprocesador, capaz de recibir la magnitud del error en los puertos de entrada (normalmente convertidores A/D, contadores de pulsos, encoders, etc…) y comandar la actuación de la planta a través de los puertos de salida (normalmente convertidores D/A). La operación del microprocesador está comandada por un reloj (interior o exterior), que marca los instantes en los que se ejecutan las sentencias del programa introducido por el ingeniero. Si el mismo desea cambiar el algoritmo, sólo tiene que cambiar las líneas del programa. Por este cambio evolutivo, este modo de control es mucho más versátil y práctico para el proceso de diseño.

El reloj también señala la frecuencia con la que se produce la lectura de los convertidores A/D y el comando de las salidas D/A. ¿qué datos puede utilizar el ingeniero en su programa para calcular la salida o actuación del controlador? No se puede esperar que un microprocesador sea capaz de controlar el movimiento del cabezal de un disco duro, si el reloj ordena la ejecución del programa cada minuto. Pero, el mismo sistema podría controlar la temperatura del interior de un edificio. Por lo tanto, la frecuencia de ejecución del programa de control es una decisión clave del ingeniero.

Para constatar el papel que la integración DSP-Control juega en el mercado, vemos el siguiente esquema:

Nuestro siguiente paso será formular las herramientas básicas del DSP: El Concepto de Muestreo y Reconstrucción y el análisis matemático de las señales muestreadas mediante La Transformada Z.

Recursos:

Informática avanzada para mecatrónica

Introducción a LINUX

Software Architecture

Programación en C++

Grado en Mecatrónica UNIZAR

Contacta con tu profesor

WhatsApp: +34 633129287 (atención lo más inmediata posible – tome en cuenta horario España)

email: dademuchconnection@gmail.com

Si tienes un ejercicio que debes resolver de manera urgente, te recomiendo intentar primero el hacerlo por ti mismo. Si no logras resolverlo ¡¡ATENCIÓN!!……!! … Prof. Larry. Se hacen trabajos, ejercicios, clases online, talleres, laboratorios, Academic Paper, Tesis, Monografías. Resuelvo problemas y ejercicios …atención inmediata!! si utilizas mi número de Whatsapp..tome en cuenta horario España.

Elaborado por Prof. Larry Francis Obando – Technical Specialist – Educational Content Writer

Escuela de Ingeniería Electrónica de la Universidad Simón Bolívar, USB Valle de Sartenejas.

Escuela de Ingeniería Eléctrica de la Universidad Central de Venezuela, UCV CCs

Escuela de Turismo de la Universidad Simón Bolívar, Núcleo Litoral.

Contacto: España: Tlf. 633129287

Caracas, Valladolid, Quito, Guayaquil, Jaén, Villafranca de Ordizia.

WhatsApp: +34 633129287

+34 678250977

Twitter: @dademuch

Análisis de sistemas de control, Convolución - respuesta al impulso, Procesamiento de señales digitales

Convolución de señales en tiempo discreto – Matlab

La salida y[n] de un sistema lineal e invariante en el tiempo (LTI-system) puede ser determinada mediante la sumatoria siguiente:

La ecuación anterior se denomina Convolución entre las señales discretas x[n] y h[n], donde x[n] es la entrada al sistema y h[n] es la respuesta al impulso del sistema.

Por convención, la convolución entre x[n] y h[n] se expresa mediante al siguiente notación:

Ejemplo 1. 

El pulso rectangular x[n] definido por la siguiente ecuación es la entrada a un sistema LTI con respuesta l impulso h[n]:

Determine la salida y[n] del sistema.

Solucion:

En el link Graficar el escalón unitario hemos diseñado en Matlab la función stepseq para graficar , o cualquier combinación tal como la señal x[n] del ejemplo 1. El siguiente Script permite graficar x[n].

n=[0:40];
x=stepseq(0,0,40)-stepseq(10,0,40);
stem(n,x)
xlabel(‘n’); ylabel(‘x[n]’)

Figure 1. Input sequence x[n], example 1.

Por su parte, el siguiente Script permite graficar h[n].

n=[0:40];
h=(0.9).^n;
stem(n,h)
xlabel(‘n’); ylabel(‘h[n]’)

Figure 2. Impulse response h[n] for system in example 1.

Ahora, utilizamos la función conv del toolbox de Matlab para determinar y[n]:

y=conv(x,h);
n=[0:80];
stem(n,y);
xlabel(‘n’); ylabel(‘y[n]’)

Figure 3. Output sequence y[n]=x[n]*h[n] for example 1.

Otra aproximación es utilizando la función filter (ver Resolver ecuaciones diferenciales en tiempo discreto):

n=[0:40];
x=stepseq(0,0,40)-stepseq(10,0,40);
h=(0.9).^n;
y=filter(h,1,x);
stem(n,y)
xlabel(‘n’); ylabel(‘y[n]’)
grid

Este comando genera:

Figure 4. Output sequence y[n]=x[n]*h[n] for example 1.

Hay una diferencia en los resultados de estas dos implementaciones que debe tenerse en cuenta. Como puede ver en la Figura 3, la secuencia de salida de la función conv(x, h) tiene una longitud mayor que las secuencias x[n] y h[n]. Por otro lado, la secuencia de salida de la función filter(h, 1, x) en la Figura 4 tiene exactamente la misma longitud que la secuencia de entrada x[n]. En la práctica, se recomienda el uso de la función filter.

Nota: la función filter se ha utilizado para calcular la convolución indirectamente. Eso fue posible debido a que la respuesta al impulso en el ejemplo 1 era una secuencia exponencial de un solo lado (sólo definida pra n>=0), para la cual podríamos determinar una representación en forma de ecuación en diferencias. No todas las respuestas de impulso de longitud infinita se pueden convertir en ecuaciones en diferencias.

Convolución analíticamente

También podemos hacer la convolución entre x[n] y h[n] Analíticamente:

Aplicando la ecuación para la convolución obtenemos :

Ahora usamos la expresión para la suma de componentes de una serie geométrica (Serie geométrica):

En consecuencia, la ecuación (1) es equivalente a:

La ecuación (3) tiene la misma forma que la ecuación (2) excepto por el término u(n-k) el cual toma diferentes valores dependiendo de los valores que toman n y k. Existen tres posibilidades para u(n-k) que deben ser evaluadas por separado:

Cas0 1. n<0: Entonces u(n-k)=0 para 0 k 9. Por lo tanto:

Caso 2. En este caso, los valores son distintos de cero y no se superponen. Entonces, en el intervalo 0n<9, u(n-k)=1 para 0kn. Así:

Aplicando la fórmula de la ecuación (2):

Caso 3. En este caso la respuesta al impulso h[n] se superpone parcialmente con x[n]. Así, en el intervalo 9 n, u(n-k)=1 para 0 k 9. En consecuencia:

En el último caso h[n] se superpone completamente a la entrada x[n].

Método gráfico de convolución

Para desarrollar la convolución entre dos señales también podemos utilizar un método gráfico, como en el ejemplo siguiente.

Ejemplo 2

The input signal x[n] to an LTI system with impulse response h[n]:

Determine graphically y[n] through:

La imagen tiene un atributo ALT vacío; su nombre de archivo es null-63.png

Solution:

Sequences x[k] and h[n-k], and the convolution of both signals can be seen as follows:

El método de convolución gráfica anterior involucra los siguientes pasos:

  1. La respuesta al impulso h[k] se invierte en el tiempo (es decir, se refleja sobre el origen) para obtener h[-k]  y posteriormente se desplaza mediante n para formar h[n-k] = h[-(k-n)], que es una función de k con parámetro n;
  2. Las dos secuencias x[k] y h[n-k] se multiplican entre sí para todos los valores de k con n fija en algún valor;
  3. El producto x[k]h[n-k] se suma sobre todas las k para producir una sola muestra de salida y[n];
  4. Los pasos 1 a 3 se repiten a medida que n varía en el intervalo de –infinito a +infinito para producir la salida completa y[n].
Ejemplo 3
Convolution Properties.

Otras propiedades de interés son:

Ante una entrada x[n], la respuesta y[n] de un sistema LTI es:

Se conoce que la respuesta al impulso h[n] del sistema:

Determinar x[n]. Seleccionar la respuesta correcta de las siguientes alternativas:

Respuesta:

Nuestra estrategia será utilizar las siguientes propiedades:

Expresamos la respuesta al impulso en términos de deltas de Dirac desplazados:

Luego, si seleccionamos:

Entonces:

Podríamos demostrar gráficamente que la anterior ecuación coincide con la gráfica para y[n] dada en el enunciado. Por lo tanto, la opción correcta es la letra a). Vamos a demostrarlo con Matlab.

La respuesta al impulso h[n] y la opción a) para la entrada x[n] pueden ser graficadas en Matlab utilizando:

n=[-3:10];
h=stepseq(0,-3,10)-stepseq(4,-3,10);
stem(n,h)
xlabel(‘n’); ylabel(‘h[n]’)

Figure 5. Impulse response h[n] for system in example 3.

n=[-3:10];
x=stepseq(-3,-3,10)-stepseq(1,-3,10);
stem(n,x)
xlabel(‘n’); ylabel(‘x[n]’)

Figure 6. Input signal x[n] for system in example 3.

Ahora, podemos graficar y[n] utilizando:

n=[-3:10];
h=stepseq(0,-3,10)-stepseq(4,-3,10);
x=stepseq(-3,-3,10)-stepseq(1,-3,10);
x1=stepseq(-2,-3,10)-stepseq(2,-3,10);
x2=stepseq(-1,-3,10)-stepseq(3,-3,10);
x3=stepseq(0,-3,10)-stepseq(4,-3,10);
y=x+x1+x2+x3;
stem(n,y)

Figure 7. Output sequence y[n] for example 3.

El mismo resultado lo hubiésemos obtenido utilizando:

La imagen tiene un atributo ALT vacío; su nombre de archivo es null-64.png

n=[-3:10];;
h=stepseq(0,-3,10)-stepseq(4,-3,10);
x=stepseq(-3,-3,10)-stepseq(1,-3,10);
y=conv(h,x);
n=[0:26];
stem(n,y)
xlabel(‘n’); ylabel(‘y[n]’)

Figure 8. Output sequence y[n]=x[n]*h[n] for example 3.

Fuente:

  • Digital Signal Processing Using Matlab, 3erd ed
  • Fundamentos_de_Señales_y_Sistemas_usando la Web y Matlab
  • Oppenheim – Señales y Sistemas
  • Análisis de Sistemas Lineales Asistido con Scilab – Un Enfoque desde la Ingeniería Eléctrica.

Relacionado:

Revisión literaria hecha por:

Prof. Larry Francis Obando – Technical Specialist – Educational Content Writer

Se hacen trabajos, se resuelven ejercicios!!

WhatsApp:  +34633129287  Atención Inmediata!!

Twitter: @dademuch

Copywriting, Content Marketing, Tesis, Monografías, Paper Académicos, White Papers (Español – Inglés)

Escuela de Ingeniería Electrónica de la Universidad Simón Bolívar, USB Valle de Sartenejas.

Escuela de Ingeniería Eléctrica de la Universidad Central de Venezuela, UCV CCs

Escuela de Turismo de la Universidad Simón Bolívar, Núcleo Litoral.

Contacto: España. +34633129287

Caracas, Quito, Guayaquil, Jaén. 

WhatsApp:  +34633129287     

Twitter: @dademuch

FACEBOOK: DademuchConnection

email: dademuchconnection@gmail.com

Procesamiento de señales digitales

The Geometric Series in Digital Signal Processing

In Matlab an array operator “” is required to implement a real exponential sequence of the form:

Over the n1< no < n2 interval. For example, to implement:

We will use the following Matlab function:

n=[0:10];;
x=(0.9).^n;
stem(n,x);
xlabel(‘n’); ylabel(‘x[n]’)

This script yields:

Geometric series

A one-side exponential sequence of the form:

Where α is an arbitrary constant. This sequences is called a geometric series.  In DSP, the convergence and expression for the sum of this series are used in many applications. The series converges for:

While this condition is true, the sum of the geometric series components converges to:

From here, we also need an expression for the sum of any finite number of terms of the series, and that is given by:

These two important results will be used deeply throughout DSP.

Complex-valued exponential sequence

Where σ produces an attenuation (if<0) or amplification (if>0)  and ωo is the frequency in radians. The Matlab function exp generates the exponential sequences. For example, for x[n] =exp[(2+j3)n], 0n10, we will use the following script:

n=[0:10]; x=exp(3j*n);
stem(n,k)

This script yields:

Source:

  • Digital Signal Processing Using Matlab, 3erd ed

PREVIOUS:

Literature review by:

Prof. Larry Francis Obando – Technical Specialist – Educational Content Writer

Exercises are solved!!

WhatsApp:  +34633129287  Inmediate Attention!!

Twitter: @dademuch

Copywriting, Content Marketing, Tesis, Monografías, Paper Académicos, White Papers (Español – Inglés)

Escuela de Ingeniería Electrónica de la Universidad Simón Bolívar, USB Valle de Sartenejas.

Escuela de Ingeniería Eléctrica de la Universidad Central de Venezuela, UCV CCs

Escuela de Turismo de la Universidad Simón Bolívar, Núcleo Litoral.

Contacto: España. +34633129287

Caracas, Quito, Guayaquil, Jaén. 

WhatsApp:  +34633129287     

Twitter: @dademuch

FACEBOOK: DademuchConnection

email: dademuchconnection@gmail.com

Procesamiento de señales digitales

Graficar el escalón unitario discreto con Matlab

La función ones(1,N) genera un vector fila de N unos. Se puede utilizar para generar u[n] en un intervalo finito. Un enfoque elegante es utilizar la relación lógica n>=0. Para implementar:

En el intervalo n1< no < n2 , utilizaremos la siguiente función Matlab:

function[x,n]=stepseq(n0,n1,n2)

% Generates x(n)=u(n-n0); n1<=n<=n2

n=[n1:n2]; x=[(n-n0)>=0];

Note: para ver como se implementa una función en Matlab ver: matlab getstart, page 176, (4-22)

Ahora podemos utilizar la función stepseq como sigue,para implementar una función arbitraria P=u[n-5] en el intervalo 0< no < 18:

n=[0:18];
P=stepseq(5,0,18);
stem(n,P)

Obtenemos:

P =     0     0     0     0     0     1     1     1     1     1     1     1     1     1     1     1     1     1     1

La imagen tiene un atributo ALT vacío; su nombre de archivo es null-7.png

Ejemplo 2. Generar y graficar la siguiente secuencia sobre el intervalo indicado:

n=[0:20]; x1=10exp(-0.3(n-10)).(stepseq(10,0,20)-stepseq(20,0,20)); x2=n.(stepseq(0,0,20)-stepseq(10,0,20));
x=x1+x2;
stem(n,x); title(‘Secuencia de Problema 2’)

Este script genera el siguiente gráfico:

Fuente:

  • Digital Signal Processing Using Matlab, 3erd ed

RELACIONADO:

Revisión literaria hecha por:

Prof. Larry Francis Obando – Technical Specialist – Educational Content Writer

Se hacen trabajos, se resuelven ejercicios!!

WhatsApp:  +34633129287  Atención Inmediata!!

Twitter: @dademuch

Copywriting, Content Marketing, Tesis, Monografías, Paper Académicos, White Papers (Español – Inglés)

Escuela de Ingeniería Electrónica de la Universidad Simón Bolívar, USB Valle de Sartenejas.

Escuela de Ingeniería Eléctrica de la Universidad Central de Venezuela, UCV CCs

Escuela de Turismo de la Universidad Simón Bolívar, Núcleo Litoral.

Contacto: España. +34633129287

Caracas, Quito, Guayaquil, Jaén. 

WhatsApp:  +34633129287     

Twitter: @dademuch

FACEBOOK: DademuchConnection