Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Анализ сигнала произвольной формы, как получиь характеристики сигнала 
:(
    Опции темы
df_3
Дата 5.8.2009, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Добрый день! Вопрос следующий:

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



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


--------------------
ИЗ ВСЕХ ВОЗМОЖНОСТЕЙ НА ЗЕМЛЕ САМАЯ ЯРКАЯ - ЭТО ЖИЗНЬ!
PM MAIL WWW MSN   Вверх
GoldFinch
Дата 5.8.2009, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

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



для начала его бы отфильтровать неплохо, и смотреть на логарифмической шкале, тогда пики будут более явными
PM MAIL ICQ   Вверх
cardinal
Дата 5.8.2009, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Цитата(GoldFinch @  5.8.2009,  15:00 Найти цитируемый пост)
для начала его бы отфильтровать неплохо

Пример здесь
http://forum.vingrad.ru/index.php?showtopi...t&p=1255274


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

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



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

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



ну а когда данные преобразуются к нормальному виду  - шум будет убран, 
можно будет сравнить сигнал с порогом, то что выше порога - пик - то что ниже - не-пик, посчитать число пиков и среднее расстояние
PM MAIL ICQ   Вверх
df_3
Дата 6.8.2009, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



пробую в матлабе. спасибо!


--------------------
ИЗ ВСЕХ ВОЗМОЖНОСТЕЙ НА ЗЕМЛЕ САМАЯ ЯРКАЯ - ЭТО ЖИЗНЬ!
PM MAIL WWW MSN   Вверх
df_3
Дата 6.8.2009, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

Сначала пришлось сделать во входном файле 2 столбца time и value (изначально был только один). После этого файл читается матлабом правильно. Может я что-то не допонимаю в коде? или функция filter() не дает нужного результата для подобного типа данных?

Код

>> hold 'on'
filename = 'E:\data.txt'
[time, value] = textread(filename,'%s %f',10000); //точно известно количество элементов в файле - 10000
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);

filename =

E:\data.txt

 
Transfer function:
s
 
 
Transfer function:
z
 
Sampling time: unspecified
 
Transfer function:
0.07996
--------
z - 0.92
 
Sampling time: 0.25

num =

        [color=red] 0  [size=8][/size][/color]  0.0800  //меня смущает этот 0


den =

    1.0000   -0.9200




Это сообщение отредактировал(а) df_3 - 6.8.2009, 11:21

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  data.txt 161,28 Kb


--------------------
ИЗ ВСЕХ ВОЗМОЖНОСТЕЙ НА ЗЕМЛЕ САМАЯ ЯРКАЯ - ЭТО ЖИЗНЬ!
PM MAIL WWW MSN   Вверх
cardinal
Дата 6.8.2009, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Попробуй другое значение Sampling time (более подходящее для твоего времени измерения).


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

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


Опытный
**


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

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



это типа 

Код

Hz = c2d(H,0.000004) 


?

Это сообщение отредактировал(а) df_3 - 6.8.2009, 14:14


--------------------
ИЗ ВСЕХ ВОЗМОЖНОСТЕЙ НА ЗЕМЛЕ САМАЯ ЯРКАЯ - ЭТО ЖИЗНЬ!
PM MAIL WWW MSN   Вверх
cardinal
Дата 6.8.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Я думаю лучше 0.0000004 и меньше...


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

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


Опытный
**


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

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



df_3
Цитата(df_3 @  6.8.2009,  11:16 Найти цитируемый пост)
   0    0.0800  //меня смущает этот 0

Это нормально у него s имеет положительную степень  H=1/(1+3*s);
H=1*s^-1/(1*s^-1+3)=0.33*s^-1/(1+0.33*s^-1)

Функции конечно поставили с ног на голову. Но это нечиго просто сигнал будет смещен в права на 1 пункт. А вот соотношение 0.92/0.08 даст интегратор на 10 отчетов.

А вообще на первом ресунки ничего не видно на 1 пиксель 20 отчетов приходится.

Только неясно зачем такой фильтр применять? Чтобы все данные исказить?

На рисунке насколько я могу видить помимо пиков присутствует еше некоторая переодическая состовляющая вот ее я думаю надо отфильтровать, а пики считать через порог. Я вообще предлогаю Гистерезистный  порог тогда о высоко частотном шуме ненадо будет беспокоится.
PM MAIL   Вверх
cardinal
Дата 6.8.2009, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Цитата(Pavia @  6.8.2009,  12:46 Найти цитируемый пост)
Только неясно зачем такой фильтр применять? Чтобы все данные исказить?

А для чего нужен RC-фильтр? Причем тут искажение?


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

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


Опытный
**


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

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



Цитата(cardinal @ 6.8.2009,  14:27)
Я думаю лучше 0.0000004 и меньше...

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


получился сигнал (см. приложение)
Какие действия с ним сделать еще, что бы посчитать его характеристики?

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  filtered.jpg 27,49 Kb


--------------------
ИЗ ВСЕХ ВОЗМОЖНОСТЕЙ НА ЗЕМЛЕ САМАЯ ЯРКАЯ - ЭТО ЖИЗНЬ!
PM MAIL WWW MSN   Вверх
Pavia
Дата 6.8.2009, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



df_3
Возьми еще немного меньше 0.0000004 а то остался еще шум. Тогда можно будет продифиренцировать и искать максимумы.
PM MAIL   Вверх
df_3
Дата 6.8.2009, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вот чего я заметил. тот сигнал, что я привел, был сделан для семпла в 0.25... 
если ставить много меньше, то получается почти прямая типа y=x  smile 
почему так?


--------------------
ИЗ ВСЕХ ВОЗМОЖНОСТЕЙ НА ЗЕМЛЕ САМАЯ ЯРКАЯ - ЭТО ЖИЗНЬ!
PM MAIL WWW MSN   Вверх
cardinal
Дата 6.8.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



df_3, нарисуй в Matlab'e две кривые рядом, чтобы понятней было, что происходит...


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

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

maxim1000

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


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

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


 




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


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

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