[an error occurred while processing this directive]
БПФ ничего сам не "полагает", и тем паче ничего не вносит (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 23 ноября 2005 г. 03:10
В ответ на: По-моему, все так и должно быть (+) отправлено <font color=gray>homekvn</font> 22 ноября 2005 г. 19:19

в первом случае, когда все отсчеты были на месте, и была симметрия относительно (N-1)/2, та самая мнимая часть, обусловленная задержкой, и дающая линейную фазу, была. Что и было отлично видно.

Потом выкинули один отсчет. Появилась "циркулярная" симметрия, от которой толку, как от козла молока, и которая многих тут обманула. В результате в каждой точке БПФ получился отсчет с мнимой частью, равной нулю, что более чем законно. А ведь незримо "надетое" на входную ф-цию (на время забыли, что она сама окно, это не суть важно сейчас) прямоугольное окно никто не отменял.

Теперь делаем все по полной аналогии, но эксперимент проще. Берем не окно Кайзера, а адын период косинуса. Чтобы аналитически было проще. Допустим 8 отсчетов. x=cos(2*pi*(0:7)/8). Делаем БПФ, которое надевает автоматически на этот период прямоугольное окно размеров в сам размер БПФ. y=fft(x); Получаем красивую палку на N=1 (считаем N от нуля, не по-матлабовски), остальные нули и палку на N=7. И это естественно и понятно, так как то самое прямоугольное окно, длиной в те же 8 отсчетов, при длине БПФ в 8 тоже имеет одну палку, но только на N=0, и нули в остальных отсчетах, и свертка спектра с ним ничего плохого не делает. Как все красиво!

Теперь... Самое главное... Подойдем к тому-же, но с другой стороны, из реального непрерывного времени, из реального сигнала, то есть от непрерывной спектральной ф-ции. Отсчеты которой и получаются через БПФ. Для какой-то определенности в цифрах и соответствия с предыдущим абзацем возьмем частоту дискретизации 8 герц и частоту нашего непрерывного косинуса 1 герц. Что даст как раз те 8 отсчетов на период. Так вот, эта спектральная ф-ция есть свертка дельта-ф-ции в точке, соответствующей частоте того самого косинуса (а именно 1 герц), и спектра прямоугольного окна длиной аккурат в имеющиеся 8 отсчетов, то есть в 1 секунду, который есть (1/jw)*(1-exp(-jw)) = (sin(w/2)/(w/2))*exp(-jw/2). Учитывая, что w=2*pi*f и sinc(x)=sin(pi*x)/(pi*x) => sinc(f)*exp(-j*pi*f). Теперь сворачиваем с той дельта-функцией, имеющейся в точке f=1. Получаем sinc(f-1)*exp(-j*pi*(f-1)). Теперь делаем :) "ДПФ" - "Долгое Преобразование Фурье" :) :) :) А именно берем 5 отсчетов полученной ф-ции. В точках 0,1,2,3 и 4 герца. Получаем наши 0, палка, 0, 0, 0 - добиваем в обратном порядке ими же - 0, 0, палка. ВОТ ОБМАН И ВЫЛЕЗ!!!! С виду после БПФ одна палка красуется, а натурально-то там в недрах зарыт дискретизированный sinc(f)*exp(-j*pi*f)!!!!!!

Подводя итог. И отвечая, естественно, автору исходного вопроса... В Вашем случае, выкинув один отсчет, вы получили ту самую "циркулярную симметрию", обманувшую Вас. Вы точно также можете посчитать спектральную ф-цию для обоих случаев. Как-то взяв хитрожопый интеграл от функции Бесселя, которая есть в формуле окна Кайзера, приведенного в примере. И свернув результат с тем самым sinc*exp. И взяв отсчеты в интересующих точках. И увидите Вы собственными глазами, что "убив" последний отсчет (эквивалентно укорачиванию прямоугольного окна на один отсчет), Вы просто "подогнали" окно, т.е. размернось БПФ, к сигналу так, что нулями стали отсчеты мнимой части. Однако посмотрев на спектральную ф-цию этого сигнала, полученную аналитически, если, конечно, терпения хватит аналитически ее получить, вы найдете, где там меж видимых сквозь сито БПФа сплошных нулей скрылся тот самый exp(-jwT).

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru