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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> помогите разобраться с кодом
Krys
сообщение Sep 24 2015, 04:07
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



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


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Corner
сообщение Sep 28 2015, 19:38
Сообщение #17


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

Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815



Для ускорения аккумулятора больше 4 счетчиков избыточно-частота перестает расти. Для реализации синуса можно использовать кусочно-линейную аппроксимацию. Хватает двух таблиц на 256 точек - основная и поправочная. Точность выходить в районе 16 бит. Что лучше таблицы в 4096 точек - дает только 12 бит.
Стандартный DDS это аккумулятор+сумматор фазы+табличка.
Go to the top of the page
 
+Quote Post
Krys
сообщение Sep 29 2015, 04:30
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Не очень понятно, про какие 4 счётчика идёт речь?


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Krys
сообщение Sep 29 2015, 06:49
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



И как пользоваться поправочной табличкой? Может, дадите ссылку, что читануть по этому поводу?
И вот Вы пишете:
"Стандартный DDS это аккумулятор+сумматор фазы+табличка."
непонятно: чем аккумулятор отличается от сумматора фазы?


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Sep 29 2015, 07:10
Сообщение #20


Гуру
******

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



ну как так?
аккумулятор - аккумулирует
а сумматор - суммирует...


потому что там w*t+fi
сумматор складывает фазу fi и набегующую от времени w*t. А она в свою очередь реализуется аккумулятором, складывающим по тактам...
Go to the top of the page
 
+Quote Post
Krys
сообщение Sep 29 2015, 09:02
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



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


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Sep 29 2015, 12:33
Сообщение #22


Гуру
******

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



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

фазу нельзя сразу затолкать, вы не сможете ее тогда на лету менять.... Если вы делаете фазовую подстройку, к примеру...
Go to the top of the page
 
+Quote Post
Krys
сообщение Sep 30 2015, 08:13
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



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

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


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Artemius_tv
сообщение Sep 30 2015, 09:05
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 1-04-15
Из: Тверь
Пользователь №: 86 019



Видимо эти 2 таблицы это таблица значений и таблица коэфициентов для линейной поправки.
Если берем 16 бит фазы phase[15:0], то старшие 8 бит будут использоваться для выбора значений из таблиц, а младшие 8 бит для линейной поправки.
Если таблица A - значения, а B - коэфициенты, то что-то типа:
A[phase[15:8]] + B[phase[15:8]]*phase[7:0]/256
Go to the top of the page
 
+Quote Post
Krys
сообщение Oct 12 2015, 07:46
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Хорошо, допустим с таблицами понятно.
Хотя тоже не очень. Если Вы говорите про линейную поправку, подразумевая кусочно-линейную сплайн-интерполяцию, то почему бы её без таблицы не сделать примерно такой записью:
A[phase[15:8]] + (A[phase[15:8 + 1'b1]] - A[phase[15:8]]) * phase[7:0] / 256
?
Т.е. берутся 2 соседние точки таблицы, между ними проводится прямая, конкретная точка на прямой определяется младшими разрядами фазы.



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


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Artemius_tv
сообщение Oct 12 2015, 08:25
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 1-04-15
Из: Тверь
Пользователь №: 86 019



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

Кстати, в варианте:
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 маленьких.
Go to the top of the page
 
+Quote Post
Krys
сообщение Oct 12 2015, 11:19
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Цитата(Artemius_tv @ Oct 12 2015, 15:25) *
соответственно, нужно либо 2 такта, либо опять две таблицы.
Либо двухпортовую память ))


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post

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

 


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


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