petrov
Еще раз спасибо за задачку.
Итак, руки добрались до того, что будет, если попытаться вычислить спектр синусоиды, лежащей посередине между частотными отсчетами, т.е. с частотой (k/N + (k+1)/N)/2 == (2k+1)/2N (N -- число отсчетов). Таковая синусоида плавно размазывается практически по всем гармоникам с не слишком острым максимумом вокруг самое себя.
Принципиально то, что полученный спектр собирается назад ОДПФ с точностью до младшего бита при, по кр. мере, 16-битном представлении сигнала, что более чем приемлемо (точнее +-1 в младшем разряде). (доб. -- при 24-битном - те же +-1 ед. мл. разряда.) Точно такие же результаты дает любой "нормальный" реальный сигнал.
По поводу "один бин занулите": -- и не сомневался, что будет лажа. Но такой не ожидал:
- curve.png (8.53 КБ) 9717 просмотров
Сверху -- огибающая сигнала с зануленым отсчетом, прилегающим к (2k+1)/2N, снизу -- то же, но исходная частота k/N (контрольный). Вроде как ничего неожиданного,
но в спектре верхнего сигнала не видно никаких особых "лишних" частот, что меня насторожило, посему вычел исходный сигнал их показанного и получил вот что:
- delta.png (7.71 КБ) 9717 просмотров
Нижние сигналы естественным образом вычлись (они исходно точные), полученный верхний -- отличается от исходного фазой [вроде бы] и уровнем примерно на -3 дБ. Забавно, что
после вычитания исчезла огибающая, вызванная удалением частотного отсчета.
--
Я немножко поразбирался подробнее, и выяснил, что сигнал "с огибающей" -- "не просто так" -- левая половина отстает по фазе от исходного сигнала (в начале -- менее чем на п/2), правая -- опережает исходный (в конце -- менее, чем на п/2); в центральной части фазы исходного и преобразованного сигналов примерно равны. Т.е. имеет место (примерно линейный) фазовый сдвиг и
очень медленная амплитудная модуляция (доб. -- на самом деле, конечно, скорее "переходной процесс"),
каковой на спектре рассмотреть практически невозможно, и оно дает такой забавный эффект (при вычитании). (На нижнем рисунке по прежнему имеет место [практически линейный] фазовый сдвиг, а "амплитудная компонента переходного процесса" -- по "счастливой случайности" снята.) Возможно, я что-то просыпал, но, вроде бы, негде; тем более, что 2 раза перепроверял.
Кстати, слово "бин" я услышал впервые. Что бы оно значило на самом деле? И еще -- эксперимент, конечно, вырожденный, т.е. для полноты надо бы поиграться с "реальными" сигналами в том же духе. Во всяком случае, считаю, что Ваш тезис, petrov, не то чтобы не подтвердился, но пока не вполне (с точностью до моего понимания "бин" == "частотный отсчет").
доб. -- конечно, узкополосная фильтрация при помощи ДФТ (т.е. "в суе") -- решение неадекватное. Т.е.свято веря в ДПФ-фильтрацию получить по морде (абстрактно
) много легче, чем работая с фильтрами. И самое страшное -- не заметить получения по морде -- т.е. в конечном счете представить никуда не годное изделие. А вот [например] обрезать спектр сигнала из-под АЦП полосовым фильтром [например -- 2п*0.001..2п*0.499, или даже уже], при условии, что сигнал все равно переводить в комплексную форму в нереальном времени -- во многих случаях допустимо, кажется.
Поправьте, пожалуйста, если я неправ.
И, конечно, тему пора переносить в ДПФ-обработку. А то от БИХ фильтра -- совсем ничего уже.
Если ваши решения вам нравятся -- это хорошие решения. И наоборот.