Main Content

unwrap

Desplazar ángulos de fase

Descripción

ejemplo

Q = unwrap(P) desplaza los ángulos de fase en radianes en un vector P. Cuando el salto entre ángulos consecutivos es mayor que o igual a π radianes, unwrap desplaza los ángulos añadiendo múltiplos de ±2π hasta que el salto es inferior a π. Si P es una matriz, unwrap actúa en las columnas. Si P es un arreglo multidimensional, unwrap actúa en la primera dimensión cuyo tamaño es mayor que 1.

ejemplo

Q = unwrap(P,tol) compara el salto entre elementos de P con el umbral de salto tol en lugar del valor predeterminado de π radianes. Si especifica un umbral de salto inferior a π, unwrap utiliza el umbral de salto predeterminado π.

ejemplo

Q = unwrap(P,[],dim) desplaza a lo largo de la dimensión dim.

Q = unwrap(P,tol,dim) desplaza a lo largo de la dimensión dim utilizando el umbral de salto tol.

Ejemplos

contraer todo

Defina las coordenadas x e y de una espiral con ángulo de fase de 0 a 6π. Represente la espiral.

t = linspace(0,6*pi,201);
x = t/pi.*cos(t);
y = t/pi.*sin(t);
plot(x,y)

Encuentre el ángulo de fase de la espiral desde las coordenadas x e y utilizando la función atan2. La función atan2 devuelve los valores de los ángulos dentro del intervalo cerrado de -π a π.

P = atan2(y,x);
plot(t,P)

Tenga en cuenta que esta gráfica tiene discontinuidades. Utilice unwrap para eliminar las discontinuidades. unwrap añade múltiplos de ±2π cuando la diferencia de fase entre elementos consecutivos de P es mayor que o igual al umbral de salto π radianes. El ángulo de fase desplazado Q se encuentra en el intervalo de 0 a 6π.

Q = unwrap(P);
plot(t,Q)

Desplace el ángulo de fase de una respuesta en frecuencia. La curva de fase tiene dos saltos. El primer salto es de 3.4250 radianes entre W = 3 y W = 3.4, y el segundo salto es de 6.3420 radianes entre W = 5 y W = 5.4. Represente la curva de fase.

clear; close all;
W = [0:0.4:3, 3.4:0.4:5, 5.4:0.4:7];
P = [-1.5723
     -1.5747
     -1.5790
     -1.5852
     -1.5922
     -1.6044
     -1.6269
     -1.6998
      1.7252
      1.5989
      1.5916
      1.5708
      1.5582
     -4.7838
     -4.8143
     -4.8456
     -4.8764
     -4.9002];
plot(W,P,'bo-')

Utilice unwrap para desplazar el ángulo de fase utilizando el umbral de salto predeterminado de π radianes. Represente la curva de fase desplazada. Ambos saltos se desplazan, ya que son mayores que el umbral de salto de π radianes.

plot(W,unwrap(P),'ro-')

Ahora desplace el ángulo de fase utilizando un umbral de salto de 5 radianes. Represente la curva de fase desplazada. El primer salto no está desplazado, ya que es inferior al umbral de salto de 5 radianes.

plot(W,unwrap(P,5),'ro-')

Defina una matriz de dos columnas P que contenga ángulos de fase.

P = [0 7.07; 0.19 0.98; 6.67 1.18; 0.59 1.37; 0.78 1.56]
P = 5×2

         0    7.0700
    0.1900    0.9800
    6.6700    1.1800
    0.5900    1.3700
    0.7800    1.5600

Los ángulos de fase P(1,2) = 7.07 y P(3,1) = 6.67 tienen diferencias de fase que son mayores que π en comparación con el resto de los datos.

Desplace los ángulos de fase comparando en primer lugar los elementos por columnas. Especifique el argumento dim como 1. Utilice el umbral de salto predeterminado π especificando el segundo argumento como [].

dim = 1;
P1 = unwrap(P,[],dim)
P1 = 5×2

         0    7.0700
    0.1900    7.2632
    0.3868    7.4632
    0.5900    7.6532
    0.7800    7.8432

Para desplazar ángulos de fase por filas en lugar de por columnas, especifique dim como 2 en lugar de como 1.

dim = 2;
P2 = unwrap(P1,[],dim)
P2 = 5×2

         0    0.7868
    0.1900    0.9800
    0.3868    1.1800
    0.5900    1.3700
    0.7800    1.5600

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como vector, matriz o arreglo multidimensional.

Tipos de datos: single | double

Umbral de salto para aplicar el desplazamiento de fase, especificado como escalar. Un umbral de salto inferior a π tiene el mismo efecto que el umbral predeterminado π.

Tipos de datos: single | double

Dimensión en la que operar, especificada como escalar entero positivo. Si no se especifica ningún valor, el valor predeterminado es la primera dimensión del arreglo cuyo tamaño no es igual a 1.

  • unwrap(P,[],1) opera en las columnas de P y devuelve el ángulo de fase desplazado de cada columna.

    unwrap(P,[],1) column-wise operation

  • unwrap(P,[],2) opera en las filas de P y devuelve el ángulo de fase desplazado de cada fila.

    unwrap(P,[],2) row-wise operation

Si dim es mayor que ndims(P), unwrap(P,[],dim) devuelve P.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Argumentos de salida

contraer todo

Ángulo de fase desplazado, devuelto como vector, matriz o arreglo multidimensional. El tamaño de la salida Q siempre es igual que el tamaño de la entrada P.

Tipos de datos: single | double

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

Consulte también

| | |