Add minimum phase to frequency response magnitude
addMinPhase to generate phase information for any complex
vector H(w) for which the measured magnitude
|H| is available but not the phase.
assumes that H(w) represents the frequency response of
a minimum-phase stable linear system.
data is numeric, the sample time is assumed to be one second
and the frequency is assumed to be
Add Minimum Phase to Frequency Response Data
Load time-domain input-output data and store the frequency response in an
idfrd object. Remove the phase information by taking the absolute value of the response. Plot the response.
load iddata1 z1 m0 = arx(z1,[2 3 0]); ts = z1.Ts; w = linspace(0,pi,128)/ts; response = idfrd(m0,w); response.ResponseData = abs(response.ResponseData); bode(response)
Add the minimum phase information to the response. Plot the response.
responseMinPhase = addMinPhase(response,ts); bode(responseMinPhase)
data — Input frequency response signals
matrix of positive real values |
Input frequency response signals, specified as one of these values:
A matrix of positive real values
idfrdobject containing positive real values in its
ts — Sample time in seconds
nonnegative real scalar
Sample time of signals, in seconds, specified as a nonnegative real scalar.
datac — Frequency response signals with minimum phase added
complex matrix |
Frequency response signals with minimum phase added, returned as a complex matrix or
datais a matrix, then
datacis a complex matrix of the same size as
data. If the vector
data(:,i)has all real and nonnegative values, then
datac(:,i)is the complex version of
data(:,i)with added phase. Otherwise,
datac(:,i)is identical to
datacis also an
idfrdobject. If the matrix
data.ResponseData(i,j,:)has real and nonnegative values for each input-output pair
datac.ResponseData(i,j,:)is the complex version of that vector with added phase. Otherwise,
datac.ResponseData(i,j,:)is identical to
Introduced in R2022b