|
|
  |
Генератор sin, mega8 |
|
|
|
Jul 29 2009, 11:48
|

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

|
Цитата(Microwatt @ Jul 29 2009, 15:20)  Да, такие мы темные, что поделать... Поясните, пожалуйста, попроще. В генераторах DDS меняется не тактовая частота, а а отсчеты синуса, типа, чем выше, тем синус -"реже"  Берутся не смежные отсчеты, а через один и т.п.
Прикрепленные файлы
MyDDS.pdf ( 758.56 килобайт )
Кол-во скачиваний: 108
|
|
|
|
|
Jul 29 2009, 12:13
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(muravei @ Jul 29 2009, 17:48)  В генераторах DDS меняется не тактовая частота, а а отсчеты синуса, типа, чем выше, тем синус -"реже"  Берутся не смежные отсчеты, а через один и т.п. Не так. Не через один, а наоборот - один и тот же отсчет повторяется. В противном случае будет искажение синуса. А фильтрация происходит именно этой частоты сэмплирования. Допустим, нам нужно сформировать синус до 1кГц при 50 отсчетах на период. Соответственно частота сэмплирования будет 50*1000=50кГц. Характеристика выходного фильтра должна быть такой, чтобы частоты до 1кГц пропускать без искажений, а 50кГц и выше ослабить до требуемого уровня. Чем меньше отсчетов на период синуса, тем ближе эти частоты и тем более высокого порядка фильтр требуется.
|
|
|
|
|
Jul 29 2009, 14:08
|
Гуру
     
Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802

|
Цитата(rx3apf @ Jul 29 2009, 14:26)  А что по этому поводу говорит теорема Котельникова ? И почему Вас не удивляет фильтр с фиксированной частотой среза на выходе звукового DAC ? А давайте оставим на это раз Котельникова в стороне. Как Фурье, Лапласа и прочих декартов с дюамелями. Наугад из коробки можно много фамилий вытащить. Теорема Котельникова совершенно не касается частоты среза фильтра в том смысле, который мы сейчас обсуждаем. Она всего лишь утверждает, что для данной схемы нужен ЦАП с частотой, как минимум, 100кГц. Хорошо, пусть в схеме есть такой ЦАП. Имеется перестраиваемый генератор, синтезирующий потребную форму и частоту с помощью ЦАП. И на выходе присобачен многозвенный фильтр с ФИКСИРОВАНОЙ частотой среза. Так вопрос: зачем? Если этот фильтр настроен на верхнюю частоту диапазона (50кГц), то как он помогает почистить от гармоник 5 или даже 10 кГц. Если же он настроен на частоту ниже 50 кГц, то что он вообще тут делает? Губит выходной сигнал? Вот ниже Resident подсказывает стоящим у доски. И мне кажется - правильно.
|
|
|
|
|
Jul 29 2009, 14:22
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(Microwatt @ Jul 29 2009, 18:08)  Так вопрос: зачем? Если этот фильтр настроен на верхнюю частоту диапазона (50кГц), то как он помогает почистить от гармоник 5 или даже 10 кГц. А Вы вначале разберитесь, что порождает эти гармоники и каков их уровень. Цитата Если же он настроен на частоту ниже 50 кГц, то что он вообще тут делает? А, может быть, прочитать ту статью внимательнее, чтобы не было всяких домыслов типа "если он настроен". Там сказано, какую частоту среза имеет выходной ФНЧ. Цитата Вот ниже Resident подсказывает стоящим у доски. И мне кажется - правильно. Можно было бы и без подсказок обойтись - ключевое слово "DDS". Подсказка эта, между прочим, для частного случая, при генерируемой частоте 1 kHz и дискретизации 50 kHz. Я Вам не случайно назвал фамилию и не случайно намекнул на схемотехнику звуковой карты. Вот и ответьте (себе самому), как там (в звуковых картах) обходятся без перестраиваемых фильтров для воспроизводимого диапазона частот 20...20K Hz (а кто сказал, что обязательно музыку или речь ? Почему не однотональный синусоидальный сигнал ?) и чем определяется уровень гармоник выходного сигнала...
|
|
|
|
|
Jul 29 2009, 14:31
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(muravei @ Jul 29 2009, 18:31)  А как же тогда повысится выходная частота? Если кол-во отсчетов не изменится.  Выходная частота не может повысится выше максимальной - 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.
|
|
|
|
|
Jul 29 2009, 16:42
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(Microwatt @ Jul 29 2009, 20:27)  То-есть, частота среза равна наивысшей синтезируемой частоте? На нижних частотах больше отсчетов, более подробно задается форма и необходимость в дополнительной фильтрации отпадает? Опять Вы не улавливаете ключевую идею. При идеальном DAC вообще нет составляющих меньше частоты дискретизации, а теоретически генерируемая частота достигает половины от частоты дискретизации. Вот фильтр под это и считается. Цитата Если так - можно согласиться. Хотя, три каскада ФНЧ (шестой порядок) ,на первый взгляд, кажутся избыточными. Это если только на первый и весьма поверхностный взгляд. Конечно, если генерируется 1 kHz при частоте дискретизации в 100 kHz, то там и RC-цепочки хватит. А вот если вблизи максимальной границы - то шестой порядок это только компромисс между качеством и сложностью...
Сообщение отредактировал rx3apf - Jul 29 2009, 16:48
|
|
|
|
|
Jul 29 2009, 17:46
|

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

|
Цитата(rezident @ Jul 29 2009, 18:31)  Выходная частота не может повысится выше максимальной - 1кГц при 50 отсчетах на период и 50кГц сэмплирования в моем примере. Она только понижается от максимальной, а вот количество отсчетов при этом пропорционально повышается. Выходит, чем нмже частота, тем хуже форма- в действительности, помоему, наоборот. И в прицепленной статье подругому. "Если значение приращения велико, аккумулятор фазы будет быстро пробегать всю таблицу синуса, хранящуюся в ПЗУ, и частота сигнала при этом будет высока. Если значение приращения фазы мало, аккумулятору фазы понадобится больше шагов, чтобы пройти всю таблицу ПЗУ, и соответственно частота сигнала на выходе будет низкой." Коряво, но "на пальцах" : ссылка
|
|
|
|
|
Jul 29 2009, 20:13
|
Гуру
     
Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802

|
Цитата(rezident @ Jul 29 2009, 21:06)  А кто-то разве спорит с тем, что форма синуса зависит от количества отсчетов?  Можно в таблицу и 1024 отсчета забить, а потом прореживать их до минимального. В пределе вообще два отсчета на период останутся. Не, ну все далее понятно.... И предельныя частота выборки и требуемая крутизна среза. Э-.мм.... Много лет назад сам считал фильтр для подобного случая, так , кажется, только в 8-й порядок уложился при неравномерности 3 дБ.... Я просто не понимал МЕТОД формирования, полагая частоту выборки кратной выходному сигналу.
|
|
|
|
|
Jul 30 2009, 17:19
|
Гуру
     
Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802

|
Да, в целочисленной арифметике, наверное, это неидеально, но относительно быстро и просто. Гм, в плавающей арифметике проблемы постоянного отслеживания фазы? Т.е в соседних периодах уже нужно брать разные выборки. Это сильно перегружает объем вычислений, не говоря уж о дробях, как таковых. Ладно, общий подход ясен, положим на полку. Но мне он в ближайшую пятницу пока не понадобится. А стартеру уже неделю назад ничего не нужно стало.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|