Documentation

polyscale

Scale roots of polynomial

Syntax

b = polyscale(a,alpha)

Description

b = polyscale(a,alpha)scales the roots of a polynomial in thez-plane, whereais a vector containing the polynomial coefficients andalphais the scaling factor.

Ifalphais a real value in the range[0 1], then the roots ofaare radially scaled toward the origin in thez-plane. Complex values foralphaallow arbitrary changes to the root locations.

Examples

collapse all

Express the solutions to the equationas the roots of a polynomial. Plot the roots in the complex plane.

pp = [1 0 0 0 0 0 0 -1]; zplane(pp,1)

Scale the roots ofpin and out of the unit circle. Plot the results.

holdonforsc = [1:-0.2:0.2 1.2 1.4]; b = polyscale(pp,sc); plot(roots(b),'o')endaxis([-1 1 -1 1]*1.5) holdoff

Load a speech signal sampled at. The file contains a recording of a female voice saying the word "MATLAB®."

loadmtlb

Model a 100-sample section of the signal using a 12th-order autoregressive polynomial.

Ao = lpc(mtlb(1000:1100),12); Ax = polyscale(Ao,0.85);

Perform bandwidth expansion of the signal by scaling the roots of the autoregressive polynomial by 0.85. Plot the zeros, poles, and frequency responses of the models.

subplot(2,2,1) zplane(1,Ao) title('Original') subplot(2,2,3) zplane(1,Ax) title('Flattened') subplot(1,2,2) [ho,w] = freqz(1,Ao); [hx,w] = freqz(1,Ax); plot(w/pi,abs([ho hx])) legend('Original','Flattened')

Tips

By reducing the radius of the roots in an autoregressive polynomial, the bandwidth of the spectral peaks in the frequency response is expanded (flattened). This operation is often referred to asbandwidth expansion.

See Also

|

Introduced before R2006a

Was this topic helpful?