Plain 167 17 октября, 2018 Опубликовано 17 октября, 2018 (изменено) · Жалоба В каждом отсчёте прибавляете к аккумулятору период, записываете результат в аккумулятор, по N его старших разрядов достаёте из таблицы синус и выдаёте его на ЦАП. В 29.05.2018 в 00:01, IgorAVR2 сказал: мне нужно знать начало фазы каждого периода. У меня стоит задача каждый период этой частоты выдавать на один из 10 каналов по кругу Т.е. имеется ввиду выдача по одному периоду каждой из 10 разных частот последовательно — тогда да, один аккумулятор, а по его переходу через ноль — переход к следующей уставке периода. Изменено 17 октября, 2018 пользователем Plain Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 25 18 октября, 2018 Опубликовано 18 октября, 2018 · Жалоба 12 часов назад, IgorAVR2 сказал: Так на каждое значение аккумулятора нужно в памяти хранить своё значение синуса? Обычно хватает четверти таблицы в виду симметричности синуса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorAVR2 1 18 октября, 2018 Опубликовано 18 октября, 2018 · Жалоба 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: Обычно хватает четверти таблицы в виду симметричности синуса. Да, это понятно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 167 18 октября, 2018 Опубликовано 18 октября, 2018 · Жалоба 7 часов назад, IgorAVR2 сказал: Так а N как определить? Очевидно, как 100% КПД ЦАП — чтобы у него не было пропущенных кодов, т.е. начиная с МЗР больше синуса выборки, pi/2 разрядности ЦАП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorAVR2 1 18 октября, 2018 Опубликовано 18 октября, 2018 · Жалоба 4 hours ago, Plain said: Очевидно, как 100% КПД ЦАП — чтобы у него не было пропущенных кодов, т.е. начиная с МЗР больше синуса выборки, pi/2 разрядности ЦАП. Понял, спасибо! Не совсем понимаю как рассчитать это, но экспериментально в экселе подберу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 167 19 октября, 2018 Опубликовано 19 октября, 2018 · Жалоба = log(2^DAC · pi/2) / log(2) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться