реклама на сайте
подробности

 
 
> Выделение резких изменений амплитуды
idle1
сообщение Oct 28 2017, 22:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 25-02-09
Из: Россия, Москва
Пользователь №: 45 367



Здравствуйте, форумчане!

Подскажите пожалуйста, как отфильтровать резкие изменения амплитуды.
Частота: 100кГц
Напряжение амплитуды, примерно: 2В
Сложность в том, что присутствует плавное изменение амплитуды.

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

Побывал АМ демодулятор на диоде и ОУ, но в сигнале все равно присутствует пила и как отфильтровать, я уже всю голову сломал.
Хотя бы направьте в каком направлении копать!

Сообщение отредактировал Vasily_ - Oct 30 2017, 09:30
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Oct 31 2017, 07:55
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



От делителя R16 R17 зависит.
Go to the top of the page
 
+Quote Post
iliusmaster
сообщение Oct 31 2017, 08:29
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 181
Регистрация: 15-04-17
Пользователь №: 96 556



Решение с пиковыми детекторами изящное и работоспособно при правильном выборе элементов в широком диапазоне частот и температур.
Совсем неясна любовь к использованию МК там, где 3 корпуса мелкосхем и сборка транзисторов решают задачу быстро, "дешево" и эффективно. Вот оно Использование МК ради использования МК!
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 31 2017, 10:04
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(iliusmaster @ Oct 31 2017, 11:29) *
Совсем неясна любовь к использованию МК там, где 3 корпуса мелкосхем и сборка транзисторов решают задачу быстро, "дешево" и эффективно. Вот оно Использование МК ради использования МК!

Что именно неясно? Вам неясно почему решение вообще без каких либо мелкосхем и транзисторов лучше, чем их наличие? Я думал - это должно быть очевидно.
Неясно почему 1 чип (МК), лучше чем огород из 5 (МК+3логики+сборка)?
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Oct 31 2017, 13:48
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(jcxz @ Oct 31 2017, 17:04) *
Неясно почему 1 чип (МК), лучше чем огород из 5 (МК+3логики+сборка)?

Везде есть свои плюсы и минусы, и каждый человек к ним имеет свой собственный набор весовых коэффициентов sm.gif

Возможно вам проще реализовать программно, но вы алгоритм еще не выложили, а Plain по-быстрому собрал и выложил готовую схему. Кому-то проще схему сделать, потому что время жмет, а программист не очень высокой квалификации и долго будет реализовывать, а кому-то надо 100к шт. выпустить - ему выгоднее привлечь стороннего.
С другой стороны, всё-равно надо плату/комплектацию заказывать-монтировать-проверять и что 1 корпус, что 10 - не будет играть большой роли(тем более у ТС на плате уже не 1 корпус). Вот когда будет приличная серия - тогда да, можно и переделать на программную реализацию. И т.д. и т.п.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 1 2017, 09:05
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(HardEgor @ Oct 31 2017, 16:48) *
Возможно вам проще реализовать программно, но вы алгоритм еще не выложили, а Plain по-быстрому собрал и выложил готовую схему.

Готовая - это ещё не говорит о том, что она будет работать так, как надо ТС. И даже не факт, что если сейчас, испытанная на каком-то сигнале эта схема будет работать достаточно удовлетворительно, то завтра, когда что-то немного изменится, оно так же будет работать.
А один из главных плюсов программной реализации - гибкость. Алгоритм в будущем нетрудно переделать, доработать под новые исходные данные. А вот схему...
Да и программная реализация там должна быть несложная.
И раздел здесь - "для начинающих", а это значит для людей развивающихся, а развиваться можно только пытаясь разобраться в чём-то новом, а не тупо повторяя чужое готовое решение.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Nov 1 2017, 11:58
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(jcxz @ Nov 1 2017, 12:05) *
А один из главных плюсов программной реализации - гибкость. Алгоритм в будущем нетрудно переделать, доработать под новые исходные данные. А вот схему...
Да и программная реализация там должна быть несложная.
И раздел здесь - "для начинающих", а это значит для людей развивающихся, а развиваться можно только пытаясь разобраться в чём-то новом, а не тупо повторяя чужое готовое решение.

Хороший алгоритм нахождения максимума (пусть даже у нас чистая синусоида) по десятку отсчетов на период можете предложить? Чтобы еще за период справлялся...
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 1 2017, 12:22
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Tanya @ Nov 1 2017, 14:58) *
Хороший алгоритм нахождения максимума (пусть даже у нас чистая синусоида) по десятку отсчетов на период можете предложить? Чтобы еще за период справлялся...

Сразу - нет. Надо сперва в Матлабе пробовать.
Но я бы сначала попробовал выпрямить сигнал и прогнать его через простой ФНЧ с децимацией (может даже предварительной, чтобы уменьшить загрузку CPU).
Как видно - у автора длительность искомых событий примерно равна 4 периодам, так что можно сделать децимацию как минимум в 4 раза.
DSP уровня TI-шного C55xx с такой задачей справится без вопросов. А на Cortex-M надо будет писать очень оптимально и наверное на асме (обработчик сэмплов).
Go to the top of the page
 
+Quote Post
idle1
сообщение Nov 2 2017, 01:42
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 25-02-09
Из: Россия, Москва
Пользователь №: 45 367



Цитата(jcxz @ Nov 1 2017, 15:22) *
Сразу - нет. Надо сперва в Матлабе пробовать.
Но я бы сначала попробовал выпрямить сигнал и прогнать его через простой ФНЧ с децимацией (может даже предварительной, чтобы уменьшить загрузку CPU).
Как видно - у автора длительность искомых событий примерно равна 4 периодам, так что можно сделать децимацию как минимум в 4 раза.
DSP уровня TI-шного C55xx с такой задачей справится без вопросов. А на Cortex-M надо будет писать очень оптимально и наверное на асме (обработчик сэмплов).


Я тоже размышляю на тему перехода в МК, уж больно меня пугает такое количество аналоговой рассыпухи.
Сейчас пробую реализацию на стареньком ARM7TDMI. Прерывания с ADC для уменьшения количества циклов выношу в RAM. Частота известна и стабильна, нужно только при инициализации поймать верх горбушки, а далее измерять с заданной частотой и вносить корректировки.
Предложенная Plain’ом схема мне очень нравится, если с МК прогорит, то вернусь к ней.
* Жалко всего две руки и одна голова, а так бы и схему собирал и кодил одновременно sm.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 2 2017, 07:44
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(idle1 @ Nov 2 2017, 04:42) *
Сейчас пробую реализацию на стареньком ARM7TDMI. Прерывания с ADC для уменьшения количества циклов выношу в RAM. Частота известна и стабильна, нужно только при инициализации поймать верх горбушки, а далее измерять с заданной частотой и вносить корректировки.

Если хотите, чтобы получилось, то имхо - процессор надо всё-таки помощнее - хотя бы Cortex-M с частотой явно больше 100МГц.
И писать надо оптимально. А это уж явно не вытягивать сэмплы программно из АЦП - тут у вас всё быстродействие CPU только на это и уйдёт.
Явно нужно DMA+ADC и подумать над оптимальным расположением кода/данных в памяти.

Цитата(Andreas1 @ Nov 2 2017, 08:58) *
Афтору надо 16 каналов завести в проц - это только дсп и то не всякий справится , а с ним сложностей в изучении вагон. Если был бы один-два канала да, намного проще копеечным STM32F030 обойтись, который дешевле выбранной атмеги, имеет шустрое ацп и достаточно ресурсов для данной задачи без всяких асмов.

А где автор говорит про 16 каналов? Вроде в исходном задании только 1 канал....

Цитата(ViKo @ Nov 2 2017, 09:16) *
Компаратором (внешним или внутренним) находить переходы сигнала через 0. По срабатыванию запускать таймер или АЦП. Таймером или временем выборки подобрать, чтобы АЦП срабатывал на вершинах синусоид.

Ну да - и по малейшему шуму, вся работа идёт лесом.

PS: Да - и начинать надо не с АЦП и программирования, а с создания модели в Матлабе. Чтобы хоть примерно оценить требуемые для решения задачи ресурсы.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- idle1   Выделение резких изменений амплитуды   Oct 28 2017, 22:10
- - Plain   Например, два чередуемых пиковых детектора и компа...   Oct 29 2017, 02:11
|- - idle1   Цитата(Plain @ Oct 29 2017, 05:11) Наприм...   Oct 29 2017, 12:14
- - Plain   RE: Выделение резких изменений амплитуды   Oct 29 2017, 22:29
|- - idle1   Цитата(Plain @ Oct 30 2017, 01:29) Спаси...   Oct 29 2017, 23:10
- - toweroff   Plain, не совсем понятна идея работы Q3 и Q5. Если...   Oct 30 2017, 06:11
|- - HardEgor   Цитата(toweroff @ Oct 30 2017, 13:11) Pla...   Oct 30 2017, 08:35
|- - Plain   Цитата(toweroff @ Oct 30 2017, 09:11) не ...   Oct 30 2017, 18:57
|- - Tarbal   Цитата(Plain @ Oct 30 2017, 22:57) Данная...   Oct 31 2017, 04:03
- - Molotov   Здравствуйте. Я так понял, что нужно найти резкое ...   Oct 30 2017, 09:53
|- - idle1   Цитата(Molotov @ Oct 30 2017, 12:53) Здра...   Oct 30 2017, 10:06
|- - jcxz   Цитата(idle1 @ Oct 30 2017, 13:06) Я проб...   Oct 30 2017, 11:29
|- - Molotov   Ну микроконтроллеры ATMega не такие уж и слабые. Я...   Oct 30 2017, 13:54
|- - idle1   Цитата(Molotov @ Oct 30 2017, 16:54) Ну м...   Oct 30 2017, 14:45
|- - jcxz   Цитата(idle1 @ Oct 30 2017, 17:45) ARM и ...   Oct 30 2017, 15:28
- - Molotov   Куда такие частоты лупите - уж после детектора явн...   Oct 31 2017, 06:47
- - ViKo   Plain - молодец! И все-то у него получается. ...   Oct 31 2017, 07:15
- - Alexashka   Обнаруживает спад в одной полуволне.   Oct 31 2017, 07:47
||||- - Tanya   Цитата(jcxz @ Nov 2 2017, 10:44) Ну да - ...   Nov 2 2017, 08:14
|||||- - ViKo   Цитата(Tanya @ Nov 2 2017, 11:14) Вот име...   Nov 2 2017, 08:33
|||||- - Tanya   Цитата(ViKo @ Nov 2 2017, 11:33) Хотя у с...   Nov 2 2017, 08:53
|||||- - jcxz   Цитата(Tanya @ Nov 2 2017, 11:53) Помеха ...   Nov 2 2017, 09:02
|||||- - idle1   Цитата(jcxz @ Nov 2 2017, 12:02) Вот имен...   Nov 2 2017, 09:17
||||- - Andreas1   Цитата(jcxz @ Nov 2 2017, 10:44) А где ав...   Nov 2 2017, 09:49
||||- - idle1   Цитата(Andreas1 @ Nov 2 2017, 12:49) В 9 ...   Nov 2 2017, 10:20
||||- - jcxz   Цитата(idle1 @ Nov 2 2017, 13:20) Каналов...   Nov 2 2017, 14:04
|||- - Andreas1   Цитата(jcxz @ Nov 1 2017, 15:22) DSP уров...   Nov 2 2017, 05:58
||- - iliusmaster   Цитата(jcxz @ Oct 31 2017, 13:04) Что име...   Oct 31 2017, 21:17
|- - Tarbal   Цитата(iliusmaster @ Oct 31 2017, 12:29) ...   Nov 4 2017, 02:00
- - ViKo   Компаратором (внешним или внутренним) находить пер...   Nov 2 2017, 06:16
- - ViKo   Еще бы знать нормальную амплитуду сигнала. И част...   Nov 2 2017, 09:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 21:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01509 секунд с 7
ELECTRONIX ©2004-2016