Abstract:
The FIR (Finite Impulse Response) filter with non-symmetric frequency response characteristics; data stored in the shift register is selected by the select signal to be outputted from the multiplier. The tab coefficient stored in the tab coefficient generator is outputted through the multiplier according to 2 bit select signal to be multiplied. The multiplied to be output signal is stored in D flip-flop at the rising edge of a second clock 2. The data stored in a D flip-flop is selected by the select signal to be added in the adder. The adding result is that just one fourth of the tab number is added. Therefore, this one fourth of the adding result is to be stored in D flip-flop first in order to add the rest of three fourths in the same process. 90°-transited quota Qout) can be produced storing all tabs added in this way of four steps in respective D flip-flops and adding all tabs in the adder finally.

Description:
FIELD OF THE INVENTION 
     The present invention relates to the FIR (Finite Impulse Response) filter with non-symmetric frequency response characteristics, and more particularly the present invention relates to simplifying the circuit as it compose the filter using the multipliers that is equivalent to the one fourth of filter tab numbers. 
     BACKGROUND OF THE INVENTION 
     The basic structure of all filters is determined by the coefficient value extracted from each algorithm and by this tab number. Therefore, the FIR (Finite Impulse Response) filter with non-symmetric structure can be embodied when the above coefficient value and tab number are determined. 
     The below expression shows the relation between filter tab numbers and tab coefficients. 
     
         K=(M+1)/2, M is an odd number 
    
     
         K=M/2, M is an even number                                 (1) 
    
     In the above, M means the tab number and K means the tab coefficient number. 
     For example, in the case of FIR (Finite Impulse Response) filter with 31 tabs of non-symmetric frequency response, the tab coefficient number is to be (31+1)/2=16. Input this into the filter to produce the desired value. 
     However, the prior FIR (Finite Impulse Response) filter like the above executes the arithmetic operation as much of tab number. It needs the same number of multipliers as that of the tabs; the size of the filter is supposed to get larger in proportion to the above tab numbers, which is the problem. 
     In other words, the main factor determining the chip size of IC (Integrated Circuit) is multiplier; there is a problem that the chip size is not to be diminished as this multiplier numbers increase in proportion to the tab numbers. 
     SUMMARY OF THE INVENTION 
     The present invention solves the above problem. The object of the present invention is to provide the FIR (Finite Impulse Response) filter with non-symmetric frequency response characteristics simplifying the circuit of the filter, diminishing the chip size, reducing the cost of production and reducing the manufacturing process. 
     The other object of the present invention is to provide the FIR (Finite Impulse Response) filter with non-symmetric frequency response characteristics reducing the multiplier numbers according to multiplication by time-divisional selecting the applied data to the multipliers. 
     The FIR (Finite Impulse Response) filter of the present invention reduces the multiplier numbers and achieves the above object. The data stored in shift register is output to the multiplier being selected by multiplexer according to the select signal value. At this time, the tab coefficient stored in tab coefficient generation section is output to the multiplier according to the two-bit select signal value to be multiplied. The multiplied output signal is stored in D flip-flop at the rising edge of the clock 2 clk2; then stored in another D flip-flop at the falling edge of the clock 2 clk2. The data stored in D flip-flop is selected by select signal to be added in the adder. The result of this add is considered only of the one-fourth tab numbers. Therefore, in order to add the rest three-fourths tab numbers through the same process, we should store the result of adding the one fourth in D flip-flop. Adding all tabs in four steps in this way and storing them in each D flip-flop, 90°-shifted value Qout would be produced finally after adding all tabs through the adder. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention: 
     FIG. 1 is the block diagram of the FIR (Finite Impulse Response) filter with non-symmetric frequency response characteristics according to the present invention; 
     FIG. 2 is the block diagram of control signal converting section in the FIR (Finite Impulse Response) filter with non-symmetric frequency response characteristics according to the present invention; 
     FIG. 3 is the block diagram of filter arithmetic section in the FIR (Finite Impulse Response) filter with non-symmetric frequency response characteristics according to the present invention; 
     FIG. 4 is the data status stored in the shift register applied to the present invention. 
     FIG. 5 is the embodiment of the tab coefficient applied to the present invention. 
     FIG. 6 is the timing diagram of the FIR (Finite Impulse Response) filter with non-symmetric frequency response characteristics according to the present invention; and 
     FIG. 7 is the block diagram of tab coefficient generating section in the FIR (Finite Impulse Response) filter with non-symmetric frequency response characteristics according to the present invention. 
    
    
     DETAILED DESCRIPTION 
     Reference will now be made in detail to the preferred embodiments of the present invention, example of which are illustrated in the accompanying drawings. 
     FIG. 1 shows the block diagram of the FIR (Finite Impulse Response) filter. Controlling section 100 generates control signal; filter arithmetic section 200 executes filter function using the multiplier during 1.5 data clock according to the control of the controlling section 100. 
     FIG. 2 shows the block diagram of control signal converting section. 
     As shown in the figure, four-D flip-flops 101-104 are connected in series, the clock 1 clk1 is input in the input terminal D1-D4 of four-D flip-flops 101-104. The clock 2 clk2 is input to be converted 180° through the inverter 2 106 in the clock terminal ck1, ck3 of D flip-flop 1 101 and D flip-flop 3 103; the clock 2 clk2 has twice higher speed than the clock 1 clk1. The clock 2 clk2 is input in the clock terminal ck2 of D flip-flop 2 102. The clock 1 clk1 is converted through the inverter 1 105 and used as the input control signal 1 mux --  se10; the clock 2 clk2 is used as the input control signal 2 mux --  se11 through the inverter 3 107. 
     The output of the D flip-flop 1 101 is used as the time division control signal 1 dff --  en1; the output of the D flip-flop 2 102, as the time division control signal 2 dff --  en2; the output of the D flip-flop 3 103, as the time division control signal 3 dff --  en3; the output of the D flip-flop 4 104, as the time division control signal 4 dff --  en4. 
     FIG. 3 shows the block diagram of the filter arithmetic section of the FIR (Finite Impulse Response) filter. 
     The filter arithmetic section of the FIR (Finite Impulse Response) filter comprises the shift registers 1 to 4 201A-201D receiving data to shift; the multiplexers 1 to 4 202A-202D choosing each data from the shift registers 201A-201D; tab coefficient generating section 203 storing the filter tab coefficient; the multipliers 1 to 4 204A-204D multiplying chosen data from the multiplexers 1 to 4 202A-202D by the tab coefficient of tab coefficient generating section 203; the data storage units 1 to 8 205A1-205D1, 205A2-205D2 respectively storing the multiplication result output from the multipliers 1 to 4 204A-204D; the multiplexers 5 to 8 206A-206B outputting the chosen data among the storing section 205A1-205D1, 205A2-205D2, the adders 1 and 2 207A, 207B adding the data output from the multiplexers 5 to 8 206A-206D; the adder 3 207C adding again the add result data output from the adders 1 and 2 207A, 207B; the data storage units 9 to 12 208A-208D respectively storing the output data from the adder 3 207C; the adders 4 and 5 209A, 209B adding the output data from the data storage units 9 to 12 208A-208D; the adder 6 209C adding again the add result data output from the adders 4 and 5 209A, 209B; and the round-offer 210 rounding off the data output from the adder 6 209C if the bit values of bits less than wanted bit number are 1. 
     FIG. 4 shows the data status stored in the shift register applied for the present invention; FIG. 5 shows an embodiment of tab coefficient applied for the present invention. 
     As shown in FIG. 5, 15 tabs coefficient is 0 including the central tab among 31 tabs. Therefore, 15 tabs just delay the processing time, but not are used for calculating the output value. The present output value of the filter is determined by the value in the rest 16 tabs. From the central tab, the left and the right tabs have opposite sign with the same absolute value each other. 
     FIG. 6 shows the timing diagram of filter arithmetic section. The data stored in the shift registers 201A-201D is applied to the multipliers 204A-204D being selected by the multiplexers 202A-202D according to the input control signal mux --  se10, mux --  se11 value for the select signal. So to speak, D25, D27, D29, D31 are selected respectively from the shift register 1 201A; D17, D19, D21, D23, from the shift register 2 201B; D9, D11, D13, D15, from the shift register 3 201C; D1, D3, D5, D7, from the shift register 4 201D. 
     In the case of mux --  se10=0, mux --  se11=0, D1, D9, D17, D25 are selected by the multiplexers 202A-202D. At the same time, the coefficient generating section 203 is applied to the multipliers 204A-204D by input control signal mux --  se10, mux --  se11 selecting the tab coefficients H1, H9, H17, H25 from each multiplexer 71-74. 
     FIG. 7 shows the block diagram of the tab coefficient. 
     Four tab coefficients are applied to the input terminal of four multiplexers 71-74. As shown in FIG. 5, the even tab coefficient is 0, and it just delay the processing time. Therefore, the tab coefficient applied to the input terminal of each multiplexer 71-74 in FIG. 7 is to attach index the odd tab coefficient respectively except the case of the value to be 0. The input control signal mux --  se10, mux --  se11 is applied to each multiplexer 71-74; one tab coefficient is selected to be output among those four tab coefficients according to this value. 
     Those selected data D1, D9, D17, D25 and the tab coefficients H1, H9, H17, H25 are multiplied through the multipliers 204A-204D. The multiplication result H1D1, H9D9, H17D17, H25D25 are to be stored in the data storage units 1, 3, 5, 7 205A1, 205B1, 205C1, 205D1 at the falling edge of the pulse 1 P1 of the clock 2 clk2. 
     Continuously, D3, D11, D19, D27 are selected by the multiplexers 202A-202D in the case of mux --  se10=0 and mux --  se11=1 (in the period of m2 of FIG. 6). Simultaneously, the tab coefficient generating section 203 is to be applied to the multiplexers 71-74 by the input control signal mux --  se10, mux --  se11 selecting the tab coefficients H3, H11, H19, H27. 
     Those selected data D3, D11, D19, D27 and the tab coefficients H3, H11, H19, H27 are multiplied through the multipliers 204A-204D. The multiplication result H3D3, H11D11, H19D19, H27D27 are to be stored in the data storing units 2, 4, 6, 8 205A2, 205B2, 205C2, 205D2 at the rising edge of the pulse 2 P2 of the clock 2 clk2. 
     D5, D13, D21, D29 are selected by the multiplexers 202A-202D in the case of mux --  se10=1 and mux --  se11=0 (in the period of m3 of FIG. 6). Simultaneously, the tab coefficient generating section 203 is to be applied to the multiplexers 71-74 by the input control signal mux --  se10, mux --  se11 selecting the tab coefficients H5, H13, H21, H29. Those selected data D5, D13, D21, D29 and the tab coefficients H5, H13, H21, H29 are multiplied through the multipliers 204A-204D. The multiplication result H5D5, H13D13, H21D21, H29D29 is to be stored in the data storage units 1, 3, 5, 7 205A1, 205B1, 205C1, 205D1 at the falling edge of the pulse 2 P2 of the clock 2 clk2. 
     The multiplication result H1D1, H9D9, H17D17, H25D25 stored in the data storage units 1, 3, 5, 7 205A1, 205B1, 205C1, 205D1 at the falling edge of the pulse 1 P1 of the clock 2 clk2 is to be output at the falling edge of the pulse 2 P2 of the clock 2 clk2. The output multiplication results H1D1, H9D9, H17D17, H25D25 are selected by the multiplexers 5 to 8 206A-206B to be added from the adder 1 207A and the adder 2 207B; the addition result (H1D1+H9D9) of the adder 1 207A and that (H17D17+H25D25) of the adder 2 207B are added again from the adder 3 207C to be output H1D1+H9D9+H17D17+H25D25. This addition result H1D1+H9D9+H17D17+H25D25 is stored in the data storage unit 9 208A at the rising edge of the pulse 1 P1 unit the time-division-control signal dff --  en2. 
     D7, D15, D23, D31 are selected by the multiplexers 202A-202D in the case of mux --  se10=1 and mux --  se11=1 (in the period of m4 of FIG. 6). Simultaneously, the tab coefficient generating section 203 is to be applied to the multiplexers 71-74 by the input control signal mux --  se10, mux --  se11 selecting the tab coefficients H7, H15, H23, H31. Those selected data D7, D15, D23, D31 and the tab coefficients H7, H15, H23, H31 are multiplied through the multipliers 204A-204D. The multiplication results H7D7, H15D15, H23D23, H31D31 are to be stored in the data storage units 2, 4, 6, 8 205A2, 205B2, 205C2, 205D2 at the rising edge of the pulse 3 P3 of the clock 2 clk2. 
     The multiplication results H3D3, H11D11, H19D19, H27D27 stored in the data storage units 2, 4, 6, 8 205A2, 205B2, 205C2, 205D2 at the falling edge of the pulse 2 P2 of the clock 2 clk2 are to be output at the falling edge of the pulse 3 P3 of the clock 2 clk2. The output multiplication results H3D3, H11D11, H19D19, H27D27 are selected by the multiplexers 5 to 8 206A-206B to be added from the adder 1 207A and the adder 2 207B; the addition result (H3D3+H11D11) of the adder 1 207A and that (H19D19+H27D27) of the adder 2 207B are added again from the adder 3 207C to be output H3D3+H11D11+H17D17+H25D25. This addition result H3D3+H11D11+H17D17+H25D25 is stored in the data storage unit 10 208B at the rising edge of the pulse 1 P1 of the time-division-control signal dff --  en3. 
     In the case of mux --  se10=1 and mux --  se11=0 (in the period of m1, clk2=P3, of FIG. 6), the multiplication result H1D1+H9D9+H17D17+H25D25 is stored in the data storage units 1, 3, 5, 7 205A1, 205B1, 205C1, 205D1 at the falling edge of the pulse 3 P3 of the clock 2 clk2 as the process (clk2=P1, m1 period of FIG. 6) is repeated. 
     The multiplication results H5D5, H13D13, H21D21, H29D29 stored in the data storing unit 1, 3, 5, 7 205A1, 205B1, 205C1, 205D1 at the falling edge of the pulse 2 P2 of the clock 2 clk2 are to be output at the falling edge of the pulse 3 P3 of the clock 2 clk2. The output multiplication result H5D5, H13D13, H21D21, H29D29 is selected by the multiplexers 5 to 8 206A-206D to be added from the adder 1 207A and the adder 2 207B; the addition result (H5D5+H13D13) of the adder 1 207A and that (H21D21+H29D29) of the adder 2 207B are added again from the adder 3 207C to be output H5D5+H13D13+H21D21+H29D29. This addition result H5D5+H13D13+H21D21+H29D29 is stored in the data storage unit 11 208C at the rising edge of the pulse 1 P1 of the time-division-control signal dff --  en4. 
     In the case of mux --  se10=0 and mux --  se11=1 (between clk2=P3 and P4, m2 period of FIG. 6), the multiplication results H3D3, H11D11, H19D19, H27D27 are stored in the data storage units 2, 4, 6, 8 205A2, 205B2, 205C2, 205D2 at the rising edge of the pulse 4 P4 of the clock 2 clk2 as the process (between clk2=P1 and P2, m2 period of FIG. 6) is repeated. 
     The multiplication results H7D7, H15D15, H23D23, H31D31 stored in the data storage units 2, 4, 6, 8 205A2, 205B2, 205C2, 205D2 at the rising edge of the pulse 3 P3 of the clock 2 clk2 are to be output at the rising edge of the pulse 4 P4 of the clock 2 clk2. The output multiplication results H7D7, H15D15, H23D23, H31D31 are selected by the multiplexers 5 to 8 206A-206D to be added from the adder 1 207A and the adder 2 207B; the addition result (H7D7+H15D15) of the adder 1 207A and that (H23D23+H31D31) of the adder 2 207B are added again from the adder 3 207C to be output H7D7+H15D15+H23D23+H31D31. This addition result H7D7+H15D15+H23D23+H31D31 is stored in the data storing section 12 208D at the rising edge of the pulse 2 P2 of the time-division control signal dff --  en1. 
     Adding all tabs in this way in four steps and storing it in each D flip-flop 208A-208D produce the 90°shifted signal Qout by adding finally all tabs in the adding section 209. 
     The data stored in the storing section 9 to 12 208A-208D is to be added through the adder 4 209A and the adder 5 209B at the rising edge of the pulse 4 P4 of the clock 2 clk2; the adding result (H1D1+H9D9+H17D17+H25D25+H3D3+H11D11+H17D17+H25D25) of the adder 4 209A and that (H5D5+H13D13+H21D21+H29D29+H7D7+H15D15+H23D23+H31D31) of the adder 5 209B are added again in the adder 6 209C to be output H1D1+H3D3+H5D5+H7D7+H9D9+H11D11+H13D13+H15D15 H17D17+H19D19+H21D21+H23D23+H25D25+H27D27+H29D29+H31D31 to the round-offer 210. 
     As explained in the above, it can be reduced in the circuit elements and in the chip size accumulated them by using the one fourth of the multiplier numbers of the prior FIR (Finite Impulse Response) filter.