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

 
 
> Вычисление спектра выборки, когда выборка больше, чем требуемое разрешение
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
petrov
сообщение Aug 22 2009, 10:20
Сообщение #5


Гуру
******

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



Цитата(bahurin @ Aug 22 2009, 13:45) *
Все таки это недостаток, так как алгоритм перестает быть универсальным и заставляет пользователя предварительно исследовать окна на предмет потерь гармоник сигнала. Кроме того из приведенных примеров явно следует, что уменьшается амплитуда гармоники при различных сглаживающих окнах.


От быстрого алгоритма можно абстрагироваться. Делаем преобразование в лоб, N синхронных гетеродинов сносят каждый свою частоту на нулевую, затем N FIR фильтров, затем прореживание в N раз, и чья вина что фильтры слишком узкие и пробелы в частотной области есть, быстрая реализация этого алгоритма здесь совершенно не при чём.



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


Perfect reconstruction банки фильтров для любых сигналов работают и не надо никакой априорной информации. Гипотетический Perfect reconstruction банк фильтров имеет 1024 FIR фильтра на 1024*4=4096 коэффициентов каждый, на выходе каждого фильтра сигнал прорежен в 1024 раза, входной блок в 4096 отсчётов на выходе будет представлен 4-мя блоками по 1024 отсчёта по которым может идеально точно восстановлен.
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
|||- - 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 Текстовая версия Сейчас: 21st June 2025 - 23:26
Рейтинг@Mail.ru


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