Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка значений топливного датчика. 
:(
    Опции темы
Lazin
Дата 11.9.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: нет
Всего: 154



Цитата

не понимаю - как пройтись по данным если это аппаратный фильтр? или ты имеешь в виду его мат реализацию?

У тебя есть набор отсчётов с датчика A[1] A[2] A[3]... A[i] и тебе нужно решать разностное уравнение для каждого нового значения, вид уравнения зависит от того какой фильтр нужен.
PM MAIL Skype GTalk   Вверх
Coder
Дата 12.9.2007, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Lazin, я посмотрел цифровые фильтры. ничего нового в решении проблемы это не дало. тем более что в описании сказано, для чего они применяются и  с какими данными хорошо работают.
PM MAIL   Вверх
Lazin
Дата 12.9.2007, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: нет
Всего: 154



Coder, может тогда стоит использовать несколько датчиков, которые компенсировали бы друг друга. Например если машина едет под уклон, единственный топливный датчик всегда будет показывать неверный результат, и никакие фильтры тут не помогут. 
PM MAIL Skype GTalk   Вверх
cardinal
Дата 12.9.2007, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Ладно скажу пока, что я хочу попробовать. Я вспомнил smile, что для того чтобы сгладить сигнал достаточно отбросить высокие частоты, а как это делается? Берется сигнал, делается fourier, откидываются высокие частоты, то что получается трансформируется назад - получаем сглаженный сигнал (то же самое, что вышло бы с применением RC фильтра).


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
cardinal
Дата 13.9.2007, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Пока времени на эксперимент не нашел, но в принципе идея думаю ясна...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
ewolf
Дата 13.9.2007, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 15.8.2006
Где: г. Москва

Репутация: нет
Всего: 18



С фурье будет проблема, т.к. надо будет выделять определенный временной интервал, на котором эту функцию применять и чем уже будет этот интервал тем большее количество высоких частот не сможет быть отфильтровано,а чем шире он будет - тем больше информации об исходном виде сигнала мы потеряем.


Coder, ты плохо смотрел цифровые фильтры )) попробуй для начала отфильтровать свой сигнал в маткаде - используя даже встроеную функцию medsmooth с нужными параметрами ты отфильтруешь сигнал в достаточной степени. подбери в маткаде алгоритм фильтрации и реализуй его программно.


PM MAIL ICQ   Вверх
cardinal
Дата 13.9.2007, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Тоже верно. Если анализировать на ходу, то Фурье не прокатит...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Coder
Дата 13.9.2007, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Цитата(ewolf @  13.9.2007,  09:16 Найти цитируемый пост)
ты плохо смотрел цифровые фильтры ))

опирался на этот материал http://www.may.nnov.ru/mak/DSP/wisDF.shtml. здесь что-то пропущено?

Цитата(cardinal @  13.9.2007,  09:23 Найти цитируемый пост)
Тоже верно. Если анализировать на ходу, то Фурье не прокатит...

пост обработка в принципе тоже здесь утроит. 
Вот прототип функции, которую я взял здесь http://alglib.sources.ru/fft/

Цитата

procedure RealFastFourierTransform(var a : TReal1DArray;
     tnn : Integer;
     InverseFFT : Boolean);

Входные параметры:
    tnn  -   Число значений функции. Должно  быть  степенью
            двойки. Алгоритм   не  проверяет  правильность
            переданного значения.
    a   -   array [0 .. nn-1] of Real
            Значения функции.
    InverseFFT
        -   направление преобразования.
            True, если обратное, False, если прямое.

Попробывал поиграться с ней - ничего не получается. Делаю прямое и обратное преобразование - график принимает первоначальный вид. Скачки не сглаживаются.
Кстати, еще здесь очень странный параметр tnn, если использовать его как степень двойки, то получается можно передавать функции только ограниченный набор данных, а не весь массив.
PM MAIL   Вверх
cardinal
Дата 13.9.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



FastFourier основан на том, что у тебя двойкавстепени элементов. Иначе алгоритм не работает.
Цитата(Coder @  13.9.2007,  00:55 Найти цитируемый пост)
Попробывал поиграться с ней - ничего не получается. Делаю прямое и обратное преобразование - график принимает первоначальный вид. Скачки не сглаживаются.

Так перед тем, как сделать обратно ты откинул высокие частоты?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
cardinal
Дата 13.9.2007, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Короче при помощи Matlab'a
Код

hold 'on'
filename = 'F:\download\Desktop\_1.txt'
[time, value] = textread(filename,'%s %f',-1);

s=tf('s')
z=tf('z')
H=1/(1+3*s);
Hz = c2d(H,0.25)
[num,den] = tfdata(Hz, 'v')

value_f = filter(num', den', value);
plot(value);
plot(value_f);

я получил следующие результаты (без фильтра, с фильтром, оба одновременно). Смотри, изучай, если что непонятно - спрашивай...


Присоединённый файл ( Кол-во скачиваний: 39 )
Присоединённый файл  signal_not_filtered.jpg 15,82 Kb


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
cardinal
Дата 13.9.2007, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Сигнал с фильтром...

Присоединённый файл ( Кол-во скачиваний: 34 )
Присоединённый файл  signal_filtered.jpg 14,75 Kb


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
cardinal
Дата 13.9.2007, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Оба сигнала...

Первые два файла, что-то больше не открываются... smile 

Это сообщение отредактировал(а) cardinal - 5.8.2009, 17:23

Присоединённый файл ( Кол-во скачиваний: 33 )
Присоединённый файл  fourier.jpg 74,08 Kb


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
cardinal
Дата 6.10.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Ну и что в итоге? smile 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0563 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.