Abstract:
An electronics circuit for digitizing an analog audio data signal into a  ital equivalent signal and then introducing digitized nyquist dither data into the digital equivalent signal to substantially eliminate the need for removing the nyquist dither data from the digital equivalent signal prior to its conversion to an analog signal which is a substantial replica of the incoming analog audio or like data signal. The electronics circuit comprises a first pseudo-random number generator which generates a series of digitized nyquist dither bits for addition to the digital equivalent signal. The digitized nyquist dither bits are, in turn, provided by an external computer using a computer program which first generates a pseudo-random sequence of positive integers over a first predetermined range. The computer program implements a high pass filter which processes the pseudo-random sequence of positive integers to generate the digitized nyquist dither bits for use by the programmed read only memory as the dither bits to be added to the digital equivalent signal. A binary adder adds the digitized nyquist dither bits to the digital equivalent signal and then provides the resulting digital equivalent signal with dither to a first clipping circuit. The first clipping circuit clips the digital equivalent signal with dither to a maximum binary value having every bit at the logic one state and a minimum binary value having every bit at the logic zero state.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates generally to the conversion of electric signals from analog to digital form. More specifically, the present invention relates to a digital circuit for translating an analog audio or like analog signal into an equivalent digital signal having a filtered dither signal added thereto which is an artificially created noise signal for reducing noise and distortion. 
     2. Description of the Prior Art 
     The pulse code modulation (PCM) or digital processing of analog audio signals has become, or is becoming, the mainstream of high fidelity sound recording and reproduction with the advent and ever increasing commercial acceptance of compact discs. The digital processing of analog signals in the low to high frequency range is also becoming highly useful for analyzing the performance of weapons systems such as guided missiles. For example, the analog data acquired by a guided missile during flight is converted to its digital equivalent and then placed in a digital PCM frame for transmission to a ground station for analysis. 
     There are, however, some problems left unsolved in the art of digital processing of analog signals. For example, there is a significant difference between the samples of an analog signal and the quantized values of the samples which is generally referred to as &#34;quantization noise&#34;. This difference becomes particularly pronounced when the input analog signal is low and there are only a small number of quantization steps, thereby, for example, distorting the reproduced sound as higher harmonics in high fidelity sound systems. 
     A prior art solution to this quantization noise problem has been the use of dither which is intended to turn the quantization noise into broad band white noise which has little or no effect on reproduced sound or the like and which is generally referred to as &#34;white noise&#34;. One system of the prior art adds an analog dither signal, converted from the output from a digital dither generator by a digital to analog converter, to the incoming analog audio or analog data signal. The combined analog data and dither is digitized by an analog to digital converter and then fed to a subtractor circuit. The subtractor is also supplied the digital dither directly from the dither generator. The subtractor circuit then subtracts the dither component from the digital data and dither signal. 
     A second system of the prior art uses an analog dither generator in combination with a second analog to digital converter for digitizing the analog dither prior to its delivery to the subtractor. In this prior art system, analog dither is added directly to the analog data signal. The resulting dither added data signal is then digitized by the first analog to digital converter and the analog dither is digitized by the second analog to digital converter preparatory to application to the two inputs of the subtractor circuit. 
     A prior art patent issued to a co-inventor of the present invention, U.S. Pat. No. 5,311,180 entitled &#34;Digital Circuit For The Introduction And Later Removal Of Dither From An Analog Signal&#34; to Gary S. Borgen describes a first pseudo-random number generator which generates digital random noise signals for addition to the digital equivalent signal of an analog audio signal and a second psuedo-random number generator which generates subtractive digital random noise signals for the subsequent removal of dither from the digital equivalent signal prior to its conversion to an analog replica of the analog audio signal. 
     While partially satisfactory for their intended of purpose of removing noise and distortion from a digitized analog signal, these prior art systems ordinarily leave something to be desired whenever the incoming analog signal is composed of low level sinusoids, often referred to as a low level sinusoidal signal. Low level sinusoidal signals have a spectral content that is highly dependent on and correlated with the frequency of the sinusoids present in the signal. In a spectral analysis of the digital equivalent signal, the quantization noise tends to be centered about the frequency of the signal and its harmonics generating quantization noise which obscures the signal. 
     With the above and other disadvantages of the prior art the present invention was conceived and one of its objects is to minimize the quantization noise of an incoming analog signal composed of low level sinusoids when the signal is converted to its digital equivalent, while simultaneously minimizing the number of digital bits to accurately represent the analog signal. 
     It is another object of the present invention to provide a reliable yet relatively simplistic and inexpensive electronics circuit for generating and then adding digital dither bits to an equivalent digital signal. 
     It is yet a further object of the present invention to provide electronics circuitry which is capable of operation with high resolution and conversion accuracy. 
     The above and other novel features and advantages of the present invention and the manner of realizing them will become more apparent and the invention will be best understood from a study of the following description and appended claims, with reference to the attached drawings. 
     SUMMARY OF THE INVENTION 
     According to the present invention, briefly stated, there is provided an electronics circuit for accurately digitizing an analog audio or like data signal into a digital equivalent signal and then introducing digitized nyquist dither data into the digital equivalent signal to substantially eliminate the need for removing the nyquist dither data from the digital equivalent signal prior to its conversion to an analog signal which is a substantial replica of the incoming analog audio or like data signal. The electronics circuit of the present invention is characterized by a first pseudo-random number generator which may be a programmed read only memory (PROM). The programmed read only memory generates a series of digitized nyquist dither bits for addition to the digital equivalent signal. The digitized nyquist dither bits are, in turn, provided by an external computer using a computer program which first generates a pseudo-random sequence of positive integers over a first predetermined range. The computer program implements a high pass filter which processes the pseudo-random sequence of positive integers to generate the digitized nyquist dither bits for use by the programmed read only memory as the dither bits to be added to the digital equivalent signal. 
     A binary adder adds the digitized nyquist dither bits to the digital equivalent signal and then provides the resulting digital equivalent signal with dither to a first clipping circuit. The first clipping circuit clips the digital equivalent signal with dither to a maximum binary value having every bit at the logic one state and a minimum binary value having every bit at the logic zero state. The addition of the digitized nyquist dither bits to the digital equivalent signal allows for the conversion of the digital equivalent signal with dither to an analog signal without first removing the dither component. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a circuit diagram of a digital circuit for the introduction of nyquist dither data to an audio or analog data signal after the signal is digitized; 
     FIG. 2 is a circuit diagram of a digital circuit for the removal of dither from the digitized equivalent signal generated by the circuit of FIG. 1; 
     FIG. 3 illustrates the analog signal provided to the circuit of FIG. 1; 
     FIG. 4 illustrates a spectrum analysis of the analog signal of FIG. 3; 
     FIG. 5 illustrates the analog signal of FIG. 3 digitized to three bits by the circuit of FIG. 1; 
     FIG. 6 illustrates a spectrum analysis of the digitized signal of FIG. 5; 
     FIG. 7 illustrates the analog signal of FIG. 3 digitized to three bits with dither added thereto by the circuit of FIG. 1; 
     FIG. 8 is a spectrum analysis of the signal of FIG. 7; FIG. 9 illustrates the resultant digital signal after nyquist dither generated by the computer program of Appendix A is added to the digitized signal of FIG. 5; 
     FIG. 10 is a spectrum analysis of the signal of FIG. 9; 
     FIG. 11 illustrates the random numbers generated over time by the computer program of Appendix A; 
     FIG. 12 illustrates the random numbers of FIG. 11 after being processed by the high pass filter of FIG. 14; 
     FIG. 13 is a spectrum analysis of the signal of FIG. and 
     FIG. 14 is a schematic diagram of a high pass filter which will generate the digitized nyquist dither data illustrated in FIG. 12. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIG. 1, the electronics circuit, designated generally by the reference numeral 20 is adapted for use in the pulse code modulation of an analog data signal, analog audio signal or the like. 
     The reference numeral 22 in FIG. 1 denotes an input terminal for inputting the analog audio or analog data signal. The analog data/video doppler signal provided to the electronics circuit 20 of the present invention is the tracking information from a missile in flight which is to be digitized and then forwarded via the missile&#39;s telemetry unit to a ground station for analysis. However, it should be understood that the term &#34;data signal&#34; may mean any analog signal that can be processed by means of the present invention and which may have a frequency in the low to high frequency range as well as the audio frequency range. 
     The analog data signal is first provided to an analog to digital converter 24 which converts the analog data signal to an equivalent six bit digital signal or word with the four most significant bits (MSB) of the signal being supplied to the A1-A4 inputs of a four bit binary full adder 26, while the two least significant bits (LSB) of the signal are supplied to the A3 and A4 inputs of a four bit binary full adder 28. The conversion or sampling rate of analog to digital converter 24 is 600 KHz with the 600 KHz sampling/clock signal being supplied to the clock input of analog to digital converter 24 by an asynchronous twelve bit counter 32. It should be noted that the Q2 output of counter 32 is also connected to the clock input of analog to digital converter 24 to provide to converter 24 the 600 Khz clock signal. 
     At this time, it should be noted that there is a limitation in bandwidth at which the digitized information may be transmitted to the ground station because of National Telecommunications and Information Administration frequency allocation limitations as well as limitations in the ground station&#39;s data receiving and processing capabilities. As a result of these limitations electronics circuit 20 provides a maximum three bit digitized word for each six bit digitized sample of the analog data signal supplied to analog to digital converter 24. 
     A 2.4 megahertz system clock signal from the missile telemetry receiver, bit synchronizer and decommutator, not illustrated, is supplied via terminal 25 to the clock input of asynchronous twelve bit counter 32. The Q2-Q12 outputs of counter 32, in response to the 2.4 megahertz clock signal, supplies 2048 different addresses to the A0-A10 inputs of a pseudo-random number generator 34 which generates a series of digitized nyquist dither bits for addition to the digital equivalent signal provided by analog to digital converter 24. 
     A personal computer utilizing the computer software program set forth in Appendix A generates 2048 digitized nyquist dither bits which are then loaded into pseudo-random number generator 34. 
     The computer software of Appendix A uses the following equations to generate a periodic pseudo-random sequence of positive integers, I i  for a range i:=1 . . . 2051: 
     
         I.sub.i :=mod[[J·[I.sub.(i-1) ]+1],M]             (1) 
    
     where 
     M:=2 11  =2.048·10 3   
     K:=507 and 
     J:=4·K+1=2.029·10 3   
     At this time it the computer software program of Appendix A is written in the well known C programming language. It should also be noted that mod(x,y) is the remainder on dividing x by y with the result having the same sign as x. In equation 1 x is [J·[I.sub.(i-1) ]+1] and y is M. 
     The positive integers I i  calculated according to equation 1 are next processed by the high pass filter illustrated in FIG. 14 over a range i:=2 . . . 2050. The output of a summer 118 of a high pass filter 109 of FIG. 14 may be defined by the following equation: 
     
         z.sub.i =I.sub.i +a1·I.sub.i-1 +a2·I.sub.i-2(2) 
    
     where the output of summer 118 is z i  ; a1 is a constant multiplier 114 having a value of 0.58899921; a2 is a constant multiplier 116 having a value of 0.64; time delay 110 delays the calculated value of I i  from equation 1 by one time period and time delay 112 delays the calculated value of I i  from equation one by two time periods. 
     The output of a summer 120 of high pass filter 109 may be defined by the following equation: 
     
         x.sub.i =Z.sub.i -b1·x.sub.i-1 -b2·x.sub.i-2(3) 
    
     where the output of summer 120 is x i  ; b1 is a constant multiplier 124 having a value of 1.4882; b2 is a constant multiplier 128 having a value of 0.5625; time delay 122 delays the calculated value of x i  from equation 2 by one time period and time delay 128 delays the calculated value of X i  by two time periods. 
     It should be noted that the output of summer 130, which is b1·x i-1  +b2·x i-2 , is subtracted from the output of summer 118. 
     The output of a summer 132 of high pass filter 109 may be defined by the following equation: 
     
         y.sub.i =X.sub.i +b3·Y.sub.i-1 -b4·y.sub.i-2(4) 
    
     where y i  is the output of summer 132, b3 is a constant multiplier 136 having a value of 1.70630, b4 is a constant multiplier 140 having a value of 0.8407; time delay 134 delays the calculated value of y i  from equation 4 by one time period and time delay 138 delays the calculated value of y i  from equation 4 by two time periods. 
     It should be noted that the output of summer 142, which is b3·y i-1  +b4·y i-2 , is subtracted from the output of summer 120. 
     Each value of y i  is then processed in accordance with the following equation: ##EQU1## wherein the function round of equation 5 rounds off to the nearest whole number the result of dividing y i  from equation 4 by M·4. The following table illustrates a series of random numbers T1 i-2  generated by the computer program of Appendix A which implements high pass filter 109 of FIG. 14. 
     
                       TABLE I______________________________________Time   I.sub.i       y.sub.i      T1.sub.i-2______________________________________t.sub.0   0            0t.sub.1   1            0t.sub.2   2.03 · 10.sup.3                 2.030589 · 10.sup.3                             0t.sub.3  343            -4.947082 · 10.sup.3                             -1t.sub.4  1.676 · 10.sup.3                 1.0976093 · 10.sup.4                             1t.sub.5  925            -1.791569 · 10.sup.4                             -2t.sub.6  858            2.6411804 · 10.sup.4                             3t.sub.7   83           -3.4486963 · 10.sup.4                             -4t.sub.8  472            4.1529353 · 10.sup.4                             5t.sub.9  1.273 · 10.sup.3                -4.5018258 · 10.sup.4                             -5t.sub.10  390            4.5280638 · 10.sup.4                             6t.sub.11  783           -4.0845933 · 10.sup.4                             -5______________________________________ 
    
     For time t 12  the numerical value of T1 i-2  as calculated by the computer program of Appendix A is 4; the numerical value of T1 i-2  for time t 13  is -3 and the numerical value of T1 i-2  for time t 14  is 2. In a like manner, the numerical value of T1 i-2  for time t 15  is -1 and the numerical value of T1 i-2  for time t 16  is 1. As is best illustrated by FIG. 12, the range of the nyquist dither bits-provided by filter 109 range from about minus seven to about plus seven. 
     A twelve bit address is supplied to the A0-A12 inputs of pseudo-random number generator 34 with the ten least significant bits of the address being supplied by counter 32 to the A0-A10 inputs of generator 34, the eleventh bit of the address being supplied by the fuze active output terminal 35 of the missile&#39;s telemetry unit to the A11 input of generator 34 and the A12 input of generator 34 being connected via jumpers to either ground or +5 VDC. 
     When the missile&#39;s telemetry unit provides a logic one to the A11 input of generator 34, which is the eleventh bit of the address, circuit 20 will provide a three bit equivalent digital signal for each sample of the analog signal occurring at input terminal 22. Similarly, when a logic zero is supplied to the A11 input of generator 34 by the missile&#39;s telemetry system a one bit equivalent digital signal of the analog signal occurring at terminal 22 will be provided by circuit 20. 
     Each random number T1 i-2  generated by random number generator 34 has six bits which occurs at the DQ0-DQ5 outputs of generator 34 and may be either positive or negative as is best illustrated by FIG. 12 and Table I. The logic signal provided at the DQ7 output of generator 34 indicates whether the random number is positive or negative with a logic zero indicating that the random number is positive and a logic one indicating that the random number is negative. When the random number generated by random number generator 34 is a negative number, the two&#39;s number generator 34 is a negative number, the two&#39;s complement of the number will occur at the DQ0-DQ7 of generator 34. 
     It should be noted that the software of Appendix A provides for a Nyquist Centered Dither Function (line 54) and a 1 Bit Rectangular Probability Density Function (line 100). This occurs whenever the A12 input to pseudo-random number generator 34 is at the logic zero state. In the event it is desired to use a Triangular Probability Density Function a logic one may be supplied to the A12 input of generator 34. 
     A thorough discussion of Triangular and Rectangular Probability Density Functions in the generation of random numbers may be found in U.S. Pat. No. 5,311,180. The discussion in U.S. Pat. No. 5,311,180 relating to Triangular and Rectangular Probability Density Functions and their effect on random number generation as well the discussion relating to circuit 21 (FIG. 2) is incorporated by reference. 
     The reset input of counter 32 is connected to a minor frame flag output terminal 33 of the missile&#39;s telemetry unit. Terminal 33 provides a logic one pulse every 1920 counts of counter 32 so as to reset counter 32. Counter 32 will provide 1920 addresses to random number generator 34 which results in generator 34 providing at its DQ0-DQ5 outputs 1920 random numbers T1 i-2 . It should be noted that the software of Appendix A is set to provide for a sequence of 2048 counts, that is M equals 2048 which results in 2048 random numbers T1 i-2  being loaded in generator 34. This, in turn, allows the user of electronics circuit 20 to generate up 2048 random numbers or dither for addition to the digital equivalent signal from converter 24 before the random number generation cycle is repeated. 
     At this time it should also be noted that the pseudo-random number generators 34 and 64 used in the preferred embodiment of the present invention are Texas Instruments 65,536 Bit Programmable Read Only Memory, Model Number TMS27C64 although it should be understood that any digital signal processing device which is capable of generating dither in the manner set forth above may be used as generator 34 and 64. It should also be noted that the binary adders 26, 28 and 66 used in the preferred embodiment of the present invention are Texas Instruments 4-Bit Binary Full Adders, Model Number SN45HC283. 
     Binary adders 26 and 28 introduce each six bit nyquist dither signal or word provided by generator 34 into each sample of the digital equivalent of the analog signal supplied to terminal 22 by the missile&#39;s telemetry system. It should be noted that the 600 KHz sampling rate utilized by analog to digital converter 24 to supply digital equivalent words to adders 26 and 28 is synchronized with the rate at which generator 34 supplies dither to adders 26 and 28. 
     For each digital sample of the analog signal supplied to terminal 22, binary counter 34 provides a three bit digital equivalent signal with nyquist dither at its sum 2, sum 3 and sum 4 outputs as well as a logic one carry bit indicating an overflow within adder 26. This three bit digital equivalent signal is supplied to a clipping circuit 36 which will process the three bit digital equivalent signal with dither in accordance with the following logic equations: 
     
         A=CO·/DO7                                         (6) 
    
     
         B=CO+/DO7                                                  (7) 
    
     where A indicates whether the three bit digital equivalent signal will pass through OR gates 38, 40 and 42 and B indicates whether the three bit digital equivalent signal will pass through AND gates 44, 46 and 48. 
     When DQ7 of generator 34 is at the logic zero state indicating a positive nyquist dither value and the carry output of binary adder 26 is at the logic zero state, a logic one will occur at the output of OR gate 52. This logic one is then inverted by inverter 54 so that logic zeros are supplied to the first inputs of OR gates 38, 40 and 42 allowing the three bit digital equivalent signal from the sum 2, sum 3 and sum 4 outputs of binary adder 26 to pass through OR gates 38, 40 and 42. Since the DQ7 output of generator 34 is at the logic zero state, the output of AND gate 56 is also at the logic zero state resulting in a logic one at the output of inverter 58. This logic one is supplied to AND gates 44, 46 and 48 thereby enabling AND gates 44, 46 and 48 which allows the three bit digital equivalent signal to pass through AND gates 44, 46 and 48 to the D0, D1 and D2 outputs of circuit 20. 
     In a like manner, whenever the CO output of binary adder 26 is at the logic one state and the DQ7 output of generator 34 is at the logic one state the three bit digital equivalent signal will pass from the sum 2, sum 3 and sum 4 outputs of binary adder 26 respectively through OR gates 38, 40 and 42 and AND gates 44, 46 and 48 to the D0, D1 and D2 outputs of circuit 20. This indicates that the three bit digital equivalent signal with nyquist dither occurring at the sum 2, sum 3 and sum 4 outputs of binary adder 26 is positive even though a negative binary value for nyquist dither was added to the six bit digital word provided by analog to digital converter 24. 
     However, when the carry output of binary adder 26 is at the logic one state and the DQ7 output of generator 34 is at the logic zero state, the output of OR gate 52 will be at the logic zero state. This logic zero is inverted by inverter 54 and then supplied to OR gates 38, 40 and 42 resulting in logic ones occurring at the outputs OR gates 38, 40 and 42 which are then provided to AND gates 44, 46 and 48. Since the output of AND gate 56 is at the logic zero state, inverter 58 will supply a logic one to AND gates 44, 46 and 48 which will each pass a logic one therethrough resulting in logic ones occurring at the D0, D1 and D2 outputs of circuit 20. This is the maximum three bit digital equivalent signal with nyquist dither that circuit 20 can provide for a digital sample of the analog signal supplied to terminal 22. 
     Further, when the carry output of adder 26 is at the logic zero state and the DQ7 output of generator 34 is a logic one the negative binary value of the nyquist dither signal generated by generator 34 will exceed the positive value of the six bit digital equivalent word from analog to digital converter 24 resulting in a negative binary number being provided by binary adders 26 and 28. Inverter 50 inverts the logic zero supplied to the input thereof resulting in logic ones being supplied to the first and second inputs of AND gate 56 which, in turn, results in a logic one occurring at the output of AND gate 56. This logic one is next supplied to and then inverted by inverter 58 resulting in a logic zero being supplied to AND gates 44, 46 and 48 so as to inhibit AND gates 44, 46 and 48. Inhibiting AND gates 44, 46 and 48 results in clipping circuit 36 supplying logic zeros to the D0, D1 and D2 outputs of circuit 20. 
     The three bit digital equivalent digital signal with nyquist dither which occurs at the D0, D1 and D2 outputs of circuit 20 is supplied to packing logic within the missile&#39;s telemetry unit which prepares the three bit digital equivalent digital signal for transmission to a ground station by an antenna. The addition of nyquist dither to the digital equivalent signal from analog to digital converter 24 results in a three bit signal of the type illustrated generally by FIG. 9 being transmitted to the ground station. By adding nyquist dither to the digital equivalent signal from analog to digital converter 24 the need for circuit 21 is eliminated since the resultant analog signal with nyquist dither will be as clean over ninety percent of the pass band as an analog signal having its nyquist dither removed by the circuit 21 of FIG. 2. 
     However, it should be understood that the circuit of FIG. 2 can be used to eliminate the nyquist dither component from each digital sample provided by circuit 20 (FIG. 1) prior to its conversion to an analog form by digital to analog converter 101. For each binary random number generated by pseudo-random number generator 34, pseudo random number generator 64 would be required to generate a negative equivalent binary number delayed by a count of one clock pulse of the 600 KHz clock signal provided at the Q2 output of counter 34. The negative equivalent binary number generated by pseudo random number generator 64 is, in turn, the two&#39;s complement of the binary number generated by pseudo random number generator 34. U.S. Pat. No. 5,311,180 provides a complete discussion of the operation of circuit 21 for subtracting the dither component from each digital sample. 
     Although the present invention is described in terms of but one embodiment thereof, it needs to be recognized that the present invention could be embodied in other forms within the broad teachings set forth herein. The teachings of the present invention may be adapted to any audio recording or playback system which requires a truncating or a rounding operation to the digital equivalent signal. For instance, the teachings of the present invention may be adapted to a compact disk system, which requires twenty bit audio data to be requantized to 16 bits before storage on a compact disk. 
     From the foregoing, it may readily be seen that the present invention comprises a new, unique and exceedingly useful digital circuit which may be used to add dither to the digital equivalent of an analog signal and then later remove dither from the digital signal thereby reducing noise and distortion. Obviously, many modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the present claims the invention may be practiced otherwise than as specifically described. 
     
         __________________________________________________________________________Appendix A__________________________________________________________________________#include &lt;stdio.h&gt;/* nqdither.c */main () /* Calculates: A random number sequence of */  /* length M. The output of which is filtered to contain */  /* only the upper frequency components near the Nyquest */  /* frequency. This is used for the three bit conversion. */  /* In Addition the program creates a +/- 16 count */  /* rectangular linear congruential random number */  /* with a sequence length of M. This is used for one bit. */  /* Usage: -&gt; nqdither &gt; ofile */  /* Output is formated for download to a Unisite 40 Prom Programmer. */ int M; /* Sequence Period */ int J; /* Calculated multiplier factor 1 */ int K; /* K multiplier factor 1 */ int I[2052]; /* The Random Number in 11 bit resolution */ float z[2052]; /* Output of 1st filter stage */ float x[2052]; /* Output of 2nd filter stage */ float y[2052]; /* Output of 3rd filter stage */ int i; /* Index For the Random Number */ unsigned char T1[2048]; /* Nyquest Dither random number sequence */ unsigned char R[2048]; /* The Random Number rectangular to + and - Xcounts */ float a1; /* Constant for filter tap 1 */ float a2; /* Constant for filter tap 2 */ float b1; /* Constant for filter tap 3 */ float b2; /* Constant for filter tap 4 */ float b3; /* Constant for filter tap 5 */ float b4; /* Constant for filter tap 6 */ unsigned char MR; /* Temporary Register */ /* Initialization for rectangular 3 bit */ K = 507; /* Set K multiplier */ M = 2048; /* Set Length of sequence */ I[0] = 0; /* Initialize The Random Sequence */ J = 4*K+1; /* Calculate Multiplier Factor */ for (i = 1; i &lt; 2051; i++) /* Create Random Number Sequence */  {  I[i] = (J*I[i-1] + 1)%M; /* Modulus of Previous Random Number */   /* Times the M.F., Plus 1 */ /* Now filter rectangular signal for Nyquist centered dithering */ /* Set-up filter Constants */  a1 = 0.58899921;  a2 = 0.64;  b1 = 1.4882;  b2 = 0.5625;  b3 = 1.70630;  b4 = 0.8407; /* Initialize first filter values */  z[0] = 0;  z[1] = 0;  y[0] = 0;  y[1] = 0;  x[0] = 0;  x[1] = 0;  /* Calculate filter */ for (i = 2; i &lt; 2051; i++)  {  z[i] = I[i] + a1*I[i-1] + a2*I[i-2];  x[i] = z[i] - b1*x[i-1] - b2*x[i-2];  y[i] = x[i] - b3*y[i-1] - b4*y[i-2];  } printf (&#34;\2$A0000,&#34;); /* Start formatting data for ASCII Hexspace STX */   /* Unisite format 50 */ for (i = 0; i &lt; 2048; i++)  {  I[i] = y[i+2]/(M*4); /* Create interger check value */  T1[i] = y[i+2]/(M*4); /* Create Character value */  if (I[i] &gt;= 0   {   printf(&#34;\n0%X&#34;, T1[i]); /* Positive */   }  if (I[i] &lt; 0)   {   printf(&#34;\n0%X&#34;, T1[i]); /* Negative */   }  } /* Initialization for rectangular 1 bit */ K = 109; /* Set K multiplier */ M = 2048; /* Set Length of sequence */ I[0] = 2011; /* Initialize The Random Sequence */ J = 4*K+1; /* Calculate Multiplier Factor M.F. */ R[0] = I[0]/(M/32) - 16; /* Calculate first random number */ printf (&#34;\n\n$A0800,&#34;);  /* Start address for 2nd page */ printf(&#34;\n0%X&#34;, R[0]); /* Print First Random Number */ for (i = 1; i &lt; M; i++)  {  I[i] = (J*I[i-1] + 1)%M; /* Modulus of Previous Random Number */   /* Times the M.F., Plus 1 */  R[i] = I[i]/(M/32); /* Clip to Plus 32 */  if ( R[i] &gt;= 16) /* format data for correct ASCII Hex output */   {   MR = R[i] - 16; /* 0 to 15 */   printf(&#34;\n0%X&#34;, MR);  }  if ( R[i] &lt; 16)   {   R[i] = (R[i] - 16); /* -1 to -16 */   printf(&#34;\n%X&#34;, R[i]);   }  } printf(&#34;\3\n$SE332,\n&#34;); /* sum check forData I/O */}__________________________________________________________________________