Перейти к содержанию
    

Надо в ПЛИС сжать поток сырых данных с АЦП

Здравствуйте, уважаемые граждане.

 

Когда-нибудь будет плата с АЦП и Kintex-7.

 

В одном из вариантов реализации будет очень желательно прокидывать сырые данные из АЦП в ПК через гигабит езернет.

Файл принимаемых сырых данных с аналогичного изделия отлично жмется зипом и раром.

 

Хотелось бы попробовать поставить какой-нибудь готовый блок в Кинтекс, чтобы жал данные БЕЗ ПОТЕРЬ.

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

 

Тему про радиоастрономов читал, но решил ее не поднимать, т.к. там размышления Великих о Великом.

А мне бы просто готовый(е) блок(и) в проект поставить, покидать туда данных и посмотреть, что из этого получится.

 

Соответственно, чтобы не распалять опять споры Великих о Великом, исходных данных не дам. Да и нет их у меня - плата в процессе производства.

 

Всем заранее спасибо за любые содержательные советы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тему про радиоастрономов читал, но решил ее не поднимать, т.к. там размышления Великих о Великом.

..

Всем заранее спасибо за любые содержательные советы.

а что это за тема - про радиоастрономов?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там задавался аналогичный вопрос про архивацию сырых данных для радиоастрономии. Легко ищется поиском.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

технически - засунуть процессор+память с зипом (zlib), раз им хорошо жмется

 

теоретически - арифметический кодер, с контекстом, например, номер бита в сэмпле

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

https://www.xilinx.com/products/intellectua...3.html#overview

https://opencores.org/project,lzrw1-compressor-core

 

т.е. для начала проверьте, как оно жмётся при помощи LZ77.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что только не придумают люди чтобы не делать 10G или PCI express :lol:

А что архиваторы имеют гарантированный процент сжатия для любых данных?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что архиваторы имеют гарантированный процент сжатия для любых данных?

для сильно коррелированных коими будут последовательные отчеты АЦП процент будет весьма хорошим.

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

Что, естественно, удобнее делать на процессоре, потому без него это лучше и не затевать.

 

Другое дело если вы знаете распределение своих данных, тогда можно закодировать наиболее часто появляющиеся значение наименее коротким кодом, в таком случае по готовой таблице данные можно будет обрабатывать на лету. Это алгоритм Хаффмана, посмотрите. В вашем случае это просто таблица замены. Где входному числу ставиться в соответствие код, тем короче чем чаще появляется число. В оригинале таблица частоты появления строится по полному массиву данных, в вашем случае можно попробовать ее спрогнозировать заранее. Вероятность успеха я думаю процентов 40.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Наша плата только для сильнокоррелированных данных дорогие пользователи" :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Данные с АЦП практически наверняка за счет фильтров будут сильно коррелированными.

Ну то есть даже если грубо брать 16 битный отсчет. Передавать его, а дальше передавать разность между текущим и предыдущим. Битность этой разности будет значительно меньше, потому что мгновенного изменения на АЦП ждать не стоит.

 

Можно расширить Н бит АЦП до Н+1. первый бит взять маркером, если он 0, то дальше Н бит с АЦП, если он 1, то дальше разность текущего и предыдущего, допустим размерности Н/2. Накладных расходов 1/Н, а в случае успеха почти в 2 раза зажатый поток.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно расширить Н бит АЦП до Н+1. первый бит взять маркером, если он 0, то дальше Н бит с АЦП, если он 1, то дальше разность текущего и предыдущего, допустим размерности Н/2. Накладных расходов 1/Н, а в случае успеха почти в 2 раза зажатый поток.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ах да, забыл. 200МГц АЦП :).

Процессор бы не хотелось...

Прямо точно нужно все 100МГц спектра после АЦП иметь внизу? Обычный даунсемплинг хотя бы раза в 4 помог бы решить проблему. Ну понятно что это не бесплатно - полоса тоже в 4 раза Уже будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Между соседними точками на 200 МГц, будет достаточно малое изменение для достаточно широких полос) сколько в цифрах прям так прикинуть не могу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно расширить Н бит АЦП до Н+1. первый бит взять маркером, если он 0, то дальше Н бит с АЦП, если он 1, то дальше разность текущего и предыдущего, допустим размерности Н/2. Накладных расходов 1/Н, а в случае успеха почти в 2 раза зажатый поток.
Изобретение велосипеда.

 

Перед Хаффманом можно использовать 1D DCT. Трудно представить что-то более эффективное.

Но, возможно, ТС хватит и дифференциальной ИКМ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что только не придумают люди чтобы не делать 10G или PCI express :lol:

..а 10g реально поднять новичку?

(Если новичёк аврору xilinx-ксовую к примеру поднимал.)

Или там нужен особый опыт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...