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

 
 
> FFT не для всех частот?
ataradov
сообщение Nov 12 2007, 20:40
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



Есть задача посторить спектр от сигнала (комлексного) оцифрованного с частотой 10 МГц (длинна выборки - 4096-32768 отсчетов). Но от этого спектра нужно только +/- 10 кГц. Но эти 10 кГц нужно иметь с достаточно большим разрешением (нужно хотя-бы 512 дискретов в частотной области).

Эта задача легко решается с помощью неполного DFT, но уж больно долго считается.

Я если честно не очень понимаю алгоритмы БПФ. Скажите пожалуйста можно-ли как-то аналогично БПФ ускорить вычисление вышеизложенной задачи или нет? Может предложите что-то свое?

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

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex255
сообщение Nov 13 2007, 06:26
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 450
Регистрация: 21-12-06
Пользователь №: 23 757



Цитата(Taradov Alexander @ Nov 12 2007, 23:40) *
Есть задача посторить спектр от сигнала (комлексного) оцифрованного с частотой 10 МГц (длинна выборки - 4096-32768 отсчетов). Но от этого спектра нужно только +/- 10 кГц. Но эти 10 кГц нужно иметь с достаточно большим разрешением (нужно хотя-бы 512 дискретов в частотной области).

Эта задача легко решается с помощью неполного DFT, но уж больно долго считается.

Я если честно не очень понимаю алгоритмы БПФ. Скажите пожалуйста можно-ли как-то аналогично БПФ ускорить вычисление вышеизложенной задачи или нет? Может предложите что-то свое?

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

Спасибо.

БПФ в Вашем случае поможет. ДПФ это 512*4096 условных отсчета, в БПФ это будет всего (4096/2)*log2(4096) - разность почти на 2 порядка. При этом на выходе в первом случае будет 512 отсчетов, а во втором - 4096. Никакой магии или потери информации здесь нет. Суть БПФ в том, что ядро преобразования (которая экспонента) циклично и одно его значение умножается на разные отсчеты. Остается лишь грамотно организовать процесс комбинирования.

Почитать о БПФ можно например здесь:
http://www.analog.spb.ru/
Go to the top of the page
 
+Quote Post
ataradov
сообщение Nov 13 2007, 06:48
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



Цитата(Alex255 @ Nov 13 2007, 09:26) *
Никакой магии или потери информации здесь нет.


Но дело в том, что нужно получить эти 4096 отсчетов на первые 10 кГц. А в случае простого БПФ эти отсчеты получатся на весь сигнал и расстояние между ними будет 10e6/4096 ~ 2.4 кГц. то-есть в интересующий диапазон попадет всего 5-6 отсчетов.

Производить децимацию нежелательно, так как децимационные фильтры приведут к потере части информации, а ее в этом случае и так почти нет.

Делается это все для определения допплеровской частоты в очень плохом принятом сигнале.
Go to the top of the page
 
+Quote Post
fontp
сообщение Nov 13 2007, 08:44
Сообщение #4


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(Taradov Alexander @ Nov 13 2007, 09:48) *
Но дело в том, что нужно получить эти 4096 отсчетов на первые 10 кГц. А в случае простого БПФ эти отсчеты получатся на весь сигнал и расстояние между ними будет 10e6/4096 ~ 2.4 кГц. то-есть в интересующий диапазон попадет всего 5-6 отсчетов.

Производить децимацию нежелательно, так как децимационные фильтры приведут к потере части информации, а ее в этом случае и так почти нет.

Делается это все для определения допплеровской частоты в очень плохом принятом сигнале.




Спектральное разрешение не зависит от способа анализа ( ДПФ или БПФ или регрессия или что ещё)

Оно зависит от длины блока данных по принципу неопределённости.

Поэтому всё, что можно сделать в рамках классического анализа - снести полосу в 0 и провести анализ спектра.



Если у Вас спект имеет сингулярность (ярко выраженный максимум) то, однако, точность не определяется частотным разрешением (бинами DFT), а может быть повышена путём интерполяции.

Например, здесь, но бывают и другие схемы
http://home.comcast.net/~kootsoop/EricJ2/index.htm
Здесь уже хорошо тем, что приведены матлабовские модельки


Насколько повышена, зависит от отношения сигнал/шум вблизи максимума. Обычно на порядок можно. Если шум достаточно белый, нет периодических помех, размер блока достаточно большой,
чтобы накопить приличный сигнал/шум. Устойчивость модели - на совести разработчика
Go to the top of the page
 
+Quote Post
ataradov
сообщение Nov 13 2007, 10:29
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



Цитата(fontp @ Nov 13 2007, 11:44) *
Спектральное разрешение не зависит от способа анализа ( ДПФ или БПФ или регрессия или что ещё)
Оно зависит от длины блока данных по принципу неопределённости.


Я возможно не понимаю чего-то. Вот сейчас сделано так: пришедшая выборка (4096-32767 отсчетов) перемножается с синусами частот от -10 до 10 кГц с шагом 50 Гц (в комплексном виде) и результат суммируется. По сути это фильтрация. Получется набор чисел - зависимость амплитуды от частоты.

Вот этот процесс и нужно ускорить. Сейчас перекрытие между окнами - половина длинны окна (иначе долго счтиается). Нужно - как можно меньше.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Taradov Alexander   FFT не для всех частот?   Nov 12 2007, 20:40
- - alex_os   Цитата(Taradov Alexander @ Nov 13 2007, 00...   Nov 13 2007, 06:13
|- - Taradov Alexander   Нашел ответ на свой вопрос: БПФ принципиально пред...   Nov 13 2007, 08:44
||- - fontp   Цитата(Taradov Alexander @ Nov 13 2007, 13...   Nov 13 2007, 10:35
||- - Taradov Alexander   Цитата(fontp @ Nov 13 2007, 13:35) Если т...   Nov 13 2007, 10:53
||- - Oldring   Цитата(Taradov Alexander @ Nov 13 2007, 13...   Nov 13 2007, 11:21
|- - alex_os   Цитата(Taradov Alexander @ Nov 13 2007, 10...   Nov 13 2007, 13:22
|- - Alex255   Цитата(Taradov Alexander @ Nov 13 2007, 09...   Nov 14 2007, 06:49
- - Santy   Цитата(Taradov Alexander @ Nov 13 2007, 00...   Nov 13 2007, 12:04
- - Саша Z   Может я неправильно понял вопрос, но ежели нужно у...   Nov 14 2007, 08:07
- - Ulysses   Цитата(Taradov Alexander @ Nov 12 2007, 22...   Nov 14 2007, 13:30
|- - Taradov Alexander   Спасибо всем. Помоделировал - действительно CIC фи...   Nov 14 2007, 15:02
- - vladr   Цитата(Taradov Alexander @ Nov 12 2007, 22...   Dec 5 2007, 10:55


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 20:55
Рейтинг@Mail.ru


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