|
Офлафн оценка скорости по дискретным отсчетам, Какие есть методы? |
|
|
|
Aug 15 2013, 20:43
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Исходные данные - есть дискретные квантованные отсчеты некоторого сигнала. Мы знаем, что этот сигнал - выход некоторой механической системы, т.е. как минимум дважды дифференцируем. Более того, если надо, то мы можем априорно предположить некоторые ограничения на первую и вторую производные. Уровень квантования сигнала достаточно маленький по сравнению с диапазоном изменений сигнала. Частота дискретизации достаточно велика по сравнению со скоростью самого процесса. Скажем, дискретизация 1кГц при том, что в составе сигнала нет существенных компонент с частотами выше 50Гц. Записанный процесс достаточно длинный - несколько сотен тысяч отсчетов, сигнал имеет совершенно произвольную форму (с учетом дифференцируемости), но преобладают низкие частоты.
Задача - как по имеющимся отсчетам оценить скорость? Какие есть оффлайновые методы? Если кто-то сможет дать ссылку на какой-то перечень или обзор, то было бы здорово. Рабочая среда - матлаб.
Я бы решал задачу так - прорядил бы отсчеты, взяв, например, каждый 20-й. Полученные отсчеты описал бы каким-то сплайном, а затем по найденному сплайну вычисли бы значения производной во всех исходных точках. Плюс - в матлабе это делается в две строчки, и если исходный сигнал достаточно гладкий, то получается приемлемая точность. Но при таком методе есть недостаток - выпадают промежуточные, прореженные точки, т.е. часть информации пренебрегается. Кто как решает, на какие методы стоит посмотреть?
|
|
|
|
|
 |
Ответов
|
Aug 19 2013, 12:09
|
Знающий
   
Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730

|
Это была иллюстрация. Ваши поправки требуют изменений: Код clear all;
NB=12;%Num bits M=20;%Num sins N=4000;%Seq length L=200;%Differentiators length Fd=1000;%Sam[ling freq Fmax=50;%Max freq
%Random phase p=randn(1,M);
f=(1:M)*Fmax/M; x=(0:N-1).'*2*pi*f/Fd; x=x+repmat(p,length(x),1);
s=sum(sin(x).')/M; %Sequence %s=s+randn(1,length(s))*0.001*std(s);
%s=round(s*(2^NB))/(2^NB);% Quantization
ds=(2*pi*f/M)*cos(x).';%Reference Derivative Sequence
t=(0:N-1)/Fd; a=[2*ones(1e3,1); zeros(1e3,1); -1.95*ones(1e3,1); 2*zeros(1e3,1)]; vel=lsim(tf(1,[1 0]),a,t); pos=lsim(tf(1,[1 0]),vel,t);
s=pos'+0.2*s; ds=vel'+0.2*ds;
s=quant(s,range(s)/3e3);
h=firpm(L,[0 Fmax 1.5*Fmax Fd/2]/(Fd/2),[0 2*pi*Fmax 0 0],'differentiator');
plot(0:Fd/20000:Fd/2-Fd/20000,20*log10(abs(freqz(h,1,10000)))); grid on;
y=filter(h,1,[ s(end-L+1:end) s s(1:L)]);% Calculation Derivative from sequence y=y(L+1+L/2:end-L/2); disp(['Mean error = ',num2str(std((ds(L/2:end-L/2+1)-y(L/2:end-L/2+1)))/std((ds)))]);%Compare with ref
|
|
|
|
|
Aug 19 2013, 14:34
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(thermit @ Aug 19 2013, 16:09)  Это была иллюстрация. Ваши поправки требуют изменений: Спасибо! У меня пара вопросов осталось, если не трудно: 1) Из каких соображений L=300 заменили на L=200? И отсечение с 1.6*Fmax на 1.5*Fmax? 2) Почему Код y=filter(h1,1,[ s(end-L+1:end) s s(1:L)]); а не, например, Код y2=filter(h1,1,[ s(1:L) s s(end-L+1:end)]); Мне упраженения показывают, что второй лучше дает результаты, нет колебаний в начале и конце отрезка, но я от ЦОС далек и не знаю. UPD: Есть, правда, один недостаток. Если теперь в примере убрать синусоидальные компоненты и оставить только ускоренное движение (s=pos'+0*s; ds=vel'+0*ds), то результрующая оценка скорости будет сильно колебаться вокруг истинного знаечния. Предполагаю, что это как раз из-за квантования. Как быть в этом случае? Цитата(Tanya @ Aug 19 2013, 17:14)  Но Вы же не можете знать, как на самом деле ведет себя система. Может, скорость не постоянная, и там, где Вы видите ступеньку, а думаете, что там прямая, там ступенька и есть на самом деле. В общем случае это совершенно справедливое замечание. В тех конкретных примерах, которые я держу в голове и моделирую, речь идет именно о невыскоих скоростях. Это можно косвенно оценить, например, по физическому смыслу эксперимента и по другим наблюдаемым состояниям. При оценке скорости я хотел задать это как ограничение на ускорение, что, в принципе, срабатывает при использовании сглаживающего сплайна. При использовании фильтров такое ограничение, видимо, должно регулироваться через настройку полосы пропускания.
|
|
|
|
Сообщений в этой теме
RHnd Офлафн оценка скорости по дискретным отсчетам Aug 15 2013, 20:43 _pv тогда сразу натягивать на все точки кубический спл... Aug 15 2013, 20:56 RHnd Спасибо за наводку на сглаживающий сплайн. Не очен... Aug 15 2013, 22:09 _pv Цитата(RHnd @ Aug 16 2013, 05:09) А что в... Aug 16 2013, 06:04 Tanya Цитата(RHnd @ Aug 16 2013, 02:09) Дополню... Aug 19 2013, 13:14 RHnd Это работало бы, если бы пренебрежимо малое кванто... Aug 16 2013, 06:25 thermit Сначала ФНЧ, затем дифференцировать. ФНЧ ограничит... Aug 16 2013, 16:11 RHnd Использование ФНЧ приведет к появлению задержки, ч... Aug 16 2013, 16:33 _pv ЦитатаСначала ФНЧ, затем дифференцировать. ФНЧ огр... Aug 16 2013, 17:05 Alex11 Если Вы работаете offline, то что Вам до задержки.... Aug 16 2013, 17:03 RHnd Цитата(Alex11 @ Aug 16 2013, 21:03) Если ... Aug 16 2013, 17:10 thermit Цитата_pv:
операции линейные, от смены очерёдности... Aug 16 2013, 20:16 RHnd Цитата(thermit @ Aug 17 2013, 00:16) Но т... Aug 16 2013, 21:57  _pv Цитата(RHnd @ Aug 17 2013, 03:57) Вспомни... Aug 17 2013, 07:37   RHnd Цитата(_pv @ Aug 17 2013, 11:37) у БИХ фа... Aug 17 2013, 08:29 thermit ЦитатаRHnd:
Почему?
Да зачем прореживать, чтобы п... Aug 17 2013, 09:38 RHnd 1) Если в самом сигнале шумов нет и все проблемы с... Aug 17 2013, 10:43 thermit Вот скрипт иллюстрирующий оценку производной при п... Aug 18 2013, 19:52 RHnd Спасибо за код.
Смотрите, убираем вашу строчку
К... Aug 19 2013, 06:17  Tanya Цитата(RHnd @ Aug 19 2013, 18:34) В общем... Aug 19 2013, 15:59 RHnd Tanya, простите, а в чем смысл вашего коментария? ... Aug 19 2013, 17:17 Tanya Цитата(RHnd @ Aug 19 2013, 21:17) Tanya, ... Aug 20 2013, 14:59 thermit ЦитатаRHnd:
1) Из каких соображений L=300 заменили... Aug 20 2013, 12:55 RHnd Но если взять такой фнч, то при наличии синусоидал... Aug 20 2013, 14:06 RHnd Я не пойму, к чему вы ведете. Вы считаете, что рас... Aug 20 2013, 16:20 Tanya Цитата(RHnd @ Aug 20 2013, 19:59) Я не по... Aug 20 2013, 16:27  RHnd Это вы мне первую разность предложили использовать... Aug 20 2013, 16:37   Tanya Цитата(RHnd @ Aug 20 2013, 20:37) Это вы ... Aug 21 2013, 07:13 TSerg Это не задача ЦОС, это задача идентификации динами... Aug 21 2013, 06:57 RHnd Цитата(TSerg @ Aug 21 2013, 10:57) Это не... Aug 21 2013, 07:10 TSerg >Да, если бы решалась онлайн.
Не имеет значени... Aug 21 2013, 07:38 RHnd Цитата(TSerg @ Aug 21 2013, 11:38) Если п... Aug 21 2013, 08:13  Tanya Цитата(RHnd @ Aug 21 2013, 12:13) Пожалуй... Aug 21 2013, 08:50   RHnd Цитата(Tanya @ Aug 21 2013, 12:50) Вот то... Aug 21 2013, 09:03    Tanya Цитата(RHnd @ Aug 21 2013, 13:03) будет в... Aug 21 2013, 09:21     RHnd Цитата(Tanya @ Aug 21 2013, 13:21) Вот у ... Aug 21 2013, 09:35      Tanya Цитата(RHnd @ Aug 21 2013, 13:35) Видимо,... Aug 21 2013, 09:46       RHnd Цитата(Tanya @ Aug 21 2013, 13:46) Что зн... Aug 21 2013, 10:27        Tanya Цитата(RHnd @ Aug 21 2013, 14:27) Минимиз... Aug 21 2013, 10:41 TSerg Рискну предположить, что речь идет, к примеру, об ... Aug 21 2013, 11:20 RHnd Цитата(TSerg @ Aug 21 2013, 15:20) Рискну... Aug 21 2013, 11:30 TSerg Если мы ведем речь о динамической, возможно упроще... Aug 21 2013, 11:44 RHnd В целом, все ваши рассуждения об известной динамич... Aug 21 2013, 12:56 thermit ЦитатаПостараюсь посмотреть. Что-то конкретно, или... Aug 21 2013, 13:13 RHnd Цитата(thermit @ Aug 21 2013, 17:13) 4-я ... Aug 21 2013, 13:40 TSerg Из новомодных - Hilbert–Huang transform (HH... Aug 21 2013, 13:55 RHnd Цитата(TSerg @ Aug 21 2013, 17:55) Из нов... Aug 21 2013, 15:43 thermit ЦитатаRHnd:
Спасибо, посмотрел. На сколько я с нас... Aug 21 2013, 14:21 TSerg HHT
http://www.mathworks.com/matlabcentral/fil...m... Aug 21 2013, 16:13 RHnd Цитата(TSerg @ Aug 21 2013, 20:13) HHT
Сп... Aug 21 2013, 17:21 _Ivana Цитата(RHnd @ Aug 21 2013, 21:21) Какое о... Aug 21 2013, 22:50 RHnd Если вы для разных наборов использовали разные пар... Aug 21 2013, 23:08 iDiode Пользовался вот этим:
http://en.wikipedia.org/wiki... Oct 28 2013, 05:19
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|