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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> вопрос про интерполяцию
jorikdima
сообщение Nov 5 2010, 16:45
Сообщение #1


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Здравствуйте.
Возник вопрос, который быть может, надуман, но хочется разобраться.
Есть сигнал - результат НЧ фильтрации исходного сигнала с целью определить его постоянную составляющую. То есть полоса сигнала в общем то составляет доли Герца, но среднее значение (или нулевая гармоника) может варьироваться в довольно большом диапазоне. Частоту дискретизации этого сигнала нужно поднять в 25 раз, для чего требуется провести интерполяцию. В книжках прочитал, что делается это с помощью добавления нужного числа нулей между исходными отсчетами и пропусканием через ФНЧ для удаления размноженных гармоник. В принципе все работает, но появляются артефакты. Дело в том, что во всех книжках, где рассказывается про интерполяцию, нарисован сигнал с околонулевой постоянной составляющей, ну либо нулевая гармоника много меньше других гармоник в сигнале. И тут все прекрасно, добавляются нули, затем они сглаживаются ФНЧ. Но в случае когда, нулевая гармоника является преобладающей добавление в сигнал отсчетов, сильно отличающихся от текущего значения сигнала (а именно нулевые отсчеты) каждый раз вызывают всплеск на выходе фильтра, пропорциональный разнице между нулем и реальным значением сигнала и зависящим от ИХ фильтра. Этот всплеск у меня много больше шума исходного сигнала, являющейся собственно постоянным током и недопустим.
Что делают гуру в таких ситуациях?
У самого есть идея следующая. Не добавлять нулевых отсчетов и не ставить ФНЧ, а вписывать какой-нибудь полином, тот же сплайн, в реальные отсчеты сигнала, а затем, найдя коэффициенты сплайна, рассчитывать 24 значения между исходными выборками. Минус такого решения, что это не риал тайм, нужно дождаться следующего отсчета прежде чем получить 24 точки до него, но мне не страшно это.
Справедливо ли решение или есть какие-то более мудрые действия?
Спасибо.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Nov 5 2010, 17:08
Сообщение #2


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

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



А если не нулями 24 отсчета забивать, а собственно самим отсчетом? А потом также через ФНЧ.
Т.е. не 14,0,0,0,0....18,0,0...20,0,0 а так: 14,14,14,14.......18,18,18.....20,20,20
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 5 2010, 17:16
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



 
Цитата(jorikdima @ Nov 5 2010, 19:45) *
Этот всплеск у меня много больше шума исходного сигнала, являющейся собственно постоянным током и недопустим.
Что делают гуру в таких ситуациях?
Тут кто во что горазд.
Попробуйте, например, отобразить сигнал зеркально относительно нулевого отсчёта времени.
Или инициализировать память фильтра матожиданием сигнала.
Про гуру Вы загнули, даже отвечать стрёмно... 

Цитата(jorikdima @ Nov 5 2010, 19:45) *
...Справедливо ли решение или есть какие-то более мудрые действия?
Линейная фильтрация - лишь частный приближённый способ интерполяции сигнала, основанный на предположении об ограниченности его спектра.

А так, конечно, можно и короткие сплайны применить. Только при этом возникнут нелинейные искажения исходного сигнала.
Длинные же сплайны могут дать меньшие искажения, но всё равно будут осциллировать на краях.

ЗЫ. Это на пальцах, простите... smile.gif
ЗЗЫ. О том, что у любого ФНЧ существует задержка, не забыли?
Кроме того, Вы не привели тип использованного фильтра-интерполятора. Я понял так, что это БИХ или минимально-фазовый, но необходимо уточнить.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 5 2010, 17:20
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(jorikdima @ Nov 5 2010, 10:45) *
У самого есть идея следующая. Не добавлять нулевых отсчетов и не ставить ФНЧ, а вписывать какой-нибудь полином, тот же сплайн

потребуется слишком большой порядок этого полинома и потом все равно потребуется фильтровать зеркала.

а уйти от около нулевой ПЧ никак ?


--------------------
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 5 2010, 17:23
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(des00 @ Nov 5 2010, 20:20) *
потребуется слишком большой порядок этого полинома и потом все равно потребуется фильтровать зеркала.
07.gif

Цитата(des00 @ Nov 5 2010, 20:20) *
а уйти от около нулевой ПЧ никак ?
При чём здесь нулевая ПЧ, не могли бы просветить?


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 5 2010, 17:27
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Stanislav @ Nov 5 2010, 11:23) *
07.gif

Под зеркалами, хотя это и не правильно, я понимаю то что автор назвал "ФНЧ для удаления размноженных гармоник". Ошибки интерполяции приведут к тому, что они хотя и будут подавлены 30-50дБ, но все равно будут (модель в симулинке, которая демонстрирует этот эффект собирается на раз-два-три)
Цитата
При чём здесь нулевая ПЧ, не просветите?

У автора проблема с обработкой сигнала на околонулевой ПЧ, то пусть рассмотрит вариант ухода на нормальную, пусть и низкую ПЧ. В ноль снесет уже в цифре, после интерполяции и демодуляции.


--------------------
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 5 2010, 17:30
Сообщение #7


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(des00 @ Nov 5 2010, 20:20) *
потребуется слишком большой порядок этого полинома

Полиномы Лежандра, изучаются, как известно, лежа smile.gif, но на гармонических сигналах стоЯт хорошо.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 5 2010, 17:32
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(des00 @ Nov 5 2010, 20:27) *
Под зеркалами, хотя это и не правильно, я понимаю то что автор назвал "ФНЧ для удаления размноженных гармоник". Ошибки интерполяции приведут к тому, что они хотя и будут подавлены 30-50дБ, но все равно будут
Это неверно.
Полиномиальная интерполяция способна подавить то, что Вы называете "зеркалами", на любую заданную величину.

PS. Речь идёт о сплайн-интерполяции, конечно. Как того и хочет Автор темы.

Цитата(des00 @ Nov 5 2010, 20:27) *
У автора проблема с обработкой сигнала на околонулевой ПЧ, то пусть рассмотрит вариант ухода на нормальную, пусть и низкую ПЧ.
Это он Вам сообщил, или сами догадались?


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 5 2010, 17:33
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(_Pasha @ Nov 5 2010, 11:30) *
Полиномы Лежандра, изучаются, как известно, лежа smile.gif, но на гармонических сигналах стоЯт хорошо.

во во, когда я гонял модельки, желая понять тонкости модема от Provigenta, был сильно удивлен когда даже на лагранже 5/6 го порядков видел зеркала под 50 дБ %)


--------------------
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 5 2010, 17:36
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Понеслась нелёгкая, похоже... sad.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 5 2010, 17:37
Сообщение #11


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Stanislav @ Nov 5 2010, 11:32) *
Это неверно.
Полиномиальная интерполяция способна подавить то, что Вы называете "зеркалами", на любую заданную величину.

модель в Simulink е в студию, спектр со скруглением RRC = 0.15, интерполяция ну положим на 16ть. Модель должна демонстрировать выходной спектр сигнала. Интерполятор возьмите любой. Нет модели, нет разговора.
Цитата
Это он Вам сообщил, или сами догадались?

Вам хочется пофлудить, после длительного молчания, или вы сознательно не прочитали слова автора топика "Есть сигнал - результат НЧ фильтрации исходного сигнала с целью определить его постоянную составляющую. То есть полоса сигнала в общем то составляет доли Герца, но среднее значение (или нулевая гармоника) может варьироваться в довольно большом диапазоне."


--------------------
Go to the top of the page
 
+Quote Post
thermit
сообщение Nov 5 2010, 17:51
Сообщение #12


Знающий
****

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



Цитата
jorikdima:
Что делают гуру в таких ситуациях


Перемежают нулями и выполняют фильтрацию. Наличие артефактов означает неправильно посчитанный фильтр-интерполятор.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 5 2010, 17:58
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(des00 @ Nov 5 2010, 20:37) *
модель в Simulink е в студию, спектр со скруглением RRC = 0.15, интерполяция ну положим на 16ть. Модель должна демонстрировать выходной спектр сигнала. Интерполятор возьмите любой. Нет модели, нет разговора.
Вы про какие-то модели в Симулинке разговор начали - Вам и предъявлять. А я поправлю, если что. Поскольку Симулинком не пользовался сроду.

Цитата(des00 @ Nov 5 2010, 20:37) *
Вам хочется пофлудить, после длительного молчания,
Что за чушь?
Держите себя в рамках, уважаемый.
Или за время моего отсутствия модераторы электроникса окончательно мутировали в попсу?
Что ни тема - то россыпь перлов. И модераторы в "застрельщиках".

Цитата(des00 @ Nov 5 2010, 20:37) *
...или вы сознательно не прочитали слова автора топика "Есть сигнал - результат НЧ фильтрации исходного сигнала с целью определить его постоянную составляющую. То есть полоса сигнала в общем то составляет доли Герца, но среднее значение (или нулевая гармоника) может варьироваться в довольно большом диапазоне."
Итак, Вы утверждаете, что, совершив НЧ фильтрацию исходного ПЧ-сигнала, Автор темы получил полосу в доли герца, я правильно Вас понял?

 
Цитата(thermit @ Nov 5 2010, 20:51) *
Перемежают нулями и выполняют фильтрацию. Наличие артефактов означает неправильно посчитанный фильтр-интерполятор.
Не то, чтобы неправильно, скорей всего... Тут условия не совсем понятны. Видимо, нужно получать результат сразу же по приходу первых отсчётов. А такое действо предполагает некую искусственную процедуру инициализации памяти фильтра - интерполятора.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Designer56
сообщение Nov 5 2010, 18:00
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 932
Регистрация: 13-10-06
Из: Уфа
Пользователь №: 21 290



Цитата(alexPec @ Nov 5 2010, 22:08) *
А если не нулями 24 отсчета забивать, а собственно самим отсчетом? А потом также через ФНЧ.
Т.е. не 14,0,0,0,0....18,0,0...20,0,0 а так: 14,14,14,14.......18,18,18.....20,20,20

В таком случае может понадобится доп. коррекция АЧХ. Обратная sin(x)/x

Цитата(Stanislav @ Nov 5 2010, 22:36) *
Понеслась нелёгкая, похоже... sad.gif

biggrin.gif


--------------------
"...Дьяволу ведомо многое не потому, что он- Дьявол, а потому, что он стар..."
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Nov 5 2010, 18:49
Сообщение #15


Знающий
****

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



Цитата(jorikdima @ Nov 5 2010, 19:45) *
Здравствуйте.
Возник вопрос, который быть может, надуман, но хочется разобраться.
Есть сигнал - результат НЧ фильтрации исходного сигнала с целью определить его постоянную составляющую. То есть полоса сигнала в общем то составляет доли Герца, но среднее значение (или нулевая гармоника) может варьироваться в довольно большом диапазоне. Частоту дискретизации этого сигнала нужно поднять в 25 раз, для чего требуется провести интерполяцию. В книжках прочитал, что делается это с помощью добавления нужного числа нулей между исходными отсчетами и пропусканием через ФНЧ для удаления размноженных гармоник. В принципе все работает, но появляются артефакты. Дело в том, что во всех книжках, где рассказывается про интерполяцию, нарисован сигнал с околонулевой постоянной составляющей, ну либо нулевая гармоника много меньше других гармоник в сигнале. И тут все прекрасно, добавляются нули, затем они сглаживаются ФНЧ. Но в случае когда, нулевая гармоника является преобладающей добавление в сигнал отсчетов, сильно отличающихся от текущего значения сигнала (а именно нулевые отсчеты) каждый раз вызывают всплеск на выходе фильтра, пропорциональный разнице между нулем и реальным значением сигнала и зависящим от ИХ фильтра. Этот всплеск у меня много больше шума исходного сигнала, являющейся собственно постоянным током и недопустим.
Что делают гуру в таких ситуациях?
У самого есть идея следующая. Не добавлять нулевых отсчетов и не ставить ФНЧ, а вписывать какой-нибудь полином, тот же сплайн, в реальные отсчеты сигнала, а затем, найдя коэффициенты сплайна, рассчитывать 24 значения между исходными выборками. Минус такого решения, что это не риал тайм, нужно дождаться следующего отсчета прежде чем получить 24 точки до него, но мне не страшно это.
Справедливо ли решение или есть какие-то более мудрые действия?
Спасибо.

Только добавлять нули и фильтровать, как изначально правильно решил автор. Правильно подобранный фильтр все и решит. Полоса сигнала не может быть больше, чем Fs/2, то есть полоса фильтра должна быть ниже, но как можно ближе к Fs/2 (к исходной частоте дискретизации. А значит, фильтр (обязательно КИХ) должен быть крутой. Можно сделать интерполяцию в два захода (в пять и еще раз в пять раз). В этом случае фильтры будут в сумме короче. Для сравнения нужно профильтровать исходный сигнал на исходной частоте фильтром с такой же характеристикой и сравнивать уже этот сигнал с полученным после интерполяции. Совпадение должно быть хорошим.
Go to the top of the page
 
+Quote Post

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

 


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


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