[an error occurred while processing this directive]
|
И вообще - это ДСПшная тема.
Ну идея примерно такая - старая - правда довольно сложно реализуемая:
Если частота помехи известна то держим узкополосный фильтр (или через FFT в одной точке, или герцель что есть то-же самое), выделяющий эту помеху, по измерению его выхода определяем текущую мощность мешающего сигнала. В случае большого сближения частоты помехи и частоты несущей затыкаем измерялку мощности, аппроксимируя изменение мощности помехи по результатам предыдущих измерений (ну сплайн например или линейная - зависит от конкретного характера помехи) или что-то вроде long-term predictor. Дальше генерим эту помеху с известной частотой и сапроксимированной мощностью (надеюсь форма этой помехи хоть предсказуема ? Раз она стационарная). Дальше берем окно например в пять-шесть-десять периодов принятого сигнала с помехой, и делаем N (Fдескр./Fпомехи+1) кросс-корреляций этого сигнала со сгенеренным сигналом помехи, смещая каждую кросс-корреляцию от предыдущей на один отсчет. Находим ту кросс-корреляцию, которая показала максимальный результат. По ней определяется фаза помехи. Остается сдвинуть сгенеренный сигнал на столько отсчетов и вычесть его из общего.
E-mail: info@telesys.ru