Easyelectronics.ru

Электроника для всех
Текущее время: 30 май 2017, 06:17

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



    • Изготовление печатных плат. Примерные цены: 10 штук 2-слоя 100*100mm 8.21$ или около ~470 рублей
    • Создание принципиальных схем и проектирование печатных плат
    • Симуляция работы на spice моделях
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Очереди и блокировка задач
СообщениеДобавлено: 11 май 2017, 00:39 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3976
CheMax писал(а):
физический смысл прост, ибо это физиологический сигнал. Одним фильтром выделяется одна составляющая, другим другая. Хотя пример можно привести абстрактный: в рамках большой полосы у Вас два или более полезных сигнала разнесенных по частоте. вот вы и выделяете из общего сигнала два разных разными фильтрами.
вот именно последний пример я понимаю, один сигнал двумя фильтрами делим на два, в одном одни данные, в другом другие. но эти фильтры фильтруют непрерывно. как можно фильтровать кусочно - мне не понятно... ну да ладно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очереди и блокировка задач
СообщениеДобавлено: 11 май 2017, 02:16 
Свой человек
Аватара пользователя

Зарегистрирован: 01 авг 2016, 10:47
Сообщения: 109
Откуда: Таганрог
Ink писал(а):
CheMax писал(а):
физический смысл прост, ибо это физиологический сигнал. Одним фильтром выделяется одна составляющая, другим другая. Хотя пример можно привести абстрактный: в рамках большой полосы у Вас два или более полезных сигнала разнесенных по частоте. вот вы и выделяете из общего сигнала два разных разными фильтрами.
вот именно последний пример я понимаю, один сигнал двумя фильтрами делим на два, в одном одни данные, в другом другие. но эти фильтры фильтруют непрерывно. как можно фильтровать кусочно - мне не понятно... ну да ладно.


не кусочно, нет. просто для одного фильтра оптимально работать малыми фреймами, например по 5 точек. для другого оптимальным является фрейм на 100 точек. а в целом фильтрация происходит неприрывно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очереди и блокировка задач
СообщениеДобавлено: 11 май 2017, 12:16 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3976
я совсем запутался.
пусть пришло 1000 сэмплов. после двух фильтров должно получиться 2000 сэмплов, так или нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очереди и блокировка задач
СообщениеДобавлено: 11 май 2017, 12:40 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2057
Откуда: Санкт-Петербург
Кстати, подумайте как следует насчёт возможности выполнять оба фильтра в одном потоке. Переключение контекста - относительно дорогая операция...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очереди и блокировка задач
СообщениеДобавлено: 11 май 2017, 15:00 
Свой человек
Аватара пользователя

Зарегистрирован: 01 авг 2016, 10:47
Сообщения: 109
Откуда: Таганрог
Ink писал(а):
я совсем запутался.
пусть пришло 1000 сэмплов. после двух фильтров должно получиться 2000 сэмплов, так или нет?


в данном случае нет, будет 1000 точек на выходе первого фильтра либо меньше (зависит от наличия дефиматора), и 10 точек со второго фильтра (ибо децимация будет).

буду дома, сброшу схемку прохождения данных. думаю понятней станет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очереди и блокировка задач
СообщениеДобавлено: 11 май 2017, 15:03 
Свой человек
Аватара пользователя

Зарегистрирован: 01 авг 2016, 10:47
Сообщения: 109
Откуда: Таганрог
aamonster писал(а):
Кстати, подумайте как следует насчёт возможности выполнять оба фильтра в одном потоке. Переключение контекста - относительно дорогая операция...


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очереди и блокировка задач
СообщениеДобавлено: 11 май 2017, 16:26 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3976
ну, пока децимацию в расчет не берем. итак, было на входе 1000 точек, на выходе первого (без д.) получили тоже 1000 точек. это значит, что этот фильтр обработал ВСЕ входные точки, которые ему пришли из очереди. если бы 2й фильтр брал их из этой же очереди, первый бы не получил часть точек.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очереди и блокировка задач
СообщениеДобавлено: 11 май 2017, 16:53 
Свой человек
Аватара пользователя

Зарегистрирован: 01 авг 2016, 10:47
Сообщения: 109
Откуда: Таганрог
Ink писал(а):
ну, пока децимацию в расчет не берем. итак, было на входе 1000 точек, на выходе первого (без д.) получили тоже 1000 точек. это значит, что этот фильтр обработал ВСЕ входные точки, которые ему пришли из очереди. если бы 2й фильтр брал их из этой же очереди, первый бы не получил часть точек.

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


это если удалять элемент из очереди по чтению.

по поводу алгоритма: немного переосмыслил прием данных. Поток 1 кГц пишется в кольцевой буфер. Через сообщение передается указатель на последний записанный элемент в буфер. Поток с фильтрами отслеживает разницу между индексом записи и индексами чтения. Как только его удовлетворяет количество данных - запускает обработку.

по сути fifo с одним индексом записи и двумя индексами чтения. вроде должно работать)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очереди и блокировка задач
СообщениеДобавлено: 11 май 2017, 17:32 
Только пришел

Зарегистрирован: 03 май 2017, 17:34
Сообщения: 7
aamonster писал(а):
Кстати, подумайте как следует насчёт возможности выполнять оба фильтра в одном потоке. Переключение контекста - относительно дорогая операция...

Позвольте полюбопытствовать, в чем проблема? Ведь FreeRTOS всё равно это делает не зависимо от количества поставленных задач.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очереди и блокировка задач
СообщениеДобавлено: 12 май 2017, 15:34 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 397
если у вас ваш массив не разделяется с меж задачами то менее накладно(с точки зрения ресурсов) использовать
Это http://www.freertos.org/RTOS-task-notification-API.html
ил это http://www.freertos.org/event-groups-API.html


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу Пред.  1, 2

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


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

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


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

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

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