¿Discretización de retención de orden cero?

1

Tengo algunas dificultades para entender algo. Existen varios métodos de discretización, como el orden cero (ZOH), el euler delantero, el euler inverso, tustin, etc.

  1. Los métodos de discretización de Euler hacia adelante, Euler hacia atrás, etcétera, aproximan el cálculo de una integral (ver más abajo), pero ¿cuál es la aproximación integral cuando se usa un ZOH? ¿Qué hace un ZOH?
  2. ¿Por qué Matlab no admite el euler hacia adelante, el euler hacia atrás, la regla de los Simpson o incluso las aproximaciones integrales de orden superior como métodos de discretización? ¿Pero solo ZOH, tustin, emparejamiento de polo cero? ¿Hay alguna razón para ello?
  3. ¿Es incluso útil usar, por ejemplo, la regla de Simpsons como método de discretización o incluso usar aproximaciones de orden superior? Hasta donde he leído, en enlace , ¿la regla de los Simpsons tiene una única desventaja?

Por ejemplo,

Considere la función de transferencia

$$ \ frac {F (s)} {E (s)} = \ frac {1} {s} $$

Esto corresponde a la ecuación diferencial

$$ \ frac {\ mathrm {d} f (t)} {\ mathrm {d} t} = e (t) $$

La integración de ambos lados da

$$ f (t) = f (t_0) + \ int_ {t_0} ^ {t} e (t) \ mathrm {d} t $$

Ahora t está espaciado uniformemente, por ejemplo, t = kT, con k = 0,1,2, ... Durante un muestreo t0 = kT yt = kT + T, la solución se convierte en

$$ f (kT + T) = f (kT) + \ int_ {kT} ^ {kT + T} e (t) \ mathrm {d} t $$

Ahora utilizamos la regla trapezoidal (tustin) enlace . La integral es aproximada por

$$ \ int_ {a} ^ {b} f (x) \, dx \ approx (ba) \ left [\ frac {f (a) + f (b)} {2} \ right] $$

Como resultado, obtenemos

$$ f (kT + T) = f (kT) + \ frac {kT + T - kT} {2} \ left (e (kT) + e (kT + T) \ right) $$

Usando la transformada z que obtienes

$$ (z - 1) F (z) = \ frac {T} {2} (z + 1) E (z) \ rightarrow \ frac {F (z)} {E (z)} = \ frac {T} {2} \ frac {z + 1} {z - 1} $$

y como tal, usted determina comparando el resultado con la primera ecuación que

$$ s = \ frac {2} {T} \ frac {z - 1} {z + 1} $$

Lo mismo que puede determinar usando euler hacia adelante, euler hacia atrás, etc. Ahora me pregunto ¿cuál es el reemplazo para la variable laplace s cuando usará ZOH? ¿Y qué tipo de aproximación utiliza el ZOH? Según tengo entendido, usted discretiza el sistema utilizando ZOH mediante la aplicación

$$ G (z) = (1 - z ^ {- 1}) \ mathcal {Z} \ left \ {\ frac {G (s)} {s} \ right \} $$

    
pregunta WG-

2 respuestas

3

En un sistema híbrido, el muestreador y el ZOH realizan las operaciones: se muestrea una señal continua (conversión analógica a digital, ADC) para producir una señal discreta, y la señal discreta se devuelve a la forma continua (digital a analógica). conversión, DAC). Generalmente, hay un procesamiento digital entre estas dos operaciones, pero la operación combinada DAC / ADC normalmente se representa como un solo Laplace TF en el diagrama de bloques.

Por simplicidad, considere el ZOH aislado, es decir, sin procesamiento de datos entre la muestra y la retención. Deje que la señal de entrada = x (t), la señal de salida = y (t) y el incremento de muestreo = T seg. En el instante de muestreo k'th (es decir, en t = kT), la entrada al ADC se puede denotar x (k) y la salida del DAC se mantiene constante en x (k) hasta que llega la siguiente muestra.

Por lo tanto, la salida DAC entre x (k) y x (k + 1) es un pulso rectangular de altura, x (k) y duración, T. Esto se puede modelar, para la representación de la transformada de Laplace, como un paso de altura x (k) en t = kT y un paso de altura -x (k) en el tiempo t = (k + 1) T, y puede realizarse a través del operador de retardo LT, e ^ -skT, que retrasa cualquier señal por kT sec

