3

System Design Flow and Fixed-point Arithmetic

*Pure mathematics is, in its way, the poetry of logical ideas.*

3.1 Overview

This chapter describes a typical design cycle in the implementation of a signal processing application. The first step in the cycle is to capture the requirements and specifications (R&S) of the system. The R&S usually specify the sampling rate, a quantitative measure of the system’s performance, and other application-specific parameters. The R&S constrain the designer to explore different design options and algorithms to meet them in the most economical manner. The algorithm exploration is usually facilitated by MATLAB^{®}, which is rich in toolsets, libraries and functions. After implementation and analysis of the algorithm in MATLAB^{®}, usually the code is translated into higher level programming languages, for example, C/C **++** or C#.

This requires the chapter to focus on *numbering systems.* Representing signed numbers in two’s complement format is explained. In this representation, the most significant bit (MSB) has negative weight and the remainder of the bits carry positive weights. Although the two’s complement arithmetic greatly helps addition and subtraction, as subtraction can be achieved by addition, the negative weight of the sign bit influences multiplication and shifting operations. As the MSB of a signed number carries negative weight, the multiplication operation requires different handling for different types of operand. There are ...