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

 
 
11 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> Операция обратная к "скользящему среднему"
Tarbal
сообщение Jan 10 2014, 14:51
Сообщение #46


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

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(GetSmart @ Jan 8 2014, 16:50) *
Скользящее среднее нелинейно искажает высокие частоты. Через фурье или свёртку недостоверно будет. В частоту Fs/2D попадут искажения (обрезки) частот, некратных Fs/2D. Если свернуть выход фильтра с обратной скользящему фильтру функцией, то частота Fs/2D будет плавать по фазе. А она ещё должна будет усилиться в 1.41 раза для восстановления амплитуды. И увеличения амплитуды "мусора".


Разве скользящее среднее не свертка?
As you may have recognized, calculating the simple moving average is similar to the convolution: in both cases a window is slid along the signal and the elements in the window are summarized.
http://matlabtricks.com/post-11/moving-ave...-by-convolution


Сообщение отредактировал Tarbal - Jan 10 2014, 14:55
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 10 2014, 15:33
Сообщение #47


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Tarbal @ Jan 10 2014, 20:51) *
Разве скользящее среднее не свертка?

Свёртка, конечно. С функцией, где все элементы еденичные.
Порождаемые ею алиасы при увеличении периода сигнала в спектральном представлении исчезают. Но не "бесплатно". А частоты, кратные Fs/(2N+1) (в обозначениях автора темы) вообще будут недостоверны в спектре.

Сообщение отредактировал GetSmart - Jan 10 2014, 17:27


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Jan 10 2014, 16:16
Сообщение #48


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

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(GetSmart @ Jan 10 2014, 19:33) *
Свёртка, конечно. С функцией, где все элементы еденичные.
Порождаемые ею алиасы при увеличении периода сигнала в спектральном представлении исчезают. Но не "бесплатно".


Свертка линейная операция? или "нелинейно искажает высокие частоты".

По методу оптимальной гомоморфной фильтрации все просто:
Из кепстра обработанной последовательности вычитаем кепстр прямоугольного окна и восстанавливаем из результата исходную последовательность, посредством потенцирования и обратного преобразования Фурье.

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


В процессе дискуссии возник интересный диалог "экспериментаторов" с "теоретиками". Почти уверен, что рекурентное решение в силу своей простоты блестяще справится с работой. Ради такого решения несложно добавить в программу процедуру калибровки, которая и получит достоверное значение. Имеются и другие способы передать одно оригинальное значение и его позицию в процедуру восстановления.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jan 10 2014, 16:55
Сообщение #49


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(TSerg @ Jan 10 2014, 14:35) *
Собственно, ничего нового в компенсации инерционности датчиков нет - этот прием достаточно часто используется, к примеру, в терморегулирующей аппаратуре для компенсации инерционности термопар.

Вот достоверно знаю, что некоторые неплохие математики (те, которые бумагой пользуются) не смогли решить именно такую задачу.
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Jan 10 2014, 16:55
Сообщение #50


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



При нормальной работе, если мы получаем пропись с самого начала, все просто. Перед началом работы буфер сумматора всяко принято чистить, поэтому первый отсчет - это отсчет с заведомо нулевым буфером и далее все точно восстанавливается. Проблема возникает только если мы имеем пропись не с самого начала.

А насчет восстановления... Тут, на самом деле, все еще интереснее и, похоже, однозначного метода восстановления нет.

Как пример. Пусть мы имеем нулевой буфер (длиной N) и подаем синус с периодом N. После N тактов этот синус окажется в буфере и, с N+1 такта, сумма перестанет изменяться. Т.е. на выходе мы имеем константу. Как из нее можно восстановить исходный синус? Т.е. наличие сигналов с периодами N, N/2 и т.д. мы никак не сможем установить только по сумме.

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

Фактически, мы сделали обратный фильтр. Но он будет работать, только если исходные значения в буфере при формировании (кодировании) и восстановлении (декодировании) совпадают. Любое расхождение в значениях буферов приведет к каше.

Отсюда получаем забавное применение - шифрование сигналов. Знаешь буфер - получи правду, не знаешь - чушь. С точки зрения вычислительной скорости - очень эффективно, на каждом такте просто суммируем, записываем и сдвигаем кольцевой указатель буфера. Единственная потеря - добавление одного разряда (суммирование двух чисел) и разрядности суммы. И подобрать, например, 128 значений в буфере будет весьма непросто. Стоит подумать.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 10 2014, 17:26
Сообщение #51


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(rudy_b @ Jan 10 2014, 22:55) *
Отсюда получаем забавное применение - шифрование сигналов. Знаешь буфер - получи правду, не знаешь - чушь.

Это вряд ли. Тогда бы значения неизвестного буфера были бы очень чувствительны к малейшим искажениям и шумам, чего не наблюдается. Как оказалось, даже если в качестве неизвестных элементов взять значения из скользящего среднего, то результат рекурсивной формулы хорошо корелирует с исходником.

