-
- Кому как. Чисто для развлекухи попробуйте , что выдаст такой бесконечный цикл: Крок(125 знак., 19.08.2012 18:48)
- Для бОльшего развлечения можно попробовать S[n+2] = f*S[n+1] - S[n], гдеf = 2*cos(dx)dx = 2*pi/N (N - период в тактах дискретизации)начальные значения:S[0] = 0S[1] = sin(dx)ps это точная формула, в отличие от вышеприведенных - argus98(23.08.2012 16:42, )
- Надо признать, здесь спектр почище. В выходные поколдую, посмотрю за сколько тактов ДСПИК сгенерит эту последовательность - Крок(24.08.2012 16:42)
- Вышеприведённые тоже точные. Эта, если оценивать на глаз, будет считаться чуть дольше, но я слышал у неё хотя бы рациональный период, если в клоках. - Крок(24.08.2012 10:42)
- ниже писал - специально смотрел - при больших приращениях фазы (8 точек на перид) ошибка >15%. ключевое слово: "малые dx". у меня в реальном проекте 4 точки на период, - AVF(24.08.2012 12:57)
- На счет точные, это вряд ли.. Если x==sin(Ф), a y==cos(Ф), то должно выполняться тождество: x^2+y^2==1. Меж тем, возводя "Вышеприведённые" x=x-y*f; y=y+x*f; в квадрат и складывая почленно получим => x^2=x^2-2*x*y*f+y^2*f^2; USSR(315 знак., 24.08.2012 11:41, )
- Всё гораздо проще... Формулы Крока получены из тригонометрических тождеств sin(x+dx) = sin(x)*cos(dx) + cos(x)*sin(dx), cos(x+dx) = cos(x)*cos(dx) - sin(x)*sin(dx), в предположении, что cos(dx) = 1 при малых dx. Как-то так.. (с) - argus98(24.08.2012 12:38, )
- "гораздо проще", это если наплевать на математическую строгость. Формально, то, каким способом получены "разностные уравнения Крока", еще отнюдь не доказывает, что их решением не могут быть функции: x[n]=a*sin(w*n+c) и USSR(452 знак., 24.08.2012 15:10, )
- у Крока сd. Это я и считаю неточностью. - argus98(24.08.2012 18:01, )
- с не равно d. (я фигею от этого редактора) - argus98(24.08.2012 18:04, )
- А вот это уже ошибочное утверждение. На самом деле, c==d. Дело в том, система "разностных уравнений Крока", имеет точное аналитическое решение: x[n]=Re[A*(1+i*f)^n] и y[n]=Im[A*(1+i*f)^n], которое можно представить в виде: USSR(291 знак., 25.08.2012 06:58, )
- И.. кстати, слона то я и не заметил => USSR(444 знак., 25.08.2012 11:05, )
- ну пока это треть слона :)) Ещё осталось неосвоенным y[0]... - argus98(26.08.2012 21:15)
- Не понял, а в чем юмор? y[0] "освоено" своим начальным нулевым значением, и это именно то начальное значение, которое и было с самого начала предложено Кроком. Для произвольных начальных значений x[0] и y[0], амплитуду "A" и фазу USSR(343 знак., 27.08.2012 06:50, )
- осталось добавить, что f = 2*sin(w/2) и соответственно y[n] = A*sin(w*n+w/2+ф), т.е. амплитуды равны, фазы нет - argus98(27.08.2012 12:12)
- Аха, точно! Это я не доглядел!.. :) Ну что ж, совместными усилиями мы ту задачку раскололи!.. :) - USSR(27.08.2012 12:24, )
- осталось добавить, что f = 2*sin(w/2) и соответственно y[n] = A*sin(w*n+w/2+ф), т.е. амплитуды равны, фазы нет - argus98(27.08.2012 12:12)
- Не понял, а в чем юмор? y[0] "освоено" своим начальным нулевым значением, и это именно то начальное значение, которое и было с самого начала предложено Кроком. Для произвольных начальных значений x[0] и y[0], амплитуду "A" и фазу USSR(343 знак., 27.08.2012 06:50, )
- ну пока это треть слона :)) Ещё осталось неосвоенным y[0]... - argus98(26.08.2012 21:15)
- И.. кстати, слона то я и не заметил => USSR(444 знак., 25.08.2012 11:05, )
- Ты зарегистрируйся, и все будет пучком - и редактор, и пробелы, и ссылки. Это General таким садистским (но действенным) способом "понуждает к миру" незарегистрированных :)) - MBedder(24.08.2012 18:52)
- пытался... уже давно. General прислал пароль, в котором есть запрещенные символы (вроде подчеркивание, насколько помню). А под другим именем регится не хочется... - argus98(24.08.2012 20:10, )
- нихрена -ко мне не обращался, обращался к роботу - пароль сейчас на почту придёт - General(24.08.2012 20:14)
- заработало? - argus98(24.08.2012 20:52)
- заработало! Спасибо! - argus98(24.08.2012 20:53)
- а то - General(24.08.2012 20:53)
- заработало? - argus98(24.08.2012 20:52)
- нихрена -ко мне не обращался, обращался к роботу - пароль сейчас на почту придёт - General(24.08.2012 20:14)
- пытался... уже давно. General прислал пароль, в котором есть запрещенные символы (вроде подчеркивание, насколько помню). А под другим именем регится не хочется... - argus98(24.08.2012 20:10, )
- А вот это уже ошибочное утверждение. На самом деле, c==d. Дело в том, система "разностных уравнений Крока", имеет точное аналитическое решение: x[n]=Re[A*(1+i*f)^n] и y[n]=Im[A*(1+i*f)^n], которое можно представить в виде: USSR(291 знак., 25.08.2012 06:58, )
- с не равно d. (я фигею от этого редактора) - argus98(24.08.2012 18:04, )
- у Крока сd. Это я и считаю неточностью. - argus98(24.08.2012 18:01, )
- "гораздо проще", это если наплевать на математическую строгость. Формально, то, каким способом получены "разностные уравнения Крока", еще отнюдь не доказывает, что их решением не могут быть функции: x[n]=a*sin(w*n+c) и USSR(452 знак., 24.08.2012 15:10, )
- Всё гораздо проще... Формулы Крока получены из тригонометрических тождеств sin(x+dx) = sin(x)*cos(dx) + cos(x)*sin(dx), cos(x+dx) = cos(x)*cos(dx) - sin(x)*sin(dx), в предположении, что cos(dx) = 1 при малых dx. Как-то так.. (с) - argus98(24.08.2012 12:38, )
- хм... "Тема выделяется по переводу строки или автоматом" (с).. В общем 0Dh+0Ah по смыслу - argus98(23.08.2012 17:25, )
- Если цикл бесконечный - то он ничего не выдаст :) - Юрий_СВ(19.08.2012 19:42)
- Брррр. Выходная величина цикла - Х или У. - Крок(19.08.2012 21:08)
- получается расширяющийся синус. прикольно. в принципе параметром f получается приращение фазы, можно делать часототную модуляцию. как сделать чтобы синус не расширялся? - AVF(20.08.2012 11:22 - 11:24)
- Не должен расширяться. Крок(89 знак., 20.08.2012 11:38)
- действительно. Насчет 16-битной точности - при больших приращениях фазы (скажем 8 выборок на период) ошибка вычисления амплитуды превышает 15% - не очень хорошо. а если это приведет к переполнению 16-битного целого, вообще печально. хотя в целом AVF(47 знак., 20.08.2012 13:54)
- Ээээ ребяты а фильтр кто будет после цапы ставить ? Как раз фильтр должен все вычищать - и кстати практически и вычищает когда нормально по месту сделан . Бывало до цапа страшная кракозябла кирпичами а после нормальный синус .. И если уж говорить Blackbird_sunday(166 знак., 20.08.2012 18:55, )
- Фильтр не убирает побочные компоненты, которые попадают в рабочую полосу частот. А это и шум квантования ЦАП (фактически - недостаточная разрядность кода амплитуды), и спуры усечения кода фазы (недостаточная разрядность кода фазы). - Лeoнид Ивaнoвич(20.08.2012 20:05)
- Так в том и фишка, чтоб не в одно место ложились - спектр лишних сигналов размазывается. Опять же, если расчёты в 20 раз проще, стало быть ЦАП загружать можно чаще, что автоматически снижает требования к фильтру. - Крок(20.08.2012 19:37)
- Сегодня мысля в голову пришла. Пусть сигнал обрабатывается в прерывании, но времянки будут гулять. Разное время обработки. - mazur(20.08.2012 19:03)
- хм а зачем так делать - в прерывании сначала выдал прошлое значение а потом считаешь будущее но выводишь его уже в следующем прерывании .. - Blackbird_sunday(21.08.2012 07:57, )
- У AVR время входа в прерывание непостоянно, зависит от текущей выполняемой команды, поэтому будет джиттер. У меня в начале обработчика есть специальный фрагмент, компенсирующий этот джиттер. - Лeoнид Ивaнoвич(21.08.2012 11:35)
- Здоровый сон перед прерыванием должен помочь сделать время постоянным. - Юрий_СВ(22.08.2012 14:25)
- Есть еще фоновая задача, которая мониторит посылки от управляющего процессора. Делать это по прерыванием нельзя. - Лeoнид Ивaнoвич(22.08.2012 15:32)
- Если приём посылок по УАПП, то задаю время ("скорость") приёма по УАПП заведомо больше, чем период основного прерываний и проверяю флаги приёма в конце прерывания. Дальше выход в фон и засыпание. - Юрий_СВ(22.08.2012 16:42)
- Наверное, можно что-то такое придумать. Но у меня и так работает, джиттер компенсируется кодом, хотя на на это тратится лишних 5 тактов. - Лeoнид Ивaнoвич(22.08.2012 18:18)
- Если приём посылок по УАПП, то задаю время ("скорость") приёма по УАПП заведомо больше, чем период основного прерываний и проверяю флаги приёма в конце прерывания. Дальше выход в фон и засыпание. - Юрий_СВ(22.08.2012 16:42)
- Ещё в некоторых ЦАП бывает двойное буферирование и отдельный вход для перегрузки из воходного буфера в выходной. Если управлять таймером, то дрожания быть не должно. - Юрий_СВ(22.08.2012 14:32)
- Нет такого у аудио-ЦАП. - Лeoнид Ивaнoвич(22.08.2012 15:31)
- Есть еще фоновая задача, которая мониторит посылки от управляющего процессора. Делать это по прерыванием нельзя. - Лeoнид Ивaнoвич(22.08.2012 15:32)
- А не лучше ли генерить звук в основном цикле, а кнопки обслуживать по прерыванию? - Крок(21.08.2012 14:05)
- Лучше всё делать по одному прерыванию! Yft(141 знак., 24.08.2012 12:39)
- Зачем опрос кнопок в прерывании? - Лeoнид Ивaнoвич(28.08.2012 23:11)
- это ещё ужасней. при генерации в прерывании дрожение 1/2 такта. А если в фоне, то можно получить дрожание, н-р, 100 тактов :( - Юрий_СВ(22.08.2012 14:34)
- А откуда дрожание 1/2 такта? Я думаю, что дрожание примерно равно джиттеру тактового генератора, что намного меньше такта. - Лeoнид Ивaнoвич(22.08.2012 15:33)
- Так прерывание всё поломает. - Лeoнид Ивaнoвич(21.08.2012 15:38)
- Да и хрен с ним. Клиент крутит ручки изредка. В остальное время прибор генерит синус. - Крок(21.08.2012 17:23)
- Издеваетесь? Огромным недостатком своего прибора я считаю небольшой скачок фазы, который наблюдается при изменении частоты. А если такое будет на каждое нажатие кнопок, когда юзер ходит по меню, это вообще ни в одни ворота. Кстати - интересный Лeoнид Ивaнoвич(48 знак., 22.08.2012 11:43)
- В Вашем синтезаторе? Надо подумать. Для Вас страшен именно скачок фазы? Ведь не наблюдается скачка амплитуды - и это есть зер гут. - Крок(22.08.2012 11:53)
- Я вынужден на время обновления регистров частоты останавливать DDS, так как по времени не вписываюсь в один период дискретизации. Можно было бы держать вторую копию регистров и два обработчика прерывания, но регистров не хватает... - Лeoнид Ивaнoвич(22.08.2012 12:13)
- Точнее, не вписываюсь в интервал между двумя прерываниями. - Лeoнид Ивaнoвич(22.08.2012 12:15)
- В большинстве (если не во всех) интегральных DDS есть две пары регистров частоты - модифицируешь теневой сколь угодно долго, а потом одной командой делаешь теневой рабочим - MBedder(22.08.2012 12:32)
- В данном случае два набора регистров просто негде сделать - не хватает регистров. А из памяти скопировать не успеваю - там всего 5 циклов между прерываниями. - Лeoнид Ивaнoвич(22.08.2012 13:16)
- Эх, другой бы контроллер :) - Make_Pic(22.08.2012 13:32)
- Какой? Вообще нужно ставить FPGA + RAM + TxDAC. - Лeoнид Ивaнoвич(22.08.2012 13:52)
- а почему бы не применить dsPIC? последние вроде до 40МГц, паябельнные корпуса, несложный :) ассемблер, 2-канальный 12-битный цап со встроенным передескретизатором х256 интерполяцией sin(x)/x. - AVF(23.08.2012 09:49)
- Наслышан, что dsPIC - хороший контроллер. Но я его не знаю. - Лeoнид Ивaнoвич(23.08.2012 11:23)
- Леонид Иванович, поверь мне - после АВР тебе дсПИК покажется сущим раем. Прекрасные режимы адресации, мощная, логичная и негромоздкая система команд, великолепная быстрая периферия, простая и вменяемая среда разработки для АСМ и С, доступность, MBedder(122 знак., 23.08.2012 11:55)
- Два и более чудесных банка регистров которые надо переключать , втрое меньше памяти за те-же деньги... - PlainUser(28.08.2012 13:13)
- Чиво-чиво нащот банков и памяти - а ну с этого места пападробнее! - MBedder(29.08.2012 02:24)
- Атотысамнезнаешь. - PlainUser(05.09.2012 13:03)
- Т.е. dsPIC - фигня? - Лeoнид Ивaнoвич(28.08.2012 23:13)
- не знаю, может и не фигня, но если Вы отважитесь на изучение нового семейства, я бы рекомендовал потратить усилия STM32, а не dsPIC xMega и прочие тупиковые семейства - koyodza(29.08.2012 09:03)
- Присоединяюсь. Не обязательно STM32, можно и по NXP пройтись, но ядро Cortex M3. - Vladimir Ljaschko(29.08.2012 09:30)
- Зато xmega в освоении гораздо проще, и система команд та же. - Apтём(29.08.2012 09:06)
- система команд та же - это для Вас так существенно? - koyodza(29.08.2012 09:24)
- Вобщем не существенно, но это плюс (вдруг пригодится). - Apтём(29.08.2012 09:38)
- система команд та же - это для Вас так существенно? - koyodza(29.08.2012 09:24)
- не знаю, может и не фигня, но если Вы отважитесь на изучение нового семейства, я бы рекомендовал потратить усилия STM32, а не dsPIC xMega и прочие тупиковые семейства - koyodza(29.08.2012 09:03)
- Чиво-чиво нащот банков и памяти - а ну с этого места пападробнее! - MBedder(29.08.2012 02:24)
- Золотые слова. Я бы ещё добавил полторы тысячи Аппликух, разжёвывающих любую тему до полной усвояемости. - Крок(23.08.2012 16:52)
- Буду иметь в виду, спасибо. Но пока будущее так туманно, не знаю, буду ли вообще заниматься чем-то подобным. - Лeoнид Ивaнoвич(23.08.2012 12:25)
- Два и более чудесных банка регистров которые надо переключать , втрое меньше памяти за те-же деньги... - PlainUser(28.08.2012 13:13)
- Леонид Иванович, поверь мне - после АВР тебе дсПИК покажется сущим раем. Прекрасные режимы адресации, мощная, логичная и негромоздкая система команд, великолепная быстрая периферия, простая и вменяемая среда разработки для АСМ и С, доступность, MBedder(122 знак., 23.08.2012 11:55)
- у ДСПИКов только один порт сделан не через жопу. В остальных или разряды не все выведены, или ноги равномерно по периметру разбросаны. - Крок(23.08.2012 11:10)
- Наслышан, что dsPIC - хороший контроллер. Но я его не знаю. - Лeoнид Ивaнoвич(23.08.2012 11:23)
- BlackFin + Audio ЦАП. Mahagam(104 знак., 22.08.2012 14:25)
- Ну это только если исключительно для аудио генератор делать. Но большинство генераторов ЗЧ имеют диапазон хотябы до 200 кГц, что с аудио-ЦАП недостижимо. Гораздо интересней получается прибор на FPGA + TxDAC. - Лeoнид Ивaнoвич(22.08.2012 15:27)
- да можно в блекфину два ЦАПа воткнуть. аудио и инструментальный. разные диапазоны разные параметры. DMA блекфина не только аудиоскорость вытянет - Mahagam(22.08.2012 18:20)
- Как говорится, каждый хвалит своё болото. Как сделать генератор на ПЛИС - я знаю. А как на Блэкфин - нет. Поэтому пытаюсь найти оправдание :) - Лeoнид Ивaнoвич(22.08.2012 18:27)
- На заметку => USSR(65 знак., 23.08.2012 10:56, )
- Как говорится, каждый хвалит своё болото. Как сделать генератор на ПЛИС - я знаю. А как на Блэкфин - нет. Поэтому пытаюсь найти оправдание :) - Лeoнид Ивaнoвич(22.08.2012 18:27)
- да можно в блекфину два ЦАПа воткнуть. аудио и инструментальный. разные диапазоны разные параметры. DMA блекфина не только аудиоскорость вытянет - Mahagam(22.08.2012 18:20)
- Вообще то здравая мысль, хотя на первый взгляд и безумная ;) И стоит, что самое интересное, совсем недорого: 2-3$ за ADSP BF592. И вся библиотека цифровой обработки в ROM :) - Dir(22.08.2012 14:52, ссылка)
- ADSP BF592 2-3$ это @10000 piece? - saifullin(23.08.2012 06:32)
- В розницу ADSP-BF592KCPZ-2 продают за 3.74$ => USSR(49 знак., 23.08.2012 07:19, )
- При таком раскладе ATXmega явно в пролёте. - saifullin(23.08.2012 09:16)
- Так и вижу, как ТС, который делает генератор ДЛЯ СЕБЯ, побежал покупать за 150$ эмулятор и сел изучать ADSP :) - Лeoнид Ивaнoвич(23.08.2012 11:26)
- При таком раскладе ATXmega явно в пролёте. - saifullin(23.08.2012 09:16)
- В розницу ADSP-BF592KCPZ-2 продают за 3.74$ => USSR(49 знак., 23.08.2012 07:19, )
- корпус не очень. а так любой блекфин с дорогучим аудиоЦАПом будет просто эталоном по формированию сигналов любой формы в звуковой полосе. Mahagam(154 знак., 22.08.2012 15:08)
- Думаю, что с таким же успехом аудио-ЦАП можно подключить к ARM с аппаратным I2S. Зачем там производительность BF? - Лeoнид Ивaнoвич(22.08.2012 15:29)
- за тем, что стоит он копейки - Mahagam(22.08.2012 15:36)
- Не окупит себя время, потраченное на его освоение. Применений для DSP даже меньше, чем для ПЛИС. - Лeoнид Ивaнoвич(22.08.2012 16:15)
- за тем, что стоит он копейки - Mahagam(22.08.2012 15:36)
- Почему LFCSP не очень? Как по мне вполне нормально. Можно даже обычным паяльником припаять. Ламели с боков видны, не то что у QFN. Dir(227 знак., 22.08.2012 15:21)
- Soldering Considerations for Exposed-Pad Packages /EE352/: "the concepts discussed throughout this document should also apply to other DSPs with an EPAD, such as the ADSP-BF592.." => USSR(72 знак., 22.08.2012 15:25, )
- И что там такого нереального? 64-выводный корпус, малогреющийся чип. Что то не осознал... - Dir(22.08.2012 15:35)
- Кроме выводов по краям, есть ещё 65-ый вывод 6*6 мм на нижней стороне корпуса (EXPOSED PAD). Его тоже нужно припаивать. => USSR(82 знак., 22.08.2012 15:38, )
- В "бытовых" условиях там можно просто отверстие изобразить - залить припоем. - Гудвин(22.08.2012 15:52)
- А... ну это понятно :) QFN же с шагом 0,5 и PADом под чипом давно все юзают, уже приноровились... Я думал дело в каком то суровом профиле пайки. - Dir(22.08.2012 15:41)
- Кроме выводов по краям, есть ещё 65-ый вывод 6*6 мм на нижней стороне корпуса (EXPOSED PAD). Его тоже нужно припаивать. => USSR(82 знак., 22.08.2012 15:38, )
- И что там такого нереального? 64-выводный корпус, малогреющийся чип. Что то не осознал... - Dir(22.08.2012 15:35)
- Soldering Considerations for Exposed-Pad Packages /EE352/: "the concepts discussed throughout this document should also apply to other DSPs with an EPAD, such as the ADSP-BF592.." => USSR(72 знак., 22.08.2012 15:25, )
- Думаю, что с таким же успехом аудио-ЦАП можно подключить к ARM с аппаратным I2S. Зачем там производительность BF? - Лeoнид Ивaнoвич(22.08.2012 15:29)
- ADSP BF592 2-3$ это @10000 piece? - saifullin(23.08.2012 06:32)
- Ну это только если исключительно для аудио генератор делать. Но большинство генераторов ЗЧ имеют диапазон хотябы до 200 кГц, что с аудио-ЦАП недостижимо. Гораздо интересней получается прибор на FPGA + TxDAC. - Лeoнид Ивaнoвич(22.08.2012 15:27)
- а почему бы не применить dsPIC? последние вроде до 40МГц, паябельнные корпуса, несложный :) ассемблер, 2-канальный 12-битный цап со встроенным передескретизатором х256 интерполяцией sin(x)/x. - AVF(23.08.2012 09:49)
- Какой? Вообще нужно ставить FPGA + RAM + TxDAC. - Лeoнид Ивaнoвич(22.08.2012 13:52)
- Эх, другой бы контроллер :) - Make_Pic(22.08.2012 13:32)
- В данном случае два набора регистров просто негде сделать - не хватает регистров. А из памяти скопировать не успеваю - там всего 5 циклов между прерываниями. - Лeoнид Ивaнoвич(22.08.2012 13:16)
- Ну тут я плохой советчик. По части регистров я только ПИКами владею. - Крок(22.08.2012 12:28)
- В большинстве (если не во всех) интегральных DDS есть две пары регистров частоты - модифицируешь теневой сколь угодно долго, а потом одной командой делаешь теневой рабочим - MBedder(22.08.2012 12:32)
- Точнее, не вписываюсь в интервал между двумя прерываниями. - Лeoнид Ивaнoвич(22.08.2012 12:15)
- Я вынужден на время обновления регистров частоты останавливать DDS, так как по времени не вписываюсь в один период дискретизации. Можно было бы держать вторую копию регистров и два обработчика прерывания, но регистров не хватает... - Лeoнид Ивaнoвич(22.08.2012 12:13)
- В Вашем синтезаторе? Надо подумать. Для Вас страшен именно скачок фазы? Ведь не наблюдается скачка амплитуды - и это есть зер гут. - Крок(22.08.2012 11:53)
- Издеваетесь? Огромным недостатком своего прибора я считаю небольшой скачок фазы, который наблюдается при изменении частоты. А если такое будет на каждое нажатие кнопок, когда юзер ходит по меню, это вообще ни в одни ворота. Кстати - интересный Лeoнид Ивaнoвич(48 знак., 22.08.2012 11:43)
- Да и хрен с ним. Клиент крутит ручки изредка. В остальное время прибор генерит синус. - Крок(21.08.2012 17:23)
- Ой, и как получить минимальный джиттер и точность установки частоты? Или все остальные программы перенести то же в прерывание, а оставить только формирование синуса? - Make_Pic(21.08.2012 14:22)
- Вынести в отдельный контроллер :-) (кстати видел такое решение в серийном устройстве). - =AlexD=(21.08.2012 14:30 - 22.08.2012 07:24)
- использовать DMA :=) Кстати, оно и в 8-битниках бывает - koyodza(21.08.2012 14:39)
- В ATMega8 не был замечен :) Хотя на мой взгляд выбор ARM для такой задачки был бы более правильным или хотя бы DsPic или MSP430. - Make_Pic(21.08.2012 15:04)
- В 8-ми битном AVR Xmega есть ПДП. Работает не хуже АРМовского :) - Юрий_СВ(23.08.2012 01:15)
- Хуже: DMA есть не у всех xmeg, количество каналов - не больше 4, примитивней сделан как-то, и не получится например также как в АРМах с АЦП работать - сделано гораздо кривее. - Apтём(23.08.2012 01:27)
- Я знаю, но речь про Mega - Make_Pic(23.08.2012 01:26)
- MSP430 не годятся для этого, по крайней мере F1, а DMA есть в STM8 - koyodza(21.08.2012 15:13)
- Давно с ними (MSP430) не работал, но в старших есть DMA с DAC - Make_Pic(21.08.2012 15:18)
- В 8-ми битном AVR Xmega есть ПДП. Работает не хуже АРМовского :) - Юрий_СВ(23.08.2012 01:15)
- В ATMega8 не был замечен :) Хотя на мой взгляд выбор ARM для такой задачки был бы более правильным или хотя бы DsPic или MSP430. - Make_Pic(21.08.2012 15:04)
- Лучше всё делать по одному прерыванию! Yft(141 знак., 24.08.2012 12:39)
- Здоровый сон перед прерыванием должен помочь сделать время постоянным. - Юрий_СВ(22.08.2012 14:25)
- Все, молчу. :) - mazur(21.08.2012 08:24)
- У AVR время входа в прерывание непостоянно, зависит от текущей выполняемой команды, поэтому будет джиттер. У меня в начале обработчика есть специальный фрагмент, компенсирующий этот джиттер. - Лeoнид Ивaнoвич(21.08.2012 11:35)
- хм а зачем так делать - в прерывании сначала выдал прошлое значение а потом считаешь будущее но выводишь его уже в следующем прерывании .. - Blackbird_sunday(21.08.2012 07:57, )
- Ну главное в нём - погонять на ПК, посмотреть на поведение при разных параметрах. Крок(137 знак., 20.08.2012 15:18)
- Ээээ ребяты а фильтр кто будет после цапы ставить ? Как раз фильтр должен все вычищать - и кстати практически и вычищает когда нормально по месту сделан . Бывало до цапа страшная кракозябла кирпичами а после нормальный синус .. И если уж говорить Blackbird_sunday(166 знак., 20.08.2012 18:55, )
- Не могу вспомнить из курса "Вычислительные методы" к какому способу это относится... :( - Make_Pic(20.08.2012 13:29 - 13:36)
- Первая производная. Матанализ. - Крок(20.08.2012 13:36)
- точно - Make_Pic(20.08.2012 13:41)
- Первая производная. Матанализ. - Крок(20.08.2012 13:36)
- действительно. Насчет 16-битной точности - при больших приращениях фазы (скажем 8 выборок на период) ошибка вычисления амплитуды превышает 15% - не очень хорошо. а если это приведет к переполнению 16-битного целого, вообще печально. хотя в целом AVF(47 знак., 20.08.2012 13:54)
- Не должен расширяться. Крок(89 знак., 20.08.2012 11:38)
- получается расширяющийся синус. прикольно. в принципе параметром f получается приращение фазы, можно делать часототную модуляцию. как сделать чтобы синус не расширялся? - AVF(20.08.2012 11:22 - 11:24)
- Брррр. Выходная величина цикла - Х или У. - Крок(19.08.2012 21:08)
- Что то я вообще не пойму причем тут в прямом цифровом синтезе умножитель каким местом он тут упал вообще . Когда частота задана умножение в процессе выдачи ВООБЩЕ не используется . И кстати все на меге работает - то бишь синус выдает отличный - я Blackbird_sunday(211 знак., 19.08.2012 19:14, )
- У меня в программном DDS умножитель используется при интерполяции отсчетов синуса с 16-разрядной точностью. Лeoнид Ивaнoвич(491 знак., 19.08.2012 21:50)
- Я пробовал этот Ваш кусочек асма переписать на AVR-GCC - 99% листинга получилось буква в букву. - Vit(21.08.2012 07:07)
- Так ведь там регистров резервируется много. Это же не пройдет на Си. - Лeoнид Ивaнoвич(21.08.2012 15:40)
- Регистровые переменные и использовал - Vit(21.08.2012 20:10)
- Интересно какая оптимизация была и что именно и как в 1% вошло? - Make_Pic(21.08.2012 23:00)
- главное было залочить регистры под структуры. IAR такого не позволил. а не вошло то, что я не понял по сути из исходного асма - там какое-то жонглирование парой регистров и под конец "портирования" функции оно меня окончательно запутало. сейчас Vit(90 знак., 22.08.2012 12:34, ссылка)
- Может примеры в студию? Слишком уж оптимистично - 99%, не верится... - Make_Pic(22.08.2012 10:50)
- Интересно какая оптимизация была и что именно и как в 1% вошло? - Make_Pic(21.08.2012 23:00)
- Регистровые переменные и использовал - Vit(21.08.2012 20:10)
- Так ведь там регистров резервируется много. Это же не пройдет на Си. - Лeoнид Ивaнoвич(21.08.2012 15:40)
- ЦАП аудио? или инструментальный? - Mahagam(21.08.2012 00:35)
- У меня используется аудио. Но можно подключить и с шиной SPI. - Лeoнид Ивaнoвич(21.08.2012 01:09)
- не стоит. аудио ещё и сам интерполирует красиво - Mahagam(21.08.2012 01:17)
- У меня применяется ЦАП без передискретизации, поэтому ничего он не интерполирует. Иначе нужна внешняя тактовая частота. Редкие модели ЦАП имеют PLL на борту. - Лeoнид Ивaнoвич(21.08.2012 02:12)
- наверное зря - Mahagam(21.08.2012 11:52)
- Что зря? - Лeoнид Ивaнoвич(21.08.2012 11:54)
- без передискретизации. Mahagam(284 знак., 21.08.2012 11:59)
- ЦАП с передискретизацией так просто подключить к ATmega8 не получится. Ему требуется Fclk = 128...768*Fs. - Лeoнид Ивaнoвич(21.08.2012 12:37)
- без передискретизации. Mahagam(284 знак., 21.08.2012 11:59)
- Что зря? - Лeoнид Ивaнoвич(21.08.2012 11:54)
- наверное зря - Mahagam(21.08.2012 11:52)
- У меня применяется ЦАП без передискретизации, поэтому ничего он не интерполирует. Иначе нужна внешняя тактовая частота. Редкие модели ЦАП имеют PLL на борту. - Лeoнид Ивaнoвич(21.08.2012 02:12)
- не стоит. аудио ещё и сам интерполирует красиво - Mahagam(21.08.2012 01:17)
- У меня используется аудио. Но можно подключить и с шиной SPI. - Лeoнид Ивaнoвич(21.08.2012 01:09)
- А где такие точности требуются? К чему такая жесть (это я про ассемблер и прочие 24 регистра из 32). Это в ваших курятниках требуется? - Apтём(20.08.2012 20:12)
- А что за спектр на выходе генератора синуса, скажем, с 8-разрядным ЦАП? Кому такой генератор нужен? - Лeoнид Ивaнoвич(20.08.2012 23:10)
- Да мне бы может и сошел - мне больше сервис нужен чем кристальная частота спектра . В частности генерация разночастотных пачек и плавный линейный и логарифмический свип в плавно задаваемых границах . Вот это было бы неплохо .. - Blackbird_sunday(21.08.2012 07:55, )
- Вот такой прикупил. saifullin(131 знак., 22.08.2012 13:36, ссылка)
- Звуковуха должна быть хорошая. А это далеко не халява. Лeoнид Ивaнoвич(55 знак., 22.08.2012 13:54)
- Нет, синтезатор на AD saifullin(337 знак., 22.08.2012 16:41)
- Какой синтезатор на AD? ATmega тянет 200 кsps, 16 бит, ЦАП внешний. Лeoнид Ивaнoвич(136 знак., 22.08.2012 18:14)
- 1.AD9851 saifullin(84 знак., 22.08.2012 19:24)
- Издеваетесь? AD9851 имеет всего 10-разрядный ЦАП. Лeoнид Ивaнoвич(136 знак., 22.08.2012 22:15)
- 1.Зато 50 МHz берёт. Если Хочется и плюшек и качества, то цена вопроса повышается. saifullin(107 знак., 23.08.2012 09:15)
- Издеваетесь? AD9851 имеет всего 10-разрядный ЦАП. Лeoнид Ивaнoвич(136 знак., 22.08.2012 22:15)
- 1.AD9851 saifullin(84 знак., 22.08.2012 19:24)
- Какой синтезатор на AD? ATmega тянет 200 кsps, 16 бит, ЦАП внешний. Лeoнид Ивaнoвич(136 знак., 22.08.2012 18:14)
- Нет, синтезатор на AD saifullin(337 знак., 22.08.2012 16:41)
- Звуковуха должна быть хорошая. А это далеко не халява. Лeoнид Ивaнoвич(55 знак., 22.08.2012 13:54)
- У меня подобный сервис реализуется с компьютера. Какой смысл иметь свип, если он делается сам по себе? Разве что на аналоговом осциллографе АЧХ смотреть. Лучше снимать АЧХ по точкам в цифровом виде, когда свип согласован с работой АЦП. - Лeoнид Ивaнoвич(21.08.2012 11:38)
- Мне нужен отдеьный "железный" генератор который никак с компутером не завязан - чтоб стоял и работал отдельно . И в моем случае ачх мне удобней на осциллографе в реальном времени глядеть в частности .. - Blackbird_sunday(21.08.2012 13:20, )
- Кто его знает. В своё время много работал с аудио, так первым делом сделал себе компьютерный измеритель АЧХ, еще на базе "Специалиста". Осциллографом попробуйте снять, скажем, семейство АЧХ компрессора Dolby-C... - Лeoнид Ивaнoвич(21.08.2012 15:30)
- Долби это от лукавого :)) А вообще мне например АЧХ сквозняка магнитофона надо смотреть - пробовал лепить чисто аналоговые генераторы - кошмар . Как только пытаешься им сделать сервис так чтоб свип был нормальный и стабильный и частотные пачки - Blackbird_sunday(350 знак., 22.08.2012 06:22, )
- Что, что? А вы слышали работу Долби B и C на нормальных импортных кассетных деках? Боюсь, что нет, поэтому не надо так заявлять. - Make_Pic(22.08.2012 11:48)
- Ну айва у меня есть с долбей hx pro так себе .. А вообще есть катушечные магнитофоны там долбей не надо и слава те оспади .. Когда через сковзняк слушаешь то и не понятно бывает то ли оно напрямую а то ли с ленты идет :) - Blackbird_sunday(22.08.2012 19:10, )
- Dolby HX Pro - это система динамического подмагничивания. К шумопонижению отношение имеет весьма отдаленное. Лeoнид Ивaнoвич(158 знак., 22.08.2012 22:19)
- У меня Technics CH750 - добрая "лошадка" до сих пор стоит в стойке и приносит мне и окружающим удовольствие, лаская слух :) В ее деке применено динамическое подмагничивание с автонастройкой под тип ленты (выравнивание частотной характеристики - Make_Pic(273 знак., 23.08.2012 01:36)
- У меня был Technics с DBX - вот это было шумоподавление: -20dB - на уровне CD. - General(23.08.2012 08:47)
- DBX - хорошая система шумопонижения. Но распространена меньше, чем Dolby-C. На закате кассетных дек была еще продвинутая Dolby-SR. - Лeoнид Ивaнoвич(23.08.2012 11:33)
- Причем две лентопротяжки с электронным управлением. - Make_Pic(23.08.2012 01:37)
- У меня был Technics с DBX - вот это было шумоподавление: -20dB - на уровне CD. - General(23.08.2012 08:47)
- У меня Technics CH750 - добрая "лошадка" до сих пор стоит в стойке и приносит мне и окружающим удовольствие, лаская слух :) В ее деке применено динамическое подмагничивание с автонастройкой под тип ленты (выравнивание частотной характеристики - Make_Pic(273 знак., 23.08.2012 01:36)
- Dolby HX Pro - это система динамического подмагничивания. К шумопонижению отношение имеет весьма отдаленное. Лeoнид Ивaнoвич(158 знак., 22.08.2012 22:19)
- Ну айва у меня есть с долбей hx pro так себе .. А вообще есть катушечные магнитофоны там долбей не надо и слава те оспади .. Когда через сковзняк слушаешь то и не понятно бывает то ли оно напрямую а то ли с ленты идет :) - Blackbird_sunday(22.08.2012 19:10, )
- Зря Вы так, Dolby-C значительно повышает субъективное качество звучания кассетной деки. А совсем без систем шумопонижения даже катушечник на высокой скорости не может тягаться с CD. В своё время конструировал деки, поэтому АЧХ сквозного канала Лeoнид Ивaнoвич(1057 знак., 22.08.2012 11:38)
- Что, что? А вы слышали работу Долби B и C на нормальных импортных кассетных деках? Боюсь, что нет, поэтому не надо так заявлять. - Make_Pic(22.08.2012 11:48)
- Долби это от лукавого :)) А вообще мне например АЧХ сквозняка магнитофона надо смотреть - пробовал лепить чисто аналоговые генераторы - кошмар . Как только пытаешься им сделать сервис так чтоб свип был нормальный и стабильный и частотные пачки - Blackbird_sunday(350 знак., 22.08.2012 06:22, )
- Кто его знает. В своё время много работал с аудио, так первым делом сделал себе компьютерный измеритель АЧХ, еще на базе "Специалиста". Осциллографом попробуйте снять, скажем, семейство АЧХ компрессора Dolby-C... - Лeoнид Ивaнoвич(21.08.2012 15:30)
- Мне нужен отдеьный "железный" генератор который никак с компутером не завязан - чтоб стоял и работал отдельно . И в моем случае ачх мне удобней на осциллографе в реальном времени глядеть в частности .. - Blackbird_sunday(21.08.2012 13:20, )
- Вот такой прикупил. saifullin(131 знак., 22.08.2012 13:36, ссылка)
- Наверное спектр там ... широкий. Кому нужен? Кому-то и сгодится: писал лет 10 назад программы для охранных передатчиков с FSK и использовали 4-битный ЦАП на at89c52. Ничего, всех устаивало. Вот я спрашиваю зачем такой как у вас нужен? Где его Apтём(19 знак., 20.08.2012 23:32)
- Если бы спектр был бы просто широким, то выходной ФНЧ решал бы проблему. Но спектр там грязный, в рабочей полосе есть побочные компоненты. А мой генератор может служить заменой лабораторных звуковых генераторов. - Лeoнид Ивaнoвич(21.08.2012 00:21)
- А использование 12-бит ЦАП даст параметры хуже или лучше, чем у вашего генератора? 12р. ЦАПы всё чаще входят в состав периферии дешёвых МК. И геморою с ними нет. - Apтём(21.08.2012 00:29)
- Хуже. - Лeoнид Ивaнoвич(21.08.2012 01:08)
- Спасибо. Раз ваш генератор замена звуковым, то ему 12р цапа мало конечно. - Apтём(21.08.2012 17:38)
- Хуже. - Лeoнид Ивaнoвич(21.08.2012 01:08)
- А использование 12-бит ЦАП даст параметры хуже или лучше, чем у вашего генератора? 12р. ЦАПы всё чаще входят в состав периферии дешёвых МК. И геморою с ними нет. - Apтём(21.08.2012 00:29)
- Если бы спектр был бы просто широким, то выходной ФНЧ решал бы проблему. Но спектр там грязный, в рабочей полосе есть побочные компоненты. А мой генератор может служить заменой лабораторных звуковых генераторов. - Лeoнид Ивaнoвич(21.08.2012 00:21)
- Да мне бы может и сошел - мне больше сервис нужен чем кристальная частота спектра . В частности генерация разночастотных пачек и плавный линейный и логарифмический свип в плавно задаваемых границах . Вот это было бы неплохо .. - Blackbird_sunday(21.08.2012 07:55, )
- Да-да, именно в них самых... - Гудвин(20.08.2012 20:26, ссылка)
- И в гусятниках... - Гудвин(20.08.2012 20:29, ссылка)
- А что за спектр на выходе генератора синуса, скажем, с 8-разрядным ЦАП? Кому такой генератор нужен? - Лeoнид Ивaнoвич(20.08.2012 23:10)
- Хы ну и что на трубе вот пара роликов висит в одной атмега с внешней АЦПой осциллографом работает с выдачей на телевизор осциллограммы в реальном времени а в другом кажет трехмерную графику на телевизор причем в цвете и сама PAL делает да еще и Blackbird_sunday(54 знак., 20.08.2012 05:30, )
- Я пробовал этот Ваш кусочек асма переписать на AVR-GCC - 99% листинга получилось буква в букву. - Vit(21.08.2012 07:07)
- Вот не судьба предыдущий текст прочесть? - Крок(19.08.2012 21:08)
- У меня в программном DDS умножитель используется при интерполяции отсчетов синуса с 16-разрядной точностью. Лeoнид Ивaнoвич(491 знак., 19.08.2012 21:50)
- Для бОльшего развлечения можно попробовать S[n+2] = f*S[n+1] - S[n], гдеf = 2*cos(dx)dx = 2*pi/N (N - период в тактах дискретизации)начальные значения:S[0] = 0S[1] = sin(dx)ps это точная формула, в отличие от вышеприведенных - argus98(23.08.2012 16:42, )
- Кому как. Чисто для развлекухи попробуйте , что выдаст такой бесконечный цикл: Крок(125 знак., 19.08.2012 18:48)