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

 
 
> Интерволяция для отображения сигнала
ivan219
сообщение Jan 31 2011, 16:47
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



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

Проблема: если частота высокая отображается не красиво.

Вопрос: посоветуйте максимально хороший интерполятор.

Пробовал Форроу 3 порядка так как других не знаю. Вроде не плохо, но он считает только по 4 точкам.

Хочу, что бы в расчёте участвовало большее количество точек.
Go to the top of the page
 
+Quote Post
4 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 14)
SSerge
сообщение Jan 31 2011, 16:56
Сообщение #2


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

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Так а теорема Котельникова на что?
Там и способ восстановления сигнала прописан.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
ivan219
сообщение Jan 31 2011, 17:26
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Плохой Форроу. Не годится если частота высокая. Получается очень коряво.

Цитата(SSerge @ Jan 31 2011, 19:56) *
Так а теорема Котельникова на что?
Там и способ восстановления сигнала прописан.


Почитаю, но я думал, что какой то метод интерполяции подойдет с большим количеством точек участвующих в расчёте.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 31 2011, 17:30
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(ivan219 @ Jan 31 2011, 21:47) *
Проблема: если частота высокая отображается не красиво.
Что означает "не красиво"?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jan 31 2011, 18:26
Сообщение #5


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

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



Цитата(ivan219 @ Jan 31 2011, 19:26) *
Плохой Форроу. Не годится если частота высокая. Получается очень коряво.

А формулы, по которым считали, можете привести?
Вот здесь я нашел конкретные формулы, а не голые слова http://gwyddion.net/documentation/user-guide-ru/index.html
Go to the top of the page
 
+Quote Post
ivan219
сообщение Jan 31 2011, 21:35
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Цитата(rezident @ Jan 31 2011, 20:30) *
Что означает "не красиво"?

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

ViKo
От сюда http://dsplib.ru/

На картинке зелёная исходная красная после Форроу увеличил в 8 раза.

Сообщение отредактировал ivan219 - Jan 31 2011, 21:47
Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Feb 1 2011, 05:57
Сообщение #7


Знающий
****

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



А почему не сделать интерполяцию классическим способом (не для реализации, так для проверки) - добавить нули и пропустить через фильтр (КИХ) нижних частот
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 1 2011, 07:54
Сообщение #8


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

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



Цитата(ivan219 @ Jan 31 2011, 23:35) *
На картинке зелёная исходная красная после Форроу увеличил в 8 раза.

А в одном масштабе по времени можете показать? А то непонятно, что вы интерполируете. А кривизна, скорее всего, от реализации - недостаточная разрядность или просто ошибка.
Go to the top of the page
 
+Quote Post
ivan219
сообщение Feb 1 2011, 13:37
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Цитата(sup-sup @ Feb 1 2011, 08:57) *
А почему не сделать интерполяцию классическим способом (не для реализации, так для проверки) - добавить нули и пропустить через фильтр (КИХ) нижних частот


Хочу обойтись без лишнего. Интерполяция предпологается дробная.

Цитата(ViKo @ Feb 1 2011, 10:54) *
А в одном масштабе по времени можете показать? А то непонятно, что вы интерполируете. А кривизна, скорее всего, от реализации - недостаточная разрядность или просто ошибка.


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

Сообщение отредактировал ivan219 - Feb 1 2011, 13:54
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
АНТОН КОЗЛОВ
сообщение Feb 2 2011, 05:56
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 344
Регистрация: 3-01-09
Из: УФА
Пользователь №: 42 894



Цитата(ivan219 @ Feb 1 2011, 16:37) *
Хочу обойтись без лишнего. Интерполяция предпологается дробная.



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

На предыдущей на синусоиду не похожа картинка. Если график рисовать не точками, а линиями, было яснее ясного в самом начале..
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 2 2011, 18:48
Сообщение #11


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

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



Цитата(ivan219 @ Feb 1 2011, 15:37) *
А искажения исчезают, если количество точек исходного сигнала на один период колебания будет равно не менее 8. Тогда после интерполяции в 16 и более раз видно нормальную синусоиду.

Могу предположить только то, что уже говорил. У вас на первой картинке от точки к точке большие скачки, где-то происходит переполнение чисел, вот и ошибка. Попробуйте увеличить разрядность.
А что синусоида "кривая" - это наверное, от отбрасывания дробных частей, отбрасывания вместо округления.
Go to the top of the page
 
+Quote Post
ivan219
сообщение Feb 2 2011, 20:35
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Цитата(АНТОН КОЗЛОВ @ Feb 2 2011, 08:56) *
На предыдущей на синусоиду не похожа картинка. Если график рисовать не точками, а линиями, было яснее ясного в самом начале..


Конечно, не синусоида я об этом и говорил по этому и попросил метод, где учитывается не 4 как в Форроу а больше. А точки понятнее, чем линии, когда линия не поймёшь на каком шаге ошибка.

Цитата(ViKo @ Feb 2 2011, 21:48) *
Могу предположить только то, что уже говорил. У вас на первой картинке от точки к точке большие скачки, где-то происходит переполнение чисел, вот и ошибка. Попробуйте увеличить разрядность.
А что синусоида "кривая" - это наверное, от отбрасывания дробных частей, отбрасывания вместо округления.


Скачки я заметил по этому и спросил другой метод. Переполнения или отбрасывания не происходит. Так как все вычисления на ПК с плавающей точкой двойной точности 32бит и перед выводом на экран всё округляется.

Сообщение отредактировал ivan219 - Feb 2 2011, 20:36
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 3 2011, 07:27
Сообщение #13


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

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



Цитата(ivan219 @ Feb 2 2011, 22:35) *
Скачки я заметил по этому и спросил другой метод. Переполнения или отбрасывания не происходит. Так как все вычисления на ПК с плавающей точкой двойной точности 32бит и перед выводом на экран всё округляется.

Скачки я имел в виду - на исходной синусоиде. Большое изменение, большие числа.
С плавающей арифметикой не возился. Попробуйте с обычной.
Go to the top of the page
 
+Quote Post
ivan219
сообщение Feb 3 2011, 22:34
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Вопрос снят.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 4 2011, 07:48
Сообщение #15


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

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



Цитата(ivan219 @ Feb 4 2011, 00:34) *
Вопрос снят.

Это все, что вы можете сказать? Мне кажется, лучше донести до общественности, что было не так, и как оно разрешилось.
Go to the top of the page
 
+Quote Post

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

 


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


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