PROGRAMMING APPROACH Implementation of a fir filter Response i=1 A general program for any order finite impulse response or fixed order Round off errors WHAT IT NEEDS - PLANNING and AN EFFEctiVe WAY OF MULTIPLICATION PROGRAM MINGMETHDOLODGY AND SOFTWAREENGINEERING 港城市大 Copyrighto1998 Angus Wu
PROGRAMMING METHDOLODGY AND SOFTWARE ENGINEERING Copyright©1998 Angus Wu PROGRAMMING APPROACH Implementation of a FIR filter i n i i sponse a x = = 1 Re A general program for any order finite impulse response or fixed order….. Round off errors.. WHAT IT NEEDS - PLANNING and AN EFFECTIVE WAY OF MULTIPLICATION
PHASE OF A SOFTWARE PROJECT The basic software project development phases are Specify, Design, Code, Test, Maintain Specify -answer the question "what is the problem to be solved? The specification must be precise and complete For example the fir problem. what is the allowable round off error(precision), integer or floating point multiplication the range of input data and coefficients, How big is it allowed to be? Might it be negative? Is it more important to be fast or to be accurate?( depending on application) Specify may be called Analysis Phase PROGRAM MINGMETHDOLODGY AND SOFTWAREENGINEERING 港城市大 Copyrighto1998 Angus Wu
PROGRAMMING METHDOLODGY AND SOFTWARE ENGINEERING Copyright©1998 Angus Wu PHASE OF A SOFTWARE PROJECT The basic software project development phases are: Specify, Design, Code, Test, Maintain Specify - answer the question “what is the problem to be solved?” The specification must be precise and complete. For example, the FIR problem, what is the allowable round off error (precision), integer or floating point multiplication, the range of input data and coefficients, How big is it allowed to be? Might it be negative? Is it more important to be fast or to be accurate? (depending on application) Specify may be called ‘Analysis Phase’
PHASE OF A SOFTWARE PROJECT Design-answer the question"how should the problem be solved? Design includes finding the suitable abstractions and decomposition of the problem into manageable components For Fir problem, how to implement the multiplication, fast accurate? based on the specification from the first phase How many modules? reading data, coefficient multiplication, report data..error handling, checking the validation of input data PROGRAM MINGMETHDOLODGY AND SOFTWAREENGINEERING 港城市大 Copyrighto1998 Angus Wu ol Hone Kone
PROGRAMMING METHDOLODGY AND SOFTWARE ENGINEERING Copyright©1998 Angus Wu PHASE OF A SOFTWARE PROJECT Design- answer the question “how should the problem be solved?”. Design includes finding the suitable abstractions, and decomposition of the problem into manageable components. For FIR problem, how to implement the multiplication, fast, accurate? based on the specification from the first phase. How many modules? reading data, coefficient, multiplication, report data….. error handling, checking the validation of input data…
PHASE OF A SOFTWARE PROJECT Code-the transformation process of the underlying algorithm into machine readable code based on the specification. The basic problem of it is the coding style It should be simple and easy to maintain example refer to sq0. c, sq2.c Test-ensure that the program meets the specification. Not the syntax correctness but the correctness of the implementation of the underlying algorithm/operations. It should have a test plan for such task Maintain -adapt the program to change of requirements or environment PROGRAM MINGMETHDOLODGY AND SOFTWAREENGINEERING 港城市大 Copyrighto1998 Angus Wu ol Hone Kone
PROGRAMMING METHDOLODGY AND SOFTWARE ENGINEERING Copyright©1998 Angus Wu PHASE OF A SOFTWARE PROJECT Code - the transformation process of the underlying algorithm into machine readable code based on the specification. The basic problem of it is the coding style. It should be simple and easy to maintain. example refer to sq0.c, sq2.c Test - ensure that the program meets the specification. Not the syntax correctness but the correctness of the implementation of the underlying algorithm/operations. It should have a test plan for such task. Maintain - adapt the program to change of requirements or environment
MEANS OF DEVELOPMENT ALGORITHM-It is the underlying process to be implemented as the machine operable instruction(codes) In order to translate/transform the human understandable concepts, the targeted process/operation is represented as algorithm. The means to represent the algorithm should be a language. In fact, before we can develop program, we need a notation in which to express the development PROGRAM MINGMETHDOLODGY AND SOFTWAREENGINEERING 港城市大 Copyrighto1998 Angus Wu
PROGRAMMING METHDOLODGY AND SOFTWARE ENGINEERING Copyright©1998 Angus Wu MEANS OF DEVELOPMENT ALGORITHM- It is the underlying process to be implemented as the machine operable instruction (codes). In order to translate/transform the human understandable concepts, the targeted process/operation is represented as algorithm. The means to represent the algorithm should be a language. In fact, before we can develop program, we need a notation in which to express the development