Patent attributes
An engine ECU executes a program including the steps of: comparing a vibration waveform of an engine and a knock waveform model stored in advance to calculate a correlation coefficient K; prohibiting correction when a correction prohibiting condition of a determination value V(KX) is satisfied, the determination value V(KX) compared with a knock magnitude N calculated from the correlation coefficient K so as to control the ignition timing; and correcting the determination value V(KX) based on a magnitude value LOG(V) calculated from a magnitude V of vibration in an ignition cycle in which the correlation coefficient K greater than a threshold value K(1) is calculated when the correction prohibiting condition of determination value V(KX) is not satisfied. The correlation coefficient K is calculated as a smaller value when the vibration waveform includes a waveform of vibration of a noise component as compared with that when the vibration waveform does not include it.