jcxz 235 7 марта, 2021 Опубликовано 7 марта, 2021 · Жалоба 12 часов назад, Allregia сказал: STM32F427 А почему говорите что "без кеша"? Мануал говорит, что кеш там вполне себе имеется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 7 марта, 2021 Опубликовано 7 марта, 2021 · Жалоба 06.03.2021 в 01:35, Allregia сказал: Все прекрасно работает, за исключением одного - в сигнале присутствует зеркалка, частотой Fsample-Fsignal, и чем Fsignal ближе к Fsample/2, тем выше ее амплитуда (с приближениек к половине семлрейта - они уже чуть ли не сравниваются). Скажите, а как вы определили, что у вас присутствует зеркалка? Я тоже делала DDS на STM32H743-ем, и стало, на мой взгляд, хорошо только после того так таблицу синусов записала в память SRAM1 (это та, куда DMA имеет отдельный доступ). "Хорошо" в том смысле, что на осциллографе кривая красиво выглядит и нужную мне частоту и период имеет. А теперь вот сомневаться начала - вдруг и у меня тоже зеркалка есть? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 7 марта, 2021 Опубликовано 7 марта, 2021 · Жалоба 47 минут назад, Xenia сказал: А теперь вот сомневаться начала - вдруг и у меня тоже зеркалка есть? Вопрос в том, насколько близко генерируемая частота подходит к n*Fs/2 и насколько качественен послецаповый фильтр. Ну и да, данные на ЦАП надо отправлять с DMA с хорошим приоритетом, а не из прерывания или из какого-то программного цикла... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 7 марта, 2021 Опубликовано 7 марта, 2021 · Жалоба 15 минут назад, V_G сказал: Вопрос в том, насколько близко генерируемая частота подходит к n*Fs/2 и насколько качественен послецаповый фильтр. Не знаю, что такое "n". У меня тактовая частота CPU 474 МГц, а генерируемая частота около 153.3 КГц. Если n - это делитель, то он в этом случае равен 1/3092. А послецапового фильтра у меня вообще нет - щуп осциллографа прямо к ноге микроконтроллера приставляла :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
looser 8 7 марта, 2021 Опубликовано 7 марта, 2021 · Жалоба 2 часа назад, FatRobot сказал: Скажите, какая у вас схема измерений, что при частоте отсчетов 48ksps вы видите что-то на 28kHz? Скорее всего у вас что-то с фильтром после ЦАП Ясно-понятно. Для 2-х разных ддс вы получаете разные результаты измерений на одной и той же саундкарте. Я правильно понял? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 7 марта, 2021 Опубликовано 7 марта, 2021 · Жалоба 3 hours ago, FatRobot said: фильтр после цап присутствует? ЦАП - это звуковая карта. Там ЦАП дельта-сигма с передликретизацией и естественно ФН на выходе. Но какое это имеет значение, если один и тот-же ЦАП показывает разное от двух источников ДДС-синуса? 22 minutes ago, looser said: Для 2-х разных ддс вы получаете разные результаты измерений на одной и той же саундкарте. Я правильно понял? Почти. Карты физически разные, но одинаковые. 1 hour ago, Xenia said: Скажите, а как вы определили, что у вас присутствует зеркалка? Я уже раза три это описывал выше - выход двух ДДС подается на два ЦАПаЮ с них сигнал подается на 2-х канальный АЦП, с него в комп, в компе программа спектрлоанализатора. 2 hours ago, jcxz said: А почему говорите что "без кеша"? Мануал говорит, что кеш там вполне себе имеется. Да сколько там того кеша, целых 128 байт - как раз таблицу в него запихивать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andyp 9 7 марта, 2021 Опубликовано 7 марта, 2021 · Жалоба 14 hours ago, Allregia said: STM32F427 Это в теории, а на практике - имеем два DDS генератора, работающие на те-же ЦАП/АЦП. Оба генерируют 20кгц при 48кгц семплирования. Оба дают алиас на 28кгц, но у первого он -90дб а у моего -20. Я тоже хочу -90, меня бы это вполне устроило. Не побоюсь спросить, а каковы же Ваши ожидания от практической реализации генератора синуса? Какие компоненты спектра должны присутствовать на его выходе, а какие же тогда являются нежелательными? И с чем же сравнивать практическую реализацию, как не с теоретическими ожиданиями? Я видно совсем от жизни отстал. Теперь вот узнал, что у хорошего генератора синуса на выходе только одна палка в спектре должна быть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grizzly 0 7 марта, 2021 Опубликовано 7 марта, 2021 · Жалоба 28 минут назад, Allregia сказал: Я уже раза три это описывал выше - выход двух ДДС подается на два ЦАПаЮ с них сигнал подается на 2-х канальный АЦП, с него в комп, в компе программа спектрлоанализатора. А вы в MATLAB/Octave/Python etc. не пробовали построить спектр из отсчётов, которые генерируете своим DDS? Вдруг банально какая-то ошибка закралась? Определите для себя ожидаемый (теоретический) SDFR и сравните модель с тем, что получаете в реальности. Это к зеркалам отношения не имеет, но зато гарантированно проверите свой DDS. P.S. А если поменять местами DDS и каналы АЦП, то ситуация такая же? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
looser 8 7 марта, 2021 Опубликовано 7 марта, 2021 · Жалоба 33 минуты назад, Allregia сказал: Почти. Карты физически разные, но одинаковые. могу только предположить, что настройки карт разные. Проблему повторить не смог. Никаких зеркал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 7 марта, 2021 Опубликовано 7 марта, 2021 · Жалоба 1 hour ago, looser said: могу только предположить, что настройки карт разные. Проблему повторить не смог. Никаких зеркал. Там нет настроек, кроме выбора семплрейта. 2 hours ago, Grizzly said: А вы в MATLAB/Octave/Python etc. не пробовали построить спектр из отсчётов, которые генерируете своим DDS? Вдруг банально какая-то ошибка закралась? Нет. Это невозможно, по вполне очевидным причинам. Quote Определите для себя ожидаемый (теоретический) SDFR и сравните модель с тем, что получаете в реальности. Это к зеркалам отношения не имеет, но зато гарантированно проверите свой DDS. P.S. А если поменять местами DDS и каналы АЦП, то ситуация такая же? Да. 2 hours ago, andyp said: Не побоюсь спросить, а каковы же Ваши ожидания от практической реализации генератора синуса? Сделать не хуже чем делают другие. Т.е. зеркалка с уровнем -90 как дает Арта - меня устроит. (как у меня, с уровнем -20 в принципе тоже устоит, но как-то на душе не спокойно, т.к. вижу что можно лучше). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 8 марта, 2021 Опубликовано 8 марта, 2021 · Жалоба 3 часа назад, Xenia сказал: Не знаю, что такое "n". У меня тактовая частота CPU 474 МГц, а генерируемая частота около 153.3 КГц. Если n - это делитель, то он в этом случае равен 1/3092 n - любое целое. Если тактовая ЦАП тоже 474 МГц (чо, такие в этом кортексе?), ты вы далеко от опасной зоны. Проблемы в этом случае начнутся на частотах, близких к 237 МГц. Ну, или к половине от реальной тактовой. Ну, или к 711 МГц для n=3. 3 часа назад, Allregia сказал: Там ЦАП дельта-сигма с передликретизацией и естественно ФН на выходе. Так, может, проблема именно в этом? В настройках фильтра передискретизации? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 8 марта, 2021 Опубликовано 8 марта, 2021 · Жалоба 5 hours ago, V_G said: Так, может, проблема именно в этом? В настройках фильтра передискретизации? А вот это мысль! Хотя чипы ЦАПов одинаковые, настройки могут быть разные. Проверю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 8 марта, 2021 Опубликовано 8 марта, 2021 · Жалоба 10 часов назад, V_G сказал: n - любое целое. Если тактовая ЦАП тоже 474 МГц (чо, такие в этом кортексе?), ты вы далеко от опасной зоны. Проблемы в этом случае начнутся на частотах, близких к 237 МГц. Ну, или к половине от реальной тактовой. Ну, или к 711 МГц для n=3. Так, может, проблема именно в этом? В настройках фильтра передискретизации? Нет, конечно, ЦАП работает у меня на частоте 8.4643 MHz (=Fcpu/56), хотя и это заметно выше, чем разрешает даташит. Но если Fs - частота дискретизации, то формулу n*Fs/2 я не понимаю, т.к. уже при n>2 она дает частоту генерируемой синусоиды выше частоты дискретизации. Тогда как Fs/2 - это уже частота Найквиста, выше которой дискретную синусоиду сделать невозможно, а эта формула дает частоты выше. Т.е. я полагаю, что на n надо делить, а не множить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 1 8 марта, 2021 Опубликовано 8 марта, 2021 · Жалоба а непрерывную можно. https://www.analog.com/media/en/training-seminars/tutorials/mt-002.pdf Вот даже рабочий проект, который это использует: https://www.analog.com/media/en/technical-documentation/application-notes/AN-543.pdf 1 hour ago, Xenia said: дискретную синусоиду сделать невозможно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 8 марта, 2021 Опубликовано 8 марта, 2021 · Жалоба 2 часа назад, Xenia сказал: Тогда как Fs/2 - это уже частота Найквиста, выше которой дискретную синусоиду сделать невозможно, а эта формула дает частоты выше. А можно узнать откуда у вас эта информация? Мне казалось вы знаете что дискретный спектр периодичен. Давайте ещё об этом поговорим? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться