Easyelectronics.ru

Электроника для всех
Текущее время: 20 фев 2019, 10:55

Часовой пояс: UTC + 5 часов




Начать новую тему Ответить на тему  [ Сообщений: 24 ] 
Автор Сообщение
 Заголовок сообщения: Определить сигнал DC или AC.
СообщениеДобавлено: 06 июл 2017, 17:17 
Старожил

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 216
Я сэмплирую сигнал. Скажем просемплировал 10 точек. Как мне на основе результата определить сигнал синусоидальный или DC? Я имею в виду красивый алгоритм.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 06 июл 2017, 17:26 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 5465
Пройтись по массиву и получить 3 величины: min, max и (сумму всех элементов)/N=среднее.
Среднее = DC, Max-Min = AC.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 06 июл 2017, 17:39 
Старожил

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 216
u37 писал(а):
Пройтись по массиву и получить 3 величины: min, max и (сумму всех элементов)/N=среднее.
Среднее = DC, Max-Min = AC.

а Max-Min - это PEAK-TO-PEAK ?
и еще вопрос - в случае AC - среднее это RMS?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 06 июл 2017, 18:11 
Старожил

Зарегистрирован: 24 июн 2011, 14:05
Сообщения: 291
Откуда: Новочеркасск
jenya77 писал(а):
u37 писал(а):
Пройтись по массиву и получить 3 величины: min, max и (сумму всех элементов)/N=среднее.
Среднее = DC, Max-Min = AC.

а Max-Min - это PEAK-TO-PEAK ?
и еще вопрос - в случае AC - среднее это RMS?


RMS всегда было среднеквадратичным. RMS=AVER если ток или напряжение (смотря что меряете) DC.
Ну а разница Max-Min по всей видимоти имеется ввиду, что если:
1) сигнал у вас синусоидальный получите значение двойной амплитуды (действующее значение отсюда посчитать нетрудно).
2) сигнал DC если разность ноль (с некоторой погрешностью).

PS: щас что-то придумал из того что сам написал:
1) если RMS==AVER сигнал DC.
2) если RMS!=AVER сигнал AC.
:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 06 июл 2017, 18:32 
Старожил

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 216
в таком случае как вычмсляется RMS?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 06 июл 2017, 18:38 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 5465
1 проход по массиву - вычислить Min, Max, AVG=DC.
2 проход по массиву, вычислить сумму S=S + (A[i]-AVG)*(A[i]-AVG);
RMS = SQRT(S/N); где N = кол-во элементов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 06 июл 2017, 18:52 
Старожил

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 216
u37 писал(а):
1 проход по массиву - вычислить Min, Max, AVG=DC.
2 проход по массиву, вычислить сумму S=S + (A[i]-AVG)*(A[i]-AVG);
RMS = SQRT(S/N); где N = кол-во элементов.

да но если Min=100mV а Max = 120mV - это AC или noisy DC?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 06 июл 2017, 19:16 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 5465
Голубой - это синий или белый?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 06 июл 2017, 22:08 
Старожил
Аватара пользователя

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 3402
Откуда: Тольятти
jenya77 писал(а):
да но если Min=100mV а Max = 120mV - это AC или noisy DC?

Это сумма DC=110mV + AC=10mV.
А уж шум это или сигнал, ни одна схема не поймет, если ей это не объяснить заранее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 06 июл 2017, 23:00 
Старожил

Зарегистрирован: 05 дек 2015, 16:56
Сообщения: 301
Меряйте только параметры переменки.
Разве есть что-то постоянное в этом мире? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 07 июл 2017, 09:15 
Старожил
Аватара пользователя

Зарегистрирован: 14 июн 2015, 17:41
Сообщения: 2332
Откуда: Русь, Новороссийск
u37 писал(а):
Голубой - это синий или белый?
Класс!!! :)))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 07 июл 2017, 09:35 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 07:40
Сообщения: 5187
Откуда: Новосибирск
Переменка переходит через ноль, постоянка и пульсирующее - нет.

_________________
Ищу работу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 07 июл 2017, 20:31 
Старожил
Аватара пользователя

Зарегистрирован: 18 апр 2017, 03:01
Сообщения: 874
Не совсем так - пульсирующее тоже может через ноль переходить(точнее график напряжения пересекать ноль - ведь это имелось ввиду?).
Просто надо выделить три общих случая - два крайних, когда есть только переменная составляющая и когда есть только постоянная составляющая. И третий будет промежуточный - когда есть и переменная и постоянная составляющая.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 07 июл 2017, 20:40 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 5465
Вообще-то, при данной формулировке вопроса ... [ммм] ... ответ может быть только один - то, чего больше. Если AC (RMS) больше DC, то "AC". Если наоборот - DC.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 07 июл 2017, 22:11 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 07:40
Сообщения: 5187
Откуда: Новосибирск
Вернемся к началу - что за железка? Семплер вряд ли может работать с переменкой, потребуется что-то вроде прецезионного выпрямителя. А как из его сигнала понять, что было на входе?

_________________
Ищу работу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 08 июл 2017, 01:08 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 4667
Откуда: п. Борок, Ярославская область
Ребят, если разобраться, то DC (иначе говоря постоянный ток) это абстракция. Возьмите батарейку - вроде как постоянный ток, но батарейка рано или поздно сядет и напряжение изменится. Вопрос лишь времени. А потому чтобы определить постоянный ток надо задаться рамками:
1. Надо определиться с периодом, на протяжении которого измеренная величина напряжения должна оставаться в диапазоне, заданном далее
2. Собственно сам диапазон delta_V. Его можно задавать как допустимое среднеквадратичное отклонение или ошибку среднего - зависит лишь от прихоти и требуемых затрат ресурсов. Как сравнивать? Надо посчитать требуемую статистическую величину из всех измерений, сделанных за выбранный в пункте 1 диапазон и сравнить ее с delta_V. Если больше - то считать ток переменным. Если меньше - то постоянным.

Подсчет статистики дело простое - википедия все знает. Но можно сделать и некий изврат. Ну... как изврат... раньше только так и делали, только в аналоговом виде. Так вот - нужно организовать цифровой фильтр высоких частот (ФВЧ). Какой именно - да любой. Если поток данных в некотором приближении непрерывный, то лучше взять БИХ (БИХ - бесконечная импульсная характеристика) фильтр. Если набор данных конечен в неком приближении - то лучше КИХ (соответственно Конечная импульсная характеристика). КИХ фильтр требует бОльших затрат по памяти, но проще считается и имеет 100% сходимость. А вот БИХ фильтр требует мало памяти, но склонен к расхождению (типа как самовозбуд на усилках и т.п.) из-за ошибок вычислений и требует больше операций.

Так вот - фильтр отрежет "постоянку". И останется "переменка". В кавычках потому, что все условно. Ну вот останется только посчитать амплитуду "переменки" (хоть макс-мин) и сравнить с допуском.

Следующий вопрос. Как определить - синус у тебя в сигнале или не синус. Тут сложнее. И опять условности. К примеру очень сложно отличить часть параболы от половинки синуса, если точек мало. Но допустим, у тебя много точек и все хорошо. Так вот можно сделать так: задаться искомой функцией y = A*sin(omega * t + phi). Так вот надо измеренный сигнал аппроксимировать этой функцией методом наименьших квадратов. Это даст два результата: если аппроксимация хорошо сойдется, то значит сигнал удовлетворяет функции, и параметры, полученные при аппроксимации - адекватны. А если не сошлось - то это не синус, а другой совсем сигнал.

Еще можно сделать преобразование Фурье. У чистого синуса будет только один пик. Как-то так. Кстати анализ Фурье тоже можно применить для различения DC от AC.

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 08 июл 2017, 15:28 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3905
Откуда: г. Липецк
Я за Фурье, в реализации Елм-Чана это довольно просто. И различие AC|DC находится элементарно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 08 июл 2017, 17:08 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1626
Фурье конечно не плох. Но если ТС плохо понимает что ему надо - это не поможет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 08 июл 2017, 18:48 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 07:40
Сообщения: 5187
Откуда: Новосибирск
Почему нельзя просто назвать задачу свою и не водить народ за нос по тупику в ночи? Как будто сами себе помочь не хотят.

_________________
Ищу работу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 08 июл 2017, 19:33 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1626
Наверное осознал глубину знаний и сел за книжки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 09 июл 2017, 11:04 
Старожил

Зарегистрирован: 17 фев 2016, 17:31
Сообщения: 216
Melted Metal писал(а):
Почему нельзя просто назвать задачу свою и не водить народ за нос по тупику в ночи? Как будто сами себе помочь не хотят.

вот это и есть задача - определить какой сигнал на аналоговом входе микроконтроллера DC или AC. А какие характеристики AC сигнала нужно знать? амплитуду? частоту? у меня пока этих данных нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 09 июл 2017, 11:08 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 07:40
Сообщения: 5187
Откуда: Новосибирск
Назвали бы источник сигнала, где его ловить собрались - звуковыход компа или датчик тока 10кА на гиперответственном производстве, какой железо юзаете и т.п. Вам посоветуют как для первого, а на деле окажется что нужно для второго.

_________________
Ищу работу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 09 июл 2017, 12:41 
Старожил
Аватара пользователя

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 3402
Откуда: Тольятти
jenya77 писал(а):
вот это и есть задача - определить какой сигнал на аналоговом входе микроконтроллера DC или AC.

Вы не можете узнать то, что назначите сами. Невозможно создать прибор, который бы угадал ваше будущее решение. Даже на батарейке есть шум переменного напряжения уровнем микровольты. Даже в розетке есть постоянное напряжение в милливольты или вольты. Всё зависит от того, что вы считаете AC или DC, но для этого сначала вы сами должны сказать это. Ведь чтобы измерить напряжение вольтметром, вы сначала переключаете его в нужный режим, и узнаете, сколько там AC и сколько DC. Вы получаете два числа для одной цепи, но хотите, чтобы прибор выбрал из них одно. Научите прибор выбирать, и он это сделает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить сигнал DC или AC.
СообщениеДобавлено: 09 июл 2017, 13:18 
Старожил

Зарегистрирован: 23 мар 2017, 14:45
Сообщения: 4490
jenya77 писал(а):
какой сигнал на аналоговом входе микроконтроллера DC или AC.
Учитывая, что в большинстве микроконтроллеров АЦП только однополярный, то значит сигнал на таком входе- DC. (Возможно пульсирующий.)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ] 

Часовой пояс: UTC + 5 часов


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB