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

 
 
> FFT, работа с коркой FFT от ISE
NikSave
сообщение Jan 26 2014, 04:17
Сообщение #1


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

Группа: Участник
Сообщений: 87
Регистрация: 26-05-09
Пользователь №: 49 592



Вставил в проект корку FFT, принял данные (Im, Re). Построил спектр. Вроде все нормально, но спектр постоянно "прыгает". Что бы его угомонить приходиться очень сильно усреднять. Может есть какие тонкости в этом вопросе? Подскажите пожалуйста. И еще: как выявить гармонику символьной скорости и несущей частоты? Заранее спасибо за ответы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
NahaL
сообщение Jan 26 2014, 04:36
Сообщение #2


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

Группа: Свой
Сообщений: 85
Регистрация: 5-07-06
Из: Барнаул
Пользователь №: 18 592



Цитата(NikSave @ Jan 26 2014, 11:17) *
Вставил в проект корку FFT, принял данные (Im, Re). Построил спектр. Вроде все нормально, но спектр постоянно "прыгает". Что бы его угомонить приходиться очень сильно усреднять. Может есть какие тонкости в этом вопросе? Подскажите пожалуйста.

под "прыгает" я так понимаю резкое увеличение уровня шума. Такое часто случается в проектах , когда сигнал в окне "рвётся" (исказили/потеряли отсчёт). Какие настройки IP ядра используете? С округлением или без?
Цитата
И еще: как выявить гармонику символьной скорости и несущей частоты? Заранее спасибо за ответы.

А что за сигнал то на входе?
Go to the top of the page
 
+Quote Post
NikSave
сообщение Jan 26 2014, 04:57
Сообщение #3


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

Группа: Участник
Сообщений: 87
Регистрация: 26-05-09
Пользователь №: 49 592



Цитата(NahaL @ Jan 26 2014, 07:36) *
под "прыгает" я так понимаю резкое увеличение уровня шума. Такое часто случается в проектах , когда сигнал в окне "рвётся" (исказили/потеряли отсчёт). Какие настройки IP ядра используете? С округлением или без?

А что за сигнал то на входе?


Про уровень шума примерно Вы правы. IP работает без округления (кажется, сейчас не помню), radix-4 на переменное число точек (мах 32767), сигнал полосовой с оцифровокой почти 200 МГц, перед БПФ смешается в ноль, и фильтруется. Отсчеты идут в БПФ непрерывно на 100 МГц (I, Q). Так что на входе теряться нечему. На выходе все отсчеты подбираю (неоднократно проверял). Может это такая особенность данной корки?
Go to the top of the page
 
+Quote Post
NahaL
сообщение Jan 26 2014, 05:14
Сообщение #4


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

Группа: Свой
Сообщений: 85
Регистрация: 5-07-06
Из: Барнаул
Пользователь №: 18 592



radix-4 на сколько я помню не может работать непрерывно, ему надо время на обработку...
Попробуйте использовать Piplend. Может в этом проблема. А окно накладываете?
Go to the top of the page
 
+Quote Post
NikSave
сообщение Jan 26 2014, 06:09
Сообщение #5


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

Группа: Участник
Сообщений: 87
Регистрация: 26-05-09
Пользователь №: 49 592



Цитата(NahaL @ Jan 26 2014, 08:14) *
radix-4 на сколько я помню не может работать непрерывно, ему надо время на обработку...
Попробуйте использовать Piplend. Может в этом проблема. А окно накладываете?


Ну да непрерывно он работать не может. Но насколько я понимаю корка берет нужно число отсчетов и сама прекращает их принимать на время обработки. А данные на вход как подавались так и подаются. Или я неправ? И что значит накладываю окно. В смысле применяю оконную функцию? Тогда да. Но только к готовобу БПФ, уже в компютере перед выводом на экран спектра. Как это делается написано у Лайноса. И что насчет гармоник символьной и несущей - есть идеи?
Go to the top of the page
 
+Quote Post
gibson1980
сообщение Jan 28 2014, 05:07
Сообщение #6


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

Группа: Свой
Сообщений: 116
Регистрация: 13-12-12
Пользователь №: 74 831



Цитата(NikSave @ Jan 26 2014, 13:09) *
Ну да непрерывно он работать не может. Но насколько я понимаю корка берет нужно число отсчетов и сама прекращает их принимать на время обработки. А данные на вход как подавались так и подаются. Или я неправ?

Я делаю так, сбрасываю сигнал в 0, фильтрую CIC фильтром с децимацией 180, накапливаю в ОЗУ (2048 отсчетов) и запускаю FFT. Пока копится следующая пачка 2048, FFT успевает сам считать накопленные данные, просчитать, выдать результат, я его обрабатываю и так до следующей пачки, то есть сигнал у меня обрабатывается непрерывно...


--------------------
Go to the top of the page
 
+Quote Post
NikSave
сообщение Jan 28 2014, 14:29
Сообщение #7


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

Группа: Участник
Сообщений: 87
Регистрация: 26-05-09
Пользователь №: 49 592



Цитата(gibson1980 @ Jan 28 2014, 08:07) *
Я делаю так, сбрасываю сигнал в 0, фильтрую CIC фильтром с децимацией 180, накапливаю в ОЗУ (2048 отсчетов) и запускаю FFT. Пока копится следующая пачка 2048, FFT успевает сам считать накопленные данные, просчитать, выдать результат, я его обрабатываю и так до следующей пачки, то есть сигнал у меня обрабатывается непрерывно...


А зачем на входе ставить память? если после накопления нужного числа отсчетов он сам прекращает их принимать и начинает обработку. Если внимательно посмотреть описание FFT, то там есть возможность start повесить на еденицу и данные качать на вход непрерывно без буферной памяти. А вот память стоит повесить на выход что бы в нее записать на скорости обработки (высокой), а вот считать их уже на низкой (на скорости интерфейса. например PCI). Ну у меня так все реализовано.
Go to the top of the page
 
+Quote Post
gibson1980
сообщение Jan 28 2014, 15:07
Сообщение #8


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

Группа: Свой
Сообщений: 116
Регистрация: 13-12-12
Пользователь №: 74 831



Интересно, надо поразбираться. Но у меня накапливается не ровно 2048, а то больше то меньше (это сделано для подстройки по тактам, ДАПФ, БПФ надо стартовать с границы информации, за 1 такт инфы накапливается 4 БПФа), а вот на выходе да, инфа накапливается в ОЗУ для дальнейшего усреднения и обработки, всего 200 БПФов.
п.с. Кстати, во время работы БПФа, в твоем случае, может пропасть несколько следующих тактов, может это и отразится на спектре, тоже надо проверять, отчасти для этого я и ставил вх. буферное ОЗУ.
У меня после конвертора данные идут на тактовой 73 МГц, после СИСа с децимацией соответственно тактовая уже в 180 раз меньше, а пока БПФ будет их обрабатывать да еще на выход отправлять, пройдет уже не мало информации до старта следующего БПФа, может в этом у тебя и косяк, у меня это не заметно так как у меня инфа в виде ЧТ манипуляции, это обычные синусоидальные сигналы разнесенные на 20кГц, у меня просто вылазит маленькая палка, отстоящая на 20 кГц, но она мне и не мешает...

Сообщение отредактировал gibson1980 - Jan 28 2014, 15:18


--------------------
Go to the top of the page
 
+Quote Post
NikSave
сообщение Jan 29 2014, 15:20
Сообщение #9


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

Группа: Участник
Сообщений: 87
Регистрация: 26-05-09
Пользователь №: 49 592



