apr7 iir fir filters

Upload: sally-nahumury

Post on 07-Apr-2018

241 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Apr7 Iir Fir Filters

    1/147

    M o t o r o l a s H i g h - P e r f o r m a n c e D S P T e c h n o l o g y

    APR7/DRev. 2

    Motorola's

    DSP56000/SPS/DSP56001

    Implementing

    IIR/FIR Filterswith

    Digital SignalProcessors

  • 8/6/2019 Apr7 Iir Fir Filters

    2/147

    MOTOROLA APR 7

    MotorolaDigital SignalProcessors

    Implementing IIR/FIRFilters with MotorolasDSP56000/DSP56001

    byJohn Lane and Garth HillmanDigital Signal Processing Division

  • 8/6/2019 Apr7 Iir Fir Filters

    3/147

    Motorola reserves the right to make changes without further notice to any products here-in. Motorola makes no warranty, representation or guarantee regarding the suitability ofits products for any particular purpose, nor does Motorola assume any liability arising outof the application or use of any product or circuit, and specifically disclaims any and allliability, including without limitation consequential or incidental damages. Typical pa-rameters can and do vary in different applications. All operating parameters, includingTypicals must be validated for each customer application by customers technical ex-perts. Motorola does not convey any license under its patent rights nor the rights of oth-ers. Motorola products are not designed, intended, or authorized for use as components

    in systems intended for surgical implant into the body, or other applications intended tosupport or sustain life, or for any other application in which the failure of the Motorolaproduct could create a situation where personal injury or death may occur. Should Buyerpurchase or use Motorola products for any such unintended or unauthorized application,Buyer shall indemnify and hold Motorola and its officers, employees, subsidiaries, affili-ates, and distributors harmless against all claims, costs, damages, and expenses, andreasonable attorney fees arising out of, directly or indirectly, any claim of personal injuryor death associated with such unintended or unauthorized use, even if such claim alleg-es that Motorola was negligent regarding the design or manufacture of the part. Motorolaand B are registered trademarks of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employer.

    Motorola Inc. 1993

  • 8/6/2019 Apr7 Iir Fir Filters

    4/147

    Tableof Contents

    MOTOROLA iii

    SECTION 1

    Introduction

    1.1 Analog RCL Filter Types 1-4

    1.2 Analog Lowpass Filter 1-5

    1.3 Analog Highpass Filter 1-91.4 Analog Bandstop Filter 1-9

    1.5 Analog Bandpass Filter 1-12

    SECTION 2

    Second-OrderDirect-Form IIR

    Digital FilterSections

    2.1 Digital Lowpass Filter 2-9

    2.2 Digital Highpass Filter 2-11

    2.3 Digital Bandstop Filter 2-18

    2.4 Digital Bandpass Filter 2-18

    2.5 Summary of Digital Coefficients 2-22

    SECTION 3

    Single-SectionCanonic Form

    (Direct Form II)

    3.1 The Canonic-Form DifferenceEquation 3-1

    3.2 Analysis of Internal Node Gain 3-5

    3.3 Implementation on the DSP56001 3-10

    SECTION 4

    Single-SectionTranspose Form

    4.1 Gain Evaluation of Internal Nodes 4-1

    4.2 Implementation on the DSP56001 4-2

    SECTION 5

    Cascaded DirectForm

    5.1 Butterworth Lowpass Filter 5-1

    5.2 Cascaded Direct-Form Network 5-9

  • 8/6/2019 Apr7 Iir Fir Filters

    5/147

    iv MOTOROLA

    Tableof Contents

    SECTION 6

    Filter Design

    and AnalysisSystem

    6.1 Canonic Implementation 6-2

    6.2 Transpose Implementation(Direct Form I) 6-14

    SECTION 7

    FIR FILTERS

    7.1 Linear-Phase FIR Filter Structure 7-2

    7.2 Linear-Phase FIR Filter DesignUsing the Frequency SamplingMethod 7-8

    7.3 FIR Filter Design Using FDAS 7-227.4 FIR Implementation on the

    DSP56001 7-29

    REFERENCES Reference-1

  • 8/6/2019 Apr7 Iir Fir Filters

    6/147

    Illustrations

    MOTOROLA v

    Figure 1-1

    Figure 1-2

    Figure 1-3

    Figure 1-4

    Figure 1-5

    Figure 1-6

    Figure 1-7

    Figure 1-8

    Figure 2-1

    Figure 2-2

    s-Domain Analysis of Second-Order LowpassAnalog Filter 1-6

    Gain and Phase Response of Second-OrderLowpass Analog Filter at Various Valuesof Damping Factor, d 1-7

    s-Domain Analysis of Second-Order HighpassAnalog Filter 1-10

    Gain and Phase Response of Second-OrderHighpass Analog Filter at Various Valuesof Damping Factor, d 1-11

    s-Domain Analysis of Second-Order BandstopAnalog Filter 1-13

    Gain and Phase Response of Second-OrderBandstop Analog Filter at Various Values ofDamping Factor, d 1-14

    s-Domain Analysis of Second-Order BandpassAnalog Filter 1-15

    Gain and Phase Response of Second-OrderBandpass Analog Filter at Various Values of

    Damping Factor, d 1-16

    Spectrum of Bandlimited Signal Repeated atMultiples of the Sampling Frequency, fs 2-3

    Direct-Form Implementation of Second-OrderLowpass IIR Filter and Analytical FormulasRelating Desired Response to Filter Coefficients 2-12

  • 8/6/2019 Apr7 Iir Fir Filters

    7/147

    vi MOTOROLA

    IllustrationsFigure 2-3

    Figure 2-4

    Figure 2-5

    Figure 2-6

    Figure 2-7

    Figure 2-8

    Figure 2-9

    Figure 2-10

    Figure 2-11

    Figure 2-12

    Gain and Phase Response of Second-OrderLowpass IIR Filter 2-13

    DSP56001 Code and Data Structures forSecond-Order Direct-Form Implementationof a Lowpass IIR Filter 2-14

    Direct-Form Implementation of Second OrderHighpass IIR Filter and Analytical FormulasRelating Desired Response to Filter Coefficients 2-15

    Gain and Phase Response of Second-OrderHighpass IIR Filter 2-16

    DSP56001 Code and Data Structures forSecond-Order Direct-Form Implementation

    of a Highpass IIR Filter 2-17

    Direct-Form Implementation of Second-OrderBandstop IIR Filter and Analytical FormulasRelating Desired Response to Filter Coefficients 2-19

    DSP56001 Code and Data Structures forSecond-Order Direct-Form Implementationof a Bandstop IIR Filter 2-20

    Gain and Phase Response of Second-OrderBandstop IIR Filter 2-21

    Direct-Form Implementation of Second-OrderBandpass IIR Filter and Analytical FormulasRelating Desired Response to Filter Coefficients 2-23

    DSP56001 Code and Data Structures forSecond-Order Direct-Form Implementationof a Bandpass IIR Filter 2-24

  • 8/6/2019 Apr7 Iir Fir Filters

    8/147

  • 8/6/2019 Apr7 Iir Fir Filters

    9/147

  • 8/6/2019 Apr7 Iir Fir Filters

    10/147

  • 8/6/2019 Apr7 Iir Fir Filters

    11/147

    x MOTOROLA

    IllustrationsFigure 7-9

    Figure 7-10

    Figure 7-11

    Figure 7-12

    Window Function Effects on Filter Example 7- 21

    FDAS Output for FIR Bandpass Filter Examplewith a Kaiser Window 7-23

    FDAS Output for FIR Bandpass Filter Example

    with Equiripple Design 7-28

    FIR Filter Example 7-31

  • 8/6/2019 Apr7 Iir Fir Filters

    12/147

    MOTOROLA 1-1

    SECTION 1

    SECTION 1This application note considers the design of frequen-cy-selective filters, which modify the frequency content

    and phase of input signals according to some specifi-

    cation. Two classes of frequency-selective digital filtersare considered: infinite impulse response (IIR) and fi-

    nite impulse response (FIR) filters. The design process

    consists of determining the coefficients of the IIR or FIR

    filters, which results in the desired magnitude and

    phase response being closely approximated.

    Therefore, this application note has a two-fold purpose:

    1. to provide some intuitive insight into digital filters,

    particularly how the coefficients are calculated in

    the digital domain so that a desired frequency

    response is obtained, and

    2. to show how to implement both classes of digital

    filters (IIR and FIR) on the DSP56001.

    It is assumed that most readers are analog designers

    learning digital signal processing (DSP). The ap-

    proach used reflects this assumption in that digital

    filters are initially presented from an analog point of

    view. Hopefully, this approach will simplify the transi-

    tion from the analog s-domain transfer functions to the

    Introduction

    Two classes of

    frequency-

    selective digital

    filters are

    considered:infinite impulse

    response (IIR)

    and finite

    impulse

    response (FIR)

    filters.

  • 8/6/2019 Apr7 Iir Fir Filters

    13/147

    1-2 MOTOROLA

    equivalent functions in the digital z-domain. In

    keeping with this analog perspective, IIR filters will

    be discussed first since the equivalent of FIR filtersare infrequently encountered in the analog world.

    SECTION 1 is a brief review of lowpass, highpass,

    bandpass, and bandstop analog filters. The s-domain

    formulas governing the key characteristics, magni-

    tude-frequency response, G(), and phase-frequency response,

    (

    ), are derived from first

    principals. Damping factor, d, cutoff frequency, c,for lowpass and highpass filters, center frequency,

    0, for bandpass and bandstop filters, and qualityfactor, Q, are defined for the various filter types.

    SECTION 2 introduces the bilinear transformation so

    that analog s-domain designs can be transformed

    into the digital z-domain and the correct coefficients

    thereby determined. The form of the formulas for the

    z-domain filter coefficients thus determined are gen-

    eralized in terms of the key filter characteristics in the

    z-domain so that the engineer can design digital fil-

    ters directly without the necessity of designing the

    analog equivalent and transforming the design back

    into the digital domain.

    In the analog domain, the performance of the filter

    depends on the tolerance of the components. Simi-

    larly, in the digital domain, the filter performance is

    limited by the precision of the arithmetic used to im-

    plement the filters. In particular, the performance of

    digital filters is extremely sensitive to overflow, which

  • 8/6/2019 Apr7 Iir Fir Filters

    14/147

    MOTOROLA 1-3

    occurs when the accumulator width is insufficient to

    represent all the bits resulting from many consecu-

    tive additions. This condition is similar to thecondition in the analog world in which the signal out-

    put is larger than the amplifier power supply so that

    saturation occurs. A short analysis of the gain at

    critical nodes in the filters is given in SECTION 3

    and SECTION 4 to provide some insight into the

    scaling requirements for different forms of IIR filters.

    For this reason, the signal flow graphs developed

    are centralized about the accumulator nodes.

    The analysis of IIR filters focuses on second-order

    sections. Clearly, higher order filters are often re-

    quired. Therefore, a brief discussion of how second

    order sections can be cascaded to yield higher order

    filters is given in SECTION 5. Because the analysis

    becomes complex quickly, the discussion naturallyleads to using commercially available filter design

    software such as Filter Design and Analysis System

    (FDAS) from Momentum Data Systems, Inc. SEC-

    TION 6 concludes by showing how the filter

    coefficients just discussed can be used in DSP56000

    code to implement practical digital filters. Examples

    of complete filter designs are given, including the

    code, coefficients, frequency response, and maxi-

    mum sample frequency.

    FIR filters are discussed in SECTION 7. Initially, FIR

    filters are contrasted with IIR filters to show that in

    many ways they are complementary, each satisfy-

    ing weaknesses of the other. An intuitive approach

  • 8/6/2019 Apr7 Iir Fir Filters

    15/147

    1-4 MOTOROLA

    is taken to calculating the filter coefficients by start-

    ing from a desired arbitrary frequency response.

    The importance of and constraint imposed by linearphase is emphasized. Having developed an intuitive

    appreciation of what FIR filter coefficients are, the use

    of FDAS to accelerate the design process is de-

    scribed. SECTION 7 concludes by showing how the

    filter coefficients just determined can be used in

    DSP56000 code to implement practical digital filters.

    An example of a passband digital filter using a Kaiser-

    window design approach is presented.

    1.1 Analog RCL Filter TypesIn the following paragraphs, the analog RCL filter

    network will be analyzed for the four basic filter

    types: lowpass, highpass, bandpass, and band-

    stop. Analyzing analog filter types shows that

    designing digital IIR filters is, in many cases, much

    simpler than designing analog filters.

    In this analysis, as in all of the following cases, the

    input is assumed to be a steady-state signal con-

    taining a linear combination of sinusoidal

    components whose rms (or peak) amplitudes are

    constant in time. This assumption allows simple an-

    alytic techniques to be used in determining the

    network response. Even though these results will

    then be applied to real-world signals that may not

    satisfy the original steady-state assumption, the de-

  • 8/6/2019 Apr7 Iir Fir Filters

    16/147

    MOTOROLA 1-5

    viation of the actual response from the predicted

    response is small enough to neglect in most cases.

    General analysis techniques consist of a linearcombination of steady-state and transient re-

    sponse solutions to the differential equations

    describing the network.

    1.2 Analog Lowpass FilterThe passive RCL circuit forming a lowpass filter

    network is shown in Figure 1-1 where the transfer

    function, H(s), is derived from a voltage divider

    analysis of the RCL network. This approach is valid

    since the effect of C and L can be described as a

    complex impedance (or reactance, Xc and XL) un-

    der steady state conditions; s is a complex variableof the complex transfer function, H(s). The filter fre-

    quency response is found by evaluating H(s) with

    s = j, where = 2f and f is the frequency of a si-nusoidal component of the input signal. The output

    signal is calculated from the product of the input sig-

    nal and H(j). To facilitate analysis, the input andoutput signal components are described by the

    complex value, ejt = cos t + j sin t. The actualphysical input and output signal components are

    found by taking the real part of this value. The input

    is R{ejt} = cos t; the output is R{H(j)ejt} = G()cos [t + ()]. The previous technique is basedupon the solution of the differential equations de-

    scribing the network when the input is steady state.

    Describing the circuit response by H(s) instead of

  • 8/6/2019 Apr7 Iir Fir Filters

    17/147

    1-6 MOTOROLA

    solving the differential equation is a common simpli-

    fication used in this type of analysis.

  • 8/6/2019 Apr7 Iir Fir Filters

    18/147

    MOTOROLA 1-7

    V0

    Vi

    -----X

    C||R

    XL

    ||R-------------=

    =R/jC( )/ R 1+ /jC( )

    jL R/jC( )/ R 1/jC+( )+--------------------------------------------------------------

    =1/LC

    2

    j+ /RC 1/LC+-------------------------------------------------

    LC R

    V0Vi

    =c2

    2

    jdc

    c2+ +

    -------------------------------------------

    Let s = j and define H(s) = Vo/Vi; then,

    Xc = 1/jC

    XL = jL

    c =

    d =

    1

    LC-----------

    L

    R2

    C

    ------------

    Figure 1-1 s-Domain Analysis of Second-Order Lowpass Analog Filter

    H s( ) 1

    s/c

    ( )2 d s/c

    ( )+ 1+---------------------------------------------------=

    which is the s-domain transfer function. The gain, G(), of the filter is:

    G ( ) H s( )H s( )s j=

    1

    1 2/

    c2

    ( )2

    d/c

    ( )2+----------------------------------------------------------------=

    where denotes complex conjugate.The phase angle, , is the angle between the imaginary and

    ( ) tan 1 l H s( ){ }/R H s( ){ }[ ]

    tan=1 d /c( )

    1 /c( )2

    -------------------------------

    tan= 1d /c( )

    1 /c( )2

    -------------------------------

    for c

    for > c

    real components of H(s).

  • 8/6/2019 Apr7 Iir Fir Filters

    19/147

    1-8 MOTOROLA

    The magnitude of H(s) is defined as the gain, G(),

    Figure 1-2 Gain and Phase Response of Second-Order Lowpass Analog

    Filter at Various Values of Damping Factor, d

    Gain

    0.1 1.0 10Normalized Frequency (/c)

    1.5

    1.0

    0.5

    0

    0.1 1.0 10

    0

    -/2

    -

    Phase

    d=1.41

    d=2.0

    d=0.707

    d=1.0

    Normalized Frequency (/c)

    d=1.41d=2.0

    d=0.707d=1.0

  • 8/6/2019 Apr7 Iir Fir Filters

    20/147

    MOTOROLA 1-9

    of the system; whereas, the ratio of the imaginary

    part to real part of H(s), I{H(j)}/R{H(j)}, is the tan-

    gent of the phase, (), introduced by the filter. Ifthe input signal is Ak sin (kt + K), then the outputsignal is AKG(K) sin [Kt + K+ (K)] Figure 1-2shows the gain, G(), and phase, (), plots for thesecond-order lowpass network of Figure 1-1 for var-

    ious values of damping factor, d; d also controls the

    amplitude and position of the peak of the normal-

    ized response curve.

    The frequency corresponding to the peak amplitude

    can be easily found by taking the derivative of G()(from the equation for G() in Figure 1-1) with re-spect to and setting it equal to zero. Solving theresultant equation for then defines M as the fre-quency where the peak amplitude occurs. The peak

    amplitude is then GM = G(M):

    Eqn. 1-1

    Eqn. 1-2

    for d < . For d > , M = 0 is the position of thepeak amplitude where GM = 1. When d = , GM = 1,

    which gives the maximally flat response curve used in

    the Butterworth filter design (usually applies only to a

    set of cascaded sections). Note that C for a lowpassfilter is that frequency where the gain is G(c) = 1/dand the phase is

    (

    c) = -/2.

    M

    c

    1 d2/2( )=

    GM1

    d 1 d2/4( )

    ----------------------------------=

    2 2

    2

  • 8/6/2019 Apr7 Iir Fir Filters

    21/147

    1-10 MOTOROLA

    1.3 Analog Highpass Filter

    The passive RCL circuit forming a highpass filternetwork is shown in Figure 1-3 where the transfer

    function, H(s), is again derived from a voltage divid-

    er analysis of the RCL network. The gain and phase

    response are plotted in Figure 1-4 for different val-

    ues of damping coefficient. As evidenced, the

    highpass filter response is the mirror image of the

    lowpass filter response.

    1.4 Analog Bandstop Filter

    The analog RCL network for a bandstop filter net-

    work is simply the sum of the lowpass and highpass

    transfer functions shown in Figure 1-5 where the

    transfer function, H(s), is again derived from a volt-age divider analysis of the RCL network. The gain

    and phase response are plotted in Figure 1-6 for dif-

    ferent values of quality factor, Q, (where Q = 1/d).

    Neglecting the departure of real RCL components'

    values from the ideal case, the attenuation at the

    center frequency, f0, is infinite. Also, note that the

    phase undergoes a 1 80-degree shift when passing

    through the center frequency (zero in the s-plane).

    Q for bandpass and bandstop filters is a measure

    of the width, , of the stopband with respect tothe center frequency, O, i.e., = Q

    -1o. ismeasured at the points where G() = 1/ .2

  • 8/6/2019 Apr7 Iir Fir Filters

    22/147

    MOTOROLA 1-11

    V

    0Vi

    -----

    X

    L

    ||R

    XC

    XL

    + ||R-------------------------=

    =jLR/ jL R+( )

    1/jC jLR+ /jL R+--------------------------------------------------------

    =

    2

    2

    j+ /RC 1/LC+-------------------------------------------------

    C

    L R

    V0

    Vi

    = 2

    2jd

    c

    c2+ +

    -------------------------------------------

    Let s = j and define H(s) = Vo/Vi; then,

    Xc

    = 1/jC

    XL = jL

    c =

    d =

    1

    LC-----------

    L

    R2

    C

    ------------

    H s( )s/

    c( )2

    s/c

    ( )2 d s/c

    ( )+ 1+---------------------------------------------------=

    which is the s-domain transfer function. The gain, G(), of the filter is:

    G ( ) H s( )H s( ) s j=/

    c( )2

    1 2/

    c2

    ( )2

    d/c

    ( )2+----------------------------------------------------------------=

    where denotes complex conjugate.The phase angle, , is the angle between the imaginary and

    ( ) tan 1 l H s( ){ }/R H s( ){ }[ ]

    tan= 1 d /c( )1 /c( )

    2

    -------------------------------

    tan=1 d /c( )

    1 /c( )2

    -------------------------------

    for c

    for > c

    Figure 1-3 s-Domain Analysis of Second-Order Highpass Analog Filter

    real components of H(s).

  • 8/6/2019 Apr7 Iir Fir Filters

    23/147

    1-12 MOTOROLA

    Figure 1-4 Gain and Phase Response of Second-Order Highpass Analog Filter

    at Various Values of Damping Factor, d

    Gain

    0.1 1.0 10Normalized Frequency (/c)

    1.5

    1.0

    0.5

    0

    0.1 1.0 10

    /2

    0

    Phase

    d=1.414d=2.0

    d=0.707d=1.0

    d=1.414d=2.0

    d=0.707d=1.0

    Normalized Frequency (/c)

  • 8/6/2019 Apr7 Iir Fir Filters

    24/147

  • 8/6/2019 Apr7 Iir Fir Filters

    25/147

  • 8/6/2019 Apr7 Iir Fir Filters

    26/147

    MOTOROLA 1-15

    Figure 1-6 Gain and Phase Response of Second-Order Bandstop Analog Filter

    at Various Values of Damping Factor, d

    Gain

    0.1 1.0 10Normalized Frequency (/0)

    1.0

    0.5

    0

    0.1 1.0 10

    /2

    0

    -/2

    Phase

    d=1.414

    d=2.0

    d=0.707d=1.0

    d=1.414d=2.0

    d=0.707d=1.0

    Normalized Frequency (/0)

  • 8/6/2019 Apr7 Iir Fir Filters

    27/147

  • 8/6/2019 Apr7 Iir Fir Filters

    28/147

  • 8/6/2019 Apr7 Iir Fir Filters

    29/147

  • 8/6/2019 Apr7 Iir Fir Filters

    30/147

    MOTOROLA 2-1

    SECTION 2

    The traditional approach to deriving the digital filtercoefficients has been to start with the digital z-domaindescription, transform to the analog s-domain to un-

    derstand how to design filters, then transform back to

    the digital domain to implement the filter. This ap-

    proach is not used in this report. Instead, formulas are

    developed relating the s-domain filter to the z-domain

    filter so transformations to and from one domain to the

    other are no longer necessary.

    The Laplace or s-transform in the analog domain was

    developed to facilitate the analysis of continuous time

    signals and systems. For example, using Laplace

    transforms the concepts of poles and zeros, making

    system analysis much faster and more systematic.

    The Laplace transform of a continuous time signal is:

    Eqn. 2-3

    where: L = the Laplace transform operator and

    implies the operation described inEqn. 2-3

    X s( ) L x t( ){ }=

    x t( )e st td0

    Second-OrderDirect-Form IIRDigital Filter Sections

    In the direct-

    formimplementation,

    the aiand biare

    used directly in

    the difference

    equation, which

    can be easily

    programmed on

    a high-speed

    DSP such as the

    DSP56001.

  • 8/6/2019 Apr7 Iir Fir Filters

    31/147

  • 8/6/2019 Apr7 Iir Fir Filters

    32/147

  • 8/6/2019 Apr7 Iir Fir Filters

    33/147

  • 8/6/2019 Apr7 Iir Fir Filters

    34/147

  • 8/6/2019 Apr7 Iir Fir Filters

    35/147

  • 8/6/2019 Apr7 Iir Fir Filters

    36/147

  • 8/6/2019 Apr7 Iir Fir Filters

    37/147

  • 8/6/2019 Apr7 Iir Fir Filters

    38/147

    MOTOROLA 2-9

    Eqn. 2-18 can be directly implemented in software,

    where x(n) is the sample input and y(n) is the corre-

    sponding filtered digital output. When the filteroutput is calculated using Eqn. 2-18, y(n) is calcu-

    lated using the direct-form implementation of the

    digital filter.

    There are other implementations which can be

    used for the same system (filter) transfer function,

    H(z). The canonic-form implementation and thetranspose-form implementation are discussed in

    subsequent sections. First, the directform imple-

    mentation will be applied to the transfer function,

    H(s), developed in SECTION 1Introduction.

    2.6 Digital Lowpass FilterUsing the analog transfer function, H(s), from Fig-

    ure 1-1, Eqn. 2-13 and Eqn. 2-14, the digital transfer

    function, H(z), becomes that shown in Figure 2-10,

    where the coefficients , , and are expressed interms of the digital cutoff frequency, c, and thedamping factor, d. The value of the transfer function

    at = c in the digital domain is identical to the valueof the s-domain transfer function at = c:

    Eqn. 2-19

    As shown in Figure 2-11, the digital gain and

    phase response calculated from the equations of

    Hz

    ejc

    ( ) Hs

    jc

    ( )=

  • 8/6/2019 Apr7 Iir Fir Filters

    39/147

  • 8/6/2019 Apr7 Iir Fir Filters

    40/147

    MOTOROLA 2-11

    The DSP56001 code to implement the second-or-

    der lowpass filter section is shown in Figure 2-12.

    The address register modifiers are initially set toM0 = 4, M4 = 1, and M5 = 1 to allow use of the cir-

    cular buffer or modulo addressing in this particular

    implementation (see Reference 8). Typically, this

    code would be an interrupt routine driven by the input

    data (A/D converter, for example) sample rate clock.

    The basic filter code and the interrupt overhead and

    data l/O moves for this second-order filter could be

    executed at a sample rate of nearly 1 MHz on theDSP56001.

    2.7 Digital Highpass FilterThe highpass filter is nearly identical to the lowpass

    filter as shown by the formulas in Figure 2-13. As

    with the analog case, the digital highpass filter is

    just the mirror image of the lowpass filter (see Fig-

    ure 2-14). The frequency transformation from high

    to low in the analog case is l/; whereas, in thedigital case, it is /.

    The DSP56001 code is shown in Figure 2-15; as

    seen by comparison to the code shown in Figure 2-

    12, the same instruction sequence is used. The only

    difference is the coefficient data, which is calculated

    by the formulas given in Figure 2-13. The scaling

    mode is turned on so that a move from the A or B

    accumulator to the X or Y register or to memory re-

    sults in an automatic multiply by two. The scaling

    mode is used not only in the code for the lowpass

  • 8/6/2019 Apr7 Iir Fir Filters

    41/147

  • 8/6/2019 Apr7 Iir Fir Filters

    42/147

  • 8/6/2019 Apr7 Iir Fir Filters

    43/147

  • 8/6/2019 Apr7 Iir Fir Filters

    44/147

  • 8/6/2019 Apr7 Iir Fir Filters

    45/147

  • 8/6/2019 Apr7 Iir Fir Filters

    46/147

  • 8/6/2019 Apr7 Iir Fir Filters

    47/147

  • 8/6/2019 Apr7 Iir Fir Filters

    48/147

    MOTOROLA 2-19

    2.8 Digital Bandstop Filter

    The formulas and network diagram for the digitalbandstop filter are presented in Figure 2-16. The

    DSP56001 code from Figure 2-17 is identical to that

    for the lowpass and highpass cases except for the

    coefficient data calculated from the equations of

    Figure 2-16. Scaling of this filter is not a problem for

    the singlesection case since the gain from the

    equation in Figure 2-16 never exceeds unity (as is

    true in the analog case as seen by the gain equationfrom Figure 1-5). Figure 2-18 is the calculated gain

    and phase of the digital filter, which should compare

    to the response curves of the equivalent analog fil-

    ter plotted in Figure 1-6.

    2.9 Digital Bandpass Filter

    Because there is one less coefficient in the bandpass

    network (see Figure 2-19), one instruction can be

    saved in the DSP56001 code implementation shown

    in Figure 2-20. Otherwise, the instructions are identi-

    cal to those in the other three filter routines. Like the

    second-order bandstop network, the maximum re-

    sponse at the center frequency, 0, is unity for anyvalue of Q so that scaling need not be considered in

    the implementation of a single-section bandpass fil-

    ter. This is true when the formulas for , , and (from Figure 2-19) are used in the direct-form imple-

    mentation in Figure 2-20. Figure 2-21 is the

    calculated gain and phase of the digital filter, which

    should compare to the response curves of the equiv-

    alent analog filter plotted in Figure 1-8.

  • 8/6/2019 Apr7 Iir Fir Filters

    49/147

    2-20 MOTOROLA

    Transfer Function

    Network Diagram

    H z( ) 1 2 cos0z

    1z

    2+( )

    1/2 z 1 z 2+---------------------------------------------------------=

    GainG ( )

    cos ccos

    d 0sinsin( )2

    4 0coscos( )2

    +[ ]1/2

    --------------------------------------------------------------------------------------------------=

    Phase

    ( ) tan 12 0coscos( )

    d 0sinsin-----------------------------------------=

    Coefficients

    12--- 1 tan

    0/2Q( )

    1 tan 0/2Q( )+--------------------------------------=

    1/2 +( ) 0cos=

    1/2 +( )/2=

    2

    z-1

    z-1

    y(n)

    z-1

    z-1

    x(n)

    2cos0

    d2tan 0/2Q( )

    sin0-------------------------------=

    Figure 2-16 Direct-Form Implementation of Second-Order Bandstop IIR Filter and

    Analytical Formulas Relating Desired Response to Filter Coefficients

  • 8/6/2019 Apr7 Iir Fir Filters

    50/147

  • 8/6/2019 Apr7 Iir Fir Filters

    51/147

  • 8/6/2019 Apr7 Iir Fir Filters

    52/147

  • 8/6/2019 Apr7 Iir Fir Filters

    53/147

  • 8/6/2019 Apr7 Iir Fir Filters

    54/147

  • 8/6/2019 Apr7 Iir Fir Filters

    55/147

  • 8/6/2019 Apr7 Iir Fir Filters

    56/147

    MOTOROLA 2-27

    Figure 2-22 Summary of Digital Coefficients for the Four Basic Filter Types

    Difference Equation (Direct Form)

    Z-Domain Transfer Function

    H z( ) 1 z1 z 2+ +( )

    1/2 z 1 z 2+-------------------------------------------------=

    Coefficients

    12---

    1 1/2dsin01 1/2dsin0+-----------------------------------= 1/2 +( ) 0cos=d

    2tan 0/2Q( )0sin

    --------------------------------=

    y n( ) 2 x[ n( ) x n 1( ) x n 2( ) ] y n 1( ) y n 2( )+ + +{ }=

    where 0 < < 1/2 andQ

    00------

    2f0/fs2 f2 f1( )/fs---------------------------------

    f0f2 f1---------------= = =

    where f0 is the center frequency of the bandpass or bandstop filter,f1 and f2 are the half-power points (where gain is equal to 1/ ), andfs is the sample frequency. Note the f0 is replaced with fc in the lowpassand highpass cases.

    2

    Lowpass

    HighpassBandpassBandstop

    (1/2 + )/4(1/2 + +)/4(1/2 - )/2(1/2 + )/2

    2

    -20

    -2cos0

    1

    1-11

    Type Unity Gain at

    f = 0

    f = fs/2f = f0f = 0 and f = fs/2

    NOTE: 0 = 2f0/fs

    Numerator Coefficients

  • 8/6/2019 Apr7 Iir Fir Filters

    57/147

  • 8/6/2019 Apr7 Iir Fir Filters

    58/147

  • 8/6/2019 Apr7 Iir Fir Filters

    59/147

  • 8/6/2019 Apr7 Iir Fir Filters

    60/147

    MOTOROLA 3-3

    The diagram of Figure 3-24(b) represents the same

    transfer function implemented by Eqn. 3-20, but

    now the delay variable is w(n). Comparison of thisnetwork with that of the direct-form network of Fig-

    ure 3-24 (a) shows that interchanging the order of

    the left and right halves does not change the overall

    system response (see Reference 11).

    The delay elements can then be collapsed to pro-

    duce the final canonic-form network shown in Figure

    3-24 (c). As a result, the memory requirements for

    the system are reduced to the minimum (two loca-

    tions); therefore, this realization of the IIR filter is

    often referred to as the canonic form. The system

    difference equations for the canonic realization are:

    Eqn. 3-21a

    where:

    Eqn. 3-2b

    To prove that Eqn. 3-21a and Eqn. 3-2b are equiv-

    alent to Eqn. 3-20, the following procedure can be

    used. First, combine Eqn. 3-21a and Eqn. 3-2b:

    Eqn. 3-3

    y n( ) bi

    w n i( )( )i 0=

    2

    =

    w n( ) x n( ) ajj 1=

    2

    w n j( )( )=

    y n( ) bii 0=

    2

    x n i( ) ajw n j i( )j 1=

    2

    =

    = bix n i( )

    i 0=

    2

    aj biw n i j( )i 0=

    2

    j 1=

    2

    = bix n i( )

    i 0=

    2

    ajy n j( )j 1=

    2

  • 8/6/2019 Apr7 Iir Fir Filters

    61/147

  • 8/6/2019 Apr7 Iir Fir Filters

    62/147

    MOTOROLA 3-5

    cular nature of twos-complement arithmetic).

    To insure that overflow does not occur, it is necessary

    to calculate the gain at the internal nodes (accumula-tor output) of a filter network. Although canonic

    realization is susceptible to overflow, it is advanta-

    geous because of the minimum storage requirements

    and implementation in fewer instruction cycles.

    3.12 Analysis of InternalNode Gain

    Calculating the gain at any internal node is no differ-

    ent than calculating the total network gain. In Figure

    3-25, the transfer function of node w(n) is Hw(z).

    Hw(z) represents the transfer function from the input

    node, x(n), to the internal node, w(n). The gain,

    Gw(), at w(n) is found in the standard manner byevaluating the magnitude of Hw(z) as shown in Fig-

    ure 3-26. Note that the flow diagram of Figure 3-25

    uses the automatic scaling mode (multiply by a fac-

    tor of two when transferring data from the

    accumulator to memory) so that the coefficients are

    by definition less than one. The peak gain, go, of

    Gw() is found by taking the derivative of Gw() withrespect to and setting the result equal to zero. Asimple expression for go is derived as follows:

    Eqn. 3-5go

    1

    2---

    psin------------------------------= for

    1

    2--- +

    2

    2---------------------

    ocos 1

  • 8/6/2019 Apr7 Iir Fir Filters

    63/147

  • 8/6/2019 Apr7 Iir Fir Filters

    64/147

    MOTOROLA 3-7

    y(n)x(n) +

    +

    +

    z-1

    z-1

    +

    w(n-2)

    2

    2

    W(z)w(n)

    w(n-1)

    w(n-2)

    Figure 3-25 Internal Node Transfer Function, Hw(z), of Canonic

    (Direct Form II) Network

    X(z) Y(z)

    (Left Shift)(Left Shift)

    W(z)

    2---

    2---

    H z( ) Y z( )X x( )------------=

    Hw

    z( ) Y z( )X z( )------------=

    H z( ) 1 z1 z 2++( )

    1

    2--- z1

    z2

    +

    -------------------------------------------------= Hw z( )

    1

    2--- z 1 z 2+--------------------------------------=

    w z )( )z

    --------------

    w z )( )

    z

    2--------------

  • 8/6/2019 Apr7 Iir Fir Filters

    65/147

  • 8/6/2019 Apr7 Iir Fir Filters

    66/147

  • 8/6/2019 Apr7 Iir Fir Filters

    67/147

  • 8/6/2019 Apr7 Iir Fir Filters

    68/147

  • 8/6/2019 Apr7 Iir Fir Filters

    69/147

  • 8/6/2019 Apr7 Iir Fir Filters

    70/147

  • 8/6/2019 Apr7 Iir Fir Filters

    71/147

  • 8/6/2019 Apr7 Iir Fir Filters

    72/147

  • 8/6/2019 Apr7 Iir Fir Filters

    73/147

  • 8/6/2019 Apr7 Iir Fir Filters

    74/147

  • 8/6/2019 Apr7 Iir Fir Filters

    75/147

  • 8/6/2019 Apr7 Iir Fir Filters

    76/147

  • 8/6/2019 Apr7 Iir Fir Filters

    77/147

  • 8/6/2019 Apr7 Iir Fir Filters

    78/147

    MOTOROLA 5-1

    . . . the

    cascaded direct-

    form networkbecomes

    canonic as the

    filter order N

    increases.

    SECTION 5

    By placing any of the direct-form second-order filternetworks from Figure 2-10, Figure 2-13, Figure 2-16,

    and Figure 2-19 in series (i.e., connect the y(n) of oneto the x(n) of the next), a cascaded filter is created.

    The resulting order N of the network is two times the

    number of second-order sections. An odd-order net-

    work can be made simply by adding one first-order

    section in the chain. In general, to achieve a particular

    response, the filter parameters associated with each

    second-order section are different, since generating a

    predefined total response requires that each sectionhas a different response. This fact becomes more ob-

    vious when discussing the special case of Butterworth

    lowpass filters.

    5.16 Butterworth Lowpass FilterThe Butterworth filter response is maximally flat in the

    passband at the expense of phase linearity and steep-

    ness of attenuation slope in the transition band. For

    lowpass or highpass cascaded second-order sections,

    all sections have the same center frequency (not the

    case for bandpass filters). For this reason, it is easy to

    design since all that remains to be determined are the

    Cascaded Direct Form

  • 8/6/2019 Apr7 Iir Fir Filters

    79/147

  • 8/6/2019 Apr7 Iir Fir Filters

    80/147

  • 8/6/2019 Apr7 Iir Fir Filters

    81/147

    5-4 MOTOROLA

    Using ,Eqn. 5-7 becomes:

    Eqn. 5-10

    where: pk= pk1 and

    pk* = pk2(complex conjugate of pk)

    Eqn. 5-10 is useful in that the response of the sys-

    tem can be analyzed entirely by studying the poles

    of the polynomial. However, for purposes of trans-

    forming to the z-domain, Eqn. 5-7 can be used as

    previously shown in Figure 2-10.

    To examine the gain and phase response (physically

    measurable quantities) of the lowpass Butterworth

    filter, the transfer function, H(s), of Eqn. 5-7 will be

    converted into a polar representation. The magni-

    tude of H(s) is the gain, G(); the angle between thereal and imaginary components of H(s), (), is thearctangent of the phase shift introduced by the filter:

    Eqn. 5-11

    H s( ) 1s/c( ) pk[ ] s/c( ) pk[ ]

    ---------------------------------------------------------------------

    k 1=

    N/2

    =

    G ( ) H s( )H s( )s j==

    1

    /c

    ( )2

    12

    dk

    /c

    ( )2

    +

    ---------------------------------------------------------------------------------

    k 1=

    N/2

    =

  • 8/6/2019 Apr7 Iir Fir Filters

    82/147

  • 8/6/2019 Apr7 Iir Fir Filters

    83/147

  • 8/6/2019 Apr7 Iir Fir Filters

    84/147

  • 8/6/2019 Apr7 Iir Fir Filters

    85/147

  • 8/6/2019 Apr7 Iir Fir Filters

    86/147

    MOTOROLA 5-9

    set of the center of each section reduces the final

    center response, which must be compensated at

    some point in the filter network. For cases such ashigher order Butterworth bandpass filter designs,

    commercially available filter design packages such

    as FDAS are useful. The use of FDAS is discussed

    in SECTION 6Filter Design And Analysis Sys-

    tem (FDAS) and SECTION 7Fir Filters.

    5.17 Cascaded Direct-

    Form NetworkFigure 5-29 shows the cascaded direct-form net-

    work and data structures for the DSP56001 code

    implementation of Figure 5-30. By cascading net-

    work diagrams presented in SECTION 2 Second-

    Order Direct-Form IIR Digital Filter Sections, theset of delays at the output of one section can be

    combined with the set of delays at the input of the

    next section, thus reducing the total number of de-

    lays by almost a factor of two. For this reason, the

    cascaded direct-form network becomes canonic as

    the filter order N increases. The DSP56001 code

    (see Figure 5-30) shows an example of reading

    data from a user-supplied memory-mapped analog-

    to-digital converter (ADC) and writing it to a memo-

    ry-mapped digital-to-analog converter (DAC). The

    number of sections (nsec) in these examples is

    three; thus, the filter order is six. The total instruction

    time for this filter structure is 600 nsec + 800 ns, in-

    cluding the data l/O moves (but excluding the

    interrupt overhead).

  • 8/6/2019 Apr7 Iir Fir Filters

    87/147

  • 8/6/2019 Apr7 Iir Fir Filters

    88/147

  • 8/6/2019 Apr7 Iir Fir Filters

    89/147

  • 8/6/2019 Apr7 Iir Fir Filters

    90/147

  • 8/6/2019 Apr7 Iir Fir Filters

    91/147

  • 8/6/2019 Apr7 Iir Fir Filters

    92/147

  • 8/6/2019 Apr7 Iir Fir Filters

    93/147

  • 8/6/2019 Apr7 Iir Fir Filters

    94/147

  • 8/6/2019 Apr7 Iir Fir Filters

    95/147

  • 8/6/2019 Apr7 Iir Fir Filters

    96/147

    MOTOROLA 6-7

    Filter Type Low Pass

    Analog Filter Type ButterworthPassband Ripple In -dB -.5000Stopband Ripple In -dB -20.0000

    Passband Cutoff Frequency 200.000 HertzStopband Cutoff Frequency 300.000 HertzSampling Frequency 1000.00 HertzFilter Order: 6

    Filter Design Method: Bilinear Transformation

    Coefficients of Hd(z) are Quantized to 24 bits

    Quantization Type: Fixed Point FractionalCoefficients Scaled For Cascade Form II

    NORMALIZED ANALOG TRANSFER FUNCTION T(s)

    Numerator Coefficients Denominator Coefficients***************************************** **********************************S**2 TERM S TERM CONST TERM S**2 TERM S TERM CONST TERM

    .000000E+00 .000000E+00 .100000E+01 .100000E+01.193185E+01 .100000E+01

    .000000E+00 .000000E+00 .100000E+01 .100000E+01.141421E+01 .100000E+01

    .000000E+00 .000000E+00 .100000E+01 .100000E+01.517638E+01 .100000E+01INITIAL GAIN 1.00000000

    UNNORMALIZED ANALOG TRANSFER FUNCTION T(s)

    Numerator Coefficients Denominator Coefficients

    ***************************************** **********************************

    S**2 TERM S TERM CONST TERM S**2 TERM S TERM CONST TERM.000000E+00 .000000E+00 .299809E+07 .100000E+01.334500E+04 .299809E+07.000000E+00 .000000E+00 .299809E+07 .100000E+01.244871E+04 .299809E+07

    .000000E+00 .000000E+00 .299809E+07 .100000E+01.896290E+03 .299809E+07INITIAL GAIN 1.00000000

    DIGITAL TRANSFER FUNCTION Hd(z)

    Numerator Coefficients Denominator Coefficients

    ***************************************** **********************************Z**2 Z TERM CONST TERM Z**2 Z TERM CONST TERM

    .2520353794 .5040707588 .252035379 1.00000 -.1463916302 .0225079060

    .2364231348 .4728463888 .236423134 1.00000 -.1684520245 .1765935421

    .3606387377 .7212774754 .360638737 1.00000 -.2279487848 .5921629667INITIAL GAIN .876116210

    Figure 6-10 FDAS.OUT File of Example Filter for Cascaded

    Canonic Implementation (sheet 1 of 2)

  • 8/6/2019 Apr7 Iir Fir Filters

    97/147

  • 8/6/2019 Apr7 Iir Fir Filters

    98/147

  • 8/6/2019 Apr7 Iir Fir Filters

    99/147

  • 8/6/2019 Apr7 Iir Fir Filters

    100/147

    MOTOROLA 6-11

    394041

    ;

    42

    ;multip

    le

    shift

    left

    macro

    4344

    mshl

    macro

    scount

    45

    m

    if

    scount

    46

    m

    rep

    #scount

    47

    m

    asl

    a

    48

    m

    endif

    49

    m

    endm

    50

    X:0000

    org

    x:0

    51

    X:0000

    states

    ds

    2*nsec

    52

    Y:0000

    org

    y:0

    53

    coef

    54

    d

    Y:0000

    FE8F3

    8

    dc

    $FE8F3B

    ;a(*,2)/2

    =-.0112

    5395

    section

    number

    1

    55

    d

    Y:0001

    095E7

    B

    dc

    $095E7B

    ;a(*,1)/2

    =

    .0731

    9582

    section

    nunber

    1

    56

    d

    Y:0002

    10215

    9

    dc

    $102159

    ;b(*,2)/2

    =

    .1260

    1769

    section

    number

    1

    57

    d

    Y:0003

    2042B

    2

    dc

    $2042B2

    ;b(*,1)/2

    =

    .2520

    3538

    section

    number

    1

    58

    d

    Y:0004

    D0215

    9

    dc

    $D02159

    ;b(*,0)/2-0.5

    =-.3739

    8231

    section

    number

    1

    59

    d

    Y:0005

    F4B2B

    1

    dc

    $F4B2Bl

    ;a(*,2)/2

    =-.0882

    9677

    section

    number

    2

    60

    d

    Y:0006

    0AC7E

    B

    dc

    $OAC7EB

    ;a(*,1)/2

    =

    .0842

    2601

    section

    number

    2

    61

    d

    Y:0007

    0F218

    E

    dc

    $OF218E

    ;b(*,2)/2

    =

    .1182

    1157

    section

    number

    2

    62

    d

    Y:0008

    1E431

    3

    dc

    $1E431D

    ;b(*,1)/2

    =

    .2364

    2319

    section

    number

    2

    63

    d

    Y:0009

    CF218

    E

    dc

    $CF218E

    ;b(*,0)/2-0.5

    =-.3817

    8843

    section

    number

    2

    64

    d

    Y:000A

    DAlA0

    1

    dc

    $DA1A01

    ;a(*,2)/2

    =-.2960

    8148

    section

    number

    3

    65

    d

    Y:000B

    0E96B

    6

    dc

    $OE96B6

    ;a(*,1)/2

    =

    .1139

    7439

    section

    number

    3

    66

    d

    Y:000c

    1714B

    4

    dc

    $1714B4

    ;b(*,2)/2

    =

    .1803

    1937

    section

    number

    3

    67

    d

    Y:000D

    2E296

    9

    dc

    $2EZ969

    ;b(*,1)/2

    =

    .3606

    3874

    section

    number

    3

    68

    d

    Y:000E

    D714B

    4

    dc

    $0714B4

    ;b(*,0)/2-0.5

    =-.3196

    8063

    section

    number

    3

    69

    Y:00c8

    org

    y:200

    70

    d

    Y:00C8

    38124

    9

    igain

    dc

    3674697

    71

    000000

    scount

    equ

    0

    ;final

    shift

    count

    72

    include

    'bodyZ.asm'

    7374

    000040

    start

    equ

    $40

    ;origin

    for

    user

    prog

    ram

    7576

    P:0000

    org

    p:$0

    ;origin

    for

    reset

    vec

    tor

    Figure6-7

    COEFF.A

    SMFileGeneratedbyMGENforExampleDesignand

    CascadedCanonic

    Implemen

    tation

    (Sheet2of4)

  • 8/6/2019 Apr7 Iir Fir Filters

    101/147

  • 8/6/2019 Apr7 Iir Fir Filters

    102/147

  • 8/6/2019 Apr7 Iir Fir Filters

    103/147

    6-14 MOTOROLA

    6.2 Transpose

    Implementation(Direct Form I)Figure 6-8 is the output file from FDAS for a trans-

    pose-form implementation. As before, it contains

    information on the analog s-domain equivalent filter

    as well as the final digital coefficients (listed again

    in Figure 6-9), which have been properly scaled to

    prevent overflow at the internal nodes and outputsof each cascaded section. Because of the stability

    of the internal node gain of the transpose form and

    because of the response of each second-order But-

    terworth section, scaling was not done by the

    program because it was not needed. Executable

    code shown in Figure 6-10 is again generated by

    MGEN. The code internal to each cascaded section

    is seven instructions long; thus, 700 ns (assuming aDSP56001 clock of 20 MHz) is added to the execu-

    tion time for each additional second-order section.

  • 8/6/2019 Apr7 Iir Fir Filters

    104/147

  • 8/6/2019 Apr7 Iir Fir Filters

    105/147

  • 8/6/2019 Apr7 Iir Fir Filters

    106/147

  • 8/6/2019 Apr7 Iir Fir Filters

    107/147

    6-18 MOTOROLA

    Figure6-10

    COEFF.A

    SMFileGeneratedbyMG

    ENforExampleDesignan

    dCascadedTransposeFo

    rm

    Implementation

    (sheet1of4)

    1

    C0EFF

    ident

    1,0

    2

    include

    'head1.asm'

    3 4

    page132,66,0,10

    5

    optcex,

    mex

    6

    ;

    7

    ;

    This

    program

    implements

    an

    IIR

    filter

    in

    cascaded

    transpose

    sections

    8

    ;

    The

    coefficients

    of

    each

    section

    are

    scaled

    for

    cascaded

    transpose

    sections

    9 1011

    00FFFF

    datin

    equ

    $ffff

    ;loca

    tion

    in

    Y

    memory

    of

    input

    fi

    le

    12

    00FFFF

    datout

    equ

    $ffff

    ;loca

    tion

    in

    Y

    memory

    of

    output

    file

    13

    00FFF0

    m_scr

    equ

    $fff0

    ;sci

    control

    register

    14

    00FFF1

    m_ssr

    equ

    $fff1

    ;sci

    status

    register

    15

    00FFF2

    m_sccr

    equ

    $fff2

    ;sci

    clock

    control

    register

    16

    00FFE1

    m_pcc

    equ

    $ffe1

    ;port

    c

    control

    register

    17

    00FFFF

    m_

    ipr

    equ

    $ffff

    ;inte

    rrupt

    priority

    register

    18

    000140

    xx

    equ

    @cvi(20480/(64*1.00

    0))

    ;time

    r

    interrupt

    value

    19

    FFD8F1

    m_tim

    equ

    -9999

    ;boar

    d

    timer

    interrupt

    value

    20

    000003

    nsec

    equ

    3

    ;numb

    er

    of

    second

    order

    sections

    21

    include

    'cascade1.asm'

    22

    ;

    23

    ;This

    code

    segment

    implements

    cascaded

    biquad

    sections

    in

    transpose

    form

    24

    ;

    2526

    cascade1

    macro

    nsec

    27

    m

    28

    m

    ;assumes

    each

    section's

    coefficients

    are

    divided

    by

    2

    29

    m

    30

    m

    do

    #nsec,_ends

    ;doe

    ach

    section

    31

    m

    macr

    y0,yl,a

    x:(r1),b

    y:(r4)+,y0

    ;a=x(

    n)*bi0/2+wi1/2,b=wi2,y0=bi1/2

    32

    m

    asr

    b

    a,x0

    ;b=wi

    2/2,x0=y(n)

    33

    m

    mac

    y0,yl,b

    y:(r4)+,y0

    ;b=x(

    n)*bi1/2+wi2/2,y0=ai1/2

    34

    m

    macr

    x0,y0,b

    y:(r4)+,y0

    ;b=b+

    y(n)*ai1/2,y0=bi2/2

    35

    m

    mpy

    y0,y1,b

    b,x:(r0)+

    y:(r4)+,y0

    ;b=x(

    n)*bi2/2,save

    wi1,y0=ai2

    36

    m

    macr

    x0,y0,b

    x:(r0),a

    a,y1

    ;b=b+

    y(n)*ai2/2,a=next

    iter

    wi1,

    37

    m

    ;yl=o

    utput

    of

    section

    i

  • 8/6/2019 Apr7 Iir Fir Filters

    108/147

  • 8/6/2019 Apr7 Iir Fir Filters

    109/147

    6-20 MOTOROLA

    Figure6-10

    COEFF.A

    SMFileGeneratedbyMGE

    NforExampleDesignand

    CascadedTransposeForm

    Implemen

    tation

    (sheet3of4

    )

    7576

    P:0040

    0003F8

    ori

    #3,mr

    ;disable

    all

    interrupts

    77

    P:0041

    08F4B2

    movep

    #(xx-1

    ),x:m_sccr

    ;cd=xx

    1

    for

    divide

    by

    xx

    00013F

    78

    P:0043

    08F4A1

    movep

    #$7,x:

    m_pcc

    ;set

    cc(2;0)

    to

    turn

    on

    timer

    000007

    79

    P:0045

    08F4B0

    movep

    #$2000

    ,x:m_scr

    ;enable

    timer

    interrupts

    002000

    80

    P:0047

    08F4BF

    movep

    #$c000

    ,x:m_

    ipr

    ;set

    interrupt

    priority

    for

    sci

    00C000

    818283

    P:0049

    300000

    move

    #state

    1,r0

    ;point

    to

    filter

    state1

    84

    P:004A

    310400

    move

    #state

    2,rl

    ;point

    to

    filter

    state2

    85

    P:004B

    340000

    move

    #coef,

    r4

    ;point

    to

    filter

    coefficients

    86

    P:004C

    0502A0

    move

    #nsec

    l,m0

    ;addressing

    modulo

    nsec

    87

    P:004D

    050EA4

    move

    #5*nse

    c-l,m4

    ;addressing

    modulo

    5*nsec

    88

    P:004E

    0502Al

    move

    #nsec-

    1,m1

    ;addressing

    modulo

    nsec

    89

    P:004F

    200013

    clr

    a

    ;initialize

    internal

    state

    storage

    90

    P:0050

    0603A0

    rep

    #nsec

    ;*

    zero

    statel

    91

    P:0051

    565800

    move

    a,x:(r

    0)+

    ;*

    92

    P:0052

    0603A0

    rep

    #nsec

    ;*

    zero

    state2

    93

    P:0053

    565900

    move

    a,x:(r

    1)+

    ;*

    9495

    P:0054

    F88000

    move

    x:(r0)

    ,a

    y:(r4)+,y0

    ;a=wl

    (initially

    zero)

    ,y0=bl0/2

    9697

    P:0055

    00FCB8

    andi

    #$fc,mr

    ;allow

    interrupts

    98

    P:0056

    0C0056

    jmp

    *

    ;wait

    for

    interrupt

    99100

    fil

    ter

    101

    P:0057

    0008F8

    ori

    #$08,mr

    ;set

    scaling

    mode

    102

    P:0058

    09473F

    movep

    y:dati

    n,yl

    ;get

    sample

    103

    104

    cascade1

    nsec

    ;do

    cascaded

    biquads

    105

    +

    ;

    106

    +

    ;

    assumes

    each

    section's

    coe

    fficients

    are

    divided

    by

    2

    107

    +

    ;

  • 8/6/2019 Apr7 Iir Fir Filters

    110/147

    MOTOROLA 6-21

    108

    +

    P:0059

    060380

    do

    #nsec,_ends

    ;doe

    ach

    section

    000061

    109

    +

    P:00SB

    FC81B3

    macr

    y0,y1,a

    x:(r1),b

    y:(r4)+,y0

    ;a=x(

    n)*bi0/2+wi1/2,b=wi2,y0=bi1/

    2

    110

    +

    P:OOSC

    21C42A

    asr

    b

    a,x0

    ;b=wi

    2/2,x0=y(n)

    111

    +

    P:005D

    4EDCBA

    mac

    y0,yl,b

    y:(r4)+,y0

    ;b=x(

    n)*bi1/2+wi2/2,y0=ail/2

    112

    +

    P:00SE

    4EDCDB

    macr

    x0,y0,b

    y:(r4)+,y0

    ;b=b+

    y(n)*ai1/2,y0=bi2/2

    113

    +

    P:00SF

    FC18B8

    mpy

    y0,y1,b

    b,x:(r0)+

    y:(r4)+,y0

    ;b=x(

    n)*bi2/2,save

    wi1,y0=ai2

    114

    +

    P:0060

    19A0DB

    macr

    x0,y0,b

    x:(r0),a

    a,y1

    ;b=b+

    y(n)*ai2/2,a=next

    iter

    wi1,

    115

    +

    ;y1=o

    utput

    of

    section

    i

    116

    +

    P:0061

    FC1922

    asr

    a

    b,x:(r1)+

    y:(r4)+,y0

    ;a=ne

    xt

    iter

    wi1/2,save

    wi2,

    117

    +

    ;y0=n

    ext

    iter

    bi0

    118

    +

    _ends

    119

    120

    P:0D62

    09C73F

    movep

    y1,y:datout

    ;outp

    ut

    sample

    121

    _endp

    122

    123

    P:0063

    000004

    rti

    124

    end

    0

    Errors

    0

    Warnings

  • 8/6/2019 Apr7 Iir Fir Filters

    111/147

  • 8/6/2019 Apr7 Iir Fir Filters

    112/147

  • 8/6/2019 Apr7 Iir Fir Filters

    113/147

  • 8/6/2019 Apr7 Iir Fir Filters

    114/147

  • 8/6/2019 Apr7 Iir Fir Filters

    115/147

    7-4 MOTOROLA

    Eqn. 7-18

    The phase response, (), is found by taking the in-verse tangent of the ratio of the imaginary to real

    components of G() so that:

    Eqn. 7-19

    where: h(i) is implicitly assumed to be real

    Intuitively, it can be reasoned that, for any pulse to

    retain its general shape and relative timing (i.e.,

    pulse width and time delay to its peak value) after

    passing through a filter, the delay of each frequency

    component making up the pulse must be the same

    so that each component recombines in phase to re-

    construct the original shape. In terms of phase, this

    implies that the phase delay must be linearly relatedto frequency or:

    Eqn. 7-20

    This relationship is illustrated in Figure 7-2 in which

    a pulse having two components, sin t and sin 2t,passes through a linear-phase filter having a delay

    of two cycles per Hz and a constant magnitude re-

    sponse equal to unity. That is, the fundamental is

    G ( ) h i( )eji

    i 0=

    N 1

    =

    h i( ) i jh i( ) isincos[ ]i 0=

    N 1

    =

    ( )=tan1

    h i( ) isini 0=

    N 1

    h i( ) icosi 0=

    N 1

    ---------------------------------------

    ( ) =

  • 8/6/2019 Apr7 Iir Fir Filters

    116/147

    MOTOROLA 7-5

    delayed by two cycles (4) and the first harmonic isdelayed by four cycles (8). The group delay of a

    system, g, is defined by taking the derivative of ():

    Eqn. 7-21

    Since is the normalized frequency, g in Eqn. 7-21is a dimensionless quantity and can be related to

    the group delay in seconds by dividing by the sam-

    ple frequency, fs. For a linear-phase system, g isindependent of and is equal to . This fact can beseen by substituting Eqn. 7-20 into Eqn. 7-21.

    In this example, g is two cycles per Hz. Note thatthe pulse shape within the filter has been retained

    g

    dd------

    Figure 7-32 Signal Data through a FIR Filter

    t

    t

    t

    Stretched pulse within filter Composite output

    pulse shape

    Composite input

    pulse shape

    Filter

    x1(t) = sin t

    x2(t) = sin 2t

    1 = 4-8 = -4

    2 = 8-16 = -8

    Legend:

    Represents the unfiltered wave (i.e., no delay)

    Represents the filtered wave

  • 8/6/2019 Apr7 Iir Fir Filters

    117/147

  • 8/6/2019 Apr7 Iir Fir Filters

    118/147

  • 8/6/2019 Apr7 Iir Fir Filters

    119/147

  • 8/6/2019 Apr7 Iir Fir Filters

    120/147

  • 8/6/2019 Apr7 Iir Fir Filters

    121/147

    7-10 MOTOROLA

    sides of by ej2km/N and summing over kas follows:

    Eqn. 7-28

    where: imis the Kronecker delta, which is equal

    to one when i = m but is zero otherwise

    can be used to find h(i) by simply setting i = m.

    Eqn. 7-29

    Eqn. 7-29 is the IDFT of the filter response. In gen-

    eral, the discrete Fourier coefficients are complex;therefore, H(k) can be represented as:

    where:

    so that Eqn. 7-29 becomes:

    H k( )ej2km Nk 0=

    N 1

    h i( )e j2ki Ni 0=

    N 1

    k 0=

    N 1

    = ej2 km N

    h i( ) e j2ki N ej2km N

    k 0=

    N 1

    i 0=

    N 1

    =

    h i( )Nimi 0=

    N 1

    =

    Nh m( )=

    h i( ) 1N---- H k( )e

    j2ki N

    k 0=

    N 1

    =

    H k( ) A k( )ej k( )

    =

    A k( ) H k( )

  • 8/6/2019 Apr7 Iir Fir Filters

    122/147

  • 8/6/2019 Apr7 Iir Fir Filters

    123/147

    7-12 MOTOROLA

    Eqn. 7-33

    Expanding Eqn. 7-33 for even N yields:

    Consider the A(k) and A(N-k) terms; if r = 0 for the

    A(k) term and r = 1 for the A(N-k) term, then the ar-gument for the A(N-k) term is the negative of the

    argument for the A(k) term, given that N is even.

    That is:

    Therefore, if A(k) = A(N-k), then all imaginary com-

    ponents in Eqn. 7-33 will cancel and h(i) will be

    h i( ) 1N---- A k( )e

    j r k N 1( ) N 2ki N ]+[

    k 0=

    N 1

    =

    i) 1N---- A{ 0( )e

    jrA 1( )e

    j r N 1( ) N 2i N+[ ]++=

    +A N 2( )ej r N 1( ) 2 i+[ ]

    +

    +A N 1( )ej r N 1( ) N 1( ) N 2 N 1( )i N+[ ]

    ej N k( ) N 1( ) N 2 N k( )i N+[ ]

    e

    j k N 1( ) N 2 ki N[ ]e

    j N 1( ) 2i+[ ]=

    ej k N 1( ) N 2ki N+[ ]

    ej N 2( ) 2i+[ ]

    =

    ej k N 1( ) N 2 ki N[ ]

    =

  • 8/6/2019 Apr7 Iir Fir Filters

    124/147

  • 8/6/2019 Apr7 Iir Fir Filters

    125/147

  • 8/6/2019 Apr7 Iir Fir Filters

    126/147

  • 8/6/2019 Apr7 Iir Fir Filters

    127/147

  • 8/6/2019 Apr7 Iir Fir Filters

    128/147

    MOTOROLA 7-17

    Figure 7-34 Response Transformed from Polar Coordinates

    0.5

    0

    -0.5

    0 16 31

    Re[H(k)]

    Im[H(k)]

    0.5

    0

    -0.5

    0 16 31

    (a) Real Part

    (b) Imaginary Part

    k

    k

  • 8/6/2019 Apr7 Iir Fir Filters

    129/147

    7-18 MOTOROLA

    Figure 7-35 FIR Coefficients fromEqn. 7-17for Filter Example

    0.2

    0

    -0.1

    0 16 31

    0.1

    n

    h(n)

    Figure 7-36 Roots (Zeros) ofEqn. 7-36for Filter Example

    Real

    Imaginary

  • 8/6/2019 Apr7 Iir Fir Filters

    130/147

  • 8/6/2019 Apr7 Iir Fir Filters

    131/147

  • 8/6/2019 Apr7 Iir Fir Filters

    132/147

  • 8/6/2019 Apr7 Iir Fir Filters

    133/147

  • 8/6/2019 Apr7 Iir Fir Filters

    134/147

  • 8/6/2019 Apr7 Iir Fir Filters

    135/147

  • 8/6/2019 Apr7 Iir Fir Filters

    136/147

    MOTOROLA 7-25

    Recall that the continuous frequency response of

    a FIR filter can be found by setting z = ej in the

    z-transform so that:

    Eqn. 7-39

    If the linear-phase factor is factored out, Eqn. 7-39

    can be written as:

    Eqn. 7-40

    Using Euler's identity, Eqn. 7-40 can be grouped

    into sine and cosine terms as follows:

    Eqn. 7-41

    H ( ) h n( )ejn

    n 0=

    N 1

    =

    H ( ) ej N 1( ) 2

    = h n( )ej N 1( ) 2 n[ ]

    n 0=

    N 1

    ej N 1( ) 2

    = {h 0( )ej N 1( ) 2

    h 1( )ej N 1( ) 2 ) 1[ ]

    ++

    h N 1( ) )e j N 1( ) 2

    h N 2( )e j N 1( ) 2 ) 1[ ]}+

    H ( ) e j N 1( ) 2= { h[ 0( ) h N 1( ) ] N 1( )2

    ------------------cos+

    +j h[ 1( ) h N 2( ) ] N 12

    ------------- 1sin

    +jh0 hN 1 N 12

    -------------sin h 1( ) h N 2( ) ] N 1( )2

    ------------------ 1cos++

  • 8/6/2019 Apr7 Iir Fir Filters

    137/147

    7-26 MOTOROLA

    If it is assumed that linear phase is achieved by

    even symmetry (i.e., h(n) = h(N-1-n) and that N is

    even, reduces to:

    which, with a change of variable, k = N/2-n-1, can

    be written as follows:

    Eqn. 7-42

    which is in the following form:

    Eqn. 7-43

    where: A() is a real value amplitude function

    P() is a linear-phase function

    The linear functions, A() and P(), are to be con-trasted with the inherently nonlinear absolute value

    and arctangent functions in and Eqn. 7-38. For allfour types of linear-phase filters (N even or odd and

    symmetry even or odd), A() can be expressed as asum of cosines (see Reference 21).

    Since an ideal filter cannot be realized, an approxima-

    tion must be used. If the desired frequency response,

    D(), can be specified in terms of a deviation,

    , from

    H ( ) ej N 1( ) 2

    = 2

    n 0=

    N 2 1

    h n( ) N 22------------- n cos

    H ( ) ej N 1( ) 2

    2h n( )n 0=

    N 2 1

    N 22------------- n cos=

    H ( ) A ( )ejP=

  • 8/6/2019 Apr7 Iir Fir Filters

    138/147

  • 8/6/2019 Apr7 Iir Fir Filters

    139/147

  • 8/6/2019 Apr7 Iir Fir Filters

    140/147

  • 8/6/2019 Apr7 Iir Fir Filters

    141/147

  • 8/6/2019 Apr7 Iir Fir Filters

    142/147

  • 8/6/2019 Apr7 Iir Fir Filters

    143/147

  • 8/6/2019 Apr7 Iir Fir Filters

    144/147

  • 8/6/2019 Apr7 Iir Fir Filters

    145/147

  • 8/6/2019 Apr7 Iir Fir Filters

    146/147

  • 8/6/2019 Apr7 Iir Fir Filters

    147/147