Model-Based Design of Fixed-Point Filters for Embedded Systems 2009-01-0150
Digital filters are used in many automotive applications ranging from identification and conditioning of signals in an engine controller to digital radio receivers. Often these filters are implemented in fixed point for reasons such as throughput or cost. Selecting a fixed-point implementation requires trading off behavioral performance for available resources on the embedded processor. In addition, many of these filters must support calibration at processor startup or run time. Hence the selected implementation must meet the behavioral requirements for a set of digital filters. A common example application is audio processing to optimize cabin acoustics. In this case, the embedded audio processor queries the vehicle identification over the vehicle network then selects a bank of digital filters which are calibrated to provide optimal acoustics to the passengers.
This paper describes a workflow that applies Model-Based Design to develop an algorithm with selectable banks of fixed-point digital filters. In this workflow, the algorithm specification begins in floating point. Simulation test benches are then created to explore and verify the behavior. The algorithm is then converted to fixed-point in stages. The test benches are reused to verify correct behavior is maintained throughout the elaboration of the algorithm specification to fixed point. Automatic code generation is then applied to implement the algorithm in C code which takes advantage of processor specific intrinsic functions for fixed-point mathematics on an Analog Devices’ Blackfin processor. The example workflow is described in the context of an acoustic tone controls application, but the approach can be applied to many applications requiring digital filters which will be deployed to a fixed-point embedded processor.