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

 
 
11 страниц V  « < 9 10 11  
Reply to this topicStart new topic
> Операция обратная к "скользящему среднему"
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 Текстовая версия Сейчас: 21st July 2025 - 14:07
Рейтинг@Mail.ru


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