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

Вопрос к построению синтезатора

Видете ли тов. Петров, я, СВЧист - Иван Помидоров, с Вами несогласен в принципе! Два в десятой степени - 1024, а это примерно динамика в 60 дБ по напряжению. Для 90 дБ по мощи можете смело брать вдвое более крутой 16-битовый АЦП(ЦАП), после чего ваши расчёты надо пересчитывать, имхо...

 

Не торопитесь, Иван, остальные значения между этими 1024-мя вычисляются просто и с достачной точностью интерполятором.

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


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

Вожусь с подобной задачей - время перестройки подобное, но бюджет жмет. Вопрос. Кто-нибудь реализовывал управление АД9913 по параллельной шине STM32 используя DMA? Как то хотелось бы обойтись без ПЛИС для логики склейки двух разных параллельных интерфейсов.

Делали оценку для одного заказчика, STM32 тянет без проблем.

 

Видете ли тов. Петров, я, СВЧист - Иван Помидоров, с Вами несогласен в принципе! Два в десятой степени - 1024, а это примерно динамика в 60 дБ по напряжению. Для 90 дБ по мощи можете смело брать вдвое более крутой 16-битовый АЦП(ЦАП), после чего ваши расчёты надо пересчитывать, имхо...

~ 6 дБ/разряд, правда ваша, 60дБ получаеться если в лоб. Фокус в том, что пользуясь мат. аппаратом, умножением например, мы увеличиваем разрядность в два раза. Интерполируя и тд приходим к 120дБ. Множим динамику на два. (Вот бы как на три помножить?!)

Давно как правда, даже проверенная. Но там свои заморочки начинаются.

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


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

Не торопитесь, Иван, остальные значения между этими 1024-мя вычисляются просто и с достачной точностью интерполятором.

А хвост к этим 1024 значениям для дополнения их до 16 разрядов Вы по какой формуле будете рассчитывать?

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

Или же здесь мы сбились с рандомизации на интерполяцию, или имеем слишком разные представления о динамике.

В моём понимании динамический диапазон синтезатора определяется разницей между уровнем выходного сигнала и уровнем побочных негармонических спектральных составляющих, в просторечии "спур", выраженной в дБ. Чем выше разрядность ЦАП, тем ниже спуры. Но и значение, отправленное на ЦАП должно быть рассчитано достаточно точно, иначе мы умышленно исказим форму синуса. Предположим, что вы оставшиеся 6 бит рандомизируете, хотя для снижения спур это нужно делать с младшими 2-3 битами, иначе фазовый шум угробите. Эти 6 бит должны по нормальному закону болтаться около какого-то значения. Какого?

Может я чего-то и не понимаю, но мне кажется, что математика синтезированного DDS, как и ЦАП, должна быть 16-разрядной для достижения динамического диапазона 90 дБ. Если ошибаюсь, то буду благодарен за разъяснение.

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


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

А хвост к этим 1024 значениям для дополнения их до 16 разрядов Вы по какой формуле будете рассчитывать?

 

Какой хвост? Храним 1024 16-ти битных значений одного периода синуса, с фазового аккумулятора старшие 10 бит адресуют из таблицы 4 ближайших к нужному отсчёту значения, часть младших бит аккумулятора управляет параболическим интерполятором, который по четырём ближайшим отсчётам вычисляет промежуточное значение с 16 бит точностью, в итоге нет нужды в огромных таблицах которые не помещаются в FPGA, а результат тот же самый.

 

Или же здесь мы сбились с рандомизации

 

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

 

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


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

RAM поможет только если закон перестройки заранее известен. Был бы линейный свип по частоте- все было бы проще- многие ДДС имеют блок аппаратного свипа. Но т.к диапазон перестройки по ТЗ 625 Мгц то одним ДДС тут не обойтись. А если ддс будет умножаться локальной петлей на 2 или 3, а только потом смешиваться с опорой, при такой скорости перестройки имело бы смысл сделать два блока ДДС в интерливе. Т.е один держит частоту, второй- программируется в это время и перестраивает локальную быструю ФАПЧ или фильтры переключает. Потом ДДС1 и ДДС2 меняются местами.

Не факт. Можно же и по РАМу быстро пробежать и в нужной точке остановить. А про умножение петлёй я вообще не говорил - только прямым методом.

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


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

Храним 1024 16-ти битных значений одного периода синуса, с фазового аккумулятора старшие 10 бит адресуют из таблицы 4 ближайших к нужному отсчёту значения, часть младших бит аккумулятора управляет параболическим интерполятором, который по четырём ближайшим отсчётам вычисляет промежуточное значение с 16 бит точностью, в итоге нет нужды в огромных таблицах которые не помещаются в FPGA, а результат тот же самый.

