# $S$-Parameter Phase in Matlab

I'm trying to plot the phase of S-parameters on Matlab. The data I have is the coupling matrix (M) of the system and from that I have extracted S11 and S21 (column 1 in image is frequency and column 2 and 3 are corresponding S11 and S21 at that frequency). Now, I have used 20log(S11) and 20log(S21) to plot the amplitude of S11 and S21, but I can't figure out how to extract phase of S11 and S21 from this data.

P.S: I actually need the group delay of S21 and S11 but I know group delay is the negative derivative of phase (-d(phi)/dt).

• OK so I've been able to figure out how to get phase in degree and radian. Now, I need to find group delay, since I have numerical values and not functions of frequency the derivative will always be zero, so how do I find the group delay in such a case? – JOHN Apr 20 at 19:44
• Check out Scheid: Schaum's Outline of Numerical Analysis, Chapter 21 Least Squares Polynomial Approximation for numerical differentiation pp241-243, 2nd ed, A simple finite difference approximation will not likely to work if you have any noise. – hyportnex Apr 20 at 22:02
• I saw the topic you recommended but S parameters are not straight polynomials like P(x) etc. so I'm still not sure how to use that information for my work. – JOHN Apr 21 at 9:10
• you need to interpolate the measured phases, just make sure that when you do it the values are "unwrapped" – hyportnex Apr 21 at 10:21
• I got the idea that you said but the group delay does not look right. I had phase in radians and used unwrap command to unwrap the phases then basically used [phi(n) - phi(n-1)]/[freq(n)-freq(n-1)] for group delay but didn't get the right results. – JOHN Apr 23 at 16:32