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

 
 
> Вычисление спектра выборки, когда выборка больше, чем требуемое разрешение
DMax
сообщение Oct 20 2008, 14:36
Сообщение #1


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

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Допустим нужно нам получить спектр сигнала и допустим нужно сделать для этого именно N-точечное БПФ. Однако у нас есть выборка сигнала длинной kN, где k - целое число > 1. Тут имеется три варианта:
1) Взять любые подряд идущие N-точек из выборки и посчитать на них БПФ, но так мы теряем полезный сигнал, который можно было бы использовать.
2) Сделать k раз БПФ и результат усреднить. Вроде бы хорошо, но долго.
3) Каким-то образом усреднить выборку до N-точек и сосчитать один раз БПФ.

Собственно по 3-му пункту мне достался какой-то код, который не до конца понятно что делает. В чем я успел разобраться так это в том, что он умножает всю выборку на окно Кайзера длинной kN, затем ещё на какое-то окно, а затем хитрым образом складывает отсчеты сигнала. А именно так, если s - это исходная выборка умноженная на окна, а a - выборка, которая подается на БПФ, то:
a_0 = s_0 + s_N + s_{2*N} + ... + s_{(k-1)*N}
a_1 = s_1 + s_{N+1} + s_{2*N+} + ... + s_{(k-1)*N+1}
...
a_{N-1} = s_{N-1} + s_{2*N-1} + ... + s_{k*N - 1}

Собственно, кто-нить пояснит что здесь за математика такая? Как это работает и что здесь делается.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bahurin
сообщение Aug 22 2009, 06:00
Сообщение #2


Местный
***

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



Цитата(DMax @ Oct 20 2008, 18:36) *
Допустим нужно нам получить спектр сигнала и допустим нужно сделать для этого именно N-точечное БПФ. Однако у нас есть выборка сигнала длинной kN, где k - целое число > 1. Тут имеется три варианта:
1) Взять любые подряд идущие N-точек из выборки и посчитать на них БПФ, но так мы теряем полезный сигнал, который можно было бы использовать.
2) Сделать k раз БПФ и результат усреднить. Вроде бы хорошо, но долго.
3) Каким-то образом усреднить выборку до N-точек и сосчитать один раз БПФ.

Собственно, кто-нить пояснит что здесь за математика такая? Как это работает и что здесь делается.


Это называется полифазное БПФ (polyphase FFT). Читай что не ясно спрашивай.
Go to the top of the page
 
+Quote Post
petrov
сообщение Aug 22 2009, 08:53
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(bahurin @ Aug 22 2009, 10:00) *
Алгоритм обладает недостатками:
1. Чувствительность к выбору сглаживающего окна. Неправильный выбор окна приводит к потерям гармоник сигнала. Это необходимо учитывать при использовании полифазного БПФ.


Это не недостаток, если разработчик выбрал такой фильтр что АЧХ соседних поднесущих не перекрываются и соответственно есть гармоники которые ни в один из фильтров не попадают то это недостаток разработчика а не быстрого алгоритма.

Цитата(bahurin @ Aug 22 2009, 10:00) *
Алгоритм обладает недостатками:
2. Полифазное БПФ - преобразование с потерями, и для него отсутствует обратное преобразование.


При правильном выборе фильтра есть обратное преобразование, и сигнал проходя через прямое-обратное преобразование не претерпевает никаких изменений кроме задержки, это называется perfect reconstruction.
Go to the top of the page
 
+Quote Post
bahurin
сообщение Aug 22 2009, 09:45
Сообщение #4


Местный
***

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



Цитата(petrov @ Aug 22 2009, 12:53) *
Это не недостаток, если разработчик выбрал такой фильтр что АЧХ соседних поднесущих не перекрываются и соответственно есть гармоники которые ни в один из фильтров не попадают то это недостаток разработчика а не быстрого алгоритма.

Все таки это недостаток, так как алгоритм перестает быть универсальным и заставляет пользователя предварительно исследовать окна на предмет потерь гармоник сигнала. Кроме того из приведенных примеров явно следует, что уменьшается амплитуда гармоники при различных сглаживающих окнах.

Цитата(petrov @ Aug 22 2009, 12:53) *
При правильном выборе фильтра есть обратное преобразование, и сигнал проходя через прямое-обратное преобразование не претерпевает никаких изменений кроме задержки, это называется perfect reconstruction.
Может быть в частных случаях это и возможно, но в общем случае это не реально, как бы вы не выбирали окно. Если было 4096 точек и вы смогли бы представить сигнал безошибочно всего 1024 точками спектра, то почему бы вам не взять 1024 точки спектра используя тот же алгоритм не представить этот спектр скажем 128 точками и т.д. все это было бы можно свернуть в одно число!!! Поэтому при использовании полифазного БПФ можно говорить лишь о приближенном представлении. Разумеется в некоторых частных случаях можно произвести и безошибочное восстановление, я не отрицаю, можно придумать много таких примеров, но я говорю об общем случае, когда нет никакой априорной информации о сигнале, кроме того что известно, что частота дискретизации выбрана по теореме отсчетов.

Цитата(Xenia @ Aug 22 2009, 13:19) *
Есть предложение получить суммы (или среднее) для каждой пачки из k последовательных значений (таких сумм получится ровно N), а затем получить их БФП, однократно применяя процедуру FFT. По идее должен получиться усредненный спектр.

ТАК НЕЛЬЗЯ: возьмем сигнал 1 1 -1 -1 -1 -1 1 1 поделим на два сумма первых четырех отсчетов равна сумме вторых четырех и равна 0! Если исходный сигнал есть стационарный процесс с нулевым средним то такое усреднение во времени ни к чему хорошему точно не приведет!

Сообщение отредактировал bahurin - Aug 22 2009, 09:56
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- DMax   Вычисление спектра выборки   Oct 20 2008, 14:36
- - petrov   Читайте про банки фильтров. а_0...a_{N-1} - это вы...   Oct 21 2008, 20:03
- - ivan219   А можно по подробнее???   Nov 23 2008, 21:02
- - ivan219   Up   Aug 21 2009, 19:06
- - _ea_   Над s выполняется БПФ размера kn, находится только...   Aug 22 2009, 01:53
||- - petrov   Цитата(bahurin @ Aug 22 2009, 13:45) Все ...   Aug 22 2009, 10:20
|||- - bahurin   ЦитатаPerfect reconstruction банки фильтров для лю...   Aug 23 2009, 09:59
|||- - petrov   Цитата(bahurin @ Aug 23 2009, 13:59) Поли...   Aug 23 2009, 10:15
||- - Xenia   Цитата(bahurin @ Aug 22 2009, 12:45) ТАК ...   Aug 22 2009, 12:34
|- - _ea_   Цитата(bahurin @ Aug 22 2009, 13:00) Это ...   Aug 23 2009, 14:24
|- - bahurin   Цитата(_ea_ @ Aug 23 2009, 18:24) Не совс...   Aug 23 2009, 16:30
- - Xenia   Есть предложение получить суммы (или среднее) для ...   Aug 22 2009, 09:19
- - ivan219   А причём тут частота Найквиста? Нужно к примеру то...   Aug 23 2009, 09:59
- - bahurin   Цитата(ivan219 @ Aug 23 2009, 13:59) А пр...   Aug 23 2009, 10:14


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

 


RSS Текстовая версия Сейчас: 17th June 2025 - 18:18
Рейтинг@Mail.ru


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