| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Получить АЧХ и ФЧХ при помощи БПФ |
| Автор: neosapient 2.1.2014, 00:32 |
| Здравствуйте. Вспоминаю университетские годы. Вспоминаю как вычислить АЧХ и ФЧХ. Есть набор отсчетов, выбираю в нем последовательность длинной 2^N. Например, y = cos(xi + pi/4), где xi в интервале [0, 2pi), количество xi равно 2^N. хочется получить что то вроде АЧХ = [1, 0, 0, ...] ФЧХ = [1/8, 0, 0, ...] Как это программно рассчитать? Можно ли воспользоваться БПФ? Как с помощью БПФ получить АЧХ и ФЧХ? (Будет большим бонусом, если покажете исходник на С/С++) |
| Автор: Pavia 2.1.2014, 14:23 |
| Есть у тебя отсчёты. Применяешь к ним БПФ на выходи имеешь коэфциенты. От коэфициентов считаешь модуль для каждого это и будет амплитуда. Вернее все вместе дадут АЧХ. amp[i]=hypot(c[i].Re,c[i].Im); или amp[i]=abs(c[i]); Фазу считаешь как аргумент комплексного вектора. Т.е берёшь арктангенс Faza[i]=arctan2(c[i].Im, c[i].Re) ; или Faza[i]=arg(c[i]) ; |
| Автор: neosapient 2.1.2014, 22:01 |
| Спасибо, буду разбираться. |