Кроме прочего, в терминах гармонических сигналов, частот точно кратных Fs/D (D=2N+1 в обозн. автора) на выходе скользящего среднего просто не осталось. Их восстанавливать методом расширения кол-ва отсчётов (как это делает дискретное ПФ, к примеру) нельзя в принципе. И если вдруг они там реально присутствовали, то возникает неопределённость/недостоверность результата восстановления, пропорциональная амплитуде неизвестных гармоник. Но если речь об этом же, то наверное да, если узнать достоверную часть исходника, то эти гармоники по ней же и определяются.

Вот насколько близкие к кратным частоты имеет смысл (или можно) вытягивать через ПФ не искажая другие частоты, любопытно. Можно что-то вытянуть по большому количеству элементов скользящего среднего и подставить в стартовый буфер.

Сообщение отредактировал GetSmart - Jan 10 2014, 19:45


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 10 2014, 18:05
Сообщение #52





Guests






Цитата(Tanya @ Jan 10 2014, 20:55) *
Вот достоверно знаю, что некоторые неплохие математики (те, которые бумагой пользуются) не смогли решить именно такую задачу.


Ничего удивительного - математики вынуждены доказательно приходить к точным решениям, а иначе - они будут выглядеть как проходимцы или перейдут в разряд инженеров, что вряд ли.
Бумага, знаете ли.. - это не железо.

Инженерам - "проще", всего лишь надо заставить удовлетворительно работать изделие в рамках существующих физических и финансовых ограничений.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jan 10 2014, 18:39
Сообщение #53


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(TSerg @ Jan 10 2014, 22:05) *
Ничего удивительного - математики вынуждены доказательно приходить к точным решениям, а иначе - они будут выглядеть как проходимцы или перейдут в разряд инженеров, что вряд ли.
Бумага, знаете ли.. - это не железо.

Инженерам - "проще", всего лишь надо заставить удовлетворительно работать изделие в рамках существующих физических и финансовых ограничений.

Нет. Пытались найти класс функций с параметрами. Оказалось, что ничего толкового не получается. С несколькими постоянными времени. Естественно, все это проверялось не на бумаге.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Jan 10 2014, 19:32
Сообщение #54


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

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Предположим, что начальное значение было измерено с ошибкой Е.

X'[i-N-1] = X[i-N-1] + E

И вместо
X[i+N] = X[i-N-1] + (Y[i] - Y[i-1]) * 2N

имеем
X'[i+N] = X'[i-N-1] + (Y[i] - Y[i-1]) * 2N



X'[i+N] = X[i-N-1] + E + (Y[i] - Y[i-1]) * 2N

X'[i+N] = X[i+N] + E;

Все значения восстановленной последовательности будут смещены на одну и ту же ошибку Е.

Поссчитав среднее Y'[i] по результатам, получим значение ошибки Е = Y'[i] - Y[i].

Сообщение отредактировал Tarbal - Jan 10 2014, 19:34
Go to the top of the page
 
+Quote Post
AndrewN
сообщение Jan 10 2014, 20:03
Сообщение #55


Местный
***

Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961



QUOTE (Tanya @ Jan 10 2014, 12:03) *
спектроскописты используют теорему о свертке [...] нужно знать аппаратную функцию. Ее экспериментально получают с помощью априорных знаний или подают дельта-функцию

Так или иначе, аппаратную функцию A можно определить. Настоящие неприятности возникают при решении обратной задачи

x = A-1f

когда выясняется, что она либо вовсе не имеет решений либо имеет несколько (бесконечно много) решений.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 10 2014, 20:16
Сообщение #56


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Tarbal @ Jan 10 2014, 22:16) *
Свертка линейная операция? или "нелинейно искажает высокие частоты".

По методу оптимальной гомоморфной фильтрации все просто:
Из кепстра обработанной последовательности вычитаем кепстр прямоугольного окна и восстанавливаем из результата исходную последовательность, посредством потенцирования и обратного преобразования Фурье.

Она "стирает" о них информацию. Так понятней? На коротких интервалах (естественно шире D) и достаточно близких к кратным частотам, делая неоднозначной их фазу и амплитуду. К примеру, чтобы минимально точно восстановить частоту Fs/(D+1) нужно накопить один период "остатков информации" и чем ближе искомая частота к стёртым, тем больше периодов D нужно будет взять для ПФ.

Цитата(Tarbal @ Jan 11 2014, 01:32) *
Поссчитав среднее Y'[i] по результатам, получим значение ошибки Е = Y'[i] - Y[i].

С постоянкой там нет проблем.

-----------------

Любые повторяющиеся паттерны с периодом D совершенно невидны на выходе скользящего среднего. Точнее, виден только интеграл от них в виде постоянки. Т.о. их не восстановит никакой алгоритм в принципе. Но на фоне них остальной сигнал виден, и выше Fs/D тоже. Чисто математически, ошибка обратного преобразования всегда будет в невидимости некой/любой комбинации D элементов с нулевой суммой. (D - ширина скользящего фильтра)

Цитата(rudy_b @ Jan 10 2014, 22:55) *
Стоит подумать.

Там "зашифровано" будет только минимум информации объёмом в тот самый буфер. Являющейся как раз этими частотами кратными Fs/D.

Но на практике, без экстремально точного постановщика помех, скорее всего 99% информации (самой амплитудно-значимой) будут извлекаться с 99% достоверностью. Если взять спектральную сетку частот, вплоть до Fs/2, то из неё вырежутся кратные периоду скользящего (типа слепого пятна в зрении), а остальные можно увидеть взяв больше элементов с выхода скользящего. Кроме того, восстановить по ним буфер можно с не очень высокой точностью, что слегка размажет спектр. Для практического применения, особенно широкополосных сигналов, это вообще норма.

Ещё нюанс. У неизвестного буфера отдельные элементы, а так же их сумма (если) будут округлены в процессе дискретизации. И шуметь переходя от элемента к элементу скользящего среднего в спектре от Fs/2 до Fs/D. За эту "дрожь" можно было бы зацепиться. Может быть даже чтобы увидеть обнулённые частоты (т.о. весь буфер).

Сообщение отредактировал GetSmart - Jan 11 2014, 07:44


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Jan 10 2014, 23:31
Сообщение #57


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

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(GetSmart @ Jan 11 2014, 00:16) *
Она "стирает" о них информацию. Так понятней? На коротких интервалах (естественно шире D) и достаточно близких к кратным частотам, делая неоднозначной их фазу и амплитуду. К примеру, чтобы минимально точно восстановить частоту Fs/(D+1) нужно накопить один период "остатков информации" и чем ближе искомая частота к стёртым, тем больше периодов D нужно будет взять для ПФ.


Непонятно что такое D и чему кратны частоты.
Go to the top of the page
 
+Quote Post
AndrewN
сообщение Jan 10 2014, 23:36
Сообщение #58


Местный
***

Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961



QUOTE (rudy_b @ Jan 10 2014, 19:55) *
Т.е. наличие сигналов с периодами N, N/2 и т.д. мы никак не сможем установить только по сумме.

Вообще с периодами меньше или равными N: N, N-1, N-2 ...

QUOTE (rudy_b @ Jan 10 2014, 19:55) *
получаем забавное применение - шифрование

Вот так, прикоснёшься к теории интегральных преобразований и поневоле придёшь к выводу о непознаваемости мироздания... sm.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 11 2014, 13:55
Сообщение #59


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



А был ли мальчик? sm.gif
Если рассуждать логически, то используя сигнал скользящего среднего в дальнейшей обработке как единственного источника информации об объекте, разработчик уже "согласился" с невидимостью какого-то паттерна, шириной N. Т.о. никакой чуши, как утверждает rudy_b, корректный алгоритм восстановления не добавляет. Тема топика - улучшить разрешение скользящего среднего. А информация на большой ширине данных является достоверной и не принадлежащей неизвестному паттерну. Немного похоже на парадокс. Но на самом деле восстанавливаются/воссоздаются как бы промежуточные (внутри короткого буфера) элементы, принадлежащие к незанулённым ВЧ-частотам. Элементы же дискретизированны во времени с неизвестными промежуточными значениями. Можно настолько много элементов воссоздать, что информационно и "качественно" задавит тот небольшой неизвестный буфер.

При обратном восстановлении частоты, кратные периоду скользящего стёрты в ноль. Остальные, выше Fs/N всё-таки видны на большем интервале. Промежуточные можно достать через ПФ с домножением на коэффициент обратный подавлению, но не слишком большой, т.к. там будет предел сохранности информации для слишком обрезанной гармоники, близкой к запретной. Если буфер для восстановления воссоздать слегка неточно, то пропустив его через рекурсивную формулу, она его компоненты слегка размажет в спектральном представлении и обнулённых частот там просто не останется. Что плохого, если частоты выше Fs/N будут слегка размазаны, но на 99% коррелируют с исходником.

Математические рассуждения про паттерн корректны в идеально точных числах. На практике числа не только квантованы, но и суммы могут округляться. Плюс шум в канале и неидеальности оцифровки. Шум квантования в реалиях может как раз нести полезную (утерянную) информацию.

Сообщение отредактировал GetSmart - Jan 11 2014, 14:28


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
bookd
сообщение Jan 11 2014, 20:32
Сообщение #60


Частый гость
**

Группа: Свой
Сообщений: 151
Регистрация: 4-02-09
Из: Поволжье
Пользователь №: 44 403



Ну не знаю, читаю уже четвертую страницу, реальных советов ноль. ТС решил проблему еще на первой странице, а все остальное просто хлам на мой взгляд. А так хочется увидеть качественное решение, с исходными данными, конкретным результатом и списком налагаемых ограничений...


--------------------
Всеобщая дебилизация не повод наносить ущерб своему здоровью.
Go to the top of the page
 
+Quote Post

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

 


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


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