Jump to content

    
Абырвалг

Помогите сориентироваться с FPGA под задачу

Recommended Posts

1 hour ago, Абырвалг said:

Входные сигналы в диапазоне 120 дБ сколькими битами цифровать?

Если учесть, что входная полоса после фильтрации и децимации сужается примерно в 10^5 раз, то окажется, что достаточно как раз 20 - 8 = 12-ти битного АЦП.

То есть, 8 дополнительных бит у вас получится просто в результате фильтрации помех вне полосы полезного сигнала.

:biggrin:

Share this post


Link to post
Share on other sites
17 minutes ago, blackfin said:

Если учесть, что входная полоса после фильтрации и децимации сужается примерно в 10^5 раз, то окажется, что достаточно: 20 - 7 = 13-ти битного АЦП.

То есть, 7 дополнительных бит у вас получится просто в результате фильтрации помех вне полосы полезного сигнала.

:biggrin:

Я, если честно, не понял что Вы написали.

Полезный сигнал может быть в диапазоне от 25 Гц до 200 кГц. Амплитудой от 0 дБ до -120 дБ. Как это сделать на 13-и битном АЦП я не понимаю. Причём низкие и высокие частоты иногда надо фильтровать одновременно. Сейчас, например, 50 Гц и 30 кГц вместе фильтруются.

Share this post


Link to post
Share on other sites

Я про вот это:

21 hours ago, Абырвалг said:

Первое -  просто полосовой фильтр. Сейчас это примерно 6 Гц по уровню -1 дБ, 46 Гц по уровню -120 дБ.

и, кроме того:

23 hours ago, Абырвалг said:

1) АЦП ... 500 кГц

 

Share this post


Link to post
Share on other sites
54 minutes ago, blackfin said:

Я про вот это:

Я легко признаю, что несколько туповат. Но я всё равно не понимаю. Можете объяснить "особо одарённым"?

Share this post


Link to post
Share on other sites
14 minutes ago, Абырвалг said:

Я легко признаю, что несколько туповат. Но я всё равно не понимаю. Можете объяснить "особо одарённым"?

Вот тут всё объясняют: Antialiasing Filtering Considerations for High Precision SAR Analog-to-Digital Converters

 

Просто подставьте в формулу (1) свои 120 dBFS:

 

120 = 6.02 * N + 1.76 + 10*log(5.0e+5/(2*6.0)).

 

Из этой формулы посчитаете необходимое кол-во "N" разрядов АЦП..

 

PS. Добавлю, что в вашем случае:

Fse - частота дискретизации.

BW - полоса полезного сигнала.

Share this post


Link to post
Share on other sites
18 minutes ago, blackfin said:

Вот тут всё объясняют: Antialiasing Filtering Considerations for High Precision SAR Analog-to-Digital Converters

 

Просто подставьте в формулу (1) свои 120 dBFS:

 

120 = 6.02 * N + 1.76 + 10*log(5.0e+5/(2*6.0)).

 

Из этой формулы посчитаете необходимое кол-во "N" разрядов АЦП..

 

PS. Добавлю, что в вашем случае:

Fse - частота дискретизации.

BW - полоса полезного сигнала.

Человек пишет,что у него 120 дБ на входе, а не на выходе. Разрядность на выходе нужно считать, dsp наверное ещё и в плавающей запятой считает? Частота дискретизации на выходе 12 Гц? Скорее всего больше.

Share this post


Link to post
Share on other sites

blackfin

BW - полоса полезного сигнала.

Полоса аналогового фильтра перед АЦП. Относительно неё выигрыш от оверсамплинга считается, а не от полосы полезного сигнала.

Share this post


Link to post
Share on other sites
4 hours ago, Абырвалг said:

...

Посмотрим.

...

Кстати, если хотите низкого потребления - можете посмотреть в сторону Microsemi. Их серия Smart Fusion2 вполне неплохая. Плюс встроенный CortexM3. Ну а низкое потребление - это одна из фич этого производителя.

Share this post


Link to post
Share on other sites
23 часа назад, blackfin сказал:

То есть, 8 дополнительных бит у вас получится просто в результате фильтрации помех вне полосы полезного сигнала.

:biggrin:

Все это хорошо, если только забыть про маленький нюанс: динамический диапазон АЦП определяется не только его шумом, но еще и его спурами. И внеполосную помеху мы конечно можем отфильтровать, но вот спуры от нее никуда не денутся... А для 12-и битного АЦП SFDR хорошо если 80...90дБ. И хоть обфильтруйся, но никаких 120дБ тут уже и рядом не стояло...

 

И да, у ТС от 0дБ до -120дБ это АМПЛИТУДА входного сигнала... И я не думаю, что человеку хватит одного разряда для дальнейшей обработки, даже если предположить, что каким-то чудом эти 8 дополнительных бит мы таки получили...

 

 

Share this post


Link to post
Share on other sites
1 час назад, Самурай сказал:

Все это хорошо, если только забыть про маленький нюанс: динамический диапазон АЦП определяется не только его шумом, но еще и его спурами. И внеполосную помеху мы конечно можем отфильтровать, но вот спуры от нее никуда не денутся...

Почему внеполосную помеху можно отфильтровать, а спуры от неё нет?

Share this post


Link to post
Share on other sites
4 минуты назад, Lmx2315 сказал:

Почему внеполосную помеху можно отфильтровать, а спуры от неё нет?

А как их отфильтровать, если они завернулись в рабочую полосу?

Share this post


Link to post
Share on other sites
On 9/10/2020 at 9:26 AM, Абырвалг said:

Да, тоже присматриваемся. Очень интересно смотрится. Только, вроде там похуже с софтом, отладками и сообществом?

если нет "фэйворит эфпга" то без разницы. софт, по-моему, чем-то похож на старый ксайлинский. 

все естестественно поскромнее, чем у ксайлинса/альтеры (она же интел), но если задача понятна и не особо модная, то может проще будет с освоением - все таки большие софтовые пакеты и глюками снаряжены поболе, и разобраться в какие кнопки жать посложнее

у микросеми/актела/микрочипа (это все одно и то же, если что) софт как-то странноват, не похоже на остальных плисоделовов. но у них и ПЛИС (проазик и его производные) были сильно непохожи, когда я с ними имел дело - современные семейства по железу у них стали более "мэйнстримовые", но что с софтом - не знаю, его переделать посложнее чем железо, по-моему

 

Share this post


Link to post
Share on other sites
On 9/9/2020 at 3:28 PM, _pv said:

вот на то что в ПЛИС будет менее жруче вообще не рассчитывал бы.

Минимальный Артикс жрёт в статике 100мА по 1В = 100мВт

Минимальный Спартан 6 жрёт в статике 4мА по 1.2В =  5мВт

Какое потребление нужно автору - не известно...

On 9/9/2020 at 3:38 PM, dmitry-tomsk said:

Ну, если не верится, что нужен 100t, то для старта нарисуйте в симулинке схему обработки из xilinx блоков для одного канала, он Вам и выдаст нужное число ресурсов. spartan-6 брать не стоит, средства проектирования новые его не поддерживают.

Зато Спартан 6 кушает меньше и есть не в BGA корпусе...

On 9/10/2020 at 10:23 AM, dmitry-tomsk said:

У Xilinx совместимость по пинам у чипов с разной плотностью, заложили 100, а потом улучшили схему до 25, устройство переделывать не нужно, а прибыль есть. Без трансиверов спартан-7 XC7S25-1FTGB196C 25 евро в розницу. Для цос arm не используют, только для запуска линукс, а тут он не нужен, для управления и микроблэйза за глаза хватит. Связка плис dsp и по производительности arm обгонит и по скорости разработки, так как у dsp есть готовые библиотеки для цос.

Новые Спартан 7 похоже получены полным выпиливанием GTP  из Артикса с GTP,  поэтому ещё и потребляют немного меньше Артикса без GTP...

On 9/9/2020 at 12:52 PM, MegaVolt said:

Учитывая входную частоту 500 кГц а частоту плис например 50 МГц (Spartan 6/7, artix)

На Артиксе у меня спокойно КИХ фильтры работают на частоте 400МГц с данными 24 бита и коэффициентами 18 бит...

Только если много коэффициентов - добавляются "объеденяющие разрядность" DSP.

Также, если надо усиление с ограничением, а не переполнением - подари DSP.

Share this post


Link to post
Share on other sites
On 9/9/2020 at 11:45 AM, Абырвалг said:

1) АЦП 24 бита, 500 кГц, 8 каналов одновременно.

 

On 9/9/2020 at 12:10 PM, Абырвалг said:

24 бита - принципиально. Последовательно. АЦП прикинули AK5578.

Если Вы думаете, что запустив этот АЦП с частотой семплирования 500кГц, получится 24 бита - то Вы ошибаетесь.

Там 24 бита не получается даже на 48кГц, RMS шума примерно -120dbFS у него с такой частотой дискретизации. И такого же порядка побочные продукты, где-то -120dBc.

А если сделать 500кГц, то ситуация ухудшается даже не на 20дБ, а на все 30, а то и 40.

 

Рекомендую все таки гетеродин, смеситель и оцифровку ПЧ с узкой полосой. Если смеситель на ключах сделать, то вполне 120дБ динамического диапазона можно получить без проблем.

 

PS Кстати, сдается мне, что это гидроакустика ;)

 

 

Share this post


Link to post
Share on other sites
On 9/10/2020 at 1:30 PM, blackfin said:

Вот тут всё объясняют:

Наконец получилось вернуться к вопросу.

Взял нынешний прибор, частота семплирования примерно 100 кГц, 24 бита. Отбросил младшие 14 бит, т.е. осталось 10 бит. Фильтр тот-же, с полосой пропускания 6 Гц.

По формуле шумы квантования должны уменьшится на 10*log(100k/2/6) = 39 дБ.

Подавал на вход сигнал в полосе, смотрел что на выходе. До -60 дБ линейность присутствует, дальше всё валится. Т.е. 10 бит работают, а как сигнал становится меньше младшего бита, на выход он почти не пролазит.

Возможно, если подмешивать шум, удалось бы получить больше 60 дБ. Но заниматься этим заведомо ухудшая характеристики, чтобы отказаться от 24 битного АЦП - безумие. Тем более 6 Гц только в одном режиме, в других полоса шире на порядки.

On 9/10/2020 at 1:55 PM, dmitry-tomsk said:

Человек пишет,что у него 120 дБ на входе, а не на выходе. Разрядность на выходе нужно считать, dsp наверное ещё и в плавающей запятой считает? Частота дискретизации на выходе 12 Гц? Скорее всего больше.

В целых числах.

On 9/10/2020 at 3:17 PM, nice_vladi said:

Кстати, если хотите низкого потребления - можете посмотреть в сторону Microsemi. Их серия Smart Fusion2 вполне неплохая. Плюс встроенный CortexM3. Ну а низкое потребление - это одна из фич этого производителя.

Сейчас два процессора: DSP и микроконтроллер. Хочется с добавлением FPGA от одного микроконтроллера отказаться, и один M3 тут не справится.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.