А успеем вычитать 4 значения из таблицы на скорости, близкой к максимальной тактовой? А то тут напрашивается какая-то широкая шина или интерлив банков. Вообщем, хотелось бы глянуть хотя бы на отчет по результатам синтеза такого проекта,особенно интересна максимальная частота.

А про умножение петлёй я вообще не говорил - только прямым методом.

А чем плохо умножится на 2 или 4 с петлей с ФД на частоте ДДС? Петля быстрая, зато дальние спуры и найквисты отсекаются. А в последнее время неплохо показал себя квадратурный VCO в умножителе - очень приятно работать с однополосными смесителями при наличии уже готовых квадратур на выходе VCO.

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


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

А успеем вычитать 4 значения из таблицы на скорости, близкой к максимальной тактовой? А то тут напрашивается какая-то широкая шина или интерлив банков. Вообщем, хотелось бы глянуть хотя бы на отчет по результатам синтеза такого проекта,особенно интересна максимальная частота.

 

Например в циклонах четвёртых встроенные блоки памяти 2-х портовые, два блока памяти потребуется для 4-х значений, работать будут на максимальной тактовой, более 300 МГц для самых быстрых кристаллов. Интерполятор можно конвейеризировать, добиться максимально возможной тактовой.

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


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

Например в циклонах четвёртых встроенные блоки памяти 2-х портовые, два блока памяти потребуется для 4-х значений, работать будут на максимальной тактовой, более 300 МГц для самых быстрых кристаллов. Интерполятор можно конвейеризировать, добиться максимально возможной тактовой.

Вообще, многоядерность здесь подразумевается априори, тут даже 7-го Вёртэкса мало для одноядерного синтеза. С 1024 16-разрядными значениями идею понял, видимо это я сбился. Но 300 МГц - не айс, этого слишком мало для DDS. Сейчас речь идёт о 1-2 ГГц. Такие тактовые частоты пока недоступны современным ПЛИС с таким серьёзным проектом, пока - до 1 ГГц. Выход только в многоядерности и грамотном тактировании ядер, серьёзная задача не только для ПЛИСвода, ко и для радиоинженера-синтезаторщика, который будет организовывать тактирование ядер. Одному человеку такой проект трудно поднять!

 

Что касаемо прыжка за пределы теоретического динамического диапазона ЦАП, то в теме по 16-разрядному DDS было предложено не только младшие биты значения, отправляемого на ЦАП, но и тактовую частоту рандомизировать вокруг основного значения. Если это удастся сделать, уйдём от комбинационных спур, образующихся в результате биений между выходным сигналом и тактовой частотой. Вопрос только в том, какой ценой? Во всяком случае речь о том, что ЦАП должен быть обязательно 16-разрядным уже не стоит так остро, просто передовые 16-разрядники соответствуют реальным тактовым частотам передовых ПЛИС, да и современные тенденции интегрального построения DDS устремлены к увеличению разрядности (лучшие образцы - 14-разрядные).

Изменено пользователем VCO

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


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

А чем плохо умножится на 2 или 4 с петлей с ФД на частоте ДДС? Петля быстрая, зато дальние спуры и найквисты отсекаются.

А зачем лишние блоки, которыми ещё и управлять надо? Причём ещё и ГУН с нехилой перестройкой высокими вольтами понадобится, а то и два. Не проще ли два-три фильтра поставить? Раз уж на шумы здесь не смотрят, то и нечего изгаляться с ФАПЧ. И не такой уж и быстрый он будет. За 10 мкс всяко вылезет.

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


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

А зачем лишние блоки, которыми ещё и управлять надо? Причём ещё и ГУН с нехилой перестройкой высокими вольтами понадобится, а то и два. Не проще ли два-три фильтра поставить? Раз уж на шумы здесь не смотрят, то и нечего изгаляться с ФАПЧ. И не такой уж и быстрый он будет. За 10 мкс всяко вылезет.

Гунов парочка или вообще штуки 4 надо будет, в зависимости от ФШ. С предустановкой ГУНа внешним ЦАП в микросекунду можно вложится. А основная идея против фильтра- затраты труда на настройку. Не уверен, что 4 фильтров хватит- надо бы трассы всех комбинашек для начала нарисовать. Перестраиваемые фильтры- пока большой геморрой. А гуны на 700 мгц - копеечные затраты, запаял и забыл- они сами настроились.

750 Мгц перестройки и так и сяк надо на поддиапазоны разбивать (до тех пор, пока не изобретут 2 ГГц ДДС). Можно конечно попробовать тупо поставит MAX2870 c DDS в опоре - у нее в отличии от остальных интегральных синтезаторов вроде можно прописывать ручками диапазон внутреннего VCO в регистр. Подождем, пока семплы приедут, а то по даташиту сказать, успеем или нет перестроится с нужной скоростью, невозможно. Конечно, придется ставить их 4 штуки в интерливе- пока 3 программируются и перестраиваются, четвертая частоту держит. Блин, были бы они с параллельной шиной, а то целых 1.6 мкс только на запись в один регистр...

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


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

Я также как и Dr.Drew считаю, что фильтровать петлёй ФАПЧ в данном случае - не вариант. Даже если взять частоту сравнения 100 МГц, а частоту среза фильтра петли 5 МГц, полная перестройка даже с предустановкой с помощью ЦАП может не уложится в 1 мкс, а вот надёжность захвата такой петли у меня вызывает большие сомнения. Тем более, если работать без предустановки на частоте DDS без деления на голом PFD и перестраиваться из края в край, когда возможен ложный захват гармоник. Ну и эффективность такой фильтрации уже вызывает сомнение. Не проще ли смешивать с опорой и делить, как уже много раз говорилось? Я вообще думаю, что в данном случае, когда требования к чистоте размыты, ТС лучше всего было бы начать с переноса диапазона перестройки DDS вверх умножением и/или смешиванием с опорой с последующей фильтрацией, но пока без деления, а там дальше разберётся. Во всяком случае это пока самый быстрый и простой путь.

Изменено пользователем VCO

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


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

Можно конечно попробовать тупо поставит MAX2870 c DDS в опоре - у нее в отличии от остальных интегральных синтезаторов вроде можно прописывать ручками диапазон внутреннего VCO в регистр. Подождем, пока семплы приедут, а то по даташиту сказать, успеем или нет перестроится с нужной скоростью, невозможно.

http://pdfserv.maximintegrated.com/en/an/AN5498.pdf

 

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


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

Здравствуйте.

Подниму тему годовой давности.

Поставлена задача построения синтезатора частот с высокой скоростью переключения порядка 100мкс. Ранее таких синтезаторов проектировать не приходилось, поэтому столкунулся с проблемой выбора структурной схемы.

Что нужно получить:

- Частота перестройки 740-940 МГц.

- Шаг перестройки 1 кГц.

- Скорость перестройки 100 мкс (возможно понижение до 20 мкс).

- Требование к спурам, не более -75 дБ.

- Требования по фазовым шумам уточняются.

 

Первое что пришло в голову взять AD9914 и синтезировать стразу в заданном диапазоне. Но возник вопрос, а что же буде тс побочкой в этом случае внутри диапазона? Отфильтровать за пределами диапазона особых сложностей нет.

 

Второй вариант.

Взять тот же DDS, но синтезировать на частотах 100-300 МГц. Далее на смеситель с переносом и фильтровать.

 

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


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

Что нужно получить:

- Частота перестройки 740-940 МГц.

- Шаг перестройки 1 кГц.

- Скорость перестройки 100 мкс (возможно понижение до 20 мкс).

- Требование к спурам, не более -75 дБ.

- Требования по фазовым шумам уточняются.

Это же уже стало классикой в синтезаторной теме:

1. Берёте или ФАПЧуете хорошую опору, скажем, на 2800 МГц.

2. С помощью AD9914 синтезируете сигнал в диапазоне 160-960 МГц.

3. Смешиваете сигнал с исходной опорой и получаете 2960-3760 МГц.

4. Фильтруете получившийся диапазон и делите на 4, получив 740-940 МГц.

Цифры могут быть другими, главное - деление на 4, дающее снижение спур на 12 дБ

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


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

Это же уже стало классикой в синтезаторной теме:

1. Берёте или ФАПЧуете хорошую опору, скажем, на 2800 МГц.

2. С помощью AD9914 синтезируете сигнал в диапазоне 160-960 МГц.

3. Смешиваете сигнал с исходной опорой и получаете 2960-3760 МГц.

4. Фильтруете получившийся диапазон и делите на 4, получив 740-940 МГц.

Цифры могут быть другими, главное - деление на 4, дающее снижение спур на 12 дБ

 

Спасибо за ответ. Интересный вариант я подумаю. А моделируется ли понижение спур в том же AWR?

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


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

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

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

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

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

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

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

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

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

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