unwrap
Desplazar ángulos de fase
Descripción
Q = unwrap(
desplaza los ángulos de fase en radianes en un vector P
)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.
Ejemplos
Corregir el ángulo de fase de una espiral
Defina las coordenadas e de una espiral con ángulo de fase de 0 a . 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 e 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 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 .
Q = unwrap(P); plot(t,Q)
Desplazar ángulos de fase con diferentes umbrales
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-')
Aplicar el desplazamiento de fase a una matriz
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
P
— Arreglo de entrada
vector | matriz | arreglo multidimensional
Arreglo de entrada, especificado como vector, matriz o arreglo multidimensional.
Tipos de datos: single
| double
tol
— Umbral de salto para aplicar el desplazamiento de fase
pi
(predeterminado) | escalar
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
dim
— Dimensión en la que operar
escalar entero positivo
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 deP
y devuelve el ángulo de fase desplazado de cada columna.unwrap(P,[],2)
opera en las filas deP
y devuelve el ángulo de fase desplazado de cada fila.
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
Q
— Ángulo de fase desplazado
vector | matriz | arreglo multidimensional
Á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
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
La entrada vector fila solo se admite cuando las dos primeras entradas son vectores y no escalares.
Realiza operaciones aritméticas en la clase de salida. Por lo tanto, es posible que los resultados no coincidan con MATLAB® debido a distintos errores de redondeo.
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Esta función es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Ejecutar funciones de MATLAB en un entorno basado en subprocesos.
Arreglos GPU
Acelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos de GPU. Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Arreglos distribuidos
Realice particiones de arreglos grandes por toda la memoria combinada de su cluster mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos distribuidos. Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historial de versiones
Introducido antes de R2006a
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)