phi,w = phasez(b,a,n) — returns the phase response of the specified digital filter. Specify a digital filter with numerator coefficients b and the coefficients of the denominator a. The function returns n-the point vector of the phase characteristic in the output argument phi and the corresponding vector of angular frequencies w.
phi,w = phasez(B,A,"ctf",n) — returns n-a point phase characteristic of a digital filter, represented as Cascaded Transfer Functions (Cascaded Transfer Functions, CTF) with numerator coefficients B and the coefficients of the denominator A.
phi,w = phasez((B,A,g),"ctf",n) — returns n-the point phase characteristic of the digital filter in CTF format. Specify a filter with numerator coefficients B, the coefficients of the denominator A and gain factors g by filter sections.
phi,w = phasez(sos,n) — returns n-a point phase characteristic corresponding to a matrix of second-order sections sos.
phi,w = phasez(___,n,"whole") — returns n-the point phase characteristic of the sample over the entire unit circle.
phi,f = phasez(___,n,fs) — returns the vector of the phase characteristic phi and the corresponding vector of physical frequencies f for a digital filter designed to filter signals sampled with frequency fs.
phi = phasez(___,f,fs) — returns the vector of the phase characteristic phi calculated at the physical frequencies specified in the input argument f.
phi = phasez(___,w) — returns the vector of the phase characteristic phi calculated on the normalized frequencies specified in the input argument w.
phasez(___,out=:plot) — plots the phase response of the filter.
Arguments
Input arguments
#b,a are
the coefficients of the transfer function
+
vectors
Details
The coefficients of the transfer function, set as vectors. The transfer function is expressed in terms of b and a as follows:
Типы данных
Float64, Float32
Support for complex numbers
Yes
#n is
the number of frequency points by which the characteristic is evaluated
+
512 (by default) | a positive integer
Details
The number of frequency points by which the characteristic is evaluated, set as a positive integer of at least 2. If the argument is n not specified, the default value is 512. For best results, set for the argument n a value exceeding the filter order.
#B,A are
the coefficients of the cascade transfer function
+
scalars | vectors | matrices
Details
The coefficients of the cascade transfer function, specified as scalars, vectors, or matrices. In matrices B and A The coefficients of the numerator and denominator of the cascade transfer function are listed, respectively.
The matrix B must have a size of on , and the matrix A — on , where
If any element of the matrix A[:,1] not equal to 1, then the function phasez normalizes the filter coefficients by A[:,1]. In this case A[:,1] it must be non-zero.
Gain coefficients defined as a real scalar or vector with real values containing the element where — the number of sections of the cascade transfer function. The gain factors represent the distribution of the filter gain across the sections of the cascade filter representation.
Function phasez applies the gain to the filter sections using the function scaleFilterSections depending on the way the argument is set g:
scalar — the function evenly distributes the gain across all sections of the filter;
vector — the function applies the first applies the gain values to the corresponding filter sections and distributes the last gain value evenly across all filter sections.
Типы данных
Float64, Float32
#sos —
coefficients of the sections of the second order
+
the matrix
Details
Coefficients of the second-order sections, specified as a matrix. Argument sos — this is a matrix of size on , where is the number of sections must be greater than or equal to 2. If the number of sections is less 2, the function processes the input data as a vector of numerators. Each line sos corresponds to the coefficients of the second-order filter (biquadrate filter); - I’m a string sos respond [bi[1] bi[2] bi[3] ai[1] ai[2] ai[3]].
The angular frequencies are set as a vector, and the units of measurement are rad/count. Vector w it must contain at least two elements, otherwise the function interprets it as n. The value of the argument w = π corresponds to the Nyquist frequency.
Frequencies specified as a vector. Vector f it must contain at least two elements, otherwise the function interprets it as n. If the unit of time is seconds, then f expressed in Hz.
Типы данных
Float64
Input arguments «name-value»
Specify optional argument pairs as Name=Value, where Name — the name of the argument, and Value — the appropriate value.
The output format of the phase characteristic. Specify this argument in quotation marks so that the function returns the phase response of the digital filter, represented as cascaded transfer functions.
The phase characteristic returned as a vector. If the argument is n if set, then the vector phi has a length of n. If n if it is not specified or set as an empty vector, then the length of the vector is phi equal to 512.
If the input data of the function is phasez They have single precision, the function calculates the phase response using single precision arithmetic. Output argument phi it has a single precision.
The angular frequencies returned as a vector. The value of the argument w varies from 0 before . If an argument is given as input "whole", then the values in the vector w will vary from 0 before . If an argument is given n, vector w has a length of n. If n if it is not specified or set as an empty vector, then the length of the vector is w equal to 512.
Frequencies returned as a vector and expressed in Hz. Argument f accepts values from 0 before fs/2 Hz. If an argument is given as input "whole", then the values in the vector f will be in the range of 0 before fs Hz. If an argument is given n, vector f has a length of n. If n if it is not specified or set as an empty vector, then the length of the vector is f equal to 512.
Additional Info
Cascading transfer functions
Details
Splitting a digital IIR filter into cascaded sections increases its numerical stability and reduces its susceptibility to coefficient quantization errors. Cascade form of the transfer function in terms of transfer functions it has the form
Setting digital filters in CTF format
Details
Digital filters can be designed in CTF format to analyze, visualize, and filter signals. The filter is set by enumerating its coefficients B and A. You can also specify the scaling factor of the filter by sections by setting a scalar or vector value. g.
coeffects of the filter
When setting coefficients in the form -lowercase matrices
it is assumed that the filter is set as a sequence of cascade transfer functions, so that the complete transfer function of the filter has the form
where — the order of the filter numerator, and — the order of the denominator.
If and defined as vectors, it is assumed that the basic system is a single-section IIR filter (), where represents the numerator of the transfer function, and — its denominator.
If — scalar, it is assumed that the filter is a cascade of all-pole IIR filters, and the total system gain of each cascade is equal to .
If — scalar, it is assumed that the filter is a cascade of FIR filters, and the total gain of the system of each cascade is equal to .
To convert second-order section matrices into cascade transfer functions, use the function sos2ctf.
To convert the filter representation with zeros, poles, and gain into cascaded transfer functions, use the function zp2ctf.
coeffects and amplification
If there is a common scale gain or several scale gain factors that are outside the values of the filter coefficients, you can specify the coefficients and gain as a tuple. (B, A, g). Scaling the filter sections is especially important when working with fixed-point arithmetic to ensure that the output signals of each filter section have similar amplitude levels, which helps to avoid inaccuracies in the filter phase response due to limited computational accuracy.
The gain can be a scalar total gain or a vector of section gain coefficients.
If the gain is scalar, its value is applied uniformly to all sections of the cascade filter.
If the gain is a vector, it must contain one element more than the number of filter sections. in the cascade. Each of the first The gain factor is applied to the corresponding filter section, and the last value is applied evenly to all sections of the cascade filter.
If you specify the filter coefficient matrices and the gain coefficient vector as
it is assumed that the transfer function of the filter system has the form
Literature
Lyons, Richard G. Understanding Digital Signal Processing. Upper Saddle River, NJ: Prentice Hall, 2004.