an295 - ELECTRONOTES . Wflfl.fln§2§ l PHEASANT LANE ....

Info iconThis preview shows pages 1–14. Sign up to view the full content.

View Full Document Right Arrow Icon
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 2
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 4
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 6
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 8
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 10
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 12
Background image of page 13

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 14
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ELECTRONOTES . Wflfl.fln§2§ l PHEASANT LANE . Feb/Mar/Apr 1987 ITHA‘CA, NY_ - 14850 ' FINITE_ 0RD LENGTH EFFECTS m QIGITAL was (607)-27358030 an OVERALL 1.5g: The first step in digital filter design is what we can call "network design." At this step, we use a suitable design-procedure to-arrive at a transfer function H(z). At the same time, this H(z) automatically makes available a number of possible digital filter networks which correspond to.it. At this point, all the 'possible structures are equivalent, and there are no further complications that are apparent, assuming all network elements and conditions are ideal.. In a_second step, we need to look at the implicatidns of various practical limitations « principally the finite word length of the signals and network coefficients involved. The findings and adjustments in this second step have a major effect on the third step, which would bring in actual hardware. Among the effects to be considered in this second step of the design-are the following: "' " ' 1.. Finite m Length o_f Coefficients: When we calculate a network coefficient, we usually have its value to arbitrary precision. When it comes down to realizing the filter with a finite number of bits, we can't get these exactly, but must settle for the closest digital level. Thus we get a slightly different.filter from the one we would get with infinite precision., This is similar to the "passive sensitivity” problem with analog- "filters, except in the analog case, the variations from the - _ calculated design_are statistical (the tolerances of resistors and capacitors). In the digital filter case, we.get a different filter than nominal, but we know exactly what filter this is, since.the .' coefficients are set exactly to the (now imperfect) digital levels available. .These'effects-have a major influence on the choice" among possible digital filter structures, In particular, cascade. networks and lattice networks are preferred to direct form networks. 2. 'Roundoff and Quantization Errors of Signals: ' In the same way that we can not-set the coefficients to the exact value needed, we cannot-set the signals to exact values, but-must . 'settle for available digital levels. This process of choosing an _ available_digital level is called quantization. Quantization can occur in the original conversion of a signal from analog to digital form, and also as a result of a-roundoff error that occurs following multiplication. In many cases, we can describe the effects of this quantization error in terms of an equivalent noise, but this does -not always work well, or at all. In addition, the filter may have_ a subStantial "amplification" effect on the roundoff noise, and this is usually a problem with recursive (feedback) structures. 3. Limit Cycle: It is clear that coefficient roundoff error can result in filters" with.vastly.different frequency'response than desired, and often in- filters that are actually unstable; We can look at the roundoff ‘ of signals_as being equivalent to a temporary change of coefficienti' In general this effect is temporary and random, and is best treated in terms of noise, and not of.stability, since there is no conspired 'AN~295'(l) effort to keep the effective value of the coefficient both wrong and "constant. The equivalent effect is more of a "noisy COETflClent", However, the rounding is clearly more important for very small signals, and in the case of a very simple signal, or of zero signal, the effect of _ rounding can become coherent and no longer quasi-random, In the case of ' zero signal, arrived at when an input which was non-zero becomes zero, a residual "limit cycle" oscillation can occur, This is usually a fairly small oscillation which can be understood as the effect of rounding placing one or more poles on the unit circle, .4. gyerflow afld Overflgw Oscillations: Since there are only a limited number of hits, it is clear that it is possible for a signal to exceed the maximum-value, at least in some casas, This is clearly undesirable, since at best it is a nonmlinearity. At worse, it may cause a self—sustaining, high-level overflow oscillation. Thus, with a known number of bits, a good deal of scaling at various places in the network is desirable and often necessary. ' 5. Sampling Errors; In addition to the quantization effects of sampling, we may need to watch out for other_problems, This includes of course such problems as1 aliasing, but also errors in the A/D and D/A converters, the effective rollmoff of the sample—and-hold of the D/A, and phase distortion in the input guard and output smoothing filters.- FINITE Mono LENGTH g5 COEFFICIENTS:- In the realization of‘a digital filter, there will be a certain number of bits available at the input to a multiplier to represent the coefficient, and usually we_need to work Only with integers. In addition, we often need to use one of these bits to somehow represent the sign, Coefficients that happen to come out integers need-no Special consideration. However, coefficients that-are irrational fractions need to be approximated by_suitable rational fractions, Generally the denominator of .the rational fraction has to be a power of two, since_division is done with a right shift, The allocation of available bits to the numerator is then.a question of the range of coefficients that must be considered in any one multiply/accumulate operation, More will be said about how this “largest coefficient” is determined in a moment, We can start by assuming that we have available in the system N+l total bits, and that one bit is used for.the sign, leaving N bits, or-2_N levels for representing the magnitude ' Next we determine the largest coefficient to be realized, and we determine the largest power-of two that is needed to represent this magnitude, and this we denote by 2m. For example, if the magngtude of the largest coefficient is 23.l2353..., then_this lies between.24=l6 and 2 =32, so m=5.' This permits us to determine the power of-two,'2k, by which we must divide following multiplication. This will be accomplished by a right shift by k bits. ' ‘The power of two by which we must divide, 2k, forces us to consider representing a maximum magnitude of 2m, exceeding the maximum coefficient.magnitude, Thus we can write:- " ' ‘ ‘ a ' °ri N — k = m _ ' _ ,. 1. i ' (2) _from which we determine. the unknown Value of~k from the-known_N-and'm. Next we can __, consider-the integer.multiplier which correSponds to any given coefficient, To_do ' this we multiply the coefficient up by 2k, and then round to the nearest integer.. ' Nowa‘theractual-COEfflClent that we end up With is this integer divided by 2k. This is.not the ideal value of the coefficient, but the best we can do with a specified number of bits. However, we do know-exactly what this coefficient is now, While we ~ AN-295 (2) do not end up with our nominal filter, we do end up with a filter_that we know exactly" The determination of the exact coefficients we end up With is given by: , _ Round-[02k] _ - INT[c-2k + 0.5] 3 C ' “"—k—'“— ‘ k ( l 2 2 where c' is the actual coefficient and c is the nominal one" The notation "Round" indicates rounding to the nearest integer, This rounding can be done by hand, or i if-desired, using the “highest integer” or INT function available on many i calculators and computers» Once all the coefficients are redetermined, according to equation (3), we can examine the resulting filter for stability and then for a suitable approximation to the desired frequency response» -Having thus formalized the methods that are used to determine the coefficients in terms of integers, we need to address the question of exactly what coefficients are involved in any case where we need to determine the largest one. This answer depends not just on the.structure, but in the exact manner in which the calculations are to be done, In some cases, we must look ahead to the actual hardware that will be involved in order to determine this, The example below will illustrate variou5'possibilities" ' _ For our example, consider the digital filter deSign'of an 8th-order Butterworth a low—pass which has a cutoff frequency at l/5 the sampling frequency- Using bilinear z transform method, we arrive at the transfer function: 8' 7. 6' 5' 4 -.3. .'2 ' _ b 2 + b 2 + b 2 + b 2 + b 2 + b.z + b 2. + b 2 + b “(2) = 8 7 6 5t 4 3 2 l _o (4) 8 '7 ' 6 5 4 3 2 az+ Z-‘l" z+az+a +, +3 8- a7 as 42 332- + ‘ z + a 5 zalo 2 where the coefficients are given in Table l as: Table l L an _____bn 8 l - ' l 7 -lt590573 8 6 2,083835. _ l 28 5 «l0532653 _ 56 n 4 _ 00869465 70 3 »0.3l9l885 56 2 0,08209454 . .28 _ .-l‘ -+000l224753_ _' 8 " 0" 0100086l4464 1 Fig. l shows the corresponding realization Of this filter in direct form, here. assuming that the coefficients can be realiZed to the full accuracy shown“ We can next consider the realization of the direct form with a limited number of bits“ If we choose 8 bits total, this leaves 7 bits fer the magnitude. We will concern.ourselves with the feedback coefficients, and the maximum magnitude of-these is the one of 2.083835, which is between 21=2 and 22=4, so here m=2. This means that N=7 and m=2, giving k=5 (equation 2). Thus we will realize the coefficients as fractions that have_an integer less than l28 in the numerator, and 25:32 in the .denominator" The integers are determined by rounding the product of the nominal _ coefficient and 32. Fig“ 2 shows the result of this-approach, which cerresponds' - to.Fig. 15 Note that two of the coefficients have been reunded down to zero, so _ there is a loss_of'two poles.. Also,_a divider of l/256 has been added to'the" ” "output;totkeep'the-signal.level from the feedforward_pathsrdown-to reasonable 'vfi~“ AN—295 (3) *20083835 10532653 II N. “0.869465 0i3l91885 -0.08209454 0.01224753 r -0300086l4464 Fig. l Nominal Direct Form of a 8th-0rder Butterworth Low-pass designed using Bilinear-Z method with f5 =_5f3db. _ In order to judge the effect of being limited to eight bits, we can compute back the coefficients from the integers, and this gives for the feedback coefficients the results of Table 2. Table 2_ .11. .30. 8 1‘ 2 —51/32 =-l 59375" _ a 67/32 = 2 09375 5 -49/32 =-i“53125 4 28/32 =-0.87500 3‘ «10/32 =~0.31250 2 3/32 = 0.09375. ' li~ - -.' -‘ r 0/32 = 0 0 r a . _ . .. .- 0/32 = 0 These values we Can compare with those of Table l, and we see that there are somea< important differences.- To understand exactly what the consequences of these changes ane,we can look at the change of the poles positions from nominal, and we can look at the change of the frequency response from nominal" Fig. 3 shows the nominal pole AN¥2§S“(4) 1/256 -0 ' A 'Po1es with ”i "8 bits for- I . 3=,nomina15 . coeff1c1ents I ' "'- “'7 AN-295 (5) mmmulmummumumun III-III IIIIIIIuImmmmImummunmm III-llllllll IIIllllllllllIilllllillllllllllllllil IIIIIII llflllI|I1IllIIIIIIIIIIIIIIIIIIIIHIIIIIII II IllIIIIIIIIIIIIIIIIllllllllllllllllil llllllltllmmlillllllllllllllllulllllll F 5 IIIIllIlllIllllll!IE!{Ingliflilliflluglll IIIIIIIIIIIHIIIIIJI llllllllllflllllllllll , -————---IIIII-Iuluulmunm nmualllummmuumflm lm—IW “mm-I'll! MGM-ill 2 "II-IIIIIIII‘HIIIIII‘IIIIIII" Illllllfl- Illmllllfllflllflfl Ill" Hmmmn- ltflfll‘lllllfl I-H-IIIIIIIIlllllllllllmIIIIIHIHIIIllllllllllllfllllllill-I'I-IIIIIIII lllllllllll‘lllflfllul mm ummmw - warm“.nnaunmnnn: inn": 9% wanna: MOHW‘O" p. mwnnuunlmflmm III-mlilm:llumlullmIH-—I:-m "'"""“"""' """"“"'"""'""""'"" flu'.""""—'m"'"'" ""’""""' 2 mmammmmmmsmmmmmm. mfi'fi‘émmnmnmmm --ml.IIIIIII-lIlflllllflmlllllIllllmumMull'I—“Immlflmflfllfllllflflflllflflfllflmu -m-IllllllllmIIIImiflflmlllIlllfllllllllllllflllfll-I-I “null-"HI"IIII‘II‘IIIWHIIIIIIIIIIIIMIMIIMI Emu-IIIIIIIIIIlllllllliWflflllllflllllllfllllfllMll-III IIIIIIIIIIII! III-IIIIIIIIIIIII‘IIIlllllllllllllllflfllllllllllflmtllluflflll-IIIIIIIIIIII uumm [Illllllllllllllllllltflmli IIIIIIIIIIIIIIIIIIIWilflflifllllllfllfllfllflufllflm-I“ IIIIIII IlllllllfllllllllfllIIIIIIIIIIIIIIIIMHEII It nun-lnunnnuummmmuumu man mnmumumum Ill-IIIIIII Illmnummumumn IIIIIII muummmnu l‘l lull-“IIIIIIIIMIIIIIMIHIIIHIHHIII Imuummmmmmm In] mammalian [I'lllllllllllllllfllllllululumlmlll Illllllllmlllinll IIIIIIII Illmmm%mmunmlmmmummu IIIIIIIIIIIIIIIIIIIIIHIIIHIIHIIIIH llllllllfllllllllllllifllllll'll IIII positions for the idea} fiiter, Whiie Fig. 4 shews the positions of the remaining'" six poles after reaiization with 8 bits“ Cieariy there has been a substantia1 motion_in the pole positions,.aithough no poles have yet moved outside the unit circle. .\ 7 a ‘Fig; 5 shoWs-the corresponding nominal frequency response as compared to the. '-frequency response of the 8-bit version” _It may be rather surprising that the. - response is.as Tittie aitered as it-is seen to be, judging from the.poie motion of Figs 4%; _Yet there is over-1 db of ripp1e_in the passband, and the filter is quite .different from the idea1;BUtterw0rth. Note however that the 1055 of two poles does not have much effect on the asymptotic roii-off (none seen actuaiiy). This is in contrast to what wouid-happen with an analog fiiter. This can be attributed to the * AN-295 (6) fact that the finite zeros at z=wl are still in place, and have the major influence on the response in the roll-off region, .we can note that what actually happens in Fig. 2 is that first, all data on the delay line shifts downward, leaving the top value open to be updated. Next, the "data vector" on the delay line is multiplied by the "coefficient vector“ of the feedback coefficients (a so-called "dot product" or "inner product”). This would be done using a multiplier/accumulator, or as a single "subroutine call". _ The result of this feedback calculation (lower left summer in Fig, 2) is then scaled by l/32 (right shifted by 5 places), and this is added to the input, and this sum becomes the data value at the top of the delay line; Finally the feedforward path coefficients are used in a second "dot product” call, The result is conveniently scaled by 1/256, Note that there is no error in approximating the feedforward coefficients since in this case of bilinearmz design, all the feedforward coefficients are integers. Also, note that since the feedforward is a separate multiply/accumulate operation, we need not consider the feedforward coefficients when we find the maximum coefficient in the feedback paths. Indeed, due to the large size of these, it would be impractical to do this, since the maximum value of 70 would dictate m=7 and thus k=0, with all feedback coefficients becoming O, l, or 2 in magnitude. Of course, we could scale the feedfbrward coefficients to any smaller values, keeping all proportional, and this would take care of the problem. However, it is still necessary to have separate dot product calls for the feedback and for the feedforward, since we need to calculate the new data sample that goes into the- ' a _top-of the delay line, Two approaches Can be used to improving the response of the 8th-order filter, First, we could Simply increase the number of bits that are used to represent the _coefficients, Secondly, we could look for a better structure for our filter, It is known, for example, that cascade form is far superior to direct fbrm in - performance with regard to_coefficient sensitivity. This superiority in the .specific case of a finite word_length can be attributed to two faCtors, First, there is an inherently better sensitivity due to the decoupling of the stages in cascade form, and to the lower order of sections, Secondly, the magnitudes of the coefficients in cascade form are themselves generally significantly smaller and in a'more restricted range; ' ' '_Fig, 6 shows the pole positions for the 8th—order filter realized with 12 bits instead of-only_8. . The feedback coefficients for this case are given-in Table 3: - Eble 3 L ' an" 8 . . 1 ' . - ._ . 7, ~814/512-=—i-..5898-438 -r 6 - 10877512 = 240839844 : 5' 3785/512 =--.1..5332031 , r -.4 445/512, r= - 0.. 8891408.“ , 3 '-163-/512 =-0..3i83594.g_ 2 42/512 = 0..08203l3 i -6/5l_2 =-0..Oll7l88 ._0 ' 0/512; 0 _. It is-clear-that we have lost one pole here, instead of two as in the 8-bit case. .The freQUency response function here is.quite near nominal, dispite the motion of the poles.- The reSponse is within the plotting accuracy of the nominal curve in .1 _Fig,'5, : Thus we would think that l2 bits would-be sufficient for this particular. "g- case, -If we were to moVeytoward:a'Chebyshev design, Weleuld find that this would'n .s eventually become unsatisfactoryr. '2 - - . 7,, .____ ._ - _ ,: . h, “1 4fA¢muCh better solution;.alternative to increasing the number of bits, isfto,12 change to a cascade-structure} :The cascade structure that correSponds to the Fig, l AN-ZQS (7). goh686994 _ l -O.3085818 ' l -O.ll6839 _ l ~00034779 1 Fig. 7 ' Nominal Cascade Form of 8th-0rder Butterworth Low-Pass_' direct form is shown in-Fig» 7. Since these coefficients are smaller than in direct form, we can expect to divide-by larger-values of 2k and correspondingly be more - preCise in establishing the coefficients closer to-nominal values" For the-first section, m=01and'thus.ke7 for.tm28 bitS'used'here" Note however that in the other_ three sections the coeffiCients are not only less than l, but also less than l/2i This allows us to take me-l, and k=8, even with 8 bits. The resdlting division by 7 256 can still be accomplished by a right shift, even though 256 is outside the range of the 7 bits we have available'for magnitude. Fig. 8 shows the implementation of - the cascade from in terms of integer-arithmetic" '- There are usually_several ways of doing things in cascade form. Note that we would expect that all shifts downward would occur first, and that updating would occur in the fiirst stage (in a manner similar to the direct form) and propagate through the 2 filter, In this case, it is.p055ible to do the feedforward paths-of one stage along - with the-feedback paths of the succeeding-stage, all-as one dot product call” This would however cause us to reduce-the.value.of.2k (to-l28 in this case) and some 7. degree of accuracy on the feedbaqk coefficients would be-Tost, ‘ _ a 'Fig, 9 shows.the pole plot of the cascade form'of Fig{ 8, and it is Very close ( r5toynominal}; As one wOuld expect, the frequency response-is near nominal as well, \h "'Qwith’in the‘plottihgjaccuracy of'Fig. Clearly the‘cascade form‘is' superior, ‘ L'?even to_the 12-bit direct form. AN-295 (3) i....‘,,.,....._...._.,..,......m u .. 3=~; gain (freqUency dependent of course)“ 51-43 8th— ' . SCALING WITHIN'Ifi§_FILTER: . - _' In'a feedback path, the division by 2k must be precisely chosen so as-to reaiize the proper-gain around the'loop. There is no choice in-this matter. On the other-hand, at certain Feedforward points, we do.have some choice as to ‘ I 7‘ " ' ' For example, the input scaling .-2,and the output.sca1ing'of‘1/256 there,might.be subject to some ' * ' ' ' ' 8; as another egampie; "What "' /A for.examp1e, We would preferk .oh'something iike _ . anaiog signal at the input should be adjusted so that the ..avai1ab1e bit size of~ . _ I r . If theSenreqUirements are not met, jf”we"are at'ieast starting out with additionai'quantization_noise - - _ _ ' to-maintain at all times a signal .Ievei of at'ieast the Site of the D/A conVerter to come; At the same time, we $128 at any-point, or ' t _ 7 , _ _ whiCh can be,greaterithan-one; ‘uThus, f0? '9fi;exampie;'if we have a 16-bit‘mu1tip1ier, we Want to maintain 16 bits of Signal. AN-295 (9) If at the same time, we have a l2~bit D/A at the end, then we want to scale down when we get there, but preferably not before, If, for example, an excessive right shift (division to scale) reduces the signal to 7 bits, subsequent reduced levels of'scaling in later stages may restore the signal size to the needed 12 bits, but the number of significant bits is never restored. These lesser significant bits were right shifted off the end, and are not recoverable. . Thus scaling within the filter can be a fairly-tricky process, and we want to maintain the maximum signal level expected, either as a result of input level, or of peaking with frequency within the filter, within a narrow range, This range is ' restricted on the high side by the full wordsize available, and on the low side by the number of bits of the D/A, Performance loss for failure.to scale properly is more a question of quantization noise, and usually not of stability or of response curve approximation to nominal, . 'QUANTIZATION NOISE AMPLIFICATION BY THE FILTER: _ . It is well known that the effect of-quantization, under proper assumptions of _ large and complex signals, is describable in terms of an equivalent random-like noise, For quantization to levels separated by Q, the variance of the noise (or noise power) is given by: _ ' _ 2 _- 2 ' ' ' _ ob - Q /12 - _ (5) This "quantiZation noise" may be the result bf the initial sampling process that converts an analog signal to a digital one. It may also just as well be the “roundoff noise” that results from truncating a multiplication result to the word length of the' rest of the system. For example, if two l6-bit words are multiplied together, we get a 32-bit word. In cutting this back to l6—bits, we are effectively quantizing again, with a possible error corresponding to the least significant bit. Usually this round-off interval is the same as that of the A/D converter, Thus equation (5) may represent the A/D converter, or any one of'several multiplier within the filter, We represent these effects as added noise fOllowing the quantization or roundmoff, H Since the filter has in general several quantization and round-Off noise sources, we need to know how to access the effects of all of them in terms of an equivalent noise at the output, We must keep in mind that these noise sources are assumed to be random and independent, and when added, the variances add - In this study, we-will -find it convenient to describe a noise source as N. When we have more than one noise sourte, we number then N1, N2, and so on, with the implication.that these are all gstatistically the same as Njor as each other,- That is, if we were looking at any ohe.of them on a scope for example, we would not be able to guess which one it was ~simply on appearance or the general "level" or "amplitude" of-the noise signal, However, specifically,_if we add N1-and.N2 for-example, we do not get 2N. This is because the sources are independent and they_"fight” each other as much as they - cooperate, on average, It is-well known that the variances can-be added however, Thus the addition of N1 and N2 would give us something like J?N;. Note however that I the multiplication of N} by a constant does result in a multiplication of N‘by the . same constant _, We have simply amplified the noiSe, or scaled_it.i ' ~1 - ' .- 5:“However, even knowing.how to handle noise at the summing points is not enough, .since the filter itself may result in additional amplification, “This is the usual 7 case_where a recursive-filter structure is in use - We can understand this in terms "of errors returning around the loop, causing further errors in consequence; _ . .To.begin-to understand haw noise is amplified by the filter,'we can begin with ' "arausimplerOUr-tap FIR filter Withza'anseiN at its input as shbwn in Fig; 9, ,He - ' Kwish to know the noise level at the output, *we can look at this as being a separate ,“noise source at each of the tap points, as shown in Fig.'10,“'Here'the.noise sources _ are taken to be infiependent, although-they are certainly-correlated in timely The- - effect of the time correlation comes out as a.filtering or spectral shaping of the i noise;.3:Here_We-are interested in-the.way these sources, independent at ahy'given amazes (10) x‘—\ Fig. 10 Noise sources at FIR _ Fig. 9 Noise at input offa ' ' ' filter'tapsu ' simple FIR filter Fig._lg A_recursive filter showing tFig. 11 Simple Recursive Filter _ ' noise sources from multipliers time, will'add together; From Fig" 10, it is clear that the function of the tap weightS'is to simply amplify the noise sources prior to summingthemw Thus we can look at the power in the summed signal as being the combined power of'these - smplified sources: ' 3 ... "a 2h(3)2 + N2 Z.h(n)2 (6) ' 2 ‘ 2 - 2 ' 2 I 2 '.2 N1 h(0)_ + N2.h(l) + N3 h(2) +_N4 _ n=0 'Here we have an_indication that the way we will-determine the effect of.a filter on the Output noise variance is to sum-the squares of the impulse response" While _this can be shown in'a more convincing mannerg here this simple_intuitive demonStration will Serve, and we Will'extend the idea_beyond FIR to the IIR case; ';f by summing_the impulse response squares, (in general) to infinityi ' - -» We can then take each of the round4off noise and quantization noise'SOUrces;; "in turn; and for each determine the amplification of the filter;-'For‘this.purpose,‘ .the relevant h(n) is the impulse response from the point in the filter where the ' - noiSe is introduced, to the output" - This may be the same as.the-impulse response of the filter itself, in.many caSes, but it is also often a different one.. Thus we can write in general: :, __ _H:H " - ,. ,. . ,,. - U” ‘. ' h ‘3 . :0 .,- h (m)2 --r --_ l 'y ~(7) --°‘.‘.‘-(t9ta”~" all”S‘0U;CeS--K_IL 91111;,ka ' .- _- _. .- Here the Sum over all Sources k-is possible because of superposition and.the fact that,we-are adding variances. With these matters identified and discussed3 we can then see how we arrive at the total output-noise variancel‘ First; we identify all _ noise sources; and assign-a variance of to those points.. We then determine'the~ Timpulse responses from those points to. he'outp'ut’,"sum‘the'squal‘ES-Of those rESpOHSE. ;An-295 (ll) values, and apply equation (7). For example, Fig, ll shows a simple recursive structure, and we can consider how this would amplify any noise source at its input, ignoring for the moment the additional noise of its own feedback multiplier" The impulse response is clearly: h(m) = am (3) The sum of the squares of h(m) is easily found as: zh(m)2=za2m= ‘2 " '(9) m=0 m=0 l m a - which clearly indicates that as a approaches l in magnitude, the noise amplification gets -very large, This is in agreement with the idea that the more times the noise goes around the loop, the larger its effect, ' Fig, 12 shows a case where we have added two feedforward paths to the first-order recursive structure, and-where we show, in addition to the input quantization noise N1, the round-off noise sources N2, N3, and N4 associated with the three multipliers (a, b1, and b2 respectively) in the structure. The first task here is to determine the ' impulse response from the input to the output, since this-is the correct impulse response for two of the_noise sources (N1 and N2) to the output. By inspection we have h 0 as: _ .h(0)'=-b]. - ' ; ' (10) Hand using equation (8) we can extend to: _ h(m) =.b]am + beam'I - ' ' ' (ll) for m greater than 0” Thus we can get: . m . 2b b ' b3 'm . : --' ' 20.h(.m)2 = 1312 + [b12+ 21.2 + j—zazl 21am .. - _ . (1-27) m: - ' 'm: I The sum of the series on the right of equation (12) is aZ/(l-az) so for the filter input to output we have: _ -. I. E h(m)2 : 'igi::_EElEg%_:_Eé:l_ .' . ..-: '.1 l ‘(13) FIFO 1-3 _ .. _ : Also, we note-that-fOr the'fEedforward paths; bi and b2, the impulse response from the sources-N3 and N4 is simply_ ” - ' _ l ' ,1 _ .u ._ ' ; th) = 1’ h(m)=0 for m_9reater than.0 ', My _,..- __ ,4 (14) so the sum of the squares of this impulse.response is just l.' Now, with equation (l3) applying to noise sources N1 and N2, and equation (l4) applying:to sources N3 and N4, we can obtain the total noise variance at the output as:~- " ~”=.~?* -- * "j 2 ' '_ 2 (big + 2b1b2a + b22) 1v ” I‘ -" lrlr I.) _"I:‘ f Oout(total) ‘ “o [2'————1—:';§“‘""""‘— + 2 _ (75)_ It is clear that_our ability to calculate the output noise variance from equation_ (7) depends on our ability to obtain the summation: ' . j“m=0*' ‘“ “* "” ”‘ ”“‘” _T ” ’;;:-g p 1'; _,J ";;!s KIHCIT; for each and every noise source of interest, we may be able to obtain-this, essentially Ail-295 (12).- « by inspection, as we did for equations (10) through (14). Another method would be to obtain instead the transfer function H(z) from the point of noise insertion to the output, and.obtain h(m) from the inverse zmtranstrm of H(z) by any of the several methods we are familiar with. Yet another method is the obtain the sum of equation (l6) directly using.the Parseval relationship: _m:;h(m)2' 5%3-§H(Z)H(l/t)z'1dz - (17) whiCh is evaluated with contour integral (residue) calculations. Still another very pragmatic method of evaluating eqUation (l6) is by simulation of the filter" We have then only to input an impulse into the simulated structure and add'up the squares of the filter's output until such point as these outputs become sufficiently small" We repeat this for each and every source in turn” This simulation can also.be used to check theoretical results such as equation (15), which has been verified by this-meansr u - ' - - Fig“ 13 shows a second—order structure of standard form, corresponding to a pair of poles at radius r and angle 9 with - respect to the positive real axis. Its transfer function is: - ' l . H(z) = ____""______T:T_uf_Z—:2 (18) l - 2rC0$(9)z + r z ' We need to obtain the impulse response corresponding to equation (18), and this we can get, for example,_by adapting the often~found'z-transform pair corresponding to the impulse-invariant design of a second~ Order anaIOQ 1°W‘pa55 fiIter‘. ' 'Fig. 13 Second-order filter . . -UT _ -1 showing the roundwoff'noise H(z) = _______!]/w)e Sln(wT)Z____ (19) sources-due to.two multipliers” l 1_ 2edeCOS(wT)Z~4.e—20Tz-2 (Not shown w noise source; d due to input quantization) an : _ . h(n). = (l/w)e'onTSin(mnT) (20) __ 'Equating the denominators of equations (l8) and-(l9) gives-us r = e'UT and 9'= an The 2-1 in equation (19) suggests that equation (20) needs to be advanced by one time index to correspbnd-to equation (l8), and we will need_to divide equation (20)_' by_(l/m)e'°TSin(wT) tO'get the numerator of'l of equation (l8) "Thus: ' ” - I- (Hulk—Gm“ )TSinl (UH-I 203T]. : rams-Eh “1+1 9] - I (21) (i/w)e'“Tsin(mT) , . . 751n(6 ‘ .. . Now, using equation (7) and ignoring_here the noise due to the quantization of the input signal, from N1 and N2 we get: ' 2 . co co 2m . = 2 2 = g: r Sin2 m+l 8] _ crout(total) 2 0'0 "go Mm) 6 “120 Sin£(9) (.22)' fl 2 1+ 2) __h_' ' ls ' 7- -. j - . I - "96—h; (1 (23) Note that.the input quantization noise is included simply be replacing Qz/B with 02/4 in equations (22) and (23). 5 ANa295 (13) LIMIT CYCLE: The effect of rounding can result in a strange behavior of a digital filter during which a filter with input returned to zero can have an output which not only is not zero, but which is not decaying. Fig" 14 shows a simple firstworder recursive filter which illustrates this "Limit Cycle” behavior. Consider the output following multiplication to be subject to rounding. If we suppose that the input is say +20 then this is multiplied by ~0097 which results in m 19.4, which is rounded to -19. This in turn is multiplied by -0.97- resulting in +18.43, rounded to +18. Continuing +18 is multiplied by -0.97 giving —17"46, rounded to -17; W17 times «0197 gives l6n49 rounded to 16; 16 times -0.97 gives 315052 roundedto 916;-16 times -0"97 gives +15.52,-rounded to 16, and so on. It is clear that we are now stuck'in the sequence.+16, -16, +16, —l6, and so on" We can interpret the limit cycle as follows. First, we are supposed to have a pole at —0.97 in the z—plane (Figu 15)" -However, the rounding of 15.52 to 16 is a gain of 1/0 97, so the combined effect of the multiplication plus-the rounding is a.feedback gain.of -1. This places the pole at —1 (Figu l7), and we have a. "digital oscillator" producing a square wave at half the sampling frequency (Figv 16). _*f”f;g. 15 Pole of filter-of‘ ‘ 'Fig; 14' - F'g. l4 First-order recursive with integer rounding Fig. 17 Rounding' .effectively moves ‘ pole to unit _ Fig. 16 Limit Cycle circle at z=-l r AN-295 (14) w.“ {is ...
View Full Document

Page1 / 14

an295 - ELECTRONOTES . Wflfl.fln§2§ l PHEASANT LANE ....

This preview shows document pages 1 - 14. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online