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

 
 
 
Reply to this topicStart new topic
> Интерполяция кубическими сплайнами
mihalevski
сообщение May 11 2013, 16:42
Сообщение #1


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

Группа: Участник
Сообщений: 100
Регистрация: 20-05-10
Из: Omsk
Пользователь №: 57 391



Смоделировал работу алгоритма обработки сигнала в среде Маткад. Использовал встроенную
в Маткад функцию Интерполяция кубическими сплайнами, но теперь необходимо раскрыть
алгоритм самой интерполяции.
Вопрос первый: где можно взять готовый алгоритм интерполяции чтобы реализовать его
программным методом (найденный в сети алгоритм не работает, а разбираться в теории нет времени).
При моделировании заметил, что при приближении частоты дискретизеруемого сигнала к
частоте Найквиста интерполяция начинает вносить заметные искажениия в исходный сигнал
даже при использовании значительного количества точек а это, в свою очередь, приводит к ошибке в
значении производной, которую вычисляю на следующей стадии. Отсюда второй вопрос: если вместо
интерполяции кубическими сплайнами использовать интерполирующий фильтр может результат взятия
производнной будет точнее?
Go to the top of the page
 
+Quote Post
polyakovav
сообщение May 11 2013, 17:52
Сообщение #2


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

Группа: Свой
Сообщений: 197
Регистрация: 26-05-06
Из: Воронеж
Пользователь №: 17 486



http://matlab.exponenta.ru/spline/book1/10.php
Go to the top of the page
 
+Quote Post
_pv
сообщение May 11 2013, 23:12
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



1) alglib.net
2) http://demonstrations.wolfram.com/SincInte...Reconstruction/
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение May 12 2013, 12:52
Сообщение #4





Guests






Пока нет физ-мат. постановки задачи - любые ответы будут правильными.
Go to the top of the page
 
+Quote Post
mihalevski
сообщение May 12 2013, 15:23
Сообщение #5


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

Группа: Участник
Сообщений: 100
Регистрация: 20-05-10
Из: Omsk
Пользователь №: 57 391



Цитата(polyakovav @ May 12 2013, 00:52) *


Спасибо за приведенные источники. Но хотелось бы иметь алголритм сплайновой интерполяции, который я бы мог передать программисту пишущему на ассемблероподобном языке для ДСП АналогоДевайс. Сама же интерполяция как составная часть
общего алгоритма работает удовлетворительно. Но она использована как готовая функция встроенная в Маткад но теперь ее
необходимо раскрыть как весь алгоритм.
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 12 2013, 16:16
Сообщение #6


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



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

В случае же частоты Найквиста мы имеем всего лишь две точки на период - первую точку для представления первой половины периода и вторую точку для представления второй его половины. Оттого-то частота Найквиста в череде частот последняя, что дальше сокращать число точек некуда - одной точкой весь период не представишь, т.к. это уже среднее значение получится, а для его представления есть 0-ая частота.

Именно поэтому сглаживать сплайнами, а тем паче кубическими, вблизи частоты Найквиста нельзя. И прежде всего потому, что гладкой в этих случаях кривая не бывает.
Go to the top of the page
 
+Quote Post
polyakovav
сообщение May 12 2013, 17:10
Сообщение #7


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

Группа: Свой
Сообщений: 197
Регистрация: 26-05-06
Из: Воронеж
Пользователь №: 17 486



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

TSerg правильно сказал: нужен точный ответ - сформулируйте конкретный вопрос (очень желательно с ограничениями по параметрам). Интерполяцию вообще можно обсуждать бесконечно.
Go to the top of the page
 
+Quote Post
_pv
сообщение May 12 2013, 17:25
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



кубические сплайны возможно не самый подходящий метод интерполяции, так как требует полного прохода по всем данным, даже дважды, что не всегда удобно.
возможно вот это будет лучше:
http://www.dsplib.ru/content/farrow/farrow.html
особенно для реализации на ассемблероподобном языке для ДСП АналогоДевайс

зы странный какой-то программист, если занимаясь обработкой сигналов он не знает, что такое кубический сплайн.
Go to the top of the page
 
+Quote Post
mihalevski
сообщение May 14 2013, 14:24
Сообщение #9


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

Группа: Участник
Сообщений: 100
Регистрация: 20-05-10
Из: Omsk
Пользователь №: 57 391



Цитата(_pv @ May 13 2013, 00:25) *
кубические сплайны возможно не самый подходящий метод интерполяции, так как требует полного прохода по всем данным, даже дважды, что не всегда удобно.
возможно вот это будет лучше:
http://www.dsplib.ru/content/farrow/farrow.html
особенно для реализации на ассемблероподобном языке для ДСП АналогоДевайс

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


Спасибо за ссылки. Я не программист. Программисты пишут с огромной скоростью если знают что писать. Моя задача предоставить алгоритм и объяснить суть на пальцах. Но сначала я моделирую решение задачи в матлабе (маткаде) и только при удовлетворительных результатах передаю алгоритм. При обработке сигналов не использовали кубический сплан а применяли интерполирующие фильтры.
Автором статьи где был приведен готовый к кодированию алгоритм были допущены ошибки в самом алгоритме. В этой же статье была приведена теория интерполяции и не соответствыющий ей алгоритм. Пришлось потратить время и подправить алгоритм, но результат его работы во 2м 3м знаке отличается от встроенной в маткад функции.
Go to the top of the page
 
+Quote Post
_Ivana
сообщение May 15 2013, 05:39
Сообщение #10


Местный
***

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



Пара имхей:
- локальные методы интерполяции (а их вариантов неограниченное количество - выбирай на вкус) не требуют прохода по всем данным.
- если вам интерполяция нужна только для последующего вычисления производной - интерполируйте сразу саму производную, через производные базисных полиномов Лагранжа.
- вблизи частоты Найквиста любые методы будут испытывать трудности, если не задействовать бОльшее количество точек для расчета. Хотя гладкость будет наличествовать, но ошибки интерполяции будет велики.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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