Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Дополнительные точки при спектральном анализе на основе БПФ.
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
AlexOr
Исходный сигнал 1024 отсчетов с частотой дискретизации 1,024 кГц. Берем БПФ и получаем амплитудный спектр, состоящий из 512 отсчетов по частоте с шагом 1 Гц (0 Гц, 1 Гц, 2 Гц, .… 511 Гц).
Как получить дополнительные точки по частоте с наименьшими вычислительными затратами?

Это нужно для более качественного графического отображения амплитудного спектра т.к. в зоне низких частот (например, 0…30 Гц) человек видит ломаную линию. А также для более точного определения частоты максимума спектра.
AlexOr
Вопрос снимается.
Решено добавленем нулей.
bahurin
добавить к 1024 точкам сигнала еще 1024 точки нулей и взять бпф на 2048 точек. получите 1024 точки спектра. Добавите нулей до массива 4096 точек получите 2048 точек спектра. При этом спектр у вас будет более сглаженный
AlexOr
Цитата(bahurin @ Apr 20 2011, 08:51) *
добавить к 1024 точкам сигнала еще 1024 точки нулей и взять бпф на 2048 точек. получите 1024 точки спектра. Добавите нулей до массива 4096 точек получите 2048 точек спектра. При этом спектр у вас будет более сглаженный


Спасибо.
анатолий
Достаточно обычной интерполяции выходных данных, т.к. входной информации не добавляется.
Тем более, что нужно только для вывода.
Andy_
А что тогда вернет такая операция в MATLAB:
исходный вектор 1024 отсчета - x

y = fft(x);
z = ifft(y);

Размерность y и z - 1024.

?
bahurin
Цитата(Andy_ @ May 17 2011, 01:11) *
А что тогда вернет такая операция в MATLAB:
исходный вектор 1024 отсчета - x

y = fft(x);
z = ifft(y);

Размерность y и z - 1024.

?


z = x
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.