Цитата(gibson1980 @ Jan 28 2014, 18:07) *
Интересно, надо поразбираться. Но у меня накапливается не ровно 2048, а то больше то меньше (это сделано для подстройки по тактам, ДАПФ, БПФ надо стартовать с границы информации, за 1 такт инфы накапливается 4 БПФа), а вот на выходе да, инфа накапливается в ОЗУ для дальнейшего усреднения и обработки, всего 200 БПФов.
п.с. Кстати, во время работы БПФа, в твоем случае, может пропасть несколько следующих тактов, может это и отразится на спектре, тоже надо проверять, отчасти для этого я и ставил вх. буферное ОЗУ.
У меня после конвертора данные идут на тактовой 73 МГц, после СИСа с децимацией соответственно тактовая уже в 180 раз меньше, а пока БПФ будет их обрабатывать да еще на выход отправлять, пройдет уже не мало информации до старта следующего БПФа, может в этом у тебя и косяк, у меня это не заметно так как у меня инфа в виде ЧТ манипуляции, это обычные синусоидальные сигналы разнесенные на 20кГц, у меня просто вылазит маленькая палка, отстоящая на 20 кГц, но она мне и не мешает...

Так что Вы усредняете БПФ по 200 выборкам БПФов? Если так то неслабо. Я усредняю примерно по 10-15 и при этом на экране спектр не очень живой. Правда я усреднение делаю уже программно на компьютере перед выводом на экран.
Go to the top of the page
 
+Quote Post
gibson1980
сообщение Jan 30 2014, 00:47
Сообщение #10


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

Группа: Свой
Сообщений: 116
Регистрация: 13-12-12
Пользователь №: 74 831



Цитата(NikSave @ Jan 29 2014, 22:20) *
Так что Вы усредняете БПФ по 200 выборкам БПФов? Если так то неслабо. Я усредняю примерно по 10-15 и при этом на экране спектр не очень живой. Правда я усреднение делаю уже программно на компьютере перед выводом на экран.

Ну да, просто у меня скорость инфы маленькая 50 Гц, а посылка 1с. и 4 БПФа на каждый символ инфы, получается 4*50=200, но это не усреднение а накопление. А однажды делал анализатор спектра на 50 МГц с разрешением 1 кГц, вот там была жесть выводить на экран 50000 отсчетов, а когда включал усреднение на 20 так вообще wacko.gif rolleyes.gif

Так вы пробовали входное буферное ОЗУ перед БПФ ставить? Кстати, усреднение лучше все таки делать в ПЛИС, у него скорость обработки гораздо выше нежели пачки 2048 (или сколько у вас) слать в комп и там еще обрабатывать...

Сообщение отредактировал gibson1980 - Jan 30 2014, 00:50


--------------------
Go to the top of the page
 
+Quote Post
NikSave
сообщение Feb 1 2014, 04:00
Сообщение #11


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

Группа: Участник
Сообщений: 87
Регистрация: 26-05-09
Пользователь №: 49 592



Цитата(gibson1980 @ Jan 30 2014, 03:47) *
Ну да, просто у меня скорость инфы маленькая 50 Гц, а посылка 1с. и 4 БПФа на каждый символ инфы, получается 4*50=200, но это не усреднение а накопление. А однажды делал анализатор спектра на 50 МГц с разрешением 1 кГц, вот там была жесть выводить на экран 50000 отсчетов, а когда включал усреднение на 20 так вообще wacko.gif rolleyes.gif

Так вы пробовали входное буферное ОЗУ перед БПФ ставить? Кстати, усреднение лучше все таки делать в ПЛИС, у него скорость обработки гораздо выше нежели пачки 2048 (или сколько у вас) слать в комп и там еще обрабатывать...

Нет пока не пробовал. Устройство уже серийное и нужно дождаться этапа модернизации. А размер пачки у меня 32767 отсчетов. А смысл делать усреднение в ПЛИС. Я же делаю БПФ, качаю в ПК, самый старый БПФ отбрасываю, усредняю, выважу на экран, снова качаю новый БПФ, старый отбрасываю, и т.д. Объем перекачаный данных не уменьшается.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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