Перейти к содержанию
    

Интерволяция для отображения сигнала

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

 

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

 

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

 

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

 

Хочу, что бы в расчёте участвовало большее количество точек.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так а теорема Котельникова на что?

Там и способ восстановления сигнала прописан.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Так а теорема Котельникова на что?

Там и способ восстановления сигнала прописан.

 

Почитаю, но я думал, что какой то метод интерполяции подойдет с большим количеством точек участвующих в расчёте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

А формулы, по которым считали, можете привести?

Вот здесь я нашел конкретные формулы, а не голые слова http://gwyddion.net/documentation/user-guide-ru/index.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что означает "не красиво"?

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

 

ViKo

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

 

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

post-41680-1296510308.gif

Изменено пользователем ivan219

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему не сделать интерполяцию классическим способом (не для реализации, так для проверки) - добавить нули и пропустить через фильтр (КИХ) нижних частот

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

А в одном масштабе по времени можете показать? А то непонятно, что вы интерполируете. А кривизна, скорее всего, от реализации - недостаточная разрядность или просто ошибка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему не сделать интерполяцию классическим способом (не для реализации, так для проверки) - добавить нули и пропустить через фильтр (КИХ) нижних частот

 

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

 

А в одном масштабе по времени можете показать? А то непонятно, что вы интерполируете. А кривизна, скорее всего, от реализации - недостаточная разрядность или просто ошибка.

 

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

post-41680-1296568338_thumb.png

Изменено пользователем ivan219

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

 

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

На предыдущей на синусоиду не похожа картинка. Если график рисовать не точками, а линиями, было яснее ясного в самом начале..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Могу предположить только то, что уже говорил. У вас на первой картинке от точки к точке большие скачки, где-то происходит переполнение чисел, вот и ошибка. Попробуйте увеличить разрядность.

А что синусоида "кривая" - это наверное, от отбрасывания дробных частей, отбрасывания вместо округления.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На предыдущей на синусоиду не похожа картинка. Если график рисовать не точками, а линиями, было яснее ясного в самом начале..

 

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

 

Могу предположить только то, что уже говорил. У вас на первой картинке от точки к точке большие скачки, где-то происходит переполнение чисел, вот и ошибка. Попробуйте увеличить разрядность.

А что синусоида "кривая" - это наверное, от отбрасывания дробных частей, отбрасывания вместо округления.

 

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

Изменено пользователем ivan219

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Скачки я имел в виду - на исходной синусоиде. Большое изменение, большие числа.

С плавающей арифметикой не возился. Попробуйте с обычной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос снят.

Это все, что вы можете сказать? Мне кажется, лучше донести до общественности, что было не так, и как оно разрешилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...