Перейти к содержанию
    

12 часов назад, Allregia сказал:

STM32F427

А почему говорите что "без кеша"? Мануал говорит, что кеш там вполне себе имеется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

06.03.2021 в 01:35, Allregia сказал:

Все прекрасно работает, за исключением одного - в сигнале присутствует зеркалка, частотой Fsample-Fsignal, и чем Fsignal ближе к Fsample/2, тем выше ее амплитуда (с приближениек к половине семлрейта - они уже чуть ли не сравниваются).

Скажите, а как вы определили, что у вас присутствует зеркалка?

Я тоже делала DDS на STM32H743-ем, и стало, на мой взгляд, хорошо только после того так таблицу синусов записала в память SRAM1 (это та, куда DMA имеет отдельный доступ). "Хорошо" в том смысле, что на осциллографе кривая красиво выглядит и нужную мне частоту и период имеет.

А теперь вот сомневаться начала - вдруг и у меня тоже зеркалка есть? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

47 минут назад, Xenia сказал:

А теперь вот сомневаться начала - вдруг и у меня тоже зеркалка есть?

Вопрос в том, насколько близко генерируемая частота подходит к n*Fs/2 и насколько качественен послецаповый фильтр.

Ну и да, данные на ЦАП надо отправлять с DMA с хорошим приоритетом, а не из прерывания или из какого-то программного цикла...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 минут назад, V_G сказал:

Вопрос в том, насколько близко генерируемая частота подходит к n*Fs/2 и насколько качественен послецаповый фильтр.

Не знаю, что такое "n". У меня тактовая частота CPU 474 МГц, а генерируемая частота около 153.3 КГц. Если n - это делитель, то он в этом случае равен 1/3092.

А послецапового фильтра у меня вообще нет - щуп осциллографа прямо к ноге микроконтроллера приставляла :).

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, FatRobot сказал:

Скажите, какая у вас схема измерений, что при частоте отсчетов 48ksps вы видите что-то на 28kHz? Скорее всего у вас что-то с фильтром после ЦАП

Ясно-понятно.

Для 2-х разных ддс вы получаете разные результаты измерений на одной и той же саундкарте. Я правильно понял?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, FatRobot said:

фильтр после цап присутствует?

ЦАП - это звуковая карта. Там ЦАП дельта-сигма с передликретизацией и естественно ФН на выходе.

Но какое это имеет значение, если один и тот-же ЦАП показывает разное от двух источников ДДС-синуса?

22 minutes ago, looser said:

Для 2-х разных ддс вы получаете разные результаты измерений на одной и той же саундкарте. Я правильно понял?

Почти. Карты физически разные, но  одинаковые.

1 hour ago, Xenia said:

Скажите, а как вы определили, что у вас присутствует зеркалка?

 

Я уже раза три это описывал выше - выход двух ДДС подается на два ЦАПаЮ с них сигнал подается на 2-х канальный АЦП, с него в комп, в компе программа спектрлоанализатора.

 

 

2 hours ago, jcxz said:

А почему говорите что "без кеша"? Мануал говорит, что кеш там вполне себе имеется.

Да сколько там того кеша, целых 128 байт - как раз таблицу в него запихивать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 hours ago, Allregia said:

STM32F427

Это в теории, а на практике - имеем два DDS генератора, работающие на те-же ЦАП/АЦП. Оба генерируют 20кгц при 48кгц семплирования.

Оба дают алиас на 28кгц, но у первого он -90дб а у моего -20. Я тоже хочу -90, меня бы это вполне устроило.

 

Не побоюсь спросить, а каковы же Ваши ожидания от практической реализации генератора синуса? Какие компоненты спектра должны присутствовать на его выходе, а какие же тогда являются нежелательными?  И с чем же сравнивать практическую реализацию, как не с теоретическими ожиданиями? Я видно совсем от жизни отстал. Теперь вот узнал, что у хорошего генератора синуса на выходе только одна палка в спектре  должна быть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

28 минут назад, Allregia сказал:

Я уже раза три это описывал выше - выход двух ДДС подается на два ЦАПаЮ с них сигнал подается на 2-х канальный АЦП, с него в комп, в компе программа спектрлоанализатора.

А вы в MATLAB/Octave/Python etc. не пробовали построить спектр из отсчётов, которые генерируете своим DDS? Вдруг банально какая-то ошибка закралась?

Определите для себя ожидаемый (теоретический) SDFR и сравните модель с тем, что получаете в реальности.

Это к зеркалам отношения не имеет, но зато гарантированно проверите свой DDS.

P.S. А если поменять местами DDS и каналы АЦП, то ситуация такая же?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

33 минуты назад, Allregia сказал:

Почти. Карты физически разные, но  одинаковые.

могу только предположить, что настройки карт разные. Проблему повторить не смог. Никаких зеркал.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 в принципе тоже устоит, но как-то на душе не спокойно, т.к. вижу что можно лучше).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, Xenia сказал:

Не знаю, что такое "n". У меня тактовая частота CPU 474 МГц, а генерируемая частота около 153.3 КГц. Если n - это делитель, то он в этом случае равен 1/3092

n - любое целое. Если тактовая ЦАП тоже 474 МГц (чо, такие в этом кортексе?), ты вы далеко от опасной зоны. Проблемы в этом случае начнутся на частотах, близких к 237 МГц. Ну, или к половине от реальной тактовой. Ну, или к 711 МГц для n=3.

3 часа назад, Allregia сказал:

Там ЦАП дельта-сигма с передликретизацией и естественно ФН на выходе.

Так, может, проблема именно в этом? В настройках фильтра передискретизации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, V_G said:

Так, может, проблема именно в этом? В настройках фильтра передискретизации?

А вот это мысль! Хотя чипы ЦАПов одинаковые, настройки могут быть разные. Проверю.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, V_G сказал:

n - любое целое. Если тактовая ЦАП тоже 474 МГц (чо, такие в этом кортексе?), ты вы далеко от опасной зоны. Проблемы в этом случае начнутся на частотах, близких к 237 МГц. Ну, или к половине от реальной тактовой. Ну, или к 711 МГц для n=3. Так, может, проблема именно в этом? В настройках фильтра передискретизации?

Нет, конечно, ЦАП работает у меня на частоте 8.4643 MHz (=Fcpu/56), хотя и это заметно выше, чем разрешает даташит. Но если Fs - частота дискретизации, то формулу

n*Fs/2

я не понимаю, т.к. уже при n>2 она дает частоту генерируемой синусоиды выше частоты дискретизации. Тогда как Fs/2 - это уже частота Найквиста, выше которой дискретную синусоиду сделать невозможно, а эта формула дает частоты выше. Т.е. я полагаю, что на n надо делить, а не множить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а непрерывную можно.

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:

дискретную синусоиду сделать невозможно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Xenia сказал:

Тогда как Fs/2 - это уже частота Найквиста, выше которой дискретную синусоиду сделать невозможно, а эта формула дает частоты выше. 

А можно узнать откуда у вас эта информация? Мне казалось вы знаете что дискретный спектр периодичен. Давайте ещё об этом поговорим?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...