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

 
 
11 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Придумал алгоритм интерполяции. Протестируем результаты?, вызов от дилетанта
sup-sup
сообщение Apr 7 2012, 19:47
Сообщение #16


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Цитата(_Ivana @ Apr 7 2012, 22:41) *
Спасибо, скачал, поставил. Сгенерировать ключ не удалось, использую 30-дневную версию. Действительно много возможностей. Навскидку, что увидел:
Исходный синус 500Гц (44100) THD = 0.00063, IMD = 0.1798
ресемплится в 44600.
Мой алгоритм: THD = 0.00124, IMD = 0.2349
Фарроу: THD = 0.00109, IMD = 0.2349
Если ничего не напутал sm.gif

Биения 500Гц + 1%
Исходный сигнал THD = 0.00054, IMD = 0.6593
Мой алгоритм: THD = 0.00180, IMD = 0.6442
Фарроу: THD = 0.00125, IMD = 0.6443

Термит, если нечего сказать конструктивно (кроме очевидной методики проверки отклонения от целевого сигнала). то можно просто не писать в этот топик?

2 картинки спектра ресемплинга биений 500Гц+1% (ресемплинг на 500Гц). Первая - мой алгоритм, вторая - Фарроу:

Принимаются пожелания какие ещё тестовые сигналы ресемплить и посмотреть, спектр, какие может показательные коэффициенты (сигнал/шум там или что ещё из имеющегося в СпектраПлюсе) sm.gif

Еще можно по спектрограмме оценить для сложного сигнала на разные артефакты. В SpectraPlus спектрограммы так себе. Самые лучшие, что я видел, делает SA (в том же 'радиосканнере' есть. Демо-версии достаточно.
А ресемплить сигналы со сложным спектром, меняющимся во времени. Еще, близким к частоте Найквиста. Если алгоритм позволяет это.

Сообщение отредактировал sup-sup - Apr 7 2012, 19:51
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Apr 7 2012, 19:56
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



Цитата(sup-sup @ Apr 7 2012, 23:47) *
А ресемплить сигналы со сложным спектром, меняющимся во времени. Еще, близким к частоте Найквиста. Если алгоритм позволяет это.

Например какие? ГолдВэвйв много разных может генерить, СпектраПлюс поменьше вариантов, но тоже есть кое-что. Есть синус умноженный на экспоненту и много чего ещё диковинного, плюс самому можно формулы написать sm.gif

Частотная модуляция . 500+-Гц. Ресемплинг тот же - с 44100 до 44600.
Мой THD = 0.00091, IMD = 0.6729, слева
Фарроу THD = 0.00112, IMD = 0.6729, справа

Сообщение отредактировал _Ivana - Apr 7 2012, 20:06
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
thermit
сообщение Apr 7 2012, 20:09
Сообщение #18


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
_Ivana:
Термит, если нечего сказать конструктивно (кроме очевидной методики проверки отклонения от целевого сигнала). то можно просто не писать в этот топик?


С начала этого топика кроме меня только 1 (один) человек ответил вам конструктивно. Пальцем тыкать не хочу.
Это что касается конструктивизма в частности.

Что касается конструктивизма вообще:
1 Да. Я хочу увидеть не непонятные картинки, а пиковую ошибку интерполяции гармонического сигнала в зависимости от частоты при частоте дискретизации = 1. Все остальное не несет никакой полезной информации.

2 Хотелось бы понять принципиальную новизну вашего метода. Ведь полиномиальная интерполяция - самая простая. Все другие способы (дробно-рациональная, тригонометрическая и т д) существенно сложнее.

в этой связи

3 Обнародуйте свой алгоритм. едва-ли этим вы уроните кого-либо под стол.
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Apr 7 2012, 20:25
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Цитата(_Ivana @ Apr 7 2012, 22:56) *
Например какие? ГолдВэвйв много разных может генерить, СпектраПлюс поменьше вариантов, но тоже есть кое-что. Есть синус умноженный на экспоненту и много чего ещё диковинного, плюс самому можно формулы написать sm.gif

Частотная модуляция . 500+-Гц. Ресемплинг тот же - с 44100 до 44600.
Мой THD = 0.00091, IMD = 0.6729, слева
Фарроу THD = 0.00112, IMD = 0.6729, справа

Я предложил (по методике тестирования) для визуальной оценки смотреть спектрограммы в хорошем разрешении. Поиграться при этом размером FFT для нахождения лучшего разрешения по частоте и по времени. Это даст не усредненный замазанный результат, а более пиковый, как сказал thermit. Из сигналов можно взять ЛЧМ (chirp) от нулевой частоты до fs/2. Еще, сумму нескольких синусов в верху диапазона с разными фазами. И вообще, искать именно тот сигнал, который плохо интерполируется. В этом случае вопросов и не будет. Ищите неисправности в алгоритме и, если не находите, все хорошо. И смотреть в динамике, то есть спектрограммой. Это для качественной оценки одним взглядом. Более интересные места смотреть подробнее во временной и в частотной области.

Сообщение отредактировал sup-sup - Apr 7 2012, 20:30
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Apr 7 2012, 20:41
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



Хорошо. Термит прав, надо отойти от цифровых применений и просто чисто математически проинтерполировать синус с разной частотой, при этом посчитать максимальный модуль отклонения от чистого синуса на интервале и средний модуль отклонения на нем же. Я и сам думал так сделать. Жаль в 1С нет функции синуса, придется как-то выкручиваться. Но я сделаю это, для нескольких частот точно. И сравню с Фарроу. И выложу сюда. Как найду где взять точный чистый синус любого аргумента, простите за банальные трудности sm.gif

ЗЫ а насчет гениев и инженеров у меня своя версия - мало и тех и других. Критикофф с претензиями зато дофига sm.gif
Go to the top of the page
 
+Quote Post
thermit
сообщение Apr 7 2012, 20:46
Сообщение #21


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Да, вопрос от меня, как от критика с претензиями вам как к гению : При чем тут 1с?
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Apr 7 2012, 20:54
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



ОФФ: потому что я её хорошо знаю, и использую как тестовый инструмент для отладки разной математики. Она отлично выводит и таблицы и графики и псевдографики и я могу удобно просматривать любые промежуточные результаты в любом виде и формате. И всем рекомендую sm.gif
Например, для первого поста потребовалась псевдографика с хитрыми непечатными символами а-ля пробел, ибо пробелы с краев отрезаются. В 1С я это сделал за минуту.

ЗЫ я понимаю что критики с претензиями предпочитают наверное матлаб или маткад, и я с ними согласен, но его надо ещё найти, поставить и освоить.
Go to the top of the page
 
+Quote Post
thermit
сообщение Apr 7 2012, 21:21
Сообщение #23


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
_Ivana:
ЗЫ я понимаю что критики с претензиями предпочитают наверное матлаб или маткад, и я с ними согласен, но его надо ещё найти, поставить и освоить.



Угу. Предпочитают. Дык для гениев еще ексель есть... Там даже синус имеецца. Не говоря уж про тангенсы всякие...

Для гениев чуть меньшего размера осмелюсь порекомендовать это изделие www.jsoftware.com (v6.x).

Сообщение отредактировал thermit - Apr 7 2012, 21:26
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Apr 7 2012, 21:45
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



За рекомендации всегда спасибо. Но от специалистов они всегда ценнее и эффективнее. Я уже нашел интегрируемый в 1С вариант:
CODE
// синус
function sin(value,sc=0)
try
if sc=0 then
sc=createObject("MSScriptControl.ScriptControl");
endif;
sc.language="VBscript";
except
return getEmptyValue();
endtry;
return sc.eval("sin("+value+")");
endFunction

Вроде работает, график на глаз гладкий. Буду пробовать с этой функцией.
Go to the top of the page
 
+Quote Post
Pavel_SSS
сообщение Apr 8 2012, 00:48
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 11-10-10
Из: Москва
Пользователь №: 60 055



Цитата(_Ivana @ Apr 8 2012, 00:54) *
ОФФ: потому что я её хорошо знаю, и использую как тестовый инструмент для отладки разной математики. Она отлично выводит и таблицы и графики и псевдографики и я могу удобно просматривать любые промежуточные результаты в любом виде и формате. И всем рекомендую sm.gif
Например, для первого поста потребовалась псевдографика с хитрыми непечатными символами а-ля пробел, ибо пробелы с краев отрезаются. В 1С я это сделал за минуту.

ЗЫ я понимаю что критики с претензиями предпочитают наверное матлаб или маткад, и я с ними согласен, но его надо ещё найти, поставить и освоить.

Интересно, попробовать вести бухгалтерию в Матлабе... Что-то в этом есть...
Насчет интерполяции - как тут уже отмечали, интерполяция - это нахождение непрерывной функции, желательно выраженной с помощью простых действий - умножения, деления, сложения вычитания, может быть еще извлечения корня, проходящей через заданные точки. Имея такую функцию, мы можем найти ее значения, а, следовательно, значения входного сигнала в промежуточных точках. Насколько значение функции будет соответствовать входному сигналу? Неизвестно. Теоретически возможно, что входной сигнал между отсчетами улетает до небес. Поэтому мы должны сделать предположение, что сигнал - физическая величина, следовательно обладает конечной энергией и конечным - и весьма нешироким, спектром. Иначе неуместно говорить об интерполяции сигнала, а надо говорить об математической абстракции - провести кривую через столько-то точек. Удобным методом интерполяции является полиномиальная интерполяция - нахождение полинома степени N-1, выражающего функцию, проходящую через N точек. Лагранж предложил метод нахождения таких полиномов, а Фарроу - способ построения интерполятора оптимально использующего вычислительные мощности. Но по сути - это полиномиальная интерполяция, дающая одинаковый результат независимо от способа вычисления полинома, так как такой полином существует один. Такая интерполяция хорошо подходит, в частности, к музыке, так как музыкальный сигнал - это некий набор гармонических составляющих - синусоид, параметры которых меняются относительно медленно. Эти синусоиды можно разложить в ряд Тейлора, сложить разложения, и получим, как раз, многочлен, причем невысокой степени.
Есть случаи, когда полиномиальная интерполяция малопригодна - например, при попытке интерполировать изображение, оно может потерять четкость переходов...
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 8 2012, 06:28
Сообщение #26


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Я думаю, что максимально верной интерполяцией нужно считать интерполяцию синусную, когда для каждой существующей выборки создают функцию sin(x)/x, с вершиной в этой выборке (а для остальных выборок эта функция будет в нуле), и затем складывают все эти функции. Дальше по полученной кривой вычисляют значения в любых других точках. Но это слишком сложный алгоритм.

Между выборками сигнал не должен меняться, как угодно, иначе частота дискретизации не будет удовлетворять теореме Котельникова.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Apr 8 2012, 07:26
Сообщение #27


Гуру
******

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



Цитата(ViKo @ Apr 8 2012, 10:28) *
Я думаю, что максимально верной интерполяцией нужно считать

любую.
Даже аппроксимацию при бесконечном числе точек нельзя выбрать. Пока не выбран критерий близости функций.
Вот попробуйте - (0, 0), (1, 1), (100, 0), (101, -1). Можете продлить...
И.... главное - докажите, что Ваша интерполяция "максимально верная".
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 8 2012, 07:34
Сообщение #28


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Tanya @ Apr 8 2012, 10:26) *
Вот попробуйте - (0, 0), (1, 1), (100, 0), (101, -1). Можете продлить...
И.... главное - докажите, что Ваша интерполяция "максимально верная".

Имею в виду равномерную дискретизацию. Доказательство элементарное. Идеальный ФНЧ имеет именно такую импульсную характеристику.

А вот, собственно, доказательство. Первая же формула.
http://ru.wikipedia.org/wiki/%D0%9F%D0%B5%...%86%D0%B8%D1%8F
Go to the top of the page
 
+Quote Post
Tanya
сообщение Apr 8 2012, 09:48
Сообщение #29


Гуру
******

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



Цитата(ViKo @ Apr 8 2012, 11:34) *
А вот, собственно, доказательство. Первая же формула.

Какое это доказательство? И чего? Ведь мы имеем некоторую функцию, заданную отсчетами в некоторых точках.
Потом мы придумываем непрерывную функцию, которая проходит через эти точки. Вариантов придумки бесконечно много. И ни один не лучше другого.
А почему Вы ограничиваете себя функцией заданной в точках, лежащих на равных расстояниях?
Go to the top of the page
 
+Quote Post
_Ivana
сообщение Apr 8 2012, 10:04
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



Пока желающие общаются на сопутствующие темы, а я пытаюсь получить графики отклонений, для затравки 2 картинки сравнения методов. Красный - синус, желтый - отсчеты, зеленый - мой, синий - Фарроу:
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

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

 


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


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