![]() |
|
|
![]()
|
|
| neosapient |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Здравствуйте.
Вспоминаю университетские годы. Вспоминаю как вычислить АЧХ и ФЧХ. Есть набор отсчетов, выбираю в нем последовательность длинной 2^N. Например, y = cos(xi + pi/4), где xi в интервале [0, 2pi), количество xi равно 2^N. хочется получить что то вроде АЧХ = [1, 0, 0, ...] ФЧХ = [1/8, 0, 0, ...] Как это программно рассчитать? Можно ли воспользоваться БПФ? Как с помощью БПФ получить АЧХ и ФЧХ? (Будет большим бонусом, если покажете исходник на С/С++) Это сообщение отредактировал(а) neosapient - 2.1.2014, 00:33 |
|||
|
||||
| Pavia |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Есть у тебя отсчёты. Применяешь к ним БПФ на выходи имеешь коэфциенты.
От коэфициентов считаешь модуль для каждого это и будет амплитуда. Вернее все вместе дадут АЧХ. 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]) ; Это сообщение отредактировал(а) Pavia - 2.1.2014, 14:24 |
|||
|
||||
| neosapient |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Спасибо, буду разбираться.
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |