реклама на сайте
подробности

 
 
> Операция обратная к "скользящему среднему"
_pv
сообщение Jan 6 2014, 12:36
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



есть измеренные данные про которые известно, что по ним прошлись скользяшим средним с неким известным размером D.
каким образом можно восстановить исходные данные которые были до усреднения?
из простого на ум приходит только пройтись по этим уже усреднённым данным еще раз таким же скользящим средним и получить оценку ошибки вызванную усреднением, которую потом добавить обратно к первоначальным данным. Оно вроде как работает, но понятно что это хоть и очень простой, но не совсем честный способ.
Как это делать математически правильно?
понятно что можно сделать Фурье, поделить спектр на характеристику скользящего среднего (по сути КИХ фильтра с одинаковыми единичными коэффициентами) и преобразовать обратно. но при делении на нули в том месте где характеристика имеет провалы пожалуй будут проблемы, оно и понятно так как частоты кратные размеру фильтра давятся в ноль и обратному восстановлению не подлежат.
А если без преобразования в частотную область, с какой функцией надо сделать свёртку чтобы получить фильтр обратный скользящему среднему? или даже в общем случае, каким образом преобразовать коэффициенты КИХ фильтра, чтобы произведение исходного фильтра и пробразованного давало 1.
Go to the top of the page
 
+Quote Post
11 страниц V  « < 9 10 11  
Start new topic
Ответов (150 - 161)
Guest_TSerg_*
сообщение Jan 17 2014, 11:16
Сообщение #151





Guests






Для любителей "непараболоидов" - из общеизвестных циркуляторов:

step := TWOPI/count;
k := 2*cos(step);
Xii :=0;
Xii :=-a*sin(step);

for i :=0 to count
{Xi := k*Xii - Xiii; Xiii := Xii; Xii := Xi }
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jan 17 2014, 14:15
Сообщение #152


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(TSerg @ Jan 17 2014, 10:13) *
Совсем простой sin-генератор sm.gif
Хе-хе.
Стреляных воробьёв на мякине не проведёшь. sm.gif
Потенциала для уменьшения погрешности нет.

Цитата(TSerg @ Jan 17 2014, 15:16) *
Для любителей "непараболоидов" - из общеизвестных циркуляторов:
Дык, это тот же самый резонатор 2-го порядка, с заданием начальных условий.
Только, как мы уже выяснили, он неустойчив.

Я подобное применял для 16-битной арифметики, но там нужно было вычислить последовательность сравнительно небольшой длины при заданной частоте и фазе, поэтому о накоплении ошибки речь не шла.
Здесь же имеется интерес получить систему без накопления (ну, или с "забыванием") ошибок.
Программку причешу вечером...


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jan 17 2014, 14:41
Сообщение #153


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Stanislav @ Jan 17 2014, 18:15) *
Дык, это тот же самый резонатор 2-го порядка.
Только, как мы уже выяснили, он неустойчив. И содержит 2 отличных от единицы коэффициента вместо одного.


Да нормальный резонатор, нужно только АРУ к нему приделывать sm.gif чтобы он не расходился. Делал когда-то модем в котором АРУ (демодулятора) управляла амплитудой гетеродина сделанного на таком генераторе.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jan 17 2014, 14:54
Сообщение #154


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Ну да, вроде того.
Только АРУ должна быть простой, и не требовать большей разрядности вычислений, чем резонатор. Иначе неинтересно.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 17 2014, 15:21
Сообщение #155





Guests






Ну.. так надо же было чем-то заполнить паузу о главной теме ветки - решение обратной задачи (ресторация сигнала) sm.gif

P.S.
Еще, попытаюсь вспомнить что-то из практического прошлого по поводу взаимных замечаний thermit и моих о допустимости максимального приближения к 1.
Вот что-то было же, натыкался на малых разрядностях на наследственные ошибки, приводящие к неустойчивости.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Jan 17 2014, 15:30
Сообщение #156


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(Stanislav @ Jan 17 2014, 17:54) *
Ну да, вроде того.
Только АРУ должна быть простой, и не требовать большей разрядности вычислений, чем резонатор. Иначе неинтересно.

Так АРУ можно сделать на основе того же "скользящего среднего" )))))))
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 17 2014, 15:38
Сообщение #157





Guests






Решения с той или иной АРУ - это отдельный разговор, кстати.
Все они укладываются в разряд устойчивых решений для динамических систем с обратной связью (с относительно небольшой нелинейностью) - ряды Вольтерра (Vino Volterra) II рода ( для дикретный системы - ряды Винера, или, что то же - ряд Ито).

P.S.
Что интересно, последовательное изучение и развитие ранних математических "предсказателей" ( Волтерра, Винер/Колмогоров, Габор,...) таки привело Ивахненко к созданию мощного мат. -практического аппарата (МГУА - метод группового учета аргументов), адекватно решающему многие практические обратные задачи.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jan 17 2014, 16:14
Сообщение #158


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(TSerg @ Jan 17 2014, 19:21) *
Ну.. так надо же было чем-то заполнить паузу о главной теме ветки - решение обратной задачи (ресторация сигнала) sm.gif
По-моему, здесь этим занимаются все. В ожидании чего-то интересного. sm.gif

Цитата(Serg76 @ Jan 17 2014, 19:30) *
Так АРУ можно сделать на основе того же "скользящего среднего" )))))))
Неужели оно!? А как?

Цитата(TSerg @ Jan 17 2014, 19:21) *
Вот что-то было же, натыкался на малых разрядностях на наследственные ошибки, приводящие к неустойчивости.
Это естественно.
Можно попробовать вывести аналитическое выражение для предела устойчивости. Только нужно грамотно поставить задачу.
Впрочем, боюсь, что это выльется в изобретение велосипеда... sad.gif


Цитата(TSerg @ Jan 17 2014, 19:38) *
Решения с той или иной АРУ - это отдельный разговор, кстати.
В данном случае, интерес может представлять только АРУ, сравнимая по количеству вычислительных затрат с генерацией.
Для резонатора без "затухания" на отсчёт это одна операция умножения и одна - сложения.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 17 2014, 16:53
Сообщение #159





Guests






>Так АРУ можно сделать на основе того же "скользящего среднего" )))))))

Любая АРУ делается на основе замыкания выхода и входа, т.е. ОС.
Как ее сделать (линейность/нелинейность, вид извлечения и подачи уровня, тип фильтрации) - это отдельный вопрос.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jan 17 2014, 17:16
Сообщение #160


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Увеличение кратности полюсов резонатора способно сильно улучшить качество выходного сигнала, с сохранением "добротности".
Код
P=1;        % кратность полюсов

N=2*P+1;

Period=20.2;   % период сигнала в отсчётах (дробный допустим)

Damp=0.99;  % затухание
Push=(1-Damp);

y=zeros(1,10000);
y(1)=Push;

a1=ones(1,3);
a1(2)=-2*cos(2*pi/Period(1)); %

a=a1;
for (i=2:P)
    a=conv (a, a1);
end

a=a.*(Damp.^[0:(N-1)]); % сдвиг полюсов

for (i=N:length(y)+1)
    y(i)=sum(-a(2:N).*y(i-(1:N-1)));
    if(y(i)*y(i-1)<0)
        y(i)=y(i)+Push*sign(y(i)); % "подкачка"
    end
end

figure (1)
plot (y(1:1000))
grid on

yw = blackmanharris(2048).*y(7001:9048)';
Y = fft(yw);
Ya= abs(Y(1:1024));
Ya=Ya/max(Ya);

figure(2)
semilogy(0:1023, Ya)
xlim ([0,1023])
ylim ([1e-4, 1])
grid on

clear all;


Картинка слева - полюса имеют кратность 1, справа - 2. Задаются параметром P. Нормировка отсутствует. Во втором случае Damp=0.98.
Прикрепленное изображение
Прикрепленное изображение


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 17 2014, 17:41
Сообщение #161





Guests






Есть и другой вариант корректировки "точной" генерации синуса на основе расходящегося "циркулятора".

Две параллельные системы:
1. "точная", но расходящаяся;
2. не точная, но устойчивая.

Пример обеих был приведен выше (условный пример).

По "разнице" - выполняется корректировка условий возбуждения в "точной".
Обратной связи, в классическом смысле - нет, скорее можно говорить об адаптивной системе с моделью.

Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jan 17 2014, 21:09
Сообщение #162


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(TSerg @ Jan 17 2014, 21:41) *
Пример обеих был приведен выше (условный пример).
Имеется в виду параболоида и резонатор?
Если да, то считать многовато. Параболоида требует большего количества вычислений, чем резонатор 2-го порядка.
И ещё не совсем понятно, что значит получить разницу?

После нескольких экспериментов, я пришёл к выводу, что если требуется сумма "гармонических" сигналов с разными периодами, их лучше получать по отдельности, а потом складывать. Попытка соорудить единый многомодовый резонатор натыкается на препятствие в виде сложности поддержания стабильной амплитуды каждой из мод.

Разбив многомодовый генератор на одномодовые, амплитуду (и фазу) каждого измерить и выдержать гораздо легче.
Программку сделаю, наверное, завтра.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post

11 страниц V  « < 9 10 11
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 22:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01481 секунд с 7
ELECTRONIX ©2004-2016