getBranches

Return internal allpass branches

Description

example

s = getBranches(caf) returns copies of the internal allpass branches as a two-field structure, s. Each branch is an instance of dsp.AllpassFilter.

Examples

collapse all

Get the internal allpass branches of the dsp.CoupledAllpassFilter System object™.

Minimum Multiplier

Create a dsp.CoupledAllpassFilter object with filter structure set to 'Minimum multiplier'. Use the getBranches function to get the internal allpass filter objects.

caf = dsp.CoupledAllpassFilter
caf = 
  dsp.CoupledAllpassFilter with properties:

               Structure: 'Minimum multiplier'
         PureDelayBranch: 0
    AllpassCoefficients1: {[0 0.5000]}
    AllpassCoefficients2: {[]}
                   Gain1: '1'
                   Gain2: '1'

s = getBranches(caf)
s = struct with fields:
    Branch1: [1x1 dsp.private.LegacyAllpassFilter]
    Branch2: [1x1 dsp.private.LegacyAllpassFilter]

s.Branch1
ans = 
  dsp.private.LegacyAllpassFilter with properties:

    AllpassCoefficients: {[0 0.5000]}
              Structure: 'Minimum multiplier'
      InitialConditions: 0

s.Branch2
ans = 
  dsp.private.LegacyAllpassFilter with properties:

    AllpassCoefficients: {[]}
              Structure: 'Minimum multiplier'
      InitialConditions: 0

Wave Digital Filter

Change the filter structure to 'Wave Digital Filter'. The internal allpass filters display WDF coefficients.

caf.Structure = 'Wave Digital Filter'
caf = 
  dsp.CoupledAllpassFilter with properties:

           Structure: 'Wave Digital Filter'
     PureDelayBranch: 0
    WDFCoefficients1: {[0.5000 0]}
    WDFCoefficients2: {[]}
               Gain1: '1'
               Gain2: '1'

s = getBranches(caf)
s = struct with fields:
    Branch1: [1x1 dsp.private.LegacyAllpassFilter]
    Branch2: [1x1 dsp.private.LegacyAllpassFilter]

s.Branch1
ans = 
  dsp.private.LegacyAllpassFilter with properties:

      WDFCoefficients: {[0.5000 0]}
            Structure: 'Wave Digital Filter'
    InitialConditions: 0

s.Branch2
ans = 
  dsp.private.LegacyAllpassFilter with properties:

      WDFCoefficients: {[]}
            Structure: 'Wave Digital Filter'
    InitialConditions: 0

Lattice

When the filter structure is set to 'Lattice', the internal allpass filters display the lattice coefficients.

caf.Structure = 'Lattice'
caf = 
  dsp.CoupledAllpassFilter with properties:

                       Structure: 'Lattice'
                 PureDelayBranch: 0
            LatticeCoefficients1: {[0 0.5000]}
            LatticeCoefficients2: {[]}
                            Beta: 1
                           Gain1: '1'
                           Gain2: '1'
    ComplexConjugateCoefficients: 0

s = getBranches(caf)
s = struct with fields:
    Branch1: [1x1 dsp.private.LegacyAllpassFilter]
    Branch2: [1x1 dsp.private.LegacyAllpassFilter]

s.Branch1
ans = 
  dsp.private.LegacyAllpassFilter with properties:

    LatticeCoefficients: {[0 0.5000]}
              Structure: 'Lattice'
      InitialConditions: 0

s.Branch2
ans = 
  dsp.private.LegacyAllpassFilter with properties:

    LatticeCoefficients: {[]}
              Structure: 'Lattice'
      InitialConditions: 0

Input Arguments

collapse all

Input filter object, specified as a dsp.CoupledAllpassFilter System object™.

Output Arguments

collapse all

Internal allpass branches, returned as a two-field structure. The two fields contain instances of the dsp.AllpassFilter System objects representing the two individual branches of the dsp.CoupledAllpassFilter object.

See Also

Functions

System Objects

Introduced in R2013b