Main Content

getBranches

Return internal allpass branches

Description

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

example

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.internal.LegacyAllpassFilter]
    Branch2: [1x1 dsp.internal.LegacyAllpassFilter]

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

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

s.Branch2
ans = 
  dsp.internal.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.internal.LegacyAllpassFilter]
    Branch2: [1x1 dsp.internal.LegacyAllpassFilter]

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

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

s.Branch2
ans = 
  dsp.internal.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.internal.LegacyAllpassFilter]
    Branch2: [1x1 dsp.internal.LegacyAllpassFilter]

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

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

s.Branch2
ans = 
  dsp.internal.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.

Version History

Introduced in R2013b

Go to top of page