# v_meansqtf

## PURPOSE V_AVEPSPEC calculates the mean square transfer function for a filter D=(B,A)

## SYNOPSIS function d=v_meansqtf(b,a)

## DESCRIPTION ```V_AVEPSPEC calculates the mean square transfer function for a filter D=(B,A)

Inputs: B,A         Numerator and denominator filter coefficients.

Output: D           The mean square transfer function of the filter B/A. This equals
the average otuput power when the filter is fed with unit variance
white noise.

D may be obtained approximately by:
N=1024; D=sum(filter(B,A,[1 zeros(1,N)]).^2)```

## CROSS-REFERENCE INFORMATION This function calls:
• v_lpcar2rr V_LPCAR2RR Convert autoregressive coefficients to autocorrelation coefficients RR=(AR,P)
This function is called by:

## SOURCE CODE ```0001 function d=v_meansqtf(b,a)
0002 %V_AVEPSPEC calculates the mean square transfer function for a filter D=(B,A)
0003 %
0004 % Inputs: B,A         Numerator and denominator filter coefficients.
0005 %
0006 % Output: D           The mean square transfer function of the filter B/A. This equals
0007 %                     the average otuput power when the filter is fed with unit variance
0008 %                     white noise.
0009 %
0010 %                     D may be obtained approximately by:
0011 %                         N=1024; D=sum(filter(B,A,[1 zeros(1,N)]).^2)
0012
0013 % Since the power spectrum is the fourier transform of the autocorrelation, we can calculate
0014 % the average value of pb/pa by taking the 0'th order term of the convolution of the autocorrelation
0015 % functions associated with b and 1/a. Since b is an FIR filter, this convolution is
0016 % a finite sum even though the autocorrelation function of 1/a is infinite in extent.
0017
0018 %      Copyright (C) Mike Brookes 1997
0019 %      Version: \$Id: v_meansqtf.m 10865 2018-09-21 17:22:45Z dmb \$
0020 %
0021 %   VOICEBOX is a MATLAB toolbox for speech processing.
0023 %
0024 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0025 %   This program is free software; you can redistribute it and/or modify
0027 %   the Free Software Foundation; either version 2 of the License, or
0028 %   (at your option) any later version.
0029 %
0030 %   This program is distributed in the hope that it will be useful,
0031 %   but WITHOUT ANY WARRANTY; without even the implied warranty of
0032 %   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0033 %   GNU General Public License for more details.
0034 %
0035 %   You can obtain a copy of the GNU General Public License from
0036 %   http://www.gnu.org/copyleft/gpl.html or by writing to
0037 %   Free Software Foundation, Inc.,675 Mass Ave, Cambridge, MA 02139, USA.
0038 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0039
0040 if length(a)==1
0041    d=(b(:)')*b(:);
0042 else
0043    m=lpcar2ra(b(:)');
0044    m(1)=m(1)*0.5;
0045    d=2*v_lpcar2rr(a(:)',length(m)-1)*m';
0046 end```