newfiz
Oct 17 2012, 12:04
В программе SPECTRAND (SPECTRum ANalysis via Derivation) реализован метод спектрального анализа дискретных стохастических рядов, имеющих зашумлённые гармонические компоненты - при этом корректно обрабатываются низкочастотный тренд и скачки в потоке данных.
При традиционном подходе, низкочастотный тренд даёт паразитные вклады в амплитуды спектральных компонент. Эти вклады устраняют - например, в методах, основанных на использовании вариации Аллана, или при быстром преобразовании Фурье - но при этом возможна обработка только таких рядов, в которых отсчёты разделены ОДИНАКОВЫМИ промежутками времени. Так, в национальных Службах времени-частоты, ради возможности спектрального анализа потоков данных, отсчёты специально делаются раз в час, раз в сутки - и при этом возможно нахождение лишь тех спектральных компонент, периоды которых кратны дискрету времени между отсчётами. Что касается скачка в ряде данных, то приходится искусственно, с долей произвола, делать "сшивку" такого ряда.
В нашем же методе перечисленные недостатки преодолены. Идея метода основана на том, что анализируется не исходный ряд, а его производная. Гармонические составляющие при взятии производной сохраняются, тренд превращается в постоянную составляющую, которую легко удалить, а скачок превращается в единичный выброс, который легко отбросить - без ущерба для последующего анализа. При этом периоды искомых спектральных компонент не заданы жёстко.

Программа SPECTRAND и её описание свободно доступны на
http://newfiz.narod.ru/soft/soft.htmДля широкого круга пользователей!
eugen_pcad_ru
Oct 18 2012, 05:00
А при наличии шумов пробовали смотреть? "Чистый" сигнал - это зачастую роскошь
newfiz
Oct 18 2012, 12:40
eugen_pcad_ru,
"А при наличии шумов пробовали смотреть?"
Разумеется! Там красота метода проявляется ещё круче!
По тому же адресу есть программка NORAD-Spectr. Прародитель.
В её Описании дана картинка с шумами.
А в Описании SPECTRAND дана ссылка на статью, где метод был применён впервые.
Там тоже весёлые картинки. Взгляните!
eugen_pcad_ru
Oct 22 2012, 06:52
Спектральный анализ стохастических рядов при чтении файла в текстовом формате?..
А можно доработать программу до работы с wav-файлами? И померяться силами с обработчиками звуковых редакторов?
P.S.: А то генерировать гигабайтные файлы не очень хочется.
newfiz
Oct 23 2012, 05:50
eugen_pcad_ru,
"А можно доработать программу до работы с wav-файлами?"
Наверное, можно - но не знаю, когда руки дойдут. И потом:
у Вас - одни предпочтения, у других - другие. Всем не угодишь.
А текстовый формат - самый простой и универсальный.
Kluwert
Oct 23 2012, 07:12
Цитата(newfiz @ Oct 17 2012, 16:04)

В нашем же методе перечисленные недостатки преодолены. Идея метода основана на том, что анализируется не исходный ряд, а его производная.
Зачёт ребята, дальше можно не читать! А вы, вообще в курсе, что "производная" - это есть вещь, котрую все нормальные специалисты тщательно избегают. А всё потому, что попытка взять дискретную производную резко увеличивает высокочастотные шумы. Так что садитесь за учебники и не позорьтесь.
newfiz
Oct 24 2012, 05:26
Kluwert,
"попытка взять дискретную производную резко увеличивает высокочастотные шумы"
Да, появляются единичные сильные выбросы. Так мы эти выбросы исключаем.
И всё получается чики-пики. Проверьте, убедитесь.
Нехорошо умничать, не дочитав до конца.
eugen_pcad_ru
Oct 24 2012, 08:43
Дело не в моих личных предпочтениях. Наиболее мощные инструменты для анализа и обработки сигналов в настоящее время реализованы в звуковых редакторах. Вы свой реализованный алгоритм сравнивать с уже существующими собираетесь или нет?
Вы же используете не просто текстовый формат, а специальным образом сформированный.
Сделал я txt размером 600 Мб с отсчетами сигнала. И после этого Вы предлагаете мне его доработать ручками до Вашего формата. То есть Вы предлагаете не ПОЛЬЗОВАТЬСЯ Вашей программой, а РАЗРАБОТАТЬ соответстсвующую утилиту для представления данных в формат Вашей программы?
P.S.: Не хотите возиться с wav, могу переслать Вам сгенерированный текстовый файл, Вы мне скриншот результата из своей программы, а я Вам из звукового редактора. Подходит?
Создание конвертера для текстовых файлов не потребует много времени. Можно скрипт написать, а можно прямо в MATLAB сделать.
Главное иметь доходчивое описание формата файла в который надо сконвертировать.
Авторам программы спасибо.
Victor®
Oct 24 2012, 17:47
Цитата(newfiz @ Oct 17 2012, 15:04)

В программе SPECTRAND (SPECTRum ANalysis via Derivation) реализован метод спектрального анализа дискретных стохастических рядов, имеющих зашумлённые гармонические компоненты - при этом корректно обрабатываются низкочастотный тренд и скачки в потоке данных.
При традиционном подходе, низкочастотный тренд даёт паразитные вклады в амплитуды спектральных компонент. Эти вклады устраняют - например, в методах, основанных на использовании вариации Аллана, или при быстром преобразовании Фурье - но при этом возможна обработка только таких рядов, в которых отсчёты разделены ОДИНАКОВЫМИ промежутками времени. Так, в национальных Службах времени-частоты, ради возможности спектрального анализа потоков данных, отсчёты специально делаются раз в час, раз в сутки - и при этом возможно нахождение лишь тех спектральных компонент, периоды которых кратны дискрету времени между отсчётами. Что касается скачка в ряде данных, то приходится искусственно, с долей произвола, делать "сшивку" такого ряда.
В нашем же методе перечисленные недостатки преодолены. Идея метода основана на том, что анализируется не исходный ряд, а его производная. Гармонические составляющие при взятии производной сохраняются, тренд превращается в постоянную составляющую, которую легко удалить, а скачок превращается в единичный выброс, который легко отбросить - без ущерба для последующего анализа. При этом периоды искомых спектральных компонент не заданы жёстко.

Программа SPECTRAND и её описание свободно доступны на
http://newfiz.narod.ru/soft/soft.htmДля широкого круга пользователей!
Где-то публиковались с "методом"?
Где именно? Ссылки есть?
И простите за грубое слово - но интерфейс конкретно "попугайский"
Детский лепет.
О качестве софта вообще молчу.
newfiz
Oct 25 2012, 07:23
bookd,
очень рад, что Вам это пригодилось! Пользуйтесь!
Аналогов мы не нашли!
Ага, спасибо что сделали полезную утилиту.
"Чушики и нисколько не фонит" (С) brothers С.
Не поленился, сгенерил чистый синус в один период и поимел вот такой спектр

Цитата(newfiz @ Oct 25 2012, 11:23)

Аналогов мы не нашли!
И не найдете
Victor®
Oct 26 2012, 11:18
Цитата(TSerg @ Oct 26 2012, 11:17)

Не поленился, сгенерил чистый синус в один период и поимел вот такой спектр

А нафиг Вам спектр синуса?
"Прога" не дла этого
Надо "дискретный стохастический ряд, имеющий зашумлённые гармонические компоненты"
С "низкочастотным трендом и скачками в потоке данных"
Шо есть трЕнд, кстати?
Цитата(Victor® @ Oct 26 2012, 15:18)

А нафиг Вам спектр синуса?
Мне ? Ни на фига

Цитата(Victor® @ Oct 26 2012, 15:18)

Шо есть трЕнд, кстати?
"Плавное" изменение среднего в частности по ср. с общим или локально-генеральная тенденция.
На самом деле - еще та ересь.
thermit
Oct 26 2012, 11:34
Цитата
TSerg:
На самом деле - еще та ересь
Да все та же сумма низкочастотных гармоник.
Цитата(thermit @ Oct 26 2012, 15:34)

Да все та же сумма низкочастотных гармоник.
И кто-то выдает это за планы "Партии и Правительства".

Формируем сигнал, как и задумано авторами:
for i:= 1 to 1000 do..
x := step*i;
rnd := 0.5*(2*Random-1);
if i mod 133 = 0 then shift := shift + 0.3;
if i mod 33 = 0 then pulse := 3*(2*Random-1);
y := Sin(x) + rnd + pulse + shift + 0.3*Sin(3*x) + 0.2*Cos(5*x) + 0.3*Cos(20*x);
Лажа полная:

Я даже боюсь представить, что покажет spectrand, если скормлю ему стохастический процесс с заданными корреляционными свойствами , сформированный из белого шума методом формирующего фильтра

P.S.
Это "чистый" синус-композиция
y := Sin(x) + 0.3*Sin(3*x) + 0.2*Cos(5*x) + 0.3*Cos(20*x);
thermit
Oct 26 2012, 12:13
Да ну... Прикольно так все. Разноцветно...
Цитата(thermit @ Oct 26 2012, 16:13)

Да ну... Прикольно так все. Разноцветно...
Надо поддержать авторов, зря что-ли они на многих ворумах тычат пальчиком в свой уникальный алгоритм
newfiz
Oct 29 2012, 05:46
TSerg,
"Не поленился, сгенерил чистый синус в один период и поимел вот такой спектр"
Да, Вы получили честный спектр - проверьте другим спектроанализатором.
Если не понимаете, что искать спектр по одному периоду - смешно.
Вы бы ещё пол-периода прогнали, или четверть.
Чтобы получить выраженный пик, нужно несколько периодов.
Ваши дальнейшие примеры страдают тем же. Подучитесь, что ли.
Неужели Вы думаете, что программа не тестировалась?
bahurin
Oct 30 2012, 16:13
Цитата(newfiz @ Oct 29 2012, 09:46)

TSerg,
"Не поленился, сгенерил чистый синус в один период и поимел вот такой спектр"
Да, Вы получили честный спектр - проверьте другим спектроанализатором.
Если не понимаете, что искать спектр по одному периоду - смешно.
Вы бы ещё пол-периода прогнали, или четверть.
Чтобы получить выраженный пик, нужно несколько периодов.
Ваши дальнейшие примеры страдают тем же. Подучитесь, что ли.
Неужели Вы думаете, что программа не тестировалась?
Вы господа совершаете ошибку пытаясь впарить свое поделие на этом форуме. Тут знаете ли люди разбираются в цифровой обработке и ваша программа вызывает в лучшем случае улыбку. Идите премьер-министру это показывайте он любит всякие нанотехнологии. И да еще если уж вы и говорите что изобрели чудо-юдо алгоритм, то дайте ссылку где про него почитать.
ЗЫ спектр одного периода синусоиды есть одна палка а не как у вас там нарисовано.
newfiz
Oct 31 2012, 05:03
bahurin,
я ничего не впариваю, а просто предлагаю - потому что есть чем поделиться.
Так что смените тон, пожалуйста.
Ссылка на статью, где описан алгоритм, дана в Описании.
"спектр одного периода синусоиды есть одна палка а не как у вас там нарисовано"
Это спектр бесконечной синусоиды есть одна палка. Я смотрю, Вы тоже крутейший
специалист. По понтам.
thermit
Oct 31 2012, 10:23
Цитата
newfiz:
Это спектр бесконечной синусоиды есть одна палка.
2 палки. В смысле, 2 дельта-функции.
ps
А апликуха ваша, увы, абсолютно unusable...
ТС на заметку:
Генерация сигнала:
a := 0.1;
b := 0.5;
c := 0.1;
d := 0.05;
alpha := 2*cPi*t; // t =0..1.0
Value := a + b*Sin(alpha) + c*Sin(3*alpha) + d*Sin(17*alpha);
P.S.
Число точек: 1030
Для анализа спектра имеем один период основной частоты и пару гармоник ( 3 и 17 ):

После честного и всем понятного FFT на 1024 точки ( без какой-либо оконной обработки ):

P.S.
Что-то примерно в этом роде должна показывать Ваша прога, а иначе - см. посты выше.
mdmitry
Oct 31 2012, 14:42
Для ТС
Цитата(newfiz @ Oct 31 2012, 08:03)

Ссылка на статью, где описан алгоритм, дана в Описании.
В статье приведен алгоритм. Обоснования законности (корректности, работоспособности и другие синонимы) таких преобразований там нет, где можно уведеть? Каковы ограничения на применимость алгоритма?
Цитата
Это спектр бесконечной синусоиды есть одна палка.
FFT подразумевает периодичность сигнала. Может быть растекание спектра, как показал
TSerg, если укладывается не целое число периодов на обрабатываемой выборке.
ТС оперирует прикладной темой связанной с движением спутников, планет, галактик.. etc.
Наблюдаемые параметры движения относятся к непрерывным процессам., поэтому ТС-ру приводить контрпримеры связанные с ограниченной длительностью наблюдаемого сигнала по меньшей мере некорректно.
Если бы он изучал спектры одиночных импульсных сигналов, то в этом случае поправки на спектральное описание были бы уместны, да и то, чисто теоретически.
bahurin
Nov 1 2012, 03:56
Цитата(newfiz @ Oct 31 2012, 09:03)

bahurin,
я ничего не впариваю, а просто предлагаю - потому что есть чем поделиться.
Так что смените тон, пожалуйста.
Ссылка на статью, где описан алгоритм, дана в Описании.
"спектр одного периода синусоиды есть одна палка а не как у вас там нарисовано"
Это спектр бесконечной синусоиды есть одна палка. Я смотрю, Вы тоже крутейший
специалист. По понтам.
Открываем матлаб вставляем и запускаем скрипт:
Код
N = 64;
t = (0:N-1)/N;
s = sin(2*pi*t);
subplot(211), stem(t,s), grid, title('один период синусоиды');
S = abs(fft(s));
subplot(212), stem(0:N-1,S), grid, title('спектр одного периода синусоиды');
смотрим график:
Нажмите для просмотра прикрепленного файлаОчевидно что на графике только одна палка S(1) все остальные равны нулю (надеюсь не надо объяснять что такое вторая палка).
После этого извиняемся перестаем дерзить и идем допиливать свою программу до рабочего состояния или перестаем называть
свою программу анализатором спектра поскольку к спектральному анализу она в своем текущем виде не имеет никакого отношения.
bahurin,
если Вы эту странную матлабовскую картиночку называете спектром -
где с очевидностью нет соответствия ни по периоду, ни по амплитуде - флаг Вам в руки.
Я ничего не навязываю, если помните.
mdmitry,
"FFT подразумевает периодичность сигнала."
Вы это объясните своему коллеге bahurin'у. А то специалиста из себя корчит.
"Обоснования законности (корректности, работоспособности и другие синонимы) таких преобразований там нет, где можно уведеть?"
Всё, чем могу поделиться, я уже предложил. Я Вам ничего не должен, если помните.
Интересно выяснить границы - вперёд, с песнЯми.
"Каковы ограничения на применимость алгоритма?"
См. в Описании: "Пользователь должен понимать..." и т.д.
mdmitry
Nov 1 2012, 06:37
Цитата(newfiz @ Nov 1 2012, 08:07)

mdmitry,
"FFT подразумевает периодичность сигнала."
Вы это объясните своему коллеге bahurin'у. А то специалиста из себя корчит.
"Обоснования законности (корректности, работоспособности и другие синонимы) таких преобразований там нет, где можно уведеть?"
Всё, чем могу поделиться, я уже предложил. Я Вам ничего не должен, если помните.
Интересно выяснить границы - вперёд, с песнЯми.
"Каковы ограничения на применимость алгоритма?"
См. в Описании: "Пользователь должен понимать..." и т.д.
К Вам я обращался вежливо, будьте любезны вести себя тоже вежливо (
Правила форума)
1. bahurin не мой коллега и я ему ничего не должен объяснять.
2. Ответа на мой вопрос нет ( где можно уведеть?)

Ссылки на апробацию алгоритма приведите пожалуйста.
3.
Цитата
Пользователь должен понимать, что результаты спектрального анализа имеют смысл, когда период центральной компоненты, во-первых, гораздо меньше интервала времени, на котором анализируется функция, и, во-вторых, много больше характерного дискрета времени, разделяющего соседние точки в анализируемом ряду.
Пользователь должен понимать, что если некоторая компонента испытывает инверсии фазы (скачки на 180 градусов), то амплитуда этой компоненты в результирующем спектре будет значительно уменьшена - вплоть до самого нуля.
Пользователь должен понимать, что, для разрешения двух близких спектральных компонент, период их биений должен неоднократно укладываться на интервале времени, на котором анализируется функция. Чем большее число раз он уложится - тем лучше разрешение.
Возможно, в программе имеется ограничение на число точек ряда, которое она может обработать - но это ограничение нам неизвестно.
Это не техническая оценка применимости, необходимы количественные оценки.
Следует, что сигналы с фазовой манипуляцией не обрабатываются (броски фазы).
В заключение: Если хотите, чтобы Вашей программой пользовались, то , пожалуйста, отвечайте на задаваемые вопросы по- существу. Пользоватеь какого-либо инструмента должен знать возможноти инструмента и ограничения по применению либо им не пользоваться.
Алгоритмы, математика по законодательсту РФ не подлежит патентованию.
Поскольку ТС назойливо предлагает свой алгоритм и прогу на многих сайтах и форумах, предлагаю выполнить ему простой тест:
Сгенерированы данные: полиномиальный тренд + пара периодических синусоидальных сигналов (невысокая и целочисленная кратность основному периоду) + гауссовский шум.
Никаких выбросов и сдвигов, равномерная дискретность, процесс стационарен, т.е. вполне обычные условия для задачи обнаружения, распознавания и фильтрации.
Число точек: 1030.
ТС требуется доказать состоятельность его алгоритма и проги:
- обнаружение и "измерение" частот периодических сигналов;
- обнаружение и компенсация тренда ( в идеале - регрессионная зависимость )
Тестовые данные:
http://exfile.ru/382297График:

Не стоит это предложение рассматривать как "на слабо", поскольку никаких и нигде и ни с чем сравнений алгоритмов ТС с другими, на просторах Инета обнаружено не было.
ТС: просто выполните "учебное" задание.
Сделаете - можно продолжить разговор, нет - "f topku", т.е. только для "внутриутробного" использования ТС-ром.
bahurin
Nov 1 2012, 18:17
Цитата(newfiz @ Nov 1 2012, 09:07)

bahurin,
если Вы эту странную матлабовскую картиночку называете спектром -
где с очевидностью нет соответствия ни по периоду, ни по амплитуде - флаг Вам в руки.
Я ничего не навязываю, если помните.
Почему нет соотвествия по периоду? Частота сигнала 1 Гц палка на частоте 1 что не так? Амплитуда просто должна быть поделена на N если хотите получить честное значение 0.5. В скрипте 6 строчек с какой именно вы не согласны?
Так, вроде уже понятно - ТС согласен только с собственным мнением.
P.S.
Особенно замечательно смотрится его мнение о практическом анализе непериодического сигнала на бесконечном интервале, как в плюс, так и в минус.
Блаженны те, кому уже понятно.
Не кашляйте, не чихайте!
Приятно было с вами поделиться!
mdmitry
Nov 2 2012, 07:12
Цитата(newfiz @ Nov 2 2012, 11:06)

Блаженны те, кому уже понятно.
Не кашляйте, не чихайте!
Приятно было с вами поделиться!
К сожалению, ожидаемый результат ответов на вопросы
Дальнейшее обсуждение для себя считаю бессмысленным. Последую совету
TSerg'а.
thermit
Nov 2 2012, 08:52
Цитата
newfiz:
Не кашляйте, не чихайте!
Приятно было с вами поделиться!
Справедливости ради надо сказать, что несколько странная реакция на вполне конструктивную критику...
Фтопку однозначно.
ps
матлаб рулит.
Victor®
Nov 2 2012, 19:45
Цитата(newfiz @ Nov 2 2012, 11:06)

Блаженны те, кому уже понятно.
Не кашляйте, не чихайте!
Приятно было с вами поделиться!
Monsieur Гришаев А.А.
(я так позозреваю, что это многоуважаемый в узких кругах
newfizсогласно надписи на
http://newfiz.narod.ru/Связь с автором материалов и сайта: E-mail: newfiz@yandex.ru
Гришаев А.А. )
Потрудитесь опубликоваться хоть в каком-то журнале - хоть в Мурзилке.
Кроме Вашего сайта их почему-то никто не публикует. Странно это как-то....
Походу - всемирный заговор олд-фэшн физиков. Обратитесь в Лигу Наций.
Для адекватных форумчан
http://dxdy.ru/topic54840.html
thermit
Nov 3 2012, 17:45
Цитата
А. Это многое объясняет...
Справедливости ради надо сказать (С), что как ошибки альтернативщика критиковать и фтопку посылать, то все тут как тут, а как выдать хоть какую-нибудь реакцию на, например, найденный мной метод интерполяции, который точнее широко применяющегося при том же количестве операций - так никого, включая Бахурина и др.
ЗЫ а в солидных журналах печатают разное - например, поищите статьи Симона Эльевича Шноля в УФН, так что это не показатель.
thermit
Nov 3 2012, 21:35
Цитата
_Ivana:
найденный мной метод интерполяции
Угу.
1 До тебя этот метод человек 100500 нашли...
2 Ничего принципиально нового в твоем методе нет.
3 как вывод - гении достали своей гениальностью...
4 Когда уже администрация этого форума наведет порядок и забанити гениефф навечно???
Цитата(thermit @ Nov 4 2012, 00:35)

Угу.
1 До тебя этот метод человек 100500 нашли...
2 Ничего принципиально нового в твоем методе нет.
3 как вывод - гении достали своей гениальностью...
4 Когда уже администрация этого форума наведет порядок и забанити гениефф навечно???
Любителей банить налево и направо 99 человек из 100, а программу написать может только один. Я б банил как раз этих самых, "конструктивных критиков", от которых яду больше чем пользы
thermit
Nov 3 2012, 22:13
прежде, чем написать ..........., попробуй что-нить полезное написать. Тогда глупость тебе простят. Иначе, будешь читать на форуме собственную .........
Цитата(thermit @ Nov 4 2012, 02:13)

прежде, чем написать хуйню, попробуй что-нить полезное написать. Тогда глупость тебе простят. Иначе, будешь читать на форуме собственную хуйню...
С этим трудно не согласиться. А где можно ознакомиться, например, с вашими полезными работами по теме?
Цитата(Victor® @ Nov 2 2012, 23:45)

Ну вот, опять мы все в Матрице...
"Каждый сходит с ума по своему, но не каждый может увлечь этим массы" (С) Jeer
AndrewN
Nov 10 2012, 16:13
QUOTE (Flood @ Nov 4 2012, 12:40)

Ну вот, опять мы все в Матрице... :)
Не все, не все. Вы просто не хотите знать правду о физическом мире. Не хотите оставить мокрое место от ортодоксальных теоретических доктрин.
Почему вы не хотите дифференцировать ряды случайных чисел?!
Жду типичную реакцию больших учёных, чтоб её продифференцировать!
Victor®
Nov 10 2012, 18:47
Цитата(AndrewN @ Nov 10 2012, 19:13)

Не все, не все. Вы просто не хотите знать правду о физическом мире. Не хотите оставить мокрое место от ортодоксальных теоретических доктрин.
А почему Вы решили, что мы правду не знаем?
И почему решили, что Ваша правда правдивее?
Какие
реальные физ. эксперименты проводили, кроме словоблудия?
AndrewN
Nov 10 2012, 19:43
QUOTE (Victor® @ Nov 10 2012, 22:47)

А почему Вы решили, что мы правду не знаем?
Да я просто посмотрел на этот бред на ньюфиз дот народ дот ру, по ссылке Flood'а - и пошутил, гмм, может быть слегка грубовато. А вы подумали, что я серьёзно? Посмотрите внимательно на пост номер 1 в этой ветке, и после такого кто-то может требовать от меня серьёзности? :)
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.