Documentation Center

  • Trial Software
  • Product Updates

autoscale

Automatic dynamic range scaling

Syntax

autoscale(hd,x)
hnew = autoscale(hd,x)

Description

autoscale(hd,x) provides dynamic range scaling for each node of the filter hd. This method runs signal x through hd in floating-point to simulate filtering. autoscale uses the maximum and minimum data obtained from that simulation at each filter node to set fraction lengths to cover the simulation full range and maximize the precision. Word lengths are not changed during autoscaling.

hnew = autoscale(hd,x) If you request an output, autoscale returns a new filter with the scaled fraction lengths. The original filter is not changed.

For introductory demonstrations of the automatic scale process, refer to the following demos in the toolbox:

Examples

Demonstrate dynamic range scaling in a lattice ARMA filter:

hd = design(fdesign.bandpass,'ellip');
hd = convert(hd,'latticearma');
hd.arithmetic = 'fixed';
rng(4); x = rand(100,10); % Training input data.
hd(2) = autoscale(hd,x);
hfvt = fvtool(hd,'Analysis','magestimate','Showreference','off');
legend(hfvt, 'Before Autoscaling', 'After Autoscaling')

See Also

Was this topic helpful?