Por lo tanto, la LT del pulso aislado es {e ^ (- skT)} x (k) / s - {e ^ [- s (k + 1) T} x (k) / s, o:

e ^ (- skT) {1-e ^ -sT} x (k) / s

Para la señal completa, de t = 0 a t = kT esta función se reduce a Y (s) = X (s) {1-e ^ -sT} / s donde X (s) e Y (s) son Laplace transformó la entrada y salida de ZOH. Por lo tanto, Y (s) / X (s) = (1-e ^ -sT) / s

Si, ahora, deseamos continuar conectando un bloque G (s) a la salida de ZOH, el TF general se convierte en (1 - e ^ -sT) G (s) / s. Pero hay un problema: si estamos obligados a cerrar el bucle alrededor de este TF, la CLTF resultante no será analítica debido a que e ^ -sT aparece en el denominador de CLTF. Por lo tanto, debemos volver a las transformaciones z para hacerlas analíticas.

La transformada z del bit exponencial es fácil; es (1 - z ^ -1), porque z ^ -1 es el operador de retardo en el dominio z (y por lo tanto es equivalente a e ^ -sT) y debemos encontrar la transformada z de G (s) / s para completar la imagen.

    
respondido por el Chu
1

Para dirigir las 3 preguntas específicas: 1. Un elemento de retención de orden cero se usa para tomar una señal discreta en el tiempo kT y mantiene el valor constante (orden 0, ¿recuerdas?) Hasta el tiempo kT + T. Ver Wikipedia (en los comentarios).

  1. Matlab hace, lo que ellos quieren.

  2. El muestreo es muy rápido en estos días. El orden de espera cero es básicamente lo más fácil que puede hacer, y si realiza un muestreo mucho más rápido de lo que son las dinámicas relevantes, ¡está listo para comenzar! Tustin hace, lo que usted describió: tratar de interpolar la integral por medio de una función lineal.

Hay ciertos beneficios de cualquiera de los métodos. Claramente las órdenes más altas serían agradables. Sin embargo, vienen a costo de cálculo y complejidad. Algunos métodos conservan las posiciones polares del sistema (haciendo que la dinámica esté estrechamente relacionada), mientras que otros los distorsionan bastante. En términos generales, un orden superior no siempre es el camino a seguir. Digamos que muestra un cohete de Marte con 1 ms y aplica una aproximación integral de cuarto orden. Si tiene tal vez un cambio de grado en 10 segundos, eso hace 10000 muestras para descubrir y reaccionar. No hay necesidad de obtener cosas de orden superior en el medio.

Como siempre el orden depende de tu aplicación. En este caso más alto que lineal no es realmente un beneficio. Creo que prefieres aumentar la tasa de muestreo en su lugar.

Específicamente al ejemplo: La respuesta de Chu es correcta, sin embargo, para mí fue detenerme exactamente, donde quería saber más: en $$ G (z) = (1-z ^ {- 1}) \; \ mathcal {Z} \ left \ {\ frac {G (s)} {s} \ right \} $$ y exactamente cómo se obtiene \ $ G \ big (s = F (z) \ big) \ $ obtenido.

Al desviarse de la notación del OP, sea y la salida de un integrador, yx es la entrada. En el dominio de la frecuencia (Transformada de Laplace) esto es: G (s) = 1 / s. Sea \ $ T_s \ $ el tiempo de muestreo. Para el integrador en el dominio del tiempo tenemos:

$$ y (kT + T) = y (kT) + \ int_ {kT_s} ^ {kT_s + T_s} x (\ tau) d \ tau $$ Ahora, al igual que en el ejemplo de OP, tratamos de aproximarnos a este integrador aproximándonos $$ \ frac {\ hat {y} (z)} {\ hat {x} (z)} $$. Como lo hacemos manteniendo el valor constante (orden cero) que se aplicó en el momento kT, obtenemos $$ y (kT + T) \ approx y (kT) + x (kT) T_s $$. Aplicar la transformada z es equivalente a $$ z \ hat {y} (z) = \ hat {y} (z) + \ hat {x} (z) T_s $$. Al reordenar, obtenemos $$ \ frac {\ hat {y} (z)} {\ hat {x} (z)} = \ frac {T_s} {z-1} $$ y recordando que modelamos un integrador, que es $$ \ frac {Y (s)} {X (s)} = \ frac {1} {s} $$ terminamos con: $$ s \ leftarrow \ frac {z-1} {T_s} $$ y ahora puede escribir $$ F (z) = \ frac {z-1} {T_s} $$.

    
respondido por el mike

Lea otras preguntas en las etiquetas