реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Дополнительные точки при спектральном анализе на основе БПФ., Как получить дополнительные точки?
AlexOr
сообщение Apr 20 2011, 04:32
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 30-12-04
Из: Санкт-Петербург
Пользователь №: 1 754



Исходный сигнал 1024 отсчетов с частотой дискретизации 1,024 кГц. Берем БПФ и получаем амплитудный спектр, состоящий из 512 отсчетов по частоте с шагом 1 Гц (0 Гц, 1 Гц, 2 Гц, .… 511 Гц).
Как получить дополнительные точки по частоте с наименьшими вычислительными затратами?

Это нужно для более качественного графического отображения амплитудного спектра т.к. в зоне низких частот (например, 0…30 Гц) человек видит ломаную линию. А также для более точного определения частоты максимума спектра.
Go to the top of the page
 
+Quote Post
AlexOr
сообщение Apr 20 2011, 05:48
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 30-12-04
Из: Санкт-Петербург
Пользователь №: 1 754



Вопрос снимается.
Решено добавленем нулей.
Go to the top of the page
 
+Quote Post
bahurin
сообщение Apr 20 2011, 05:51
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



добавить к 1024 точкам сигнала еще 1024 точки нулей и взять бпф на 2048 точек. получите 1024 точки спектра. Добавите нулей до массива 4096 точек получите 2048 точек спектра. При этом спектр у вас будет более сглаженный
Go to the top of the page
 
+Quote Post
AlexOr
сообщение Apr 20 2011, 17:32
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 30-12-04
Из: Санкт-Петербург
Пользователь №: 1 754



Цитата(bahurin @ Apr 20 2011, 08:51) *
добавить к 1024 точкам сигнала еще 1024 точки нулей и взять бпф на 2048 точек. получите 1024 точки спектра. Добавите нулей до массива 4096 точек получите 2048 точек спектра. При этом спектр у вас будет более сглаженный


Спасибо.
Go to the top of the page
 
+Quote Post
анатолий
сообщение Apr 24 2011, 08:24
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052



Достаточно обычной интерполяции выходных данных, т.к. входной информации не добавляется.
Тем более, что нужно только для вывода.
Go to the top of the page
 
+Quote Post
Andy_
сообщение May 16 2011, 22:11
Сообщение #6





Группа: Новичок
Сообщений: 2
Регистрация: 16-05-11
Пользователь №: 65 051



А что тогда вернет такая операция в MATLAB:
исходный вектор 1024 отсчета - x

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

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

?
Go to the top of the page
 
+Quote Post
bahurin
сообщение May 17 2011, 07:09
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



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

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

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

?


z = x
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 15:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01394 секунд с 7
ELECTRONIX ©2004-2016