Как получить фазу функции косинуса из БПФ
Из соотношения DFT для функции косинуса мы имеем DFT (cos (2 * pifi n)) =. 5 * (delta (f-fi) + delta (f + fi)), поскольку мы видим, что фаза DFT равна нулю. Однако, когда я использую БПФ в Matlab, коэффициенты БПФ являются сложными, что означает, что фаза ДПФ не равна нулю. Пожалуйста, помогите мне разрешить это противоречие.
2 ответа
При вычислении DTFT функции косинуса фаза равна нулю из-за ее симметрии. Однако при использовании БПФ полученная фаза не равна нулю, поскольку БПФ обрабатывает последовательность от 0 до L-1, то есть происходит сдвиг, который превращается в фазовый сдвиг в частотной области. Тем не менее ненулевая фаза является линейной.
Вы можете вычислить DTFT двух прямоугольных последовательностей, одна из которых симметрична, а другая - от 0 до L-1.
Фаза результата БПФ точно соответствует фазе входных косинусов, только если период входных косинусов является точным целым числом, кратным длине БПФ.
Другим источником сложных результатов БПФ является ошибка округления. Обычно вы можете игнорировать значения, которые являются сравнительно крошечными (10e-13 и т. Д.) Относительно средних величин, и фаза двух крошечных ошибок округления является неопределенной (такой же, как фаза комплексного нуля). Возможно, просто предположим ноль.