Sergo1799 0 2 июня, 2023 Опубликовано 2 июня, 2023 (изменено) · Жалоба Доброго дня! Вопрос в следующем: Стоит задача получить синусоидальный сигнал посредством ШИМ. Все работает, но, соответственно, появились гармоники нежелательные. Нужен чистый тон. Соответственно нужно подавить 2-у и последующие гармоники. Как это эффективно сделать? Активные фильтры нет возможности использовать, только RC первого порядка. Сигналы в районе 1500-3000 Гц. Частота ШИМ 100 кГц. Разрешение 8 бит. Есть вариант использовать 2 канала ШИМ с общей разрядностью 16 бит и соединять их через резистры R и 2^N*R. Есть вариант вывести 3 старших бита на порты в/в, а остальные на ШИМ с частотой 800 кГц через матрицу R-2R. Можно сделать противофазный канал ШИМ и сложить с обычным ШИМ для устранения шумов. Что лучше по критерию эффективности? Либо лучше брать сигнал с выхода, заводить на АЦП, а потом к ШИМ-сигналу что-то подмешивать? Изменено 2 июня, 2023 пользователем Sergo1799 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 226 2 июня, 2023 Опубликовано 2 июня, 2023 · Жалоба 50 минут назад, Sergo1799 сказал: сделать противофазный канал ШИМ и сложить с обычным ШИМ для устранения шумов Обычно так и делают, но только для подавления несущей, и шумов в ней обычно ноль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 29 2 июня, 2023 Опубликовано 2 июня, 2023 · Жалоба Собственно так и делают. Вычисляют гармоники и добавляют их в противофазе. high-performance-source-for-adc.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 2 июня, 2023 Опубликовано 2 июня, 2023 · Жалоба 2 часа назад, Sergo1799 сказал: Частота ШИМ 100 кГц. Разрешение 8 бит. Какой именно режим таймера вы используете для получения ШИМ? Разные режимы дают разный спектр гармоник. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 2 июня, 2023 Опубликовано 2 июня, 2023 · Жалоба 2 hours ago, Sergo1799 said: но, соответственно, появились гармоники нежелательные. Какой уровень гармоник получился? И какой вообще желателен? Может там просто резолюции при 8 битах не хватает? 2 hours ago, Sergo1799 said: Сигналы в районе 1500-3000 Гц. Частота ШИМ 100 кГц. Разрешение 8 бит. Выше частоту ШИМа сделать никак? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 2 июня, 2023 Опубликовано 2 июня, 2023 · Жалоба 15 минут назад, Allregia сказал: резолюции при 8 битах не хватает? Какую резолюцию предлагаете наложить? Русские применительно к разрядности говорят "разрешение". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergo1799 0 2 июня, 2023 Опубликовано 2 июня, 2023 · Жалоба 2 hours ago, MegaVolt said: Собственно так и делают. Вычисляют гармоники и добавляют их в противофазе. high-performance-source-for-adc.pdf 1.87 MB · 2 downloads Я читал про это, но боюсь прототип устройства на ATmega такое не делает. Мощи не хватит. Там задействовано два канала ШИМ и скорее всего используют 16-битный ШИМ с разделением по 8 бит на канал с резюками R и 2^N*R. Но при этом еще стоит микрофон заведенный на АЦП и обратная связь с усилка и динамика, заведенная опять же на АЦП. 1 hour ago, Allregia said: Какой уровень гармоник получился? И какой вообще желателен? Может там просто резолюции при 8 битах не хватает? Выше частоту ШИМа сделать никак? На выходе с фильтра 2-ф гармоника меньше в 2 раза по сравнению с 1-ой. Но тут еще фокус в том, что после усилка и динамика спектроанализатор на смартфоне выдает амплитуду 2-ой и 3-ей гармоник даже выше основной. Попробую увеличить частоту ШИМ. 1 hour ago, Сергей Борщ said: Какой именно режим таймера вы используете для получения ШИМ? Разные режимы дают разный спектр гармоник. Таймер ТIM3 в stm32g4. Режим обычный - PWM mode 1. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 2 июня, 2023 Опубликовано 2 июня, 2023 · Жалоба 1 час назад, Sergo1799 сказал: Таймер ТIM3 в stm32g4. Режим обычный - PWM mode 1. А таймер считает только вверх? Тогда попробуйте PWM center-aligned mode. Картинка из описания STM32G0, мне лень качать описание на G4, но там должно быть то же самое: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться