Обработка модулированного сигнала

Вопросы от новичков
Ответить
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Обработка модулированного сигнала

Сообщение ingener »

Имеется входной сигнал в виде постоянной составляющей около 2В, которая модулирована сигналом примерно синусоидальной формы. Нужно, чтобы аналоговый вход контроллера воспринимал этот сигнал не как среднее действующее значение (слева), а как постоянную соствляющую + сумма как положительных, так и отрицательных полуволн.
Диоды здесь не помогут, очень мала амплитуда модуляции (от 0,1 до 2В) - и этот уровень очень важен для точности измерений.
Проблема еще в том, что модуляция может быть несимметричной (верхние и нижние полуволны разной амплитуды)
Можно ли как-то с помощью программной обработки добиться. чтобы отрицательные полуволны модуляции как-то добавились "в плюс" (как на правом рисунке)?
Пока такие общие чисто теоретические мысли:
определяем сигнал постоянной составляющей (2В) как ноль. Тогда контроллер будет получать сигнал как в плюс, так и в минус. Потом надо у минусового сигнала как-то убрать знак минус (взять модуль числа) и получится, что обе полуволны считаются в плюс.
Но как подобное реализовать практически? :smile37:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

Обработка модулированного сигнала

Сообщение fsergei70 »

А частота какая? Меняется или постоянная?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Обработка модулированного сигнала

Сообщение Sancho »

Делал такое для нашего форумчанина, станочек с таходатчиком. Там такое реализовано, идея.

Отправлено спустя 1 минуту 30 секунд:
Вот скрин.[spoiler]
screenshot_19-03-07_14-14-09.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Обработка модулированного сигнала

Сообщение ingener »

Частота 60...400Гц. Вроде должно успеть оброабатывать?

Отправлено спустя 6 минут 36 секунд:
[ref=#ff8000]Sancho[/ref],
эта блок-схема, вроде, не измеряет, а только определяет алгоритм.
Т.е. она на компараторах.
А нужно именно получить "перевернутые" и суммированные значения уровней сигнала обеих полуволн...
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Обработка модулированного сигнала

Сообщение Sancho »

Не, не факт, что попадётся макс., в момент замера.
А частота изменения амплитуды? Можно выбирать макс из последних ххх замеров.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Обработка модулированного сигнала

Сообщение ingener »

Амплитуда может меняться достаточно быстро, но дискретность замеров в 1 сек было бы нормально.
Тут на основе этой схемы такие мысли -
сравнивается уровень сигнала со средней линией, если он больше, то проходит дальше, если он меньше (отрицательный) - то идет на блок умножения на "минус 1" и становится положительным. Потом оба сигнала складываются.
Вопрос, можно ли обрабатывать отрицательные значения. Т.е. после входа будет стоять блок нелинейного масштабирования. к примеру. у него задаем "значение 500 вход = значение 0 выход".
тогда сигналы менее 500 на входы будут выходить как отрицательные?
Или можно вообще обойтись только одним блоком масштабирования, задав ему очень хитрый кривой алгоритм обработки сигнала, получится как бы гипербола с нижней точкой на уровне средней линии сигнала :smile37:
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Обработка модулированного сигнала

Сообщение Sancho »

ingener писал(а): 07 мар 2019, 15:23Тут на основе этой схемы такие мысли -
сравнивается уровень сигнала со средней линией, если он больше, то проходит дальше, если он меньше (отрицательный) - то идет на блок умножения на "минус 1" и становится положительным. Потом оба сигнала складываются.
сигнал со средней линии = "ноль"
1. Если больше -"нуля" - отнимаем от принятого "ноль"
2. Иначе: отнимаем от "нуля" принятое
Складываем в массив для обработки в дальнейшем...

Отправлено спустя 44 секунды:
Получаем очищенные от средней линии значения.

Отправлено спустя 23 минуты 5 секунд:
Пример без массива

Отправлено спустя 7 минут 54 секунды:
Выдал флп, листинг loop[spoiler]

Код: Выделить всё

_gtv1 =  (analogRead (1));
if (!((_gtv1) > (_gtv3))) {
_gtv2 = (_gtv3)-(_gtv1);
}
if ((_gtv1) > (_gtv3)) {
_gtv2 = (_gtv1)-(_gtv3);
}
if ((_gtv2) > (_gtv4)) {
_gtv4 = _gtv2;
}
out_30342854_1 = 0;
If(millis()-1000 > _time_tmp_30342854_1){_time_tmp_30342854_1+=1000;out_30342854_1 = 1;}
if (out_30342854_1) {
_gtv11 = _gtv4;
}
if (out_30342854_1) {
_gtv4 = 0;
}
[/spoiler]
Немного оптимизируем, чутка
[spoiler]

Код: Выделить всё

_gtv1 =  (analogRead (1));
if (!((_gtv1) > (_gtv3))) _gtv2 = (_gtv3)-(_gtv1);
else _gtv2 = (_gtv1)-(_gtv3);
if ((_gtv2) > (_gtv4)) _gtv4 = _gtv2;
If(millis()-1000 > _time_tmp_30342854_1)
{
	_time_tmp_30342854_1+=1000;
	_gtv11 = _gtv4;
	_gtv4 = 0;
}
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
KulibinOrsk
Лейтенант
Сообщения: 516
Зарегистрирован: 25 фев 2018, 08:48
Откуда: Оренбург
Имя: Александр

Обработка модулированного сигнала

Сообщение KulibinOrsk »

[ref]ingener[/ref], наверное сигнал с датчика тока acs712 хочешь перевести в цифру ?
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Обработка модулированного сигнала

Сообщение ingener »

[ref]KulibinOrsk[/ref], да, с датчика тока типа LEM shunt промышленного сварочного аппарата. Он с двуполярным питанием. Для постоянного тока все работает, с переменным танцы пока.
Никто не в курсе, есть ли некий блок - детектор пиковых значений? Который бы выбирал за заданный промежуток времени наибольшее значение входного сигнала и записывал на выход? :smile37:
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Обработка модулированного сигнала

Сообщение Sancho »

ingener писал(а): 12 мар 2019, 13:07Который бы выбирал за заданный промежуток времени наибольшее значение входного сигнала и записывал на выход?
А чем из поста 7 не нравится?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Обработка модулированного сигнала

Сообщение ingener »

[ref=#ff8000]Sancho[/ref], В рукописном коде мало что понимаю. а алгоритм "среднего арифметического", как оказалось, не подходит. Не может он корректно считать сигналы сложной формы. Ведь они меняются во времени и амплитуде, каждый раз момент начала и конца выборки разные, и итог разный. Пляшут значения.
А по пику было бы как раз то, что нужно.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Обработка модулированного сигнала

Сообщение Sancho »

[ref]ingener[/ref], Где Вы видите средний..., там максимальное.

Отправлено спустя 7 минут 9 секунд:
ingener писал(а): 12 мар 2019, 13:30В рукописном коде мало что понимаю
И где рукописный код? Всё на стандартных блоках.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Обработка модулированного сигнала

Сообщение ingener »

[ref=#ff8000]Sancho[/ref], а откуда а этой схеме взять сигнал для отправки в Virtuino? Смущает наличие у переменных входа разорешения записи. :smile37:
отсюда?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Обработка модулированного сигнала

Сообщение Sancho »

[ref]ingener[/ref], Нет.
Она, переменная, так и называется - "Максимум за последнюю секунду" :)
Берёте её, и подключаете к входу своего блока.

Отправлено спустя 7 минут 48 секунд:
Рекомендации, пояснения:
На первых трёх блоках собран выпрямитель :)[spoiler]
screenshot_19-03-12_14-45-23.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
ViktorPetrov
Капитан
Сообщения: 807
Зарегистрирован: 09 апр 2018, 23:56
Имя: Виктор
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Обработка модулированного сигнала

Сообщение ViktorPetrov »

Можно ноль сместить ,чтоб было возможность измерять отрицательные напряжение .[spoiler]
Delitel-napryazheniya.jpg
[/spoiler][spoiler]
сумматор на операционном усилителе.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Обработка модулированного сигнала

Сообщение Sancho »

Так вроде уже смещено, судя по рисункам из первого поста? Об этом и писал выше.

Отправлено спустя 3 минуты 36 секунд:
[ref]ViktorPetrov[/ref], Кстати, а где резистор в Вашей схеме, на котором сложение происходит, учитывая мизерные токи и огромные входные сопротивления современных ОУ?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Обработка модулированного сигнала

Сообщение ingener »

[ref]ViktorPetrov[/ref], така ясхема требует изолированного источника питания
У меня сделано по-другому, на оптроне
резисторами можно легко смещать точки
Если поменять местами приемный диод и резистор, получаем зеркальную характеристику
5В берется прямо с Ардуины
линейность достаточно приличная. практически прямая линия. Оптрон како-то маленький обычный, не высоколинейный.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Начинающим»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя