Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Операция обратная к "скользящему среднему"
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
Страницы: 1, 2, 3, 4
TSerg
Для любителей "непараболоидов" - из общеизвестных циркуляторов:

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

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

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


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

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

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

P.S.
Что интересно, последовательное изучение и развитие ранних математических "предсказателей" ( Волтерра, Винер/Колмогоров, Габор,...) таки привело Ивахненко к созданию мощного мат. -практического аппарата (МГУА - метод группового учета аргументов), адекватно решающему многие практические обратные задачи.
Stanislav
Цитата(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) *
Решения с той или иной АРУ - это отдельный разговор, кстати.
В данном случае, интерес может представлять только АРУ, сравнимая по количеству вычислительных затрат с генерацией.
Для резонатора без "затухания" на отсчёт это одна операция умножения и одна - сложения.
TSerg
>Так АРУ можно сделать на основе того же "скользящего среднего" )))))))

Любая АРУ делается на основе замыкания выхода и входа, т.е. ОС.
Как ее сделать (линейность/нелинейность, вид извлечения и подачи уровня, тип фильтрации) - это отдельный вопрос.
Stanislav
Увеличение кратности полюсов резонатора способно сильно улучшить качество выходного сигнала, с сохранением "добротности".
Код
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.
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
TSerg
Есть и другой вариант корректировки "точной" генерации синуса на основе расходящегося "циркулятора".

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

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

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

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

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

Разбив многомодовый генератор на одномодовые, амплитуду (и фазу) каждого измерить и выдержать гораздо легче.
Программку сделаю, наверное, завтра.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.