(19)
(11) EP 0 446 376 A1

(12) EUROPEAN PATENT APPLICATION
published in accordance with Art. 158(3) EPC

(43) Date of publication:
18.09.1991 Bulletin 1991/38

(21) Application number: 90914437.0

(22) Date of filing: 02.10.1990
(51) International Patent Classification (IPC)5F02P 5/15, F02D 45/00, G01L 23/22
(86) International application number:
PCT/JP9001/267
(87) International publication number:
WO 9105/160 (18.04.1991 Gazette 1991/09)
(84) Designated Contracting States:
DE FR GB IT

(30) Priority: 03.10.1989 JP 258521/89

(71) Applicant: NIPPONDENSO CO., LTD.
Kariya-shi Aichi-ken (JP)

(72) Inventors:
  • SAKAKIBARA, Koji
    Hekinan-shi Aichi 447 (JP)
  • YAMADA, Hirohiko
    Anjo-shi Aichi 446 (JP)

(74) Representative: Pellmann, Hans-Bernd, Dipl.-Ing. et al
Patentanwaltsbüro Tiedtke-Bühling-Kinne & Partner Bavariaring 4
80336 München
80336 München (DE)


(56) References cited: : 
   
       


    (54) APPARATUS FOR CONTROLLING THE OCCURRENCE OF ENGINE KNOCKING


    (57) Disclosed is an apparatus for controlling the occurrence of engine knocking which includes a knocking sensor for detecting engine knocking; representative value detection means for detecting a representative value effective for knocking detection among the output signals of the knocking sensor; standard deviation detection means for detecting a quantity SGM corresponding to the standard deviation of the frequency distribution of the logarithmic values of the representative values described above; cumulative percent point detection means for detecting the value Vp of the cumulative percent point of the frequency distribution; knocking judgement level setting means for setting a knocking judgement level in accordance with SGM and Vp described above; knocking detection means for detecting the occurrence of knocking in accordance with the representative value and knocking judgement level described above; and regulation means for regulating knocking control factors for controlling knocking in accordance with the output signal of the knocking detection means. Therefore, the apparatus for controlling the occurrence of the engine knocking described above can quickly set a suitable knocking judgement level, makes it possible to judge correctly the occurrence of the knocking, sets the knocking judgement level so as to obtain a constant knocking judgement frequency and makes it possible to suitably advance ignition timing.




    Description

    TECHNICAL FIELD



    [0001] The present invention relates to a knock generation control system for engines for controlling a knock control factor (for example, ignition timing, air/fuel ratio, supercharging pressure or the like) by detecting a knock generated in an engine, and, more particularly, to a knock generation control system for engines including the setting of a knock decision level.

    BACKGROUND ART



    [0002] Generally, a knock decision level VKD is produced by multiplying a mean level of a knock sensor signal by a constant K. In such a KCS, there is a problem that on optimum value of K changes due to manufacturing dispersion, variations with time, etc. of engines, knock sensors and so on, which makes it difficult to perform accurate knock detection. In order to solve this problem, a system has been proposed which pays attention to the fact that, as shown in Fig. 15, the shape of a frequency distribution curve (broken line) of representative values of a knock sensor signal, in the case where a knock is generated, is distorted in the direction of a region of greater representative values of the knock sensor signal as compared with that of a frequency distribution curve (solid line) in the case where no knock is generated, and which contemplates to automatically correct a knock decision level on the basis of a degree of the distortion (for example, a relation in magnitude between the area of a region ① and that of a region ② in Fig. 15) (for example, see JP-A-62-267574).

    [0003] However, when the region ① or region ④ in Fig. 15 is used as a parameter for correcting the knock decision level as in the above system, a long time is required before a sufficient amount of data for correcting the knock decision level is obtained, since the probability for a representative value to fall within the region ① or region ④ is small. Accordingly, there is a problem that a long time would elapse before the knock decision level is automatically corrected to have an adequate level and, as a result, inadequate knock detection is made during that time.

    DISCLOSURE OF INVENTION



    [0004] The present invention is made to solve the above-mentioned problem, and an object of the present invention is to provide a system which enables automatic correction of the knock decision level to have an adequate level within a short period of time.

    [0005] Fig. 1 is a functional block diagram which comprehensively illustrates a functional relation between constituent elements of the system of the present invention.

    [0006] In order to attain the above-mentioned object, the present invention proposes a knock generation control system for engines which comprises, as shown in Fig. 1;
       a knock sensor for detecting a knocking phenomenon generated in an engine;
       representative value detecting means for detecting a representative value of a signal from the knock sensor which is effective for the detection of a knock;
       standard deviation detecting means for detecting a quantity SGM corresponding to a standard deviation in a frequency distribution of logarithmic conversion values of the representative values;
       cumulative percentage point detecting means for detecting a value of a cumulative percentage point in the frequency distribution;
       knock decision level setting means for setting a knock decision level in accordance with the quantity SGM corresponding to the standard deviation and a quantity corresponding to the cumulative percentage point;
       knock detecting means for detecting generation of a knock in accordance with the representative value and the knock decision level and producing a detection signal; and
       adjusting means responsive to the detection signal from the knock detecting means for adjusting a knock control factor so as to suppress the generation of a knock.

    [0007] It should be noted that the value of the cumulative percentage point in the frequency distribution denotes a value which represents a position on the abscissa of a graph showing the cumulative percentage of the frequency of generation in the graphical representation of a frequency distribution curve.

    [0008] In the knock generation control system for engines, the knock decision level setting means may comprise engine state detecting means for detecting a state of the engine, the knock decision level setting means setting a knock decision level in accordance with the quantity SGM corresponding to the standard deviation, the quantity corresponding to the cumulative percentage point and the state of the engine so that the frequency of knock decision per unit time assumes a predetermined value.

    [0009] The engine state detecting means may include speed detecting means for detecting a rotational speed of the engine.

    [0010] The system may further comprise logarithmic conversion means for forming a logarithmic conversion value ℓV of the representative value V in accordance with the relation







    [0011] The logarithmic conversion means may comprise:
       storing means in which the logarithmic conversion values are preliminarily stored; and
       reading means for reading a logarithmic conversion value corresponding to the representative value from the storing means.

    [0012] The knock decision level setting means may set the knock decision level VKD in accordance with the quantity SGM corresponding to the standard deviation and the value VP of the cumulative percentage point in the form of VKD = SGMu X VP (u: a variable defined depending upon the state of the engine).

    [0013] The knock decision level setting means may comprise u value setting means for setting a value of u so that it becomes larger as a value representative of the state of the engine becomes larger.

    [0014] The knock decision level setting means may comprise knock decision level correcting means for correcting a knock decision level, which is set in accordance with a rotational speed of the engine, the quantity SGM corresponding to the standard deviation and the value VP of the cumulative percentage point, by using a predetermined value.

    [0015] The standard deviation detecting means may comprise updating means for updating the quantity SGM corresponding to the standard deviation so that at least one of a condition that a probability of satisfying the relation VP/SGM ≦ V ≦ VP with respect to the representative value V and the value VP of the cumulative percentage point becomes 1/3 and a condition that a probability of satisfying the relation VP/SGM ≦ V ≦ VP x SGM becomes 2/3.

    [0016] The standard deviation detecting means may comprise first detecting means for detecting that the engine is in a state in which a knock is easily generated, whereby the standard deviation detecting means performs detection of the quantity SGM corresponding to the standard deviation only when the first detecting means detects that the engine is in the state in which a knock is easily generated.

    [0017] The standard deviation detecting means may comprise:
       second detecting means for detecting that the engine is in a state in which a knock is hard to be generated;
       upper limit value setting means for detecting, when the second detecting means detects that the engine is in the state in which a knock is hard to be generated, the quantity SGM corresponding to the standard deviation in that state and setting the detected quantity SGM corresponding to the standard deviation as an upper limit value for the standard deviation; and
       suppressing means for suppressing the upper limit value by the quantity corresponding to the standard deviation.

    [0018] The adjusting means may comprise:
       reference level setting means for setting a reference level higher than the knock decision level in accordance with the quantity SGM corresponding to the standard deviation and the value VP of the cumulative percentage point; and
       adjustment quantity setting means for setting an adjustment quantity for adjusting the knock control factor in accordance with the representative value and the reference level.

    [0019] The value VP of the cumulative percentage point may be set to a cumulative percentage point of 50% (median value) VMED.

    [0020] The cumulative percentage point detecting means may comprise:
       speed detecting means for detecting a rotational speed of the engine;
       speed logarithmic conversion means for making logarithmic conversion of a rotational speed of the engine; and
       cumulative percentage point correcting means for correcting the cumulative percentage point in accordance with the logarithmically converted engine speed.

    [0021] The engine state detecting means may include at least one of speed detecting means for detecting a rotational speed of the engine; and load detecting means for detecting a load on the engine.

    [0022] The cumulative percentage point detecting means may comprise:
       mean value detecting means for detecting a mean value of the representative values corresponding to each engine cylinder; and
       cumulative percentage point correcting means for correcting the cumulative percentage point in accordance with the mean value.

    [0023] The standard deviation detecting means may comprise:
       probability detecting means for detecting a probability of a representative value to fall within a predetermined region of the frequency distribution; and
       standard deviation correcting means for correcting a standard deviation in accordance with the probability.

    [0024] Further, in order to achieve the above-mentioned object, the present invention proposes a knock generation control system for engines comprising:
       speed detecting means for detecting a rotational speed of an engine;
       a knock sensor for detecting a knocking phenomenon generated in the engine;
       representative value detecting means for detecting a representative value from an output signal of the knock sensor which is effective for the detection of a knock;
       standard deviation detecting means for detecting a quantity SGM corresponding to a standard deviation in a frequency distribution of logarithmic conversion values of the representative values;
       cumulative percentage point detecting means for detecting a value of a cumulative percentage point in the frequency distribution;
       knock decision level setting means for setting a knock decision level in accordance with the rotational speed of the engine, the quantity SGM corresponding to the standard deviation and a quantity corresponding to the cumulative percentage point so that a frequency of knock decision per unit time assumes a predetermined value;
       knock detecting means for detecting generation of a knock in accordance with the representative value and the knock decision level and producing a detection signal; and
       adjusting means responsive to the detection signal from the knock detecting means for adjusting a knock control factor so as to suppress the generation of a knock.

    [0025] In the system of the present invention having the construction mentioned above, a knocking phenomenon occurring in the engine is detected by the knock sensor. A representative value of the knock sensor signal effective for the detection of a knock is detected by the representative value detecting means.

    [0026] On the other hand, in the knock decision level setting means, a knock decision level is set in accordance with a quantity corresponding to a standard deviation detected by the standard deviation detecting means and a quantity corresponding to a cumulative percentage point detected by the cumulative percentage point detecting means.

    [0027] The generation of a knock is detected by the knock detecting means is accordance with the representative value and the knock decision level. Further, the adjusting means adjust a knock control factor in accordance with a detection signal from the knock detecting means so as to suppress the generation of a knock.

    BRIEF DESCRIPTION OF THE DRAWINGS



    [0028] 

    Fig. 1 is a functional block diagram showing the present invention;

    Fig. 2 is a view showing the construction of first and second embodiments;

    Fig. 3 is a block diagram showing the construction of representative value detecting means in the first and second embodiments;

    Figs. 4, 7, 9, 11, 12, 14 and 16 are flow charts useful in explaining the operation of the first embodiment;

    Figs. 17, 18, 20, 21, 22 and 23 are flow charts useful in explaining the operation of the second embodiment;

    Figs. 5, 6, 10A to 10D, 13A and 13B, 15, 19 and 24A to 24C are characteristic diagrams showing the frequency distribution of representative values; and

    Fig. 8 is a characteristic diagram showing the relation between the rotational speed of the engine and the value of u.


    BEST MODE FOR CARRING OUT THE INVENTION



    [0029] A first embodiment to which the present invention has been applied will now be explained with reference to Figs. 2 to 16.

    [0030] Fig. 2 is a structural diagram showing the first embodiment.

    [0031] In Fig. 2, 1 denotes a four-cylinder four-cycle engine (referred to simply as engine) to which intake air is supplied from an intake pipe 2 through an air cleaner and an air flow meter which are not shown. The amount of the intake air supplied to the engine 1 is adjusted by a throttle valve 3. 4 denotes a distributor which includes therein a reference angle sensor 4a for detecting a reference crank angle (for example, a top dead center) and a crank angle sensor 4b for generating an output signal at every predetermined crank angle of the engine 1. An engine speed is calculated on the basis of the signal from the crank angle sensor 4b by an electronic control unit (ECU) 9 which will be described later.

    [0032] 5 denotes a knock sensor as knock detecting means for detecting the vibration of an engine block corresponding to a knocking phenomenon of the engine 1 piezoelectrically (by using a piezoelectric element) or electromagnetically (by using a magnet or a coil), and 6 denotes a water temperature sensor for generating a signal representing the temperature of a cooling water of the engine 1. 7 denotes an injector for injecting fuel into an intake manifold in accordance with a control signal from the ECU 9.

    [0033] 8 denotes representative value detecting means for detecting a representative value V from an output signal from the knock sensor 5 (namely, a knock sensor signal). As shown in Fig. 3, the representative value detecting means 8 is composed of a filter circuit 8a for selectively extracting only a knock frequency component of the knock sensor signal, an amplifying circuit 8b for amplifying a signal from the filter circuit 8a, and a peak hold circuit 8c for detecting, as a representative value V, a peak value Vpeak of the knock sensor signal occurring within a predetermined crank angle. In the present embodiment, the predetermined crank angle is defined, for example, by a constant period of time (a knock decision period) after the generation of an ignition output in order to prevent erroneous detection of a knock from being caused by noises, since a knock is generated only during a combustion period.

    [0034] As is well known, the ECU 9 is composed of a central processing unit (CPU) 9a which performs various operations, a read only memory (ROM) 9b in which a control program and so on are stored, a writable/readable random access memory (RAM) 9c which temporarily stores processed data and so on, an analog-digital converter (ADC) 9d which converts an analog signal into a digital signal, an input port 9e which takes in sensor signals from the above-mentioned various sensors into the ECU 9, an output port 9f which outputs control signals to the above-mentioned various actuators, and a bus 9g which interconnects the above-mentioned components with each other.

    [0035] The ECU 9 controls ignition timing, a fuel injection quantity and so on in accordance with the signals from the various sensors and a state of generation of a knock.

    [0036] The detection of a knock and the setting of a knock decision level VKD will now be explained on the basis of flow charts shown in Figs. 4, 7, 9, 11, 12 and 16.

    [0037] The following routine is processed at every cycle and is started immediately after the falling of a gate signal outputted from the ECU 9 to the peak hold circuit 8c, that is, immediately after the ECU 9 has read in the peak value Vpeak.

    [0038] This routine starts from step SOO. In step SO1, the peak value Vpeak detected by the peak hold circuit 8c is read in.

    [0039] In step SO2 which is a correcting step, the peak value Vpeak is subjected to logarithmic conversion in accordance with the following equation to obtain ℓVpk. In the following step, correction is made by retardation of ignition timing so that the frequency distribution of peak values Vpeak shows a normal distribution.




    A = 64/log (4)
    a = 4

    where A and a are constants (the details of which will be described later). In subsequent step SO3 which is a knock decision level setting step, a knock decision level VKD is set (the details will be described later).

    [0040] Here, VKD is a knock decision level which is determined by the use of a graph of the frequency distribution of ℓVpk which represents logarithmic conversion of representative values Vpeak. In step SO4, knock detection is performed. If ℓVpk ≧ VKD, the occurrence of a knock is decided.

    [0041] Ignition timing, etc. are controlled in a knock control region (for example, a heavy load region) in accordance with the result of the decision. In step SO5, a decision is made as to whether the operating condition of the engine satisfies a specified condition. This specified condition is defined, for example, by one of or a plurality of the following conditions:

    ① a load on the engine is equal to or greater than a predetermined value;

    ② an engine speed Ne is within a predetermined range;

    ③ a rate of change of the engine load is equal to or smaller than a predetermined value; and

    ④ a median value VMED of the distribution of ℓVpk is within a predetermined range.



    [0042] The processing proceeds to step SO6, if the result of step SO5 is YES, while, to step SO7, if the result of step SO5 is NO. In step SO6 which is a standard deviation detecting step, a value (standard deviation) SGM corresponding to a standard deviation of the frequency distribution (normal distribution) of the logarithmic conversion values ℓVpk is updated (the details of which will be described later). In step SO7 which is a cumulative percentage point detecting step, a cumulative percentage point of the frequency distribution of the logarithmic conversion values ℓVpk (in the present embodiment, it is a 50% point, that is, a median value VMED) is updated (the details of which will be described later).

    [0043] In step SO8, the processing ends.

    [0044] Next, the logarithmic conversion performed in the above-mentioned step SO2 will be explained.

    [0045] In the present embodiment, the constants A and a in the equation (1) are assumed as:

    A = 64/log 4, and
    a = 4



    [0046] The values of the constants A and a are defined on the assumption that:

    ① the entire logarithmic normal distribution (Fig. 5) of peak values Vpeak when a knock does not occur at all (where the ratio of a larger output to a smaller output is about 4) is divided into 64 parts; and

    ② a 10-bit peak value Vpeak obtained through A/D conversion by the ADC 9d is compressed to 8-bit data so that the data may be processed easily by using a 4-bit or 8-bit CPU.



    [0047] In the following, equations which satisfy the above two conditions will be derived.

    [0048] A logarithmic normal distribution shown in Fig. 5 is converted to such a normal distribution as shown in Fig. 6.

    [0049] Assumption is made as follows.











    [0050] Firstly, in order to divide by 64 the whole distribution, it is necessary that the following relation is satisfied.







    [0051] Further,





    Accordingly, the following relation is obtained from the above equations (2) to (5):








    Next, in order to convert the maximum value 2¹⁰ for a 10-bit A/D conversion value and to thereby obtain the maximum value 2⁸ for 8-bit data, the following relation should be satisfied:










    [0052] Accordingly, a logarithmic conversion equation satisfying the above-mentioned conditions is as follows:





       (It is not absolutely necessary to define the constants A and a to assume the above-mentioned values, respectively.)

    [0053] In the present state of art, direct logarithmic conversion by using the CPU 9a takes a log time and therefore it is not applicable to practical control. Therefore, in practical control, it is desirable that logarithmic conversion values ℓVpk corresponding to peak values Vpeak are calculated beforehand and are stored in the ROM 9b, and then the stored calculated values are sequentially read out from the ROM 9b. Further, in the case where a peak value Vpeak is not smaller than 2⁸, the peak value Vpeak in this case can be determined by reading a logarithmic conversion value ℓVpk corresponding to the value of one fourth of the peak value Vpeak from the ROM 9b and adding 64 to the read-out value. Therefore, 2⁸ (= 256) bytes suffice as data to be stored in the ROM 9b.

    [0054] The setting of the knock decision level in step SO3 shown in Fig. 4 will be explained on the basis of a flow chart shown in Fig. 7. This routine starts from step SO30. In step SO31, an engine speed Ne is subjected to logarithmic conversion. A manner of logarithmic conversion in step SO31 is the same as that of step SO2 shown in Fig. 4. In step SO32, a deviation dℓNe between the logarithmic conversion value ℓNe of an engine speed Ne at the present control timing and the logarithmic conversion value ℓNeO of an engine speed Ne at the preceding control timing is obtained. In subsequent step SO33, the present logarithmic conversion value ℓNe is stored so that it is used at the next control timing as a preceding logarithmic conversion value ℓNeO. In step SO34, a mean value VMALL of logarithmic conversion values ℓVpk of peak values Vpeak for all engine cylinders is corrected in accordance with the following equation (the details will be described later):





    where β is a constant whose value is about 2, and the mean value VMALL is updated at every control timing of step SO7 shown in Fig. 4.

    [0055] In subsequent step SO35, a median value VMED is corrected in accordance with the following equation:





    where dVMED is a deviation between a median value VMED for each cylinder and the mean value VMALL. This deviation dVMED is updated at every control timing of step SO7 shown in Fig. 4.

    [0056] In step SO36, a knock decision level VKD is set in accordance with the following equation:





    where VKD is a knock decision level obtained by using a graph of the frequency distribution of ℓVpk which represents logarithmic conversion of representative values Vpeak' u is a value set in accordance with the engine speed Ne (the details will be described later), SGM is a value corresponding to a standard deviation in the frequency distribution of logarithmic conversion values ℓVpk, and VMED is a median value in the frequency distribution of logarithmic conversion values ℓVpk. In step SO37, the processing of the routine ends.

    [0057] Next, an explanation will be made of the correction of the mean value VMALL in step SO34 shown in Fig. 7.

    [0058] The present inventors have conducted experiments on various engines and have found that a median value VMED in the frequency distribution of logarithmic conversion values ℓVPK of peak values Vpeak is given by the following equation:





    where VO and β are constants determined by an engine, a cylinder, a knock sensor, etc., β has a value of about 1.5 to 2.5, and Ne is an engine speed.

    [0059] Now, assume that the engine speed Ne is varying at a rise rate αRPM/sec. Then, a rise rate dV/dn of the median value VMED per cycle (n: the number of cycles) is as follows:



    [0060] Approximating β by 2, we obtain







    [0061] Namely, the follow-up delay of a mean value VMALL at the time of transition can be prevented by adding only 240·α·VO to the mean value VMALL at every cycle.

    [0062] However, since VO greatly differs with each engine, each cylinder, a knock sensor, etc., there exists no addend value which satisfies a combination of all such conditions. Accordingly, it is difficult to suitably correct the mean value VMALL in accordance with the rise rate α.

    [0063] The influence of VO can be eliminated by subjecting peak values Vpeak and an engine speed Ne to logarithmic conversion.

    [0064] More precisely, both sides of the above equation VMED = VO x Neβ are subjected to logarithmic conversion. Then,













    [0065] Representing a logarithmic conversion value of x by ℓx, we obtain







    [0066] Since the first term of the right side of the above equation is a constant term, the differentiation of both sides gives the following equation:







    [0067] Accordingly, the mean value VMALL can be corrected disregarding the value of VO, if a rise rate of logarithmic conversion of VMED is obtained by detecting dℓNe/dn at every cycle or at every ignition timing and thereby calculating β x dℓNe/dn.

    [0068] In the following, the setting of the knock decision level performed in step SO36 shown in Fig. 7 will be explained.

    [0069] Now, assume a way or an amount of advance/ retardation to be the retardation of 1°CA per one knock and the advance of 1°CA per one second. According to this way of advance/retardation, the frequency of knock decision by which the advance/retardation is stabilize is once per second when no knock is generated. When the knock decision level VKD is set so that the frequency of knock decision is once per second, ignition timing is controlled to be substantially constant, since the amount of retardation R converges to a constant value.

    [0070] However, the maximum torque of the engine is obtained in a region where a certain number of knocks are generated. Therefore, it is necessary that control is made so that the ignition timing is always in an advanced state when no knock is generated.

    [0071] Accordingly, it is desirable that a knock decision frequency is set to be lower than the above-mentioned knock decision frequency by which the advance/retardation is stabilized.

    [0072] Now, assuming that the knock decision frequency in the case of a four-cylinder engine is once per four seconds, knock decision probability PK is represented by



    [0073] If the engine speed Ne = 2000 rpm, then PK = 0.0375, and, as the value of u for this knock decision probability PK , u = 2.67 can be derived from a normal distribution table. Also, if the engine speed Ne = 4000 rpm, PK = 0.001875 and u = 2.90 can be derived. Fig. 8 is a characteristic diagram showing a relation between the engine speed Ne and the value of u. Here, the parameter T denotes a period in which a knock is detected. As is clearly understood from the characteristic diagram of Fig. 8, when the knock detection frequency is constant (namely, T is constant), the value of u becomes larger as the engine speed Ne increases.

    [0074] Usually, it is possible to univocally set the knock detection frequency, since the way or amount of advance/retardation is constant. Therefore, it is desirable that the values of u corresponding to engine speeds Ne are obtained beforehand from the normal distribution table and are stored in the ROM 9b, and then the stored values of u corresponding to engine speeds Ne are sequentially read from the ROM 9b.

    [0075] Also, since a knock is hard to occur under a light load, the value of u under a light load may be made large by detecting a load on the engine 1.

    [0076] In the present embodiment, the value of u is set so as to give a predetermined knock detection frequency (for example, T = 4). However, in order that control is made so that the ignition timing is always in an advanced state when no knock is generated, the value of u may be set to a value larger than a value given by the characteristic curve for T = 1 shown in Fig. 8, for example, in the case of the above-mentioned way of advance/retardation.

    [0077] Next, the details of the knock decision in step SO4 shown in Fig. 4 will be explained on the basis of a flow chart shown in Fig. 9.

    [0078] This routine starts from step SO40. Firstly, in step SO41, a knock decision is made in accordance with a logarithmic conversion value ℓVpk of a peak value Vpeak. More precisely, a decision on the generation of a knock is made when the following equation is satisfied:







    [0079] The processing proceeds to step SO42 when a knock is generated, while, to step SO49 when no knock is generated.

    [0080] In steps SO42 to SO46, a retardation amount R is calculated in accordance with the magnitude of the logarithmic conversion value ℓVpk. Firstly, in step SO42, a decision is made as to whether the logarithmic conversion value ℓVpk satisfies the following equation:







    [0081] If this equation is not satisfied, the retardation amount R is set in step SO46 so as to be increased by a predetermined value ΔR. This predetermined value ΔR may be found in the above-mentioned way of advance/retardation. In the case of the above-mentioned way, ΔR=1° CA results.

    [0082] If the above equation is satisfied in step SO42, the processing proceeds to step SO43.

    [0083] In step SO43, a decision is made as to whether the logarithmic conversion value ℓVpk satisfies the following equation:







    [0084] If this equation is not satisfied, the retardation amount R is set in step SO45 so as to be increased by a predetermined value 2 x ΔR.

    [0085] If the above equation is satisfied in step SO43, the retardation amount R is set in step SO44 so as to be increased by a predetermined value 3 x ΔR.

    [0086] In steps SO47 and SO48, guard processings are performed with respect to the retardation amount R. Firstly, in step SO47, a decision is made as to whether the retardation amount R set in step SO44, SO45 or SO46 is larger than an upper limit value Rmax. Here, the upper limit value Rmax is a value set in accordance with the state of an engine. If the retardation amount R is larger than the upper limit value Rmax, the retardation amount R is set again in step SO48 to the upper limit value Rmax.

    [0087] If the retardation amount R is decided in step SO47 to be smaller than the upper limit value Rmax, the processing proceeds to step SO49. In step SO49, a decision is made as to whether a predetermined time Tad has elapsed. Here, the predetermined time Tad is a time required for making advance. For example, in the present embodiment, Tad is selected to be one second. If the predetermined time Tad has elapsed, the retardation amount R is set in step SO4A so as to be decreased by the predetermined value ΔR.

    [0088] In subsequent steps SO4B and SO4C, guard processings are performed with respect to the retardation amounts R. Firstly, in step SO4B, a decision is made as to whether the retardation amount R is smaller than a lower limit value Rmin. Similarly to the upper limit values Rmax, the lower limit value Rmin is a value set in accordance with the state of the engine. If the retardation amount R is smaller than the lower limit value Rmin, the retardation amount R is set again in step SO4C to the lower limit value Rmin.

    [0089] In this manner, the processing of the knock decision routine is completed.

    [0090] Taking controllability into consideration, it is preferable that the retardation amount R, in the case where a knock takes place concentratedly in one or two cylinders, is set to be larger than that in the case where a knock takes place distributively in a plurality of cylinders. For example, a cylinder, in which a knock has taken place, is stored, and a predetermined value 2 x ΔR is added to the retardation amount R to provide increased retardation when a knock takes place successively in the same cylinder.

    [0091] Next, an explanation will be made of the processing in step SO42 shown in Fig. 9 which changes a retardation amount R depending on whether or not a logarithmic conversion value ℓVpk is larger than the sum of the knock decision level VKD and a standard deviation SGM.

    [0092] In Figs. 10A and 10B, the distribution of logarithmic conversion values ℓVpk, when no knock is generated, is a normal distribution as shown by solid line, and the distribution thereof when a knock is generated (namely, in the case of mixed occurrence of a cycle, in which no knock takes place, and a cycle in which a knock takes place), becomes distorted at the high output side, as shown by broken line. Even in the case of a knock generation state of the same style of distorted distribution of logarithmic conversion values ℓVpk , the degree of distortion in the case where a standard deviation SGM of logarithmic conversion values ℓVpk , when no knock is generated, is large as shown in Fig. 10B, is increased as compared with that in the case where the above-mentioned standard deviation SGM is small as shown in Fig. 10A. But the probability of ℓVpk falling in the distorted portion is the same. Therefore, if it is premised that a decision level used in judging the strength of a knock is represented, for example, by VKD'1 = VKD + k (k: a constant) as compared with the fundamental decision level VKD , there is a problem that the probability of logarithmic conversion values ℓVpk exceeding the knock decision level VKD may have a different value is spite of the same condition of knock generation. Since the present description is made based on the logarithmic axis in Figs. 10A and 10B, the constant k is added. While, when based on the real number axis, the knock decision level VKD is multiflied by the constant k. Namely, the decision level VKD'1 for judging the knock strength is also a multiplication of the fundamental decision level VKD by a constant. Therefore, even if the fundamental decision level has an optimum value, an accurate knock strength decision can not be made. On the other hand, if a knock strength decision level is set by VKD'2 = VKD + SGM by using the standard deviation SGM as shown in Figs. 10C and 10b, it is possible to set a knock strength decision level VKD'2 which conforms to the distribution pattern. Namely, the probability of logarithmic conversions values ℓVpk exceeding the knock strength decision level VKD'2 can be made identical for every distribution pattern.

    [0093] Next, the updating of the standard deviation SGM in step SO6 shown in Fig. 4 will be explained on the basis of a flow chart shown in Fig. 11.

    [0094] This routine starts from step SO60. In step SO61, a decision is made as to whether a logarithmic conversion value ℓVpk falls within a range between VMED - SGM and VMED.

    [0095] The processing proceeds to step SO62, if the above condition is satisfied, while, to step SO63, if the above condition is not satisfied.

    [0096] In step SO62, the standard deviation SGM is updated in accordance with the following equation:





    where dsgm is an update quantity for the standard deviation SGM and is set in accordance with a change of the state of the engine. For example, when a deviation dℓNe of a logarithmic conversion value ℓNe of an engine speed Ne is large, the update quantity dsgm is set to a large value. Further, when a change of the engine load is large, the update quantity dsgm is also set to a large value.

    [0097] In step SO63, the standard deviation SGM is updated in accordance with the following equation:







    [0098] In this manner, the update routine of the standard deviation SGM is completed.

    [0099] Another embodiment of the updating of the standard deviation SGM will be explained on the basis of a flow chart shown in Fig. 12.

    [0100] This routine starts from step SO65. In step SO66, a decision is made as to whether a logarithmic conversion value ℓVpk falls within a range between VMED - SGM and VMED + SGM. The processing proceeds to step SO67, if the above condition is satisfied, while, to step SO68, if the above condition is not satisfied.

    [0101] In step SO67, the standard deviation SGM is updated in accordance with the following equation:







    [0102] In step SO68, the standard deviation SGM is updated in accordance with the following equation:







    [0103] In this manner, the update routine for the standard deviation SGM according to this another embodiment is completed.

    [0104] Now, an explanation will be made of the reason why the standard deviation SGM is obtained by the above processing.

    [0105] Assuming in Fig. 13A that the probability of a logarithmic conversion value ℓVpk to fall within the range (the hatched region) from VMED - SGM to VMED is represented by Ps ,









    results at a point where the standard deviation SGM is stabilized by the processing according to the flow chart shown in Fig. 11. When the value of u corresponding to this standard deviation SGM is obtained from the normal distribution table, we obtain u ≒ 0.97 which is substantially equal to the standard deviation (u = 1.0).

    [0106] In the same way, assuming in Fig. 13B that the probability of a logarithmic conversion value ℓVpk to fall within the range (the hatched region) from VMED -SGM to VMED + SGM is represented by Ps ,








    results at a point where the standard deviation SGM is stabilized by the processing according to the flow chart shown in Fig. 11. When the value of u corresponding to this standard deviation SGM is obtained from the normal distribution table, we obtain a value which is substantially equal to the standard deviation.

    [0107] Thus the standard deviation SGM can be obtained easily by the processing according to the flow chart shown in Fig. 11 or 12.

    [0108] The processing is not limited to the above-described ones. For example, step SO62 in Fig. 11 may be changed to the following equation:







    [0109] However, in this case, Ps = 1/4 results, and hence u = 0.67 results. As a result, a standard deviation SGM to be obtained by the above equation has a value 0.67 times as large as that of the actual standard deviation.

    [0110] Accordingly, if the balance of the quantities of an increase and a decrease of the standard deviation or the facility of a postprocessing is taken into consideration, the processing shown in Fig. 11 or 12 is preferable.

    [0111] Next, the updating of a median value VMED in step SO7 shown in Fig. 4 will be explained based on a flow chart shown in Fig. 14.

    [0112] This routine starts from step SO70. In step SO71, a decision is made as to whether a logarithmic conversion value ℓVpk is larger than the median value VMED. The processing proceeds to step SO72, if ℓVpk > VMED, while, to step SO73, if ℓVpk ≦ VMED.

    [0113] In step SO72, the operation of dVMED ← dVMED + dVm is performed. Then, the processing proceeds to step SO75. Here, dVm represents an update quantity for a deviation dVMED. In step SO73, a decision is made as to whether a logarithmic conversion value ℓVpk is smaller than the median value. The processing proceeds to step SO74, if ℓVpk < VMED, while, to step SO75, if ℓVpk ≧ VMED. In step SO74, the operation of dVMED ← dVMED - dVm is performed. In step SO75, the operation of VMALL ← VMALL + (ℓVpk - VMALL)/Ns is performed. Here, Ns is a constant to be set in accordance with a change of the state of the engine. For example, if the deviation dℓNe of a logarithmic conversion value of an engine speed is large, the constant Ns is made small. Also, it is effective to decrease the value of the constant Ns only during a predetermined period after a load or the change rate of the load has satisfied a specified condition (for example, a heavy load or a large load change rate).

    [0114] The above processing provides the following effects.

    [0115] Since a knock strength value is subjected to logarithmic conversion so that a signal from the knock sensor has a normal distribution, and a knock decision level is determined based on the median value and the standard deviation, it is possible to make accurate knock decision without being affected by a change in distribution due to a variation of each engine, each cylinder, a knock sensor, etc.

    [0116] Also, since the median value and the standard deviation are updated at every cycle, it is possible to set a suitable knock decision level rapidly.

    [0117] 10-bit data can be compressed into 8-bit data by having the knock strength subjected to logarithmic conversion in accordance with the following equation:







    [0118] Accordingly, handling of data by using a 4-bit or 8-bit CPU can be made easy.

    [0119] Since an engine condition is subjected to logarithmic conversion and a knock decision level is corrected in accordance with the result of logarithmic conversion, it is possible to prevent a delay in the follow-up of a knock decision level at the time of transition.

    [0120] Further, since the processing is performed by using a logarithmic operation so that it becomes possible to treat multiplication as addition and a power of a number by multiplication, a load imposed on the CPU can be reduced.

    [0121] Furthermore, with respect to the setting of a knock decision level VKD , since the value of u is set so that the knock decision probability becomes constant irrespective of the state of the engine when no knock is generated, it is not necessary to have a suitable value K determined beforehand, as done in the prior art.

    [0122] The following processings may be added to the above-described first embodiment.

    ① When the engine is in a predetermined state, a median value VMED and a standard deviation SGM for a specified cylinder or all cylinders are corrected.
    This processing makes it possible to cope with a case where a median value VMED and a standard deviation SGM greatly change only in a certain state of the engine as compared with the other state of the engine.
    As one example, assume a case where a standard deviation SGM of No. 3 engine cylinder in the state of Ne = 3000 rpm is extremely large as compared with the other state or the other cylinders. In this case, even if the standard deviation SGM is updated at every cycle, there may be a possibility that a delay in the follow-up would occur according to a running condition. In order to solve such a problem, the following correction is made for example. Namely, the standard deviation SGM in step SO36 in Fig. 7, step SO61 in Fig. 11, and step SO66 in Fig. 12 is corrected in accordance with the following equation:





    where SGMT is a correction term for the standard deviation SGM, and it is stored in the ROM 9b in correspondence with logarithmic conversion values ℓNe of an engine speed. In the case of the above example, a difference between an extremely large standard deviation SGM and a normal standard deviation SGM, that is, a correction term SGTM is stored at a location in the ROM 9b corresponding to the vicinity of Ne = 3000 rpm. Here, if a correction term SGMT for the other condition or the other cylinders is made zero, no bad influence is exerted. Thus, it is possible to prevent a delay in the follow-up of the standard deviation SGM from occurring at the time of transition and to prevent the standard deviation SGM under a steady running condition at Ne = 3000 rpm from becoming extremely large as compared with that under the other conditions. In the above description, a standard deviation SGM has been taken as an example. However, it is similarly the case with a median value VMED.

    ② The standard deviation SGM is corrected in accordance with the probability of a logarithmic conversion value ℓVpk to fall within each of the regions shown in Fig. 15 which have been divided in accordance with the median value VMED and the standard deviation SGM. When the standard deviation SGM is updated in accordance with the flow chart shown in Fig. 12, the distribution of logarithmic conversion values ℓVpk can be divided into the regions ①, ②, ③ and ④ shown in Fig. 15 in accordance with the median value VMED and the standard deviation SGM. Assume that the probabilities of the logarithmic conversion values ℓVpk to fall into the regions ①, ②, ③ and ④ are represented by P₁, P₂, P₃ and P₄, respectively.



    [0123] When no knock is generated, P₁ = P₄ = 1/6 and P₂ = P₃ = 1/3 hold. However, when a knock is generated so that the frequency distribution of ℓVpk is distorted as shown by broken line, P₃ is decreased by a value corresponding to a hatched portion so that P₃ < 1/3 holds. Then, there occurs a phenomenon that the standard deviation SGM is made larger than a required value so as to satisfy P₂ + P₃ = 2/3. This problem can be solved by detecting the occurrence of this phenomenon and correcting the standard deviation SGM in a direction of decreasing its value. When this phenomenon occurs, not only the relation P₃ < 1/3 holds, but also the following features result. Namely, as the standard deviation SGM becomes large, P₁ < 1/6 and P₂ > 1/3 result. Further, since P₃ + P₄ = 1/2, then P₄ > 1/6 results. Therefore, if the above phenomenon is detected from one or a combination of those features, the standard deviation SGM may be corrected in a direction of becoming smaller.

    [0124] For example, the following processing is performed. The standard deviation SGM is increased by dsgm when the logarithmic conversion values ℓVpk have fallen into the region ①, it is decreased by dsgm when ℓVpk have fallen into the region ②, and it is increased by dsgm when ℓVpk have fallen into the region (3) and it is decreased by dsgm at every six cycles. Assuming that the probabilities of logarithmic conversion values ℓVpk to fall within the regions ① and ④ are represented by Pe and Ph, respectively, an expected value ds of a change quantity of the standard deviation SGM per one cycle is represented by the following equation:







    [0125] Then,



    [0126] The condition of the stabilization of the standard deviation SGM is represented by ds = O. When no knock is generated, the frequency distribution of ℓVpk is symmetrical with respect to the median value VMED. Thus, assuming Pe = Ph = P, ds = P - 1/6 = 0 and hence P = 1/6 result. Thus, it is possible to obtain a probability value which is close to the standard deviation.

    [0127] On the other hand, when a knock is generated and the frequency distribution is represented by a curve shown by broken line in Fig. 15, Ph > 1/6 holds and hence ds < 0 results. Thus, if the level of a knock exceeds a predetermined level, the standard deviation SGM changes to become smaller, thereby making it possible to elevate knock detecting capability.

    [0128] Further, it is also effective to restrict the standard deviation within a predetermined range by changing steps SO5 - SO6 in Fig. 4 as shown in Fig. 16. This routine starts from step SO50. In step SO51 which is a first detecting step, a decision is made as to whether a specified condition ① is satisfied. The processing proceeds to step SO6, if the specified condition ① is satisfied, while, to step SO52, if the specified condition ① is not satisfied. The specified condition ① is, for example, the same with the specified condition in step SO5 in Fig. 4. Also step SO6 in Fig. 16 may be the same with step SO6 in Fig. 4. In step SO52 which is a second detecting step, a decision is made as to whether a specified condition ② is satisfied. The processing proceeds to step SO53, if the specified condition ② is satisfied, while, to step SO58, if the specified condition ② is not satisfied. The specified condition ③ is defined, for example, by one or a plurality of the following conditions:

    ⓐ a load on the engine is equal to or larger than a predetermined value;

    ⓑ an engine speed is within a predetermined range;

    ⓒ the change rate of an engine load is equal to or smaller than a predetermined value; and

    ⓓ the value of VMED is within a predetermined range.



    [0129] In other words, the specified condition ① is a condition under which a knock is apt to generate, whereas the specified condition ② is a condition under which a knock is hard to generate. But, the specified conditions ① and ② are common to each other in that a suitable standard deviation SGM can be obtained, that is, the state of the engine is relatively stable and hence a sufficient resolution of a sensor signal can be obtained. In step SO53, a standard deviation SGM2, which is a variable in the case of the specified condition ②, is updated. The manner of this updating is the same with that in step SO6. In subsequent step SO54, a comparison of magnitude is made between the variable SGM2 and an upper limit value SGMLMT. The processing proceeds to step SO55, if SGM2 > SGMLMT holds, while, to step SO58, if SGM2 < SGMLMT holds. In step SO55, the value of the variable SGM 2 is substituted for the upper limit value SGMLMT.

    [0130] On the other hand, in step SO56, a comparison of magnitude is made between the standard deviation SGM updated in step SO6 and the upper limit value SGMLMT. The processing proceeds to step SO57, if SGM > SGMLMT holds, while, to step SO58, if SGM < SGMLMT holds. In step SO57, the standard deviation SGM is set again to the upper limit value SGMLMT. This routine ends in step SO58. In the foregoing embodiment, only the upper limit of the standard deviation SGM has been limited by the upper limit value SGMLMT. However, a lower limit thereof may also be limited.

    [0131] Further, in the case of the specified condition ②, the standard deviation SGM has been limited by the maximum value of the standard deviation SGM2 in that case. However, not being restricted to the maximum value, the maximum value + α (α: a constant) may be used to limit the standard deviation. Namely, the standard deviation SGM may be limited in accordance with the value of the variable SGM2 in a region where no knock is generated.

    [0132] Instead of making such a limitation, another method may be employed in which a knock is decided to be large if a difference between the standard deviation SGM and the variable SGM2 becomes equal to or larger than a predetermined value, and either a knocking control factor or a knock decision level is controlled in a direction of preventing a knock from being generated.

    [0133] With the above-described processings, it becomes possible to prevent the standard deviation from becoming extremely large when a knock is generated.

    [0134] In the above-described first embodiment, after-knock strength values have been detected, the detected knock strength values are converted so that they have a normal distribution. Alternatively, it is possible to employ a construction in which output signals of the knock sensor or output signals of a band pass filter or the like have a normal distribution.

    [0135] For example, an amplifier having a logarithmic characteristic is provided in a succeeding stage of a band pass filter and a knock strength value is obtained from an output of the amplifier.

    [0136] Alternatively, the knock sensor may be designed so that its output has a logarithmic characteristic.

    [0137] In the above-described embodiment, a knock decision is made by using logarithmic conversion values ℓV which have been obtained by having representative values V subjected to logarithmic conversion. However, it is possible to make a knock decision by using representative values themselves.

    [0138] In the following, an embodiment, in which a knock decision is made by using representative values themselves without having them subjected logarithmic conversion, will be explained based on a flow chart shown in Fig. 17.

    [0139] Similarly to the above-described embodiment, the following routine is also started after the peak value Vpeak has been read from the peak hold circuit 8c shown in Fig. 3.

    [0140] This routine starts from step S10. In step S11, representative values V of knock sensor signals are detected. The representative value V is, for example, a peak hold value Vpeak of a knock sensor signal generated within a predetermined crank angle, similarly to the first embodiment. In step S12, a knock decision is made. When V ≧ VKD holds, the presence of a knock is decided. Here, VKD represents a knock decision level determined from a distribution curve of representative values V which are not subjected to logarithmic conversion. Like the first embodiment, ignition timing or the like is controlled in accordance with the result of the knock decision. In step S13, a decision is made as to whether the operating condition of the engine satisfies a specified condition. This specified condition is defined by, for example, one or a plurality of the following conditions:

    ① a load on the engine is equal to or larger than a predetermined value;

    ② an engine speed is within a predetermined range;

    ③ the change rate of an engine load is equal to or smaller than a predetermined value; and

    ④ the value of VMED is within a predetermined range.



    [0141] The processing proceeds to step S14, if the result of step S13 is YES, while, to step S15, if it is NO. In step S14, a value SGM corresponding to a standard deviation of the frequency distribution of logarithmic conversion values log (V) of representative values V is updated (the details will be described later). In step S15, a median value VMED of the distribution of representative values V is updated (the details will be described later.)

    [0142] In step S16, the value of u corresponding to the knock decision frequency is obtained. This u is the same as the u of the foregoing first embodiment.

    [0143] In step S17, a knock decision level VKD is set by the following equation in accordance with the standard deviation SGM and the median value VMED:







    [0144] In step S18, this routine ends.

    [0145] Fig. 18 is a detailed flow chart for the updating of the standard deviation SGM in step S14 in Fig. 17. This routine starts from step S140. In step 141, a decision is made as to whether V ≦ VMED is satisfied. The processing proceeds to step S142, if the result of step 141 is YES, while, to step S144, if it is NO. In step S142, a decision is made as to whether SGM x V ≧ VMED is satisfied. The processing proceeds to step S143, if the result of step S142 is YES, while, to step S144, if it is NO. In step S143, SGM is decreased by 2 x ΔS. In step
    S144, SGM is increased by ΔS. Here, ΔS is a constant. In step S145, this routine ends.

    [0146] Next, the reason why SGM is given a value corresponding to a standard deviation of the log (V) distribution through the above-described processing illustrated by Fig. 18 will be explained by making reference to Fig. 19. Assuming that a median value of the distribution of x = log (V) is represented by xM = log (VM) and a point of -σ is represented by x = log (VM) - σx (where σx denotes the standard deviation of the distribution of x), the integration of the probability of x to fall within a hatched portion in Fig. 19 is expressed by


    This means that the probability of x to fall within the range of x ≦ x ≦ xM is 0.34. In a different view, it results from the processing shown in Fig. 18 that SGM is corrected so that the probability of representative values V to satisfy the relation of VMED/SGM ≦ V ≦ VMED becomes 1/3 (about 33%). Thus, an expected value Ks of a change quantity of the standard deviation SGM per cycle is expressed by


    and then the value of the standard deviation SGM converges to a value which satisfies the relation


    which relation results from the above expression when Ks becomes zero.

    [0147] As a result, the relation





    golds.

    [0148] If this standard deviation SGM is applied to the following equation





    it results that the knock decision level VKD is set to a point of 3σ of the log (V) distribution.

    [0149] Further, a processing such as illustrated by a flow chart shown in Fig. 20 may also be employed as an embodiment other than that shown in Fig. 18.

    [0150] This routine starts from step S146. In step S147, a decision is made as to whether V ≦ VMED x SGM is satisfied. The processing proceeds to step S148, if the result of step S147 is YES, while, to step S14A, if it is NO. In step 148, a decision is made as to whether SGM X V ≧ VMED is satisfied. The processing proceeds to step S149, if the result of step S148 is YES, while, to step S14A, if it is NO.

    [0151] In step S149, SGM is decreased by ΔS. In step S14A, SGM is increased by 2 x ΔS. In step S14B, this routine ends.

    [0152] Next, an update routine for updating an median value VMED of the distribution of representative values in in step S15 in Fig. 17 will be explained in detail by making reference to Fig. 21. The update routine for updating VMED starts from step S150. In step S151, a decision is made as to whether V ≧ VMED is satisfied. The processing proceeds to step S152, if the result of step S151 is YES, while, to step S153, if it is NO. In step S152, VMED is increased by ΔV. In step S153, a decision is made as to whether V < VMED is satisfied. The processing proceeds to step S154, if the result of step S153 is YES, while, to step S155, if it is NO. In step S154, VMED is decreased by ΔV. In step S155, ΔV is updated. In step 5156, this routine ends.

    [0153] In the above explanation, SGM and VMED are updated at every cylinder.

    [0154] The decision level may be corrected by using a constant in order to change a knock control level in accordance with the state of the engine or each cylinder. For example, VKD is set in accordance with the relation VKD = SGM³ x C x VMED (where C is a constant to be set in accordance with the state of the engine or each cylinder).

    [0155] Also, it is effective to restrict SGM within a predetermined range, as occasion demands.

    [0156] Further, it is also effective to restrict a knock decision level within a predetermined range, as occasion demands.

    [0157] A further embodiment of the setting of the knock decision level other than that illustrated by steps S16 and S17 in Fig. 17 will be explained based on a flow chart shown in Fig. 22.

    [0158] Firstly, the value of u' is obtained in step S161. Here, though u' is obtained by the use of a method same as the method of obtaining u used in step S16 in Fig. 17, u' should have a value corresponding to a knock decision frequency which provides a stabilized advance/retardation quantity when no knock is generated. For example, when the above-described way of determining an advance/retardation quantity is considered, the knock decision frequency at which an advance/retardation quantity becomes stabilized is once per second, and the knock decision probability in the case of a four-cylinder engine operating at an engine speed Ne of 2000 rpm is 1.5%. From the above-mentioned conditions, u' = 2.17 results.

    [0159] Then, in step S171, a knock decision level is set in accordance with the following equation:





    where K is a constant larger than 1. Since the constant K is larger than 1, the above equation is equivalent to a case where u has been set to a value smaller than a value corresponding to the knock decision frequency at which an advance/retardation quantity is stabilized. Therefore, it is possible to assuredly make an advance whenever no knock is generated.

    [0160] The concept of u can be applied to the art disclosed by JP-A-60-243369. This will be explained by making reference to a flow chart shown in Fig. 23.

    [0161] This routine starts from step S180. In step S181, a variable A is calculated from A = SGMu + D, where D is a variable determined by the distribution pattern of output signals of a knock sensor. In step S183, a decision is made as to whether an operating condition of the engine or a knock sensor signal satisfies a specified condition. The processing proceeds to step S184, if the result of step S183 is YES, while, to step S188, if it is NO. This specified condition includes, for example:

    (i) an engine load is equal to or larger than a predetermined value;

    (ii) an engine speed is within a predetermined range;

    (iii) the change rate of the engine speed is equal to or smaller than a predetermined value; and

    (iv) the value of VMED is within a predetermined range.


    In step S184, a decision is made as to whether V ≦ VMED/A is satisfied. The processing proceeds to step S185, if the result of step S184 is YES, while, to step S186, if it is NO. In step S185, D is increased by 2 x ΔD. In step S186, a decision is made as to whether V ≧ VKD is satisfied. The processing proceeds to step S187, if the result of step S186 is YES, while, to step S188, if it is NO. In step 187, D is decreased by ΔD. In step S188, this routine ends. Here, D is not restricted to have a positive value, but it may have a negative value. Thus, the variable D is corrected to be decreased in case of a large knock condition, that is, when the frequency of occurrence of the region ④ in Fig. 15 is large, while, it is corrected to be increased in case of a small knock condition, that is, when the frequency of occurrence of the region ① in Fig. 15 is large.

    [0162] By virture of the above-described processings, when the median value VMED deviates from a true value at the time of transition, et., the standard deviation SGM is changed to compensate the deviation. Therefore, an accurate knock decision is made possible even at the time of transition.

    [0163] In the following, a supplementary explanation will be made of the above-described effect by making reference to Figs. 24A to 24C. Under the condition of

    ≧ 0 at the time of acceleration, etc., VMED becomes smaller than a true value, as shown in Fig. 24B. (In a normal operating state, VMED coincides with the true value, as shown in Fig. 24A.) For example, assuming that VMED is positioned at a cumulative percentage point of 40%, then


    (where V₅₀ denotes the true value of the median value VMED) results. Therefore, in order to satisfy the equation


    it is necessary that the equation


    holds. As a result, SGM is corrected to make the value of


    converge to a value corresponding to a cumulative percentage point of 7%.

    [0164] The cumulative percentage points of 40% and 7% respectively correspond to a point of -0.25 σ and a point of -1.47 σ (which are obtained from the normal distribution table). Accordingly, it results that SGM is corrected toward a value corresponding to a point of [-0.25 - (-1.47)] σ = 1.22 σ in the frequency distribution of peak values, and it takes a value larger than the true value. Therefore, an erroneous knock decision can be prevented in accordance with the compensation of a deviation of VMED from the true value by the correction of SGM. On the other hand, under the condition of

    < 0 at the time of deceleration, etc., VMED has a value larger than the true value, as shown in Fig. 24C. For example, assuming that VMED is positioned at a cumulative percentage point of 60%, a similar technical concept is also applicable here, and SGM is corrected to make


    converge to a cumulative percentage point of 27 (= 60-33)%. Since the cumulative percentage points of 60% and 27% correspond to points of -0.25 σ and -0.61 σ, respectively, it results that SGM is corrected toward a value corresponding to 0.86 (= 0.25 + 0.61) σ, and hence it takes a value smaller than the true value, thereby compensating the deviation of VMED from the true value.

    [0165] As has been explained above in detail, the present invention provides the following excellent effects.

    ① Since a knock decision level is set in accordance with a cumulative percentage point and a standard deviation in the frequency distribution of representative values and the state of an engine, the knock decision level is not effected by a change of the frequency distribution due to variations in the engine, cylinders, knock sensors, etc. As a result, it is possible to make an accurate knock decision.

    ② Since the cumulative percentage point and the standard deviation are detected at every cycle, it is possible to set a suitable knock decision level rapidly.

    ③ Since the knock decision level is set so that the knock decision frequency becomes constant when no knock is generated, it is possible to control ignition timing so that it is advanced always at a constant rate.




    Claims

    1. A knock generation control system for engines comprising:
       a knock sensor for detecting a knocking phenomenon generated in an engine;
       representative value detecting means for detecting representative values of signals from said knock sensor which are effective for the detection of a knock;
       standard deviation detecting means for detecting a quantity corresponding to a standard deviation in a frequency distribution of logarithmic conversion values of said representative values;
       cumulative percentage point detecting means for detecting a value of a cumulative percentage point in said frequency distribution;
       knock decision level setting means for setting a knock decision level in accordance with said quantity corresponding to the standard deviation and a quantity corresponding to said cumulative percentage point;
       knock detecting means for detecting generation of a knock in accordance with said representative values and said knock decision level and producing a detection signal; and
       adjusting means representative to said detection signal from said knock detecting means for adjusting a knock control factor so as to suppress the generation of a knock.
     
    2. A knock generation control system for engines, wherein said knock decision level setting means comprises engine state detecting means for detecting a state of said engine, said knock decision level setting means setting a knock decision level in accordance with said quantity corresponding to the standard deviation, said quantity corresponding to the cumulative percentage point and the state of said engine so that the frequency of knock decision per unit time takes a predetermined value.
     
    3. A knock generation control system for engines, wherein said engine state detecting means includes speed detecting means for detecting a rotational speed of said engine.
     
    4. A knock generation control system for engines according to Claim 1, further comprising logarithmic conversion means for forming logarithmic conversion values ℓV of said representative values V in accordance with the relation






     
    5. A knock generation control system for engines according to any one of Claims 1 to 4, characterized in that said logarithmic conversion means comprises:
       storing means in which said logarithmic conversion values are preliminarily stored; and
       reading means for reading logarithmic conversion values corresponding to said representative values from said storing means.
     
    6. A knock generation control system for engines according to any one of Claims 1 to 5, characterized in that said knock decision level setting means sets said knock decision level VKD in accordance with said quantity SGM corresponding to the standard deviation and said value VP of the cumulative percentage point in the form of VKD = SGMu x VP (u: a variable defined depending upon the state of said engine).
     
    7. A knock generation control system for engines according to any one of Claims 1 to 6, characterized in that said knock decision level setting means comprises u value setting means for setting a value of the u so that it becomes larger as a value representative of the state of said engine becomes larger.
     
    8. A knock generation control system for engines according to any one of Claims 1 to 7, characterized in that said knock decision level setting means comprises knock decision level correcting means for correcting a knock decision level, which is set in accordance with a rotational speed of said engine, said quantity corresponding to the standard deviation and said value of the cumulative percentage point, by using a predetermined value.
     
    9. A knock generation control system for engines according to any one of Claims 1 to 8, characterized in that said standard deviation detecting means comprises updating means for updating said quantity SGM corresponding to the standard deviation so that at least one of a condition that a probability of satisfying the relation VP/SGM ≦ V ≦ VP with respect to said representative values V and said value VP of the cumulative percentage point becomes 1/3 and a condition that a probability of satisfying the relation VP/SGM ≦ V ≦ VP x SGM becomes 2/3.
     
    10. A knock generation control system for engines according to any one of Claims 1 to 9, characterized in that said standard deviation detecting means comprises first detecting means for detecting that said engine is in a state in which a knock is easily generated, whereby said standard deviation detecting means performs detection of said quantity corresponding to the standard deviation only when said first detecting means detects that said engine is in the state in which a knock is easily generated.
     
    11. A knock generation control system for engines according to any one of Claims 1 to 10, characterized in that said standard deviation detecting means comprises:
       second detecting means for detecting that said engine is in a state in which a knock is hard to be generated;
       upper limit value setting means for detecting, when said second detecting means detects that said engine is in the state in which a knock is hard to be generated, said quantity corresponding to the standard deviation in that state and setting the detected quantity corresponding to the standard deviation as an upper limit value for the standard deviation; and
       suppressing means for suppressing said upper limit value by using said quantity corresponding to the standard deviation.
     
    12. A knock generation control system for engines according to any one of Claims 1 to 11, characterized in that said adjusting means comprises:
       reference level setting means for setting a reference level higher than said knock decision level in accordance with said quantity corresponding to the standard deviation and said value of the cumulative percentage point; and
       adjustment quantity setting means for setting an adjustment quantity for adjusting said knock control factor in accordance with said representative values and said reference level.
     
    13. A knock generation control system for engines according to any one of Claims 1 to 12, characterized in that said value VP of the cumulative percentage point is set to a cumulative percentage point of 50% (a median value) VMED.
     
    14. A knock generation control system for engines according to any one of Claims 1 to 13, characterized in that said cumulative percentage point detecting means comprises:
       speed detecting means for detecting a rotational speed of said engine;
       speed logarithmic conversion means for making logarithmic conversion of a rotational speed of said engine; and
       cumulative percentage point correcting means for correcting said cumulative percentage point in accordance with logarithmically converted engine speed.
     
    15. A knock generation control system for engines according to any one of Claims 1 to 14, characterized in that said engine state detecting means includes at least one of:
       speed detecting means for detecting a rotational speed of said engine; and
       load detecting means for detecting a load on said engine.
     
    16. A knock generation control system for engines according to any one of Claims 1 to 15, characterized in that said cumulative percentage point detecting means comprises:
       mean value detecting means for detecting a mean value of said representative values corresponding to each engine cylinder; and
       cumulative percentage point correcting means for correcting said cumulative percentage point in accordance with said detected mean value.
     
    17. A knock generation control system for engines according to any one of Claims 1 to 16, characterized in that said standard deviation detecting means comprises.
       probability detecting means for detecting a probability of said representative values to fall within a predetermined region of said frequency distribution; and
       standard deviation correcting means for correcting the standard deviation in accordance with said detected probability.
     
    18. A knock generation control system for engines comprising:
       speed detecting mans for detecting a rotational speed of an engine;
       a knock sensor for detecting a knocking phenomenon generated in said engine;
       representative value detecting means for detecting representative values from output signals of said knock sensor which are effective for the detection of a knock;
       standard deviation detecting means for detecting a quantity corresponding to a standard deviation in a frequency distribution of logarithmic conversion values of said representative values;
       cumulative percentage point detecting means for detecting a value of a cumulative percentage point in said frequency distribution;
       knock decision level setting means for setting a knock decision level in accordance with the detected rotational speed of said engine, said quantity corresponding to the standard deviation and a quantity corresponding to said cumulative percentage point so that the frequency of knock decision per unit time takes a predetermined value;
       knock detecting means for detecting generation of a knock in accordance with said representative values and said knock decision level and producing a detection signal; and
       adjusting means responsive to said detection signal from said knock detecting means for adjusting a knock control factor so as to suppress the generation of a knock.
     




    Drawing














































    Search report