Поиск:

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


Опытный
**


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

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



нефильтрованную и фильтрованную?
как нарисовать два графика в одном окне?


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


Инженер
****


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

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



Цитата(df_3 @  6.8.2009,  14:16 Найти цитируемый пост)
как нарисовать два графика в одном окне? 

Код

hold on
plot(...)
plot(...)



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

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


Опытный
**


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

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



 вот. сделал.

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

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


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


Инженер
****


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

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



Тут
Код

H=1/(1+3*s);

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


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

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


Опытный
**


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

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



поигался с числом, почитал инфу. Подобрал семплирующий коэфициент на глаз. Но может существует способ его как-то оптимально подобрать при помощи каких-то методов? 

еще вопросик:
не понятен вот этот учаток кода 

Код

Hz = c2d(H,0.25);
[num,den] = tfdata(Hz, 'v');


и что значит num'?

вот чего я наделал. Отфильтровал, дифференцировал (получается очень шумная кривая), отфильтровал(тем же фильтром), посчитал количество пересечений с осьо абсцисс. результат 40 пересечений что приблизительно равно количеству пиков "на глаз". возможен такой вариант решения задачи?

Код

hold on
filename = 'E:\WORK\juelich\2008-06\TEK00002.txt';
[time, value] = textread(filename,'%s %f',10000); 
s=tf('s');
z=tf('z');
H=1/(1+56*s);
Hz = c2d(H,0.25);
[num,den] = tfdata(Hz, 'v');
value_f = filter(num', den', value);
plot(value,'-.g')
plot(value_f, '-b')
C=diff(value_f);
Hz = c2d(H,0.25);
[num,den] = tfdata(Hz, 'v');
A = filter(num', den', C);
A=sign(A);
B=A(1:end-1).*A(2:end);
number_of_zeros=sum(abs(sign(B-1)));
number_of_zeros




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


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


Инженер
****


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

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



Цитата(df_3 @  6.8.2009,  22:32 Найти цитируемый пост)
и что значит num'?

http://www.mathworks.com/access/helpdesk/h...p;aq=1s&oq=

Цитата(df_3 @  6.8.2009,  22:32 Найти цитируемый пост)
возможен такой вариант решения задачи?

Возможен (т.к. любой вариант возможен), но мне "на глаз" не нравится. smile

Еще раз чуть поподробнее:
1. что это за сигнал?
2. нельзя ли измерить с меньшими помехами?
3. какой ответ (сколько пиков, расстояние между ними) ты ожидаешь?


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

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


Опытный
**


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

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



df_3
Цитата(df_3 @  7.8.2009,  00:32 Найти цитируемый пост)
[num,den] = tfdata(Hz, 'v');

В  справке на мотлаб написанно числитель и знаменатель передаточной функции.


Цитата(df_3 @  7.8.2009,  00:32 Найти цитируемый пост)
поигался с числом, почитал инфу. Подобрал семплирующий коэфициент на глаз. Но может существует способ его как-то оптимально подобрать при помощи каких-то методов? 


Сущществует огромное множество
http://vissim.nm.ru/audio_eq.html
Там внизу задаешь частоту среза выбераеш Фильтер Низких Частот.

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


Цитата(df_3 @  7.8.2009,  00:32 Найти цитируемый пост)
c2d(H,0.25);

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


А вообще неплохо знать природу сигнала чтобы подобрать фильтер. В данной работе использовался RC фильтр классический когда мы подрожаем электрической схеме RC. Без всяких обоснований. Я то больше обработкой изоброжений занимаюсь. Там к примеру Гаусовский фильтер очень популярен.
PM MAIL   Вверх
df_3
Дата 7.8.2009, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Возможен (т.к. любой вариант возможен), но мне "на глаз" не нравится. smile

мне тоже не нравится. smile

Цитата

Еще раз чуть поподробнее:
1. что это за сигнал?
2. нельзя ли измерить с меньшими помехами?
3. какой ответ (сколько пиков, расстояние между ними) ты ожидаешь? 

Цитата

А вообще неплохо знать природу сигнала чтобы подобрать фильтер.


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

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


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


Опытный
**


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

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



У меня получилось 22 пика хотя 2 из них больше на шум смахивает Так что только 20.

Взял сигнал посмотрел АЧХ припомоще FFT откуда определил частоту среза. Отфильтровал сделал обратное преобразование.  
После продиференцировал.

Код

for i:=0 to n-3 do
b[i]:=a[i+2]-A[i];


Подобрал порог. 
h=0.0008 Красная горизонтальная линия.

А после вот таким вот образом посчитал число переходов через 0 с учетом порога.

Код

for i:=0 to n-1 do
 begin
 if b[i]>h then Flag:=1;
 if (b[i]<0) and (Flag=1) then
  begin
  Piks:=Piks+1;

  canvas.Pen.Color:=ClRed;
  canvas.MoveTo(Round(30+30*2+2*255*i/N),750);
  canvas.LineTo(Round(30+30*2+2*255*i/N),50);
  canvas.Pen.Color:=ClBlack;
  end;
 if b[i]<=0 then Flag:=0
 end;




В атаче рисунок вверху исходный сигнал потом отфильтрованный и внизу продиференцированный.

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  __________.png 19,56 Kb
PM MAIL   Вверх
cardinal
Дата 7.8.2009, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Цитата(Pavia @  7.8.2009,  07:47 Найти цитируемый пост)
Без всяких обоснований.

Читаем про выскочастотные помехи и их подавление
http://www.platan.ru/library/Murata_EMI_rus.pdf
Цитата(Pavia @  7.8.2009,  07:47 Найти цитируемый пост)
А вообще недокнца понимаю как фильтеры строятся вроде казалось все понятным. Пока не начал пробовать и встал вопрос с дискретизацией как из теоретической непрерывной перевести в дискретную. Видать кроется секрет в этой функции.

H(z)= (z-1)/z *Z(H(s)/s)  (где Z это трансформация, она происходит при помощи таблицы основных преобразований)

А так вот на тему
функция c2d
Continuous/Discrete Conversions of LTI Models
Discretizing a Notch Filter

Добавлено через 14 минут и 52 секунды
df_3, пользуйся кнопкой "быстрая цитата", тогда понятно будет кого ты цитируешь...
Цитата(df_3 @  7.8.2009,  08:13 Найти цитируемый пост)
это сигнал с осцилографа, проще говоря, каждый пик - это событие.

Еще раз: ЧТО конкретно измеряется?
Цитата(df_3 @  7.8.2009,  08:13 Найти цитируемый пост)
Измерить точнее нельзя к сожалению. 

тогда может станет понятно почему нельзя точнее. Есть предположение, что мы с последствиями разбираемся, а не с причиной...
Цитата(Pavia @  7.8.2009,  11:04 Найти цитируемый пост)
Взял сигнал посмотрел АЧХ припомоще FFT откуда определил частоту среза.

Покажи пожалуйста картинку, если такая есть. Интересно, что FFT показывает.

А насчет дифференциации - это неплохая мысль.


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

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


Опытный
**


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

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



Цитата(cardinal @  7.8.2009,  13:33 Найти цитируемый пост)
Читаем про выскочастотные помехи и их подавление

Опять детский сад. Я и так прочитал кучу книг и еще столькоже статей.
Я неспорю что RC фильтр отфильтровывает высокии частоты. Вопрос в том какой лучше. А я тебе отвечу что большинство фильтеров фильтеров выполняют эту самую фультрацию. А остальные на основе них строится. Но все по разному работают.  
Помимо высоких частот RC портит и другии частоты откуда координаты пиков у тебя съезжают.


Цитата(cardinal @  7.8.2009,  13:33 Найти цитируемый пост)
H(z)= (z-1)/z *Z(H(s)/s)  (где Z это трансформация, она происходит при помощи таблицы основных преобразований)

Я не про ето. Я в рекурсивных фильтерах застрял. Эти преобразования я знаю. Я беру строю фильтр согласно теории и он не работает так как надо. Я вижу не соответствие, но пока доконца не разобрался. Где подвох не ясно так как никаких хитрых ухищерений нет а преобразование табличное. 
PM MAIL   Вверх
cardinal
Дата 7.8.2009, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Цитата(Pavia @  7.8.2009,  12:01 Найти цитируемый пост)
Помимо высоких частот RC портит и другии частоты откуда координаты пиков у тебя съезжают.

А какой же фильтр не портит другие частоты? Смотрим на ЛАФЧХ элементарных звеньев. Апериодическое и колебательное звено - оба влияют не только на сигнал с частотой большей частоты среза. А все фильтры можно разбить на эти звенья. Другое дело, что их можно скомбинировать и добиться результата получше. Но опять же таки - помоему сейчас в сигнале проблема, а не в фильтре...
Цитата(Pavia @  7.8.2009,  12:01 Найти цитируемый пост)
Я в рекурсивных фильтерах застрял.

где они? smile 


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

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


Опытный
**


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

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



Окно Хэминга + FFT показывает что шум розовый почти белый.
Картинка семметричная так как сигнал действительный. Так что можно рассматривать правую половину.
Частоты не выводил так как нормального компонента для вывода нет.

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  __________1.png 11,06 Kb
PM MAIL   Вверх
cardinal
Дата 7.8.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Ок, мерси. Ладно подождем, что скажет df_3... 


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

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



****


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

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



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

maxim1000

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


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

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


 




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


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

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