|
|
 |
Ответов
|
Apr 20 2012, 12:48
|

Voltage Control Output
     
Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436

|
Цитата(petrov @ Apr 20 2012, 13:13)  Почему же не вариант на лету считать, ресурсов то в FPGA более чем достаточно? Если применительно к этой задаче, без перспективы на развитие, то да, может быть, я не считал. А если для шага в доли Герца, как в классическом DDS, то скорее всего - нет. Рассчёт на лету - это специальное АЛУ с кучей задержек и триггеров, курочка по зёрнышку и ... Хотя и здесь могу быть неправ, я такое АЛУ никогда не считал. Цитата(khach @ Apr 20 2012, 12:47)  Вожусь с подобной задачей - время перестройки подобное, но бюджет жмет. Вопрос. Кто-нибудь реализовывал управление АД9913 по параллельной шине STM32 используя DMA? Как то хотелось бы обойтись без ПЛИС для логики склейки двух разных параллельных интерфейсов. Я бы смоделировал на ПЛИС мост между интерфейсами, а затем распечатал бы получившуюся схему на логике и перевёл бы на стандартную логику. Такой вариант приемлем? Если нет, то в Вашем случае нужно этот же вопрос задать в ветке по STM32 или ARM.
Сообщение отредактировал VCO - Apr 20 2012, 13:05
--------------------
Слово - не воробей, вылетит - не пощадит
|
|
|
|
|
Apr 20 2012, 16:20
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(VCO @ Apr 20 2012, 16:48)  Если применительно к этой задаче, без перспективы на развитие, то да, может быть, я не считал. А если для шага в доли Герца, как в классическом DDS, то скорее всего - нет. Рассчёт на лету - это специальное АЛУ с кучей задержек и триггеров, курочка по зёрнышку и ... Хотя и здесь могу быть неправ, я такое АЛУ никогда не считал. Доли герца здесь не при чём, разрядность фазового аккумулятора практически любую сделать можно. Для 16 бит ЦАПа достаточно будет таблицы на 256 значений четверти периода синуса(точнее две таких таблицы двух портовых, чтобы за такт выборку делать) и параболического интерполятора Farrow (два умножителя и восемь сумматоров), максимальная ошибка интерполяции синуса будет меньше четверти младшего разряда, в общем пустяки для FPGA.
|
|
|
|
|
Apr 20 2012, 16:52
|

Voltage Control Output
     
Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436

|
Цитата(petrov @ Apr 20 2012, 19:20)  Доли герца здесь не при чём, разрядность фазового аккумулятора практически любую сделать можно. Для 16 бит ЦАПа достаточно будет таблицы на 256 значений четверти периода синуса(точнее две таких таблицы двух портовых, чтобы за такт выборку делать) и параболического интерполятора Farrow (два умножителя и восемь сумматоров), максимальная ошибка интерполяции синуса будет меньше четверти младшего разряда, в общем пустяки для FPGA. Видете ли тов. Петров, я, СВЧист - Иван Помидоров, с Вами несогласен в принципе! Два в десятой степени - 1024, а это примерно динамика в 60 дБ по напряжению. Для 90 дБ по мощи можете смело брать вдвое более крутой 16-битовый АЦП(ЦАП), после чего ваши расчёты надо пересчитывать, имхо...
Сообщение отредактировал VCO - Apr 20 2012, 17:02
--------------------
Слово - не воробей, вылетит - не пощадит
|
|
|
|
|
Apr 20 2012, 17:51
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(VCO @ Apr 20 2012, 20:52)  Видете ли тов. Петров, я, СВЧист - Иван Помидоров, с Вами несогласен в принципе! Два в десятой степени - 1024, а это примерно динамика в 60 дБ по напряжению. Для 90 дБ по мощи можете смело брать вдвое более крутой 16-битовый АЦП(ЦАП), после чего ваши расчёты надо пересчитывать, имхо... Не торопитесь, Иван, остальные значения между этими 1024-мя вычисляются просто и с достачной точностью интерполятором.
|
|
|
|
|
Apr 22 2012, 00:13
|

Voltage Control Output
     
Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436

|
Цитата(petrov @ Apr 20 2012, 20:51)  Не торопитесь, Иван, остальные значения между этими 1024-мя вычисляются просто и с достачной точностью интерполятором. А хвост к этим 1024 значениям для дополнения их до 16 разрядов Вы по какой формуле будете рассчитывать? Прежде чем интерполировать и апроксимировать, мы должны заручиться необходимой и достаточной точностью. Или же здесь мы сбились с рандомизации на интерполяцию, или имеем слишком разные представления о динамике. В моём понимании динамический диапазон синтезатора определяется разницей между уровнем выходного сигнала и уровнем побочных негармонических спектральных составляющих, в просторечии "спур", выраженной в дБ. Чем выше разрядность ЦАП, тем ниже спуры. Но и значение, отправленное на ЦАП должно быть рассчитано достаточно точно, иначе мы умышленно исказим форму синуса. Предположим, что вы оставшиеся 6 бит рандомизируете, хотя для снижения спур это нужно делать с младшими 2-3 битами, иначе фазовый шум угробите. Эти 6 бит должны по нормальному закону болтаться около какого-то значения. Какого? Может я чего-то и не понимаю, но мне кажется, что математика синтезированного DDS, как и ЦАП, должна быть 16-разрядной для достижения динамического диапазона 90 дБ. Если ошибаюсь, то буду благодарен за разъяснение.
--------------------
Слово - не воробей, вылетит - не пощадит
|
|
|
|
|
Apr 22 2012, 10:01
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(VCO @ Apr 22 2012, 04:13)  А хвост к этим 1024 значениям для дополнения их до 16 разрядов Вы по какой формуле будете рассчитывать? Какой хвост? Храним 1024 16-ти битных значений одного периода синуса, с фазового аккумулятора старшие 10 бит адресуют из таблицы 4 ближайших к нужному отсчёту значения, часть младших бит аккумулятора управляет параболическим интерполятором, который по четырём ближайшим отсчётам вычисляет промежуточное значение с 16 бит точностью, в итоге нет нужды в огромных таблицах которые не помещаются в FPGA, а результат тот же самый. Цитата(VCO @ Apr 22 2012, 04:13)  Или же здесь мы сбились с рандомизации dithering - это другое. Вообще можно очень интересные штуки сделать, прыгнуть за разрядность ЦАПа, сделать перестраиваемый noise shaping, на выходе ЦАПа переключаемые полосовые фильтры, которые давят перераспределённый шум квантования.
|
|
|
|
|
Apr 22 2012, 10:34
|
Гуру
     
Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741

|
Цитата(petrov @ Apr 22 2012, 12:01)  Храним 1024 16-ти битных значений одного периода синуса, с фазового аккумулятора старшие 10 бит адресуют из таблицы 4 ближайших к нужному отсчёту значения, часть младших бит аккумулятора управляет параболическим интерполятором, который по четырём ближайшим отсчётам вычисляет промежуточное значение с 16 бит точностью, в итоге нет нужды в огромных таблицах которые не помещаются в FPGA, а результат тот же самый. А успеем вычитать 4 значения из таблицы на скорости, близкой к максимальной тактовой? А то тут напрашивается какая-то широкая шина или интерлив банков. Вообщем, хотелось бы глянуть хотя бы на отчет по результатам синтеза такого проекта,особенно интересна максимальная частота. Цитата(Dr.Drew @ Apr 22 2012, 12:14)  А про умножение петлёй я вообще не говорил - только прямым методом. А чем плохо умножится на 2 или 4 с петлей с ФД на частоте ДДС? Петля быстрая, зато дальние спуры и найквисты отсекаются. А в последнее время неплохо показал себя квадратурный VCO в умножителе - очень приятно работать с однополосными смесителями при наличии уже готовых квадратур на выходе VCO.
|
|
|
|
|
Apr 23 2012, 02:44
|

Voltage Control Output
     
Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436

|
Цитата(petrov @ Apr 22 2012, 14:28)  Например в циклонах четвёртых встроенные блоки памяти 2-х портовые, два блока памяти потребуется для 4-х значений, работать будут на максимальной тактовой, более 300 МГц для самых быстрых кристаллов. Интерполятор можно конвейеризировать, добиться максимально возможной тактовой. Вообще, многоядерность здесь подразумевается априори, тут даже 7-го Вёртэкса мало для одноядерного синтеза. С 1024 16-разрядными значениями идею понял, видимо это я сбился. Но 300 МГц - не айс, этого слишком мало для DDS. Сейчас речь идёт о 1-2 ГГц. Такие тактовые частоты пока недоступны современным ПЛИС с таким серьёзным проектом, пока - до 1 ГГц. Выход только в многоядерности и грамотном тактировании ядер, серьёзная задача не только для ПЛИСвода, ко и для радиоинженера-синтезаторщика, который будет организовывать тактирование ядер. Одному человеку такой проект трудно поднять! Что касаемо прыжка за пределы теоретического динамического диапазона ЦАП, то в теме по 16-разрядному DDS было предложено не только младшие биты значения, отправляемого на ЦАП, но и тактовую частоту рандомизировать вокруг основного значения. Если это удастся сделать, уйдём от комбинационных спур, образующихся в результате биений между выходным сигналом и тактовой частотой. Вопрос только в том, какой ценой? Во всяком случае речь о том, что ЦАП должен быть обязательно 16-разрядным уже не стоит так остро, просто передовые 16-разрядники соответствуют реальным тактовым частотам передовых ПЛИС, да и современные тенденции интегрального построения DDS устремлены к увеличению разрядности (лучшие образцы - 14-разрядные).
Сообщение отредактировал VCO - Apr 23 2012, 02:48
--------------------
Слово - не воробей, вылетит - не пощадит
|
|
|
|
Сообщений в этой теме
тяжкий Вопрос к построению синтезатора Apr 18 2012, 22:30 Aner Смотрите в сторону DDS. Apr 18 2012, 22:45 khach Двухпетлевой или гибридный синтез. Одна из петель ... Apr 19 2012, 08:20 VCO Есть предложение сразу прочитать тему от начала до... Apr 19 2012, 08:56 Dr.Drew Шумы, уровни побочных спектральных составляющих ка... Apr 19 2012, 12:27 тяжкий ЦитатаЕсть предложение сразу прочитать тему от нач... Apr 19 2012, 21:44 VCO Цитата(тяжкий @ Apr 20 2012, 00:44) По шу... Apr 20 2012, 05:46 Dr.Drew Тут для скорости нужен ДДС с РАМ типа 9910, но у н... Apr 20 2012, 06:00 khach Цитата(Dr.Drew @ Apr 20 2012, 08:00) Тут ... Apr 20 2012, 07:46 VCO Да, забыл ещё одну ссылку дать, тоже может оказат... Apr 20 2012, 09:17 petrov Цитата(VCO @ Apr 20 2012, 13:17) По теме:... Apr 20 2012, 10:13 khach Вожусь с подобной задачей - время перестройки под... Apr 20 2012, 09:47 Aner Цитата(khach @ Apr 20 2012, 12:47) Вожусь... Apr 20 2012, 19:35 Dr.Drew Цитата(khach @ Apr 20 2012, 11:46) RAM по... Apr 22 2012, 10:14 Dr.Drew Цитата(khach @ Apr 22 2012, 14:34) А чем ... Apr 23 2012, 04:06 khach Цитата(Dr.Drew @ Apr 23 2012, 06:06) А за... Apr 23 2012, 08:15  mw_duk Цитата(khach @ Apr 23 2012, 12:15) Можно ... Oct 13 2012, 18:18 VCO Я также как и Dr.Drew считаю, что фильтровать петл... Apr 23 2012, 09:02 RAD1ST Здравствуйте.
Подниму тему годовой давности.
Пост... Dec 23 2013, 07:54 VCO Цитата(RAD1ST @ Dec 23 2013, 10:54) Что н... Dec 24 2013, 04:44  RAD1ST Цитата(VCO @ Dec 24 2013, 08:44) Это же у... Dec 24 2013, 07:23   VCO Цитата(RAD1ST @ Dec 24 2013, 10:23) Спаси... Dec 24 2013, 09:17    RAD1ST Цитата(VCO @ Dec 24 2013, 13:17) Да, я та... Dec 24 2013, 10:34     VCO Цитата(RAD1ST @ Dec 24 2013, 13:34) А чем... Dec 24 2013, 11:36      RAD1ST Цитата(VCO @ Dec 24 2013, 15:36) Это от ж... Dec 24 2013, 13:55       VCO Цитата(RAD1ST @ Dec 24 2013, 16:55) Смотр... Dec 25 2013, 03:49        RAD1ST Цитата(VCO @ Dec 25 2013, 07:49) Из наших... Jan 14 2014, 11:18         ledum А смысл? Любой нормальный опорник имеет собственны... Jan 14 2014, 11:57          RAD1ST Цитата(ledum @ Jan 14 2014, 15:57) А смыс... Jan 16 2014, 08:51           ledum Цитата(RAD1ST @ Jan 16 2014, 10:51) До эт... Jan 16 2014, 11:02            RAD1ST Цитата(ledum @ Jan 16 2014, 15:02) А поче... Jan 17 2014, 04:13             VCO Цитата(RAD1ST @ Jan 17 2014, 07:13) У мен... Jan 17 2014, 05:05              RAD1ST Цитата(VCO @ Jan 17 2014, 09:05) Иногда в... Jan 17 2014, 07:34              ledum Цитата(VCO @ Jan 17 2014, 07:05) Иногда в... Jan 17 2014, 08:45               VCO Цитата(ledum @ Jan 17 2014, 11:45) Там ке... Jan 17 2014, 10:33 pfc у нас стабильно возбуждались LТ1763 на повышенных ... Jan 17 2014, 11:14
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|