find phase greater than 2*pi in MATLAB I'm working on extracting the phase information in a given signal in MATLAB. I've the following vector;
signal = [exp(1i*10) exp(1i*100) exp(1i*1000) exp(1i*10000)];

When I use angle function in MATLAB to calculate the phase value, it returns the following result.
angle(signal) = -2.5664   -0.5310    0.9735   -2.8310

I want to calculate the original phase values, as follows,
  [10 100 1000 10000];


How to find the original phase values above interval [-π,π] in MATLAB?
You can, if you increase phase between samples slowly enough, using unwrap(angle(signal)). &quot;Slowly enough&quot; means the phase doesn't jump by more than $2 \pi$; unwrap works by tracking &quot;total phase&quot;. Python equivalent implementation here (note you can configure discont there for jumps greater than $\pi$ (or TOL) but it's pointless with angle since it outputs within $[-\pi, \pi]$).
Otherwise, can't, as described by others. For an infinite number of inputs, you get the same output, like asking &quot;what's $N$ in $N\ \%\ 2 = 0$&quot; (division by 2 remainder).