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

    

Расчёт шага частоты AD9833

В каждом отсчёте прибавляете к аккумулятору период, записываете результат в аккумулятор, по N его старших разрядов достаёте из таблицы синус и выдаёте его на ЦАП.

 

 

В 29.05.2018 в 00:01, IgorAVR2 сказал:

мне нужно знать начало фазы каждого периода. У меня стоит задача каждый период этой частоты выдавать на один из 10 каналов по кругу

Т.е. имеется ввиду выдача по одному периоду каждой из 10 разных частот последовательно — тогда да, один аккумулятор, а по его переходу через ноль — переход к следующей уставке периода.

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

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


Ссылка на сообщение
Поделиться на другие сайты
12 часов назад, IgorAVR2 сказал:

Так на каждое значение аккумулятора нужно в памяти хранить своё значение синуса?

Обычно хватает четверти таблицы в виду симметричности синуса.

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


Ссылка на сообщение
Поделиться на другие сайты
12 hours ago, Plain said:

В каждом отсчёте прибавляете к аккумулятору период, записываете результат в аккумулятор, по N его старших разрядов достаёте из таблицы синус и выдаёте его на ЦАП.

Так а N как определить?  Ведь получается от него и зависит размер таблицы в памяти. И чем успеет ли например STM32F3 высчитывать синус налету?

 

12 hours ago, Plain said:
On 5/29/2018 at 12:01 AM, IgorAVR2 said:

мне нужно знать начало фазы каждого периода. У меня стоит задача каждый период этой частоты выдавать на один из 10 каналов по кругу

Т.е. имеется ввиду выдача по одному периоду каждой из 10 разных частот последовательно — тогда да, один аккумулятор, а по его переходу через ноль — переход к следующей уставке периода.

 

Не, на 10 каналов была другая задача. Она пока отложилась, про неё пока забываем.

31 minutes ago, MegaVolt said:

Обычно хватает четверти таблицы в виду симметричности синуса.

Да, это понятно.

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


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, IgorAVR2 сказал:

Так а N как определить?

Очевидно, как 100% КПД ЦАП — чтобы у него не было пропущенных кодов, т.е. начиная с МЗР больше синуса выборки, pi/2 разрядности ЦАП.

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


Ссылка на сообщение
Поделиться на другие сайты
4 hours ago, Plain said:

Очевидно, как 100% КПД ЦАП — чтобы у него не было пропущенных кодов, т.е. начиная с МЗР больше синуса выборки, pi/2 разрядности ЦАП.

Понял, спасибо! Не совсем понимаю как рассчитать это, но экспериментально в экселе подберу.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация