Применил я в качестве фильтров китайские LT455IW. Оказалось, что у них очень узкая полоса пропускания, причем не совсем 455кГц. Симптомы - при соединении вход-выход и запросе значений по r0 10 в мониторе шли цифры около 3600. Я дописал в код блок тестирования
Code:
case 't': // тест частоты ПЧ
ReadNumber(p,&f_pch); // начальная частота поиска ПЧ
max_pch = f_pch + 4000; // сканируем полосу в 4кГц
freq = 1000000;
Serial.print(f_pch); Serial.print(" <> "); Serial.println( max_pch );
while (f_pch < max_pch) {
Serial.print(f_pch); Serial.print("=");
UpdateFreq();
delay(10);
val = analogRead(A0);
val += analogRead(A0);
val += analogRead(A0);
val += analogRead(A0);
val += analogRead(A0);
Serial.println( val );
f_pch += 50; // шаг сканирования
}
Естественно, в 4 местах кода вместо дефайна IF_FREQ нужно подставить f_pch и вначале объявить f_pch и max_pch как long переменные. Запрос теста t452000, то есть с какой частоты начинать (интервал сканирования 4кГц с шагом 50Гц). В результате в мониторе получим уровень сигнала при разных ПЧ. В моем случае частота фильтров оказалась 453800 и с ней уровень сигнала стал 4230 (более чем на 17 процентов выше).
Андрей, спасибо за наводку на счет фильтров.