## 2 The Round-Off Noise Model
### Symbol Conventions and Transfer Functions  
The following definitions are used throughout the text. Every stage without rounding or scaling is indicated by \(H_{k}(z)\) or \(H_{k}(e^{\left/\omega_{e}\right. })\) or in short form \(H_{k}\). The total filter transfer function is written as \(H(z)\) or \(H(e^{\left/\omega_{e}\right.})\). A (general) stage with rounding and scaling is indicated by \(\overline{H_{k}(z)}\), \(\overline{H_{k}(e^{\left/\omega_{e}\right. })}\) or in short form \(\overline{H_{k}}\). The respective scaling factors per stage are indicated by \(S_{k}\). The time samples of the round-off noise source are indicated by \(e_{k}(n)\) (where \(n\) is the discrete time index) or in short form \(e_{k}\). The noise variance of a noise source is given by \(\sigma_{e}^{2}\). A number of transfer functions are defined in Figure 2. \(F_{k}\left(z\right)\) is the transfer function from the filter input to the output of the stage with transfer function \(H_{k}(z)\) (without rounding). \(G_{k}\left(z\right)\) is the transfer function from the output of the stage with transfer function \(H_{k}(z)\) to the output of the filter (without rounding). For the round-off noise analysis, it is assumed there is a round-off noise source at the output of each stage. The transfer function from the filter input to the output of the stage with transfer function \(\overline{H_{k}(z)}\) (noise source of stage \(k\) not included, as shown in Figures 3 and 4) is indicated by \(\overline{F_{k}(z)}\). The transfer function from the output of the stage with transfer function \(\overline{H_{k}(z)}\) (noise source of stage \(k\) included, as shown in Figure 4) to the output of the total scaled filter is indicated by \(\overline{G_{k}(z)}\). Figure 2: The filter cascade without rounding or scaling and its transfer functions. Consequently, the following holds:  
\[G_{k}\left(z\right)=\prod_{m=k+1}^{p-1}\left(H_{m}\left(z\right)\right), \tag{6}\]  
\[\overline{G_{k}\left(z\right)}=\prod_{m=k+1}^{p-1}\left(\overline{H_{m}\left(z \right)}\right)=\prod_{m=k+1}^{p-1}\left(S_{m}H_{m}\left(z\right)\right)= \left(\prod_{m=k+1}^{p-1}\left(S_{m}\right)\right)G_{k}\left(z\right), \tag{7}\]  
\[F_{k}\left(z\right)=\prod_{m=0}^{k}H_{m}\left(z\right), \tag{8}\]  
\[\overline{F_{k}\left(z\right)}=\prod_{m=0}^{k}\left(\overline{H_{m}\left(z \right)}\right)=\prod_{m=0}^{k}\left(S_{m}H_{m}\left(z\right)\right)=\left( \prod_{m=0}^{k}\left(S_{m}\right)\right)F_{k}\left(z\right). \tag{9}\]  
Figure 4: The “worked out” rounded and scaled filter cascade and its transfer functions. Figure 3: The rounded and scaled filter cascade and its transfer functions. where \(f_{k}(n)\) are the impulse response samples of the filter given by the transfer function \(F_{k}(z)\). \(p_{k}\) is the length of the impulse response. Equation (15) in recursive form yields: \[S_{k}=\left\{ \begin{array}{ll}\left(\sum\limits_{n=0}^{P_{0}}\left|f_{0}\left( n\right)\right|\right)^{-1}&k=0\\ \left(\prod\limits_{n=0}^{k-1}S_{n}\right)^{-1}\left(\sum\limits_{n=0}^{P_{k} }\left|f_{k}\left(n\right)\right|\right)^{-1}&k=1......P-1.\end{array} \right.\] (16) Absolute bound scaling is based on the reasoning that if the peak value of the input signal is bounded by unity, the peak absolute value of the signal at each stage output will be bounded by unity when absolute bound scaling is used. The absolute bound scaling criterion is avoiding overflow in all cases. Contrary to the absolute bound scaling approach, when using infinity bound scaling or \(\mathrm{L}_{2}\) bound scaling, overflow is still possible. Although all scaling methods prevent overflow according to a certain criterion, none of them will force all multiplier coefficients to be smaller than (or equal to) one. This implies that in a practical implementation it can happen that the bits used to represent a multiplier coefficient are not sufficient. The problem can be solved in several ways [19]. The present paper uses a method that has minimum impact on the overall accuracy.