Добрый день.
При неисправном датчике детонации обычно выскакивает ошибка. Рекомендую проверить датчик, как тут: 
http://www.youtube.com/watch?v=gR0BDVVQNfMОбороты могут плавать из за грязной дроссели и КХХ, их нао снять и почистить карбклинером. Так же проверьте нет ли подсоса воздуха из под дроссели, шлангов. Проверьте не забит ли воздушный фильтр и нет ли пропусков зажигания.
 
                                    
                                                    Москва,                                                                            Subaru                            Impreza