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

 
 
> Генератор sin, mega8
Alf162
сообщение Jul 24 2009, 15:01
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 16-07-09
Пользователь №: 51 316



Решил сделать генератор синусоиды на меге8. Я так понял, надо сделать ШИМ, а потом поставить RC-цепочку. Подскажите, правильно ли это и какие могут быть тогда параметры R и C.
СУВ
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Microwatt
сообщение Jul 28 2009, 20:41
Сообщение #2


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Интересно, а кто, кроме автора схемы вообще знает назначение этих фильтров?
Ведь если частота перестраивается от Гц до 50кГц, то эти фильтры вроде как совсем ни к чему?
Что они по замыслу режут? Гармоники выше 150кГц? Или полезный сигнал?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Jul 29 2009, 10:54
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Microwatt @ Jul 29 2009, 00:41) *
Интересно, а кто, кроме автора схемы вообще знает назначение этих фильтров?
Ведь если частота перестраивается от Гц до 50кГц, то эти фильтры вроде как совсем ни к чему?
Что они по замыслу режут? Гармоники выше 150кГц? Или полезный сигнал?

Все, абзац, приплыли... Вы что, никогда не видели DDS-генератора ?
Go to the top of the page
 
+Quote Post
Microwatt
сообщение Jul 29 2009, 11:20
Сообщение #4


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(rx3apf @ Jul 29 2009, 13:54) *
Все, абзац, приплыли... Вы что, никогда не видели DDS-генератора ?

Да, такие мы темные, что поделать... Поясните, пожалуйста, попроще.
"Генератор АВС" или "XYZ" это не ответ на вопрос о назначении фильтров с фиксированой частотой среза в гнераторе с переменной частотой на пару декад.
Go to the top of the page
 
+Quote Post
muravei
сообщение Jul 29 2009, 11:48
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(Microwatt @ Jul 29 2009, 15:20) *
Да, такие мы темные, что поделать... Поясните, пожалуйста, попроще.

В генераторах DDS меняется не тактовая частота, а а отсчеты синуса, типа, чем выше, тем синус -"реже" smile.gif
Берутся не смежные отсчеты, а через один и т.п.
Прикрепленные файлы
Прикрепленный файл  MyDDS.pdf ( 758.56 килобайт ) Кол-во скачиваний: 108
 
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 29 2009, 12:13
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(muravei @ Jul 29 2009, 17:48) *
В генераторах DDS меняется не тактовая частота, а а отсчеты синуса, типа, чем выше, тем синус -"реже" smile.gif
Берутся не смежные отсчеты, а через один и т.п.
Не так. Не через один, а наоборот - один и тот же отсчет повторяется. В противном случае будет искажение синуса.
А фильтрация происходит именно этой частоты сэмплирования. Допустим, нам нужно сформировать синус до 1кГц при 50 отсчетах на период. Соответственно частота сэмплирования будет 50*1000=50кГц. Характеристика выходного фильтра должна быть такой, чтобы частоты до 1кГц пропускать без искажений, а 50кГц и выше ослабить до требуемого уровня. Чем меньше отсчетов на период синуса, тем ближе эти частоты и тем более высокого порядка фильтр требуется.
Go to the top of the page
 
+Quote Post
muravei
сообщение Jul 29 2009, 12:31
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(rezident @ Jul 29 2009, 16:13) *
Не так. Не через один, а наоборот - один и тот же отсчет повторяется.

А как же тогда повысится выходная частота? Если кол-во отсчетов не изменится. blink.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 29 2009, 14:31
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(muravei @ Jul 29 2009, 18:31) *
А как же тогда повысится выходная частота? Если кол-во отсчетов не изменится. blink.gif
Выходная частота не может повысится выше максимальной - 1кГц при 50 отсчетах на период и 50кГц сэмплирования в моем примере. Она только понижается от максимальной, а вот количество отсчетов при этом пропорционально повышается.
Пример (упрощенный для облегчения понимания).
Пускай будет 10 отсчетов на период синуса. Частота сэмплирования - 10кГц. Максимальная выходная частота 10кГц/10=1кГц. Амплитуда - 128 единиц (256 - полный размах).
Таблица с отсчетами синуса: 128, 203, 250, 250, 203, 128, 53, 6, 6, 53
Задача: получить выходную частоту синуса 200Гц.
Считаем шаг для таблицы отсчета 200Гц/1000Гц=0,2
Индексы для выборки из таблицы отсчетов будут такие
INT(0)=0, INT(0,2)=0, INT(0,4)=0, INT(0,6)=0, INT(0,8)=0, INT(1,0)=1, INT(1,2)=1, INT(1,4)=1, INT(1,6)=1, INT(1,8)=1, INT(2,0)=2, INT(2,2)=2 и т.д.
Значит для формирования выходной частоты 200Гц на частоте сэмплирования 10кГц каждый отсчет будет повторен по 5 раз.
В результате для формирования одного периода синуса частотой 200Гц в выходной ЦАП на частоте 10кГц будем записывать следующую последовательность
128, 128, 128, 128, 128, 203, 203, 203, 203, 203, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 203, 203, 203, 203, 203, 128, 128, 128, 128, 128, 53, 53, 53, 53, 53, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 53, 53, 53, 53, 53.
Go to the top of the page
 
+Quote Post
muravei
сообщение Jul 29 2009, 17:46
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(rezident @ Jul 29 2009, 18:31) *
Выходная частота не может повысится выше максимальной - 1кГц при 50 отсчетах на период и 50кГц сэмплирования в моем примере. Она только понижается от максимальной, а вот количество отсчетов при этом пропорционально повышается.

Выходит, чем нмже частота, тем хуже форма- в действительности, помоему, наоборот. И в прицепленной статье подругому.

"Если значение приращения велико, аккумулятор фазы будет быстро
пробегать всю таблицу синуса, хранящуюся
в ПЗУ, и частота сигнала при этом будет высока. Если значение приращения фазы мало, аккумулятору фазы понадобится больше шагов, чтобы пройти всю таблицу ПЗУ,
и соответственно частота сигнала на выходе будет низкой."
Коряво, но "на пальцах" : ссылка
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 29 2009, 18:06
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(muravei @ Jul 29 2009, 23:46) *
Выходит, чем нмже частота, тем хуже форма- в действительности, помоему, наоборот. И в прицепленной статье подругому.
А кто-то разве спорит с тем, что форма синуса зависит от количества отсчетов? 07.gif Можно в таблицу и 1024 отсчета забить, а потом прореживать их до минимального. В пределе вообще два отсчета на период останутся. Максимальной выходной частотой (при заданной частоте сэмплирования) я подразумевал частоту при которой количество отсчетов на период выбирается таким, чтобы выдерживался требуемый коэффициент искажений при разумном порядке выходного фильтра. На практике количество отсчетов на период обычно ограничивается возможностями аппаратуры. При высокой выходной частоте и большом количестве отсчетов и частота сэмплирования соответственно требуется высокая.
Go to the top of the page
 
+Quote Post
Microwatt
сообщение Jul 29 2009, 20:13
Сообщение #11


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(rezident @ Jul 29 2009, 21:06) *
А кто-то разве спорит с тем, что форма синуса зависит от количества отсчетов? 07.gif Можно в таблицу и 1024 отсчета забить, а потом прореживать их до минимального. В пределе вообще два отсчета на период останутся.

Не, ну все далее понятно.... И предельныя частота выборки и требуемая крутизна среза.
Э-.мм.... Много лет назад сам считал фильтр для подобного случая, так , кажется, только в 8-й порядок уложился при неравномерности 3 дБ....
Я просто не понимал МЕТОД формирования, полагая частоту выборки кратной выходному сигналу.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 30 2009, 10:42
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Microwatt @ Jul 30 2009, 02:13) *
Я просто не понимал МЕТОД формирования, полагая частоту выборки кратной выходному сигналу.
Ну теперь-то надеюсь поняли, что частота сэмплирования может в т.ч. и нецелой кратности по отношению к выходной частоте? При реализации в МК DDS основную сложность составляет вычисление индекса для взятия отсчета. Т.к. шаг приращения чаще всего представляет из себя дробное число. Лично я при расчете предпочитаю шаг приращения представлять целым числом. Соответственно вычисления индекса ведутся в целочисленной математике путем сложений, вычитаний и сдвигов.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 30 2009, 19:44
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(rezident @ Jul 30 2009, 13:42) *
Т.к. шаг приращения чаще всего представляет из себя дробное число. Лично я при расчете предпочитаю шаг приращения представлять целым числом. Соответственно вычисления индекса ведутся в целочисленной математике путем сложений, вычитаний и сдвигов.
Так что мешает использовать дробные числа с фиксированной точкой? У меня, например, фаза 16 бит, из старших восьми 6 используются как индекс таблицы и 2 старших как признаки инверсии индекса/выхода (квадрант).


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 30 2009, 20:44
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Сергей Борщ @ Jul 31 2009, 01:44) *
Так что мешает использовать дробные числа с фиксированной точкой? У меня, например, фаза 16 бит, из старших восьми 6 используются как индекс таблицы и 2 старших как признаки инверсии индекса/выхода (квадрант).
В моих применениях максимальные выходные частоты небольшие, значение максимальной частоты известно, количество отсчетов (размер таблицы) тоже, поэтому устраивает тип long. Значение шага заранее умножено на требуемую степень двойки. Текущая фаза тоже в long хранится. Для вычисления индекса отсчета суммирую два long и делаю нужное количество сдвигов вправо. Вот и все вычисления. laughing.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 31 2009, 00:26
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(rezident @ Jul 30 2009, 23:44) *
Для вычисления индекса отсчета ... и делаю нужное количество сдвигов вправо.
Ну это же и есть "взять целую часть от числа с фиксированной точкой". Консенсус!


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alf162   Генератор sin   Jul 24 2009, 15:01
- - rezident   Параметры RC зависят от частоты ШИМ. Критерий выбо...   Jul 24 2009, 15:41
- - Vishv   Ну вольному воля, но только учтите. что для того, ...   Jul 24 2009, 15:48
|- - stells   Цитата(Vishv @ Jul 24 2009, 19:48) Ну вол...   Jul 24 2009, 15:58
|- - Vishv   Цитата(stells @ Jul 24 2009, 21:58) все з...   Jul 24 2009, 16:15
|- - Herz   Цитата(Vishv @ Jul 24 2009, 18:15) Тут Вы...   Jul 25 2009, 10:51
|- - Vishv   Цитата(Herz @ Jul 25 2009, 16:51) Это как...   Jul 25 2009, 11:13
|- - Herz   Цитата(Vishv @ Jul 25 2009, 13:13) Ну бе...   Jul 25 2009, 11:41
|- - stells   Цитата(Herz @ Jul 25 2009, 15:41) А ШИМ т...   Jul 25 2009, 11:46
|- - Herz   Цитата(stells @ Jul 25 2009, 13:46) ШИМ -...   Jul 25 2009, 12:09
|- - stells   Цитата(Herz @ Jul 25 2009, 16:09) Тут как...   Jul 25 2009, 12:16
- - Microwatt   Не, не понимаю я этих гугенотов.... Мега, ШИМ, ЦАП...   Jul 25 2009, 13:23
|- - stells   Цитата(Microwatt @ Jul 25 2009, 17:23) Дв...   Jul 25 2009, 13:26
|- - Vishv   Цитата(Microwatt @ Jul 25 2009, 19:23) Не...   Jul 25 2009, 13:36
|- - Wano   Всё же если без пантов, так как раздел "В пом...   Jul 25 2009, 22:13
|- - Vishv   Цитата(Wano @ Jul 26 2009, 04:13) Всё же ...   Jul 26 2009, 05:52
|- - Wano   Цитата(Vishv @ Jul 26 2009, 08:52) Все за...   Jul 26 2009, 09:39
|- - Ledmaster   Любопытно, человек вбросил тему, но участвовать в ...   Jul 26 2009, 10:49
|- - Microwatt   Цитата(Ledmaster @ Jul 26 2009, 13:49) Во...   Jul 26 2009, 11:07
|- - Wano   Цитата(Microwatt @ Jul 26 2009, 14:07) Вы...   Jul 26 2009, 11:55
|- - Ledmaster   Цитата(Microwatt @ Jul 26 2009, 17:07) Вы...   Jul 26 2009, 19:44
|- - muravei   Все давно придумано. ПС Уже грузил это файл, но н...   Jul 28 2009, 18:35
- - DpInRock   Ну, госпидя. НУ, Атмел старается, аппликейшины пиш...   Jul 25 2009, 22:28
|- - Wano   Цитата(DpInRock @ Jul 26 2009, 01:28) НУ,...   Jul 25 2009, 23:00
- - Microwatt   Угу, простенькая такая схема выходного дня. Не то,...   Jul 28 2009, 20:01
- - Herz   ПЛИС бы ещё... Да и фильтры просто примитивные как...   Jul 28 2009, 20:09
|- - muravei   Цитата(Microwatt @ Jul 29 2009, 00:41) Ве...   Jul 29 2009, 06:34
|- - rx3apf   Цитата(Microwatt @ Jul 29 2009, 15:20) ...   Jul 29 2009, 11:26
||- - Microwatt   Цитата(rx3apf @ Jul 29 2009, 14:26) А что...   Jul 29 2009, 14:08
||- - rx3apf   Цитата(Microwatt @ Jul 29 2009, 18:08) Та...   Jul 29 2009, 14:22
- - Microwatt   То-есть, частота среза равна наивысшей синтезируем...   Jul 29 2009, 16:27
|- - rx3apf   Цитата(Microwatt @ Jul 29 2009, 20:27) То...   Jul 29 2009, 16:42
|- - rezident   Цитата(Microwatt @ Jul 29 2009, 22:27) То...   Jul 29 2009, 16:44
- - Microwatt   Да, в целочисленной арифметике, наверное, это неид...   Jul 30 2009, 17:19
- - Microwatt   Впору Райкина вспоминать: "Столько образовани...   Jul 30 2009, 20:43
- - KaMa3eR   Вери биг сенкс всем учавствовавшим, темка то что ...   Jan 29 2010, 18:25
|- - _Pasha   Цитата(KaMa3eR @ Jan 29 2010, 21:25) нужн...   Jan 30 2010, 02:10
|- - KaMa3eR   по 1 Гц если можно.... ткните еще носом в заполне...   Jan 30 2010, 09:27
- - Сергей Борщ   Цитата(KaMa3eR @ Jan 29 2010, 20:25) оч н...   Jan 30 2010, 11:26
|- - KaMa3eR   за конструктивную критику спасибо , учту, а за под...   Jan 30 2010, 20:01
|- - rezident   Цитата(KaMa3eR @ Jan 31 2010, 01:01) толь...   Jan 30 2010, 20:18
- - KaMa3eR   Снова возник вопрос как рассчитать заполнение и ре...   Feb 14 2010, 10:20
- - KaMa3eR   ну вот не прошло и несколько лет как практически г...   Jun 26 2011, 18:49


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

 


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


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