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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Хочу построить КВ трансивер на ПЛИС, что для этого нужно?
Genadi Zawidowsk...
сообщение Oct 15 2015, 18:23
Сообщение #16


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Кто бы присоединился к разработке? Из животрепещущих проблем - разработать FIR фильтр для разрядностей больше чем 32.
to Aleksandr Vihorev: письмо отправил

Сообщение отредактировал Genadi Zawidowski - Oct 15 2015, 18:24
Go to the top of the page
 
+Quote Post
Timmy
сообщение Oct 16 2015, 08:22
Сообщение #17


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(Genadi Zawidowski @ Oct 15 2015, 21:23) *
Кто бы присоединился к разработке? Из животрепещущих проблем - разработать FIR фильтр для разрядностей больше чем 32.
to Aleksandr Vihorev: письмо отправил
Интересно, для понадобился такой точный фильтр?
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Oct 16 2015, 08:30
Сообщение #18


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Сейчас фильтр со входной разрядностью 32 бита (ограничено используемой IP FIR COMPILER).
1) АРУ сделано за фильтром, приблизительно 90 дБ. Хотелось чуть-чуть больше.
2) хотелось отодвинуть шумы округления подальше. Хоть на 4 разряда.

Для обработки таких данных возможно будет уже использоваться CPU с аппаратной поддержкой 64-bit плавучки. Соответственно, преобразование целочисленных в double будет перенесено в FPGA.

Это "хотелки" не моделировались.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Oct 16 2015, 08:52
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(Genadi Zawidowski @ Oct 16 2015, 11:30) *
Сейчас фильтр со входной разрядностью 32 бита (ограничено используемой IP FIR COMPILER).
1) АРУ сделано за фильтром, приблизительно 90 дБ. Хотелось чуть-чуть больше.
2) хотелось отодвинуть шумы округления подальше. Хоть на 4 разряда.

Для обработки таких данных возможно будет уже использоваться CPU с аппаратной поддержкой 64-bit плавучки. Соответственно, преобразование целочисленных в double будет перенесено в FPGA.

Если плясать от входных данных, например, у нас 100МГц АЦП 16 бит. Понизив частоту на CIC звене до 1КГц, мы повысим точность сигнала в sqrt(100000)->330 раз, то есть добавится примерно 8 бит - всего будет 24. 32 бита тут проходят с большим запасом точности.
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение Oct 16 2015, 10:11
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Цитата
АРУ сделано за фильтром, приблизительно 90 дБ. Хотелось чуть-чуть больше

Genadi, а какая у Вас полоса пропускания фильтра, который 32 бита и стоит перед АРУ?
Что-то 90 дБ уж очень маленькая цифра, должно быть 110..120 дБ.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Oct 16 2015, 10:24
Сообщение #21


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



ФНЧ сформирован в FPGA, меняет полосу от 50 до 6000 герц. При 48 кГц sample rate от CIC и 961 порядке нормально получается частота среза ФНЧ от 100 герц.

Сообщение отредактировал Genadi Zawidowski - Oct 16 2015, 10:27
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение Oct 16 2015, 10:53
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Цитата
нормально получается частота среза ФНЧ от 100 герц.

Значит полоса приема для комплексного сигнала будет 200 Гц.
Допустим, у Вас частота дискретизации 100 МГц (кстати, сколько на самом деле?) и АЦП имеет SNR=80 дБ.
Тогда SNR на выходе фильтра будет 80 + 10*Log(50000/0.2) = 134 дБ.
Для такого динамического диапазона будет достаточно (134/6) + 2 = 24 разряда.
Если не хватает 32-х разрядов, значит проблема лежит не там где Вы ее ищите.
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение Oct 16 2015, 13:36
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



У меня в одном старом приемнике для полосы 3.1 кГц было сделано АРУ на диапазон 111 дБ при отклонении амплитуды на выходе не более чем на 0.2 дБ.
На вход АРУ поступал 26-битный комплексный сигнал. Никаких 32-х бит и тем более float, double не было и в помине.
Go to the top of the page
 
+Quote Post
diwil
сообщение Oct 16 2015, 14:36
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Я тоже пробовал и сделал.

НО! дешево _не_ _получится_.

У меня на то, что на картинке ушло сильно больше денег - раз в 10 больше, чем изначально планирует автор.
При этом весь код написан самостоятельно.
И АЦП (2208 известного производителя) куплено за 800рэ.
и изернета нет (ибо автомобильный вариант)

Так что рассчитывать, по моему опыту, надо на примерно $700-800 , при условии, что все получится с первого раза.



Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Oct 16 2015, 20:54
Сообщение #25


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



АЦП тактируется 122.88 МГц или 100 МГц. CIC на 2560 - до 48 кГц.
Цитата
У меня в одном старом приемнике для полосы 3.1 кГц было сделано АРУ на диапазон 111 дБ при отклонении амплитуды на выходе не более чем на 0.2 дБ.
На вход АРУ поступал 26-битный комплексный сигнал. Никаких 32-х бит и тем более float, double не было и в помине.

Использую два режима АРУ - описанный Вами "плоский" и"спортивный" - с нормированным приращением выходного сигнала на изменение входного - на 10 дБ изменения с антенны - 1 дБ изменения выходного.
В основном канале - спортивный, в дополнительном - плоский. Для АМ - всегда плоский.
Обработка сигнала (перенос на звуковую частоту) делается целочисленными операциями, АРУ использует float.

зы: вот оказыается сколько нас - тех, которые хотят построить трансивер (или приёмник) на ПЛИС!

Вот вопрос - а где я ошибаюсь, пркидывая возможный диапазон регулировки как разность разрядности выхода FIR фильтра и разрядности аудикодека?
И по комплектующим - сейчас использую кодек TLV320AIC23, кто что скажет про NAU8822L (NAU8822A)?

Сообщение отредактировал Genadi Zawidowski - Oct 16 2015, 20:56
Go to the top of the page
 
+Quote Post
One
сообщение Oct 17 2015, 05:53
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 451
Регистрация: 29-01-06
Из: Питер
Пользователь №: 13 728



Цитата(Genadi Zawidowski @ Oct 16 2015, 23:54) *
... вот оказыается сколько нас - тех, которые хотят построить трансивер (или приёмник) на ПЛИС!
...

bb-offtopic.gif а сколько еще только просматривает тему ...
Go to the top of the page
 
+Quote Post
diwil
сообщение Oct 17 2015, 18:03
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Цитата(Genadi Zawidowski @ Oct 16 2015, 23:54) *
Вот вопрос - а где я ошибаюсь, пркидывая возможный диапазон регулировки как разность разрядности выхода FIR фильтра и разрядности аудикодека?
И по комплектующим - сейчас использую кодек TLV320AIC23, кто что скажет про NAU8822L (NAU8822A)?


скорее всего в том, что разрядность ЦАП звукового кодека и фильтра не имееют ничего общего.
далее вопрос - с какой целью делать АРу?
облегчить жизнь детектору? ему в цифре легче не станет.
Лучше слышать? тогда АРУ дОлжно быть после детектора, включающего шумодав и воис активити детектор.
Т.е. глубина АРУ может быть любой, но легче в смысле S/N не станет. Главно чтобы слышно было. Т.е. делать продетектированный сигнал в полный размах аудио ЦАПа.

и еще - бит эдак 20и хватит для всего. Не надо думать о 32х. Ибо, даже 24 бита, при макс размахе на входе ацп 2В дадут -182дБм на 50 Ом на 1Гц. дальше, думаю, понятно...

Go to the top of the page
 
+Quote Post
Aleksandr Vihore...
сообщение Oct 17 2015, 22:21
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 12-01-15
Пользователь №: 84 516



Цитата(Genadi Zawidowski @ Oct 15 2015, 19:23) *
Кто бы присоединился к разработке? Из животрепещущих проблем - разработать FIR фильтр для разрядностей больше чем 32.
to Aleksandr Vihorev: письмо отправил

Письмо пришло, ссылка тоже открылась. Только я пока еще только разбираюсь в приемах работы с ПЛИС, для меня важен не столько сам радиотракт, сколько разобраться и научиться выполнять на ПЛИС хоть какие-нибудь устройства. Хотя бы низкочастотный сигнальный процессор радиотракта - поэтому стараюсь обходиься без визардов и писать код самостоятельно. Я, правда выбрал Xilinx - приобрел программатор и сами микросхемы

Насколько я понимаю, исходя из поих познаний - разработать модуль на разрядность более 32 - это "собрать"его составляющие - умножители, сумматоры и т.д. из отдельных логических элементов. Я приобрел книгу по VHDL - там примеры разбирались именно в таком ключе. Автор - Бибило. Правда, такое построение громоздко, наверно. Ну и конечно я немного охренел, увидев, что то, что описано в книге отличается от приемов работы в ise, но это, наверно обычное дело. Хотя бы то, что нужно преобразовывать векторы в переменные, а библиотеки для этого по умолчанию подключаются не те. Занятие оказалось трудоемким. Пока нужный ответ в интернете найдешь

Сообщение отредактировал Aleksandr Vihorev - Oct 17 2015, 22:30
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Oct 17 2015, 22:25
Сообщение #29


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



На мой взгляд, если знаете чего хотите получить от визарда - вполне можно пользоваться.
Хотите писать на VHDL - соединяйте сгенерированные визардами блоки в обрабатывающий тракт.
Да хоть SPI SLAVE напишите... А написание триггера (или сдвигового регистра) из логических элементов просто перегрузит разработчика - это ответ про громоздкость. Тем более что тут триггер это уже существующий базовый элемент.

Сообщение отредактировал Genadi Zawidowski - Oct 17 2015, 22:35
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Oct 17 2015, 22:31
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



VHDL и библиотеки - это известный дракон... И он многоглавый, потом еще конфликты между библиотеками пойдут и прочееsm.gif.... как то реально не с того конца вы начали, ну да ладно... все же лучше чем водку питьwink.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:53
Рейтинг@Mail.ru


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