Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Ответить

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 15:21:21

Моё интересное, что для энцефалографии даже приводить к нулю не требуется.

Там интересна лишь полная амплитуда, размах сигнала.


Ну, у каждого свои интересы. Вы же не знает для чего я всё это собираю и чего пытаюсь достичь.

Добавлено after 17 minutes 42 seconds:
Re: Как отрицательный полупериуд синусоиды сделать положительным
КРАМ, ну какие сани ? ) Хочу собрать кое что на ардуино, не понятны некоторые вопросы, спрашиваю, что незнаю. Я же вам не экзамены сдаю по програмированию. Я и не предентовал на это. Не специалист по програмированию. Что вы все так взбаломутились )

Модуль числа - это число равное исходному, но с положительным знаком. Так понятно сразу, а то терминами страшными сыпите "модуль числа" :)) Короче просто убрать знак минус. Спасибо. Сейчас только надо сообразить как это реализовать в коде на ардуино.

Мм.. а какой минус, если там все положительные значения после оцифровки сигнала?
Так ..об этом писал mickbell, сейчас почитаю ))
Последний раз редактировалось Михаил_ Вс апр 14, 2024 15:42:12, всего редактировалось 1 раз.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 15:34:51

[

Мм.. а какой минус, если там все положительные значения после оцифровки сигнала?
так ..об этом писал mickbell, сейчас почитаю ))

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

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 15:44:30

КРАМ, сдвигал конечно уровень на половину питания, иначе отрицательная половина сигнала обрежется и не оцифруется. АЦП ардуино только положительной полярности сигналы принимает. Или я чего то не знаю... и себе внушил что только положительные. Да нет, не способен ардуино вроде отрицательные сигналы оцифровывать. там же однополярное питание, физически невозможно это.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 15:56:58

Еще раз. Сдвинутый на полпитания сигнал даст величину АЦП на середине динамического диапазона. То есть нулем сигнала будет число 512.. Значит нужно из результата АЦП вычесть 512. И результат будет знакопеременным.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 16:09:26

Для получения значения сигнала вам надо всего лишь, получив очередной отсчёт АЦП, вычесть из него 512. В результате вы получите измеренное значение со знаком.

Так, что-то тут помоему совсем не то получается. Если от каждго отсчёт АЦП я буду отнимать 512, то всю "отрицательную" часть сигнала просто вырежет. Это получается однополупериудный выпрямитель. А нужен двухполупериудный, чтобы не терялась отрицательная часть сигнала, а меняла знак на положителное. Нужно, не вырезать отрицательную полуволну, а вывернуть наизнанку )

Это какие же нужно математические кульбиты вытворить чтобы всё это проделать ? В принципе наверно решаемо, только обдумать надо. С ходу не могу сообразить. С другой стороны возникают другие проблемы нужен стабильный источник питания. Малейшее изменение напряжения и всё будет неправильно расчитыватся. А если другая плата ардуино и там напряжение будет немного отличаться... под каждую плату подгонять вычисления...
Последний раз редактировалось Михаил_ Вс апр 14, 2024 16:32:43, всего редактировалось 1 раз.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 16:29:44

Если от каждго отсчёт АЦП я буду отнимать 512, то всю "отрицательную" часть сигнала просто вырежет.

Это с какого перепуга?
Если сигнал изменяется от -2,5В до +2.5В и его сдвинули вверх на 2,5В, то на входе окажется сигнал от 0 до 5 Вольт.
При питании 5 Вольт у МК входной сигнал с уровнем 0В будет сдвинут на входе АЦП к уровню 2,5 Вольта и даст результат равный 512.
Вычитаем из 512 число 512 и получаем 0.
Сигнал с уровнем -1,25 Вольт на входе даст сигнал на входе АЦП равный +1,25 Вольт и результат АЦП 256.
Теперь вычитаем из 256 число 512 и получаем -256. Что тут непонятного?
Это арифметика 4 класса средней школы.
Невозможно взрослому человеку быть настолько безграмотным в школьной математике.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 16:31:50

Так, что-то тут помоему совсем не то получается. Если от каждго отсчёт АЦП я буду отнимать 512, то всю "отрицательную" часть сигнала просто вырежет.
Это получается однополупериудный выпрямитель.
Неправда. Рекомендую ещё подумать. Вот численный пример, чтобы проще было.
Введены три отсчёта: 512, 912 и 112. Вычтем из них 512:
512-512 = 0
912-512 = 400
112-512 = -400
Видно, что после обработки прекрасно получаются знакопеременные отсчёты.
Это какие же нужно математические кульбиты вытворить чтобы всё это проделать ?
Простейшая же арифметика.
В принципе решаемо, только обдумать надо. С ходу не могу сообразить.
Предлагаю повторить курс школьной математики, прямо с самой начальной школы.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 16:45:10

С другой стороны возникают другие проблемы нужен стабильный источник питания. Малейшее изменение напряжения и всё будет неправильно расчитыватся. А если другая плата ардуино и там напряжение будет немного отличаться... под каждую плату подгонять вычисления...

Вы пишите откровенные глупости. :facepalm:
Во первых, питание АЦП и так стабильное. Во вторых, для подсчета "импульсов" никакой суперстабильности не требуется. В третьих, получить дрейф или смещение нуля с точностью АЦП во внешней аналоговой схеме на порядок сложнее.
Я практически уверен, что с вашим подходом вы никогда ничего не посчитаете. Считать импульсы гораздо сложнее, чем выпрямить программно сигнал. Вы отдаете себе отчет, что чисто пороговый алгоритм для вашей задачи работать не будет?

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 17:05:08

Какие ещё отрицательные числа ? В цифровых процессорах(современных) что, присутствуют отрицательные напряжения/потенциалы ?

Так и в нейроны не пользуются "отрицательными" потенциалами. И нет в теле человека "отрицательных" потенциалов. Есть только нарастающий фронт и спадающий фронт - нейрон вожбужден и нейрон в спокойном состоянии. Есть ,правда, и третье состояние , аналог высокоимпердансного в ЭВМ - это после перевозбуждения нейрона он на некоторое время перестает реагировать на внешнее раздражение. И все.

Так что не надо придумывать обоснования ненужной работе. А полезней почитать специальную медицинскую литературу . Вместо ютуба и википедии.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 17:07:01

Какие ещё отрицательные числа ? В цифровых процессорах(современных) что, присутствуют отрицательные напряжения/потенциалы ?
Какая связь потенциалов в процессорах и значениями чисел которые они обрабатывают?
Муркиз, не нужно лезть в любую тему, куда только дотягивается ваша рука, если вы ничего в ней не понимаете... :facepalm:
Особенно доставляет ваш откровенно пьяный бред "про потенциалы в нейронах"... Здесь не МЯУ.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 17:22:22

Это не бред. И общего между функционированием мозга и ЭВМ гораздо больше, чем публикуется в бульварной прессе.

Тем более, что мне приходилось довольно серьезно заниматься этой темой и с практическими результатами.

И ещё раз - математика - дело хорошее лишь в том случае, если она не находится впереди телеги. То есть физики.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 17:26:28

Это не бред.

Чистейший бред. С первой и до последней буквы. И про "потенциалы в современных процессорах" и про "нейроны". И не важно чем вы там занимались. Ахинея не становится от этого истиной.
Вы часом не в ПВО служили? :wink: :roll:

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 17:52:13

Вы пишите откровенные глупости. :facepalm:
Во первых, питание АЦП и так стабильное. Я практически уверен, что с вашим подходом вы никогда ничего не посчитаете. Считать импульсы гораздо сложнее, чем выпрямить программно сигнал. Вы отдаете себе отчет, что чисто пороговый алгоритм для вашей задачи работать не будет?


КРАМ, я писал не про питание АЦП, а про постоянное напряжение смешения, которое подаю вместе с переменным сигналом на вход АЦП. Его я брал с ножки ардуино 5v, подключив к ней резистивный делитель напряжения. Если изменяется это напряжение, то смешается и виртуальный ноль, и ноль будет уже не 512, а больше или меньше. Я не уверен, что каждая плата ардуино выдаёт строго одинаковое напряжение 5v.
А с подсчётом импульсов всё уже работает и считает, так, как и было мной задумано.

Если сигнал изменяется от -2,5В до +2.5В и его сдвинули вверх на 2,5В, то на входе окажется сигнал от 0 до 5 Вольт.
При питании 5 Вольт у МК входной сигнал с уровнем 0В будет сдвинут на входе АЦП к уровню 2,5 Вольта и даст результат равный 512.


Сигнал -2,5 Вольт и +2,5 Вольт после двухполупериудного выпрямления иметь вид +2,5 Вольт и +2,5 Вольт. Оба полупериода сигнала имеют одно и тоже числовое значение (одну величину напряжения) и одну и туже полярность. А после предложенных вами математических преобразований получается, что сигнал с уровнем -2,5 Вольт превращается в ноль, а +2,5 вольта остаётся +2,5 Вольт.

На риснке показанно как должен преобразовываться сигнал.

Изображение

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 18:03:27

я писал не про питание АЦП, а про постоянное напряжение смешения, которое подаю вместе с переменным сигналом на вход АЦП. Его я брал с ножки ардуино 5v, подключив к ней резистивный делитель напряжения. Если изменяется это напряжение, то смешается и виртуальный ноль, и ноль будет уже не 512, а больше или меньше. Я не уверен, что каждая плата ардуино выдаёт строго одинаковое напряжение 5v.
Прежде чем что-то написать, сначала подумайте. И не пишите что попало, иначе может получиться полная ерунда.
По сути. В общем случае АЦП AVRок в качестве опорного напряжения может использовать напряжение внутреннего источника опорного напряжения, напряжение внешнего источника опорного напряжения или напряжение питания аналоговой части. Рассмотрим второй или третий случаи, для определённости третий: опорное напряжение АЦП - это напряжение питания аналоговой части, или 5 вольт. Напряжение смещения входного сигнала мы получаем делителем из двух резисторов одинакового номинала. А теперь спросим себя: как изменится код, выдаваемый АЦП в отсутствии сигнала, если напряжение изменится? Если очень хорошо подумаете, то получите правильный ответ: он не изменится. Совсем. Никак. То же самое будет и если источник опорного напряжения - внешний, только тогда делитель, формирующий напряжение смещения, тоже надо подключать к выходу этого источника.
Почему оно так? Объясню. Потому что код АЦП пропорционален отношению входного напряжения АЦП к опорному напряжению АЦП.
Последний раз редактировалось mickbell Вс апр 14, 2024 18:08:39, всего редактировалось 1 раз.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 18:05:46

я писал не про питание АЦП, а про постоянное напряжение смешения, которое подаю вместе с переменным сигналом на вход АЦП. Его я брал с ножки ардуино 5v, подключив к ней резистивный делитель напряжения. Если изменяется это напряжение, то смешается и виртуальный ноль

Еще раз. Следите внимательно за мной. Смещение нуля при резистивном делителе элементарно выставить с любой разумной точностью, если кроме двух резисторов применить подстроечный потенциометр.
Есть и альтернативный вариант, когда ПРИ ВКЛЮЧЕНИИ прибора в отсутствии сигнала происходит измерение на входе АЦП и тогда полученный результат будет тем самым "нулем" и именно его нужно будет вычитать, а не 512.
Я не уверен, что каждая плата ардуино выдаёт строго одинаковое напряжение 5v.
Тогда и само измерение не будет точным. Вообще то делитель подключен к тем же 5 вольтам. что и опора АЦП. Поэтому вы получаете ратиометрическую опору и она не зависит от напряжения питания. Зависеть от питания будет чувствительность, а не смещение.
с подсчётом импульсов всё уже работает и считает, так, как и было мной задумано.
Позвольте сильно сомневаться в вашем утверждении. Из разговора с вами у меня есть такие основания.
Сигнал -2,5 Вольт и +2,5 Вольт после двухполупериудного выпрямления иметь вид +2,5 Вольт и +2,5 Вольт. Оба полупериода сигнала имеют одно и тоже числовое значение (одну величину напряжения) и одну и туже полярность. А после предложенных вами математических преобразований получается, что сигнал с уровнем -2,5 Вольт превращается в ноль, а +2,5 вольта остаётся +2,5 Вольт.

Тяжелый клинический случай... :facepalm:
Как при смещении на 2,5 вольта +2,5 вольта останутся без изменений? Вы способны трезво анализировать собственные слова?
2,5+2,5=5.
Изображение
На рисунке сделано допущение, что раскрыв АЦП 0...1024. Просто чтобы не вносить лишние вопросы. На самом деле верх = 1023, но это не принципиально.
И вообще, вы считаете себя грамотным настолько, чтобы возражать людям, которые ПРОФЕССИОНАЛЬНО занимаются обработкой сигналов?
Вы не считаете это хамством и самонадеянностью?

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 18:39:14

Рекомендую ещё подумать. Вот численный пример, чтобы проще было.
Введены три отсчёта: 512, 912 и 112. Вычтем из них 512:
512-512 = 0
912-512 = 400
112-512 = -400
Видно, что после обработки прекрасно получаются знакопеременные отсчёты.

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

Для простоты понимая возьмём не переменный входной сигнал для оцифровки, а постоянный. На АЦП мы уже подали постоянно смещение +2,5 Вольта. Эти +2,5 вольта приняли за виртуальный ноль.

А теперь туда же на АЦП подаём наш входной сигнал с противоположным напряжением - 2,5 Вольта, и на входе АЦП получится ноль вольт, поданное напряжение вычитается из напряжения смещения. И далее по предложенной вами методике от 0 вычитаем 2,5 и получаем -2,5 вольт. А в чём собственно разница? Подали на вход – 2,5 вольта и получили всё те же -2,5 вольта? А подадим на вход +2,5 вольта плюсуем к ним 2,5 вольт напряжения смешения и отнимаем по вашей методе 2,5 вольта и получаем всё те же +2,5 вольта. В чём спрашивается смысл этих математических операций вычитания если на выходе ничего не меняется? В чём я не прав?

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 18:44:14

В чём я не прав?

Во всем без исключения. Я привел диаграмму сигналов. В программе не будет никаких 2,5 вольт. В программе будет цифровой код соответствующий напряжению на входе всей схемы.
В догон.
Напряжение смещения НЕЛЬЗЯ подавать на вход АЦП. Это напряжение должно быть подано на суммирующий ОУ и только потом на АЦП.
Только так смещение будет работать.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 18:54:54

Тяжелый клинический случай... :facepalm:
Как при смещении на 2,5 вольта +2,5 вольта останутся без изменений? Вы способны трезво анализировать собственные слова?
2,5+2,5=5.
И вообще, вы считаете себя грамотным настолько, чтобы возражать людям, которые ПРОФЕССИОНАЛЬНО занимаются обработкой сигналов?
Вы не считаете это хамством и самонадеянностью?

Нет это не хамство — это логическое мышление. Не смешение останется без изменений, а результат вычислений сотанется без изменений. При смещении на +2,5 вольта + 2,5 будет 5 вольт, а потом вы же предлагали от этой суммы вычесть 2,5 и получаем в итоге +2,5 вольта !

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 18:57:02

потом вы же предлагали от этой суммы вычесть 2,5 и получаем в итоге +2,5 вольта !

Может процитируете это мое "предложение"? :tea:
Вы еще и фантазер знатный... :facepalm:

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 19:08:32

Я не знаю, что такое знакопеременные отсчёты.
Плюс 400 и минус 400 - у этих двух значений разные знаки: в первом случае плюс, во втором минус, то есть у разных отсчётов могут быть, и есть, как мы видим, разные знаки. Так понятно?
Но я прекрасно понимаю, как работает двухполупериодный выпрямитель на практике. И все эти математические операции совершенно не выдают результатов работы двухполупериодного выпрямителя.
Неправда. Если у значений меньше нуля изменить знак, то получатся значения положительные - точно такой же результат, как будто аналоговый сигнал был пропущен через идеальный выпрямитель, только сделано это гораздо проще, всего одной строчкой программного кода.
Для простоты понимая возьмём не переменный входной сигнал для оцифровки, а постоянный. На АЦП мы уже подали постоянно смещение +2,5 Вольта. Эти +2,5 вольта приняли за виртуальный ноль.
А теперь туда же на АЦП подаём наш входной сигнал с противоположным напряжением - 2,5 Вольта, и на входе АЦП получится ноль вольт, поданное напряжение вычитается из напряжения смещения. И далее по предложенной вами методике от 0 вычитаем 2,5 и получаем -2,5 вольт. А в чём собственно разница?
Подали на вход – 2,5 вольта и получили всё те же -2,5 вольта? А подадим на вход +2,5 вольта плюсуем к ним 2,5 вольт напряжения смешения и отнимаем по вашей методе 2,5 вольта и получаем всё те же +2,5 вольта. В чём спрашивается смысл этих математических операций вычитания если на выходе ничего не меняется? В чём я не прав?
Вы точно чего-то не понимаете. Если у вас был сигнал, который менялся от минус 2.5 В до плюс 2.5 В, а потом его сдвинули вверх на 2.5 В, то получился сигнал, который меняется теперь от нуля до пяти вольт. Его мы подали на АЦП и получили код, меняющийся от нуля до 1024 (упрощённо, Крам на это уже обратил внимание, но пока это несущественно). После чего мы вычитаем из каждого отсчёта 512 и получаем значения от минус 512 до плюс 512, что соответствует исходному сигналу от минус 2.5 до плюс 2.5 В.
Ответить