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

помогите разобраться с кодом

ТС, Вы куда исчезаете так надолго? Потом приходится людей опять в тему созывать через приват...

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


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

Для ускорения аккумулятора больше 4 счетчиков избыточно-частота перестает расти. Для реализации синуса можно использовать кусочно-линейную аппроксимацию. Хватает двух таблиц на 256 точек - основная и поправочная. Точность выходить в районе 16 бит. Что лучше таблицы в 4096 точек - дает только 12 бит.

Стандартный DDS это аккумулятор+сумматор фазы+табличка.

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


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

И как пользоваться поправочной табличкой? Может, дадите ссылку, что читануть по этому поводу?

И вот Вы пишете:

"Стандартный DDS это аккумулятор+сумматор фазы+табличка."

непонятно: чем аккумулятор отличается от сумматора фазы?

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


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

ну как так?

аккумулятор - аккумулирует

а сумматор - суммирует...

 

 

потому что там w*t+fi

сумматор складывает фазу fi и набегующую от времени w*t. А она в свою очередь реализуется аккумулятором, складывающим по тактам...

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


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

иногда просто под аккумулятором понимается сумматор с регистром хранения предыдущих данных. Без суммирования не накопить.

А здесь похоже под аккумулятором понимается просто регистр. Зачем тогда путать людей и использовать один термин вместо другого...

Начальную фазу fi можно затолкать сразу в регистр аккумулятора как начальное значение. Тогда её не придётся постоянно прибавлять к текущей фазе wt

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


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

аккумулятор - это хранение и сумма

сумматор - это сумма просто

 

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

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


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

Ааа, тогда вопросов нет, спасибо.

 

Точнее остаются вопросы к ув. Corner, как пользоваться 2 табличками на 256 и что за 4 счётчика

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


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

Видимо эти 2 таблицы это таблица значений и таблица коэфициентов для линейной поправки.

Если берем 16 бит фазы phase[15:0], то старшие 8 бит будут использоваться для выбора значений из таблиц, а младшие 8 бит для линейной поправки.

Если таблица A - значения, а B - коэфициенты, то что-то типа:

A[phase[15:8]] + B[phase[15:8]]*phase[7:0]/256

 

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


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

Хорошо, допустим с таблицами понятно.

Хотя тоже не очень. Если Вы говорите про линейную поправку, подразумевая кусочно-линейную сплайн-интерполяцию, то почему бы её без таблицы не сделать примерно такой записью:

A[phase[15:8]] + (A[phase[15:8 + 1'b1]] - A[phase[15:8]]) * phase[7:0] / 256

?

Т.е. берутся 2 соседние точки таблицы, между ними проводится прямая, конкретная точка на прямой определяется младшими разрядами фазы.

 

 

 

Остаётся тогда вопрос: что за 4 счётчика?

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


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

Ну, я это вариант не предлагал, а только написал свое объяснение (возможно, неточное или даже неверное :laughing: ).

 

Кстати, в варианте:

A[phase[15:8]] + (A[phase[15:8] + 1'b1] - A[phase[15:8]]) * phase[7:0] / 256

будет два обращения к памяти по адресу phase[15:8] и phase[15:8] + 1'b1, соответственно, нужно либо 2 такта, либо опять две таблицы.

 

4 счетчика, видимо (я опять только предполагаю), относится к самому началу темы, когда ТС спрашивал, зачем делить один счетчик на 10 маленьких.

 

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


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

соответственно, нужно либо 2 такта, либо опять две таблицы.
Либо двухпортовую память ))

 

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


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

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

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

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

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

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

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

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

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

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