Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Усреднение выходных значений.
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
ivan219
Есть некоторый график, при большом масштабе значения на разных частотах начинаю, как бы правильно выразится флуктуировать, т.е. относительно какого та среднего значения разбегаться вверх и в низ и находятся на этом положении длительное время. Усреднение по шумам я сделал средним алгебраическим по амплитуде за определённый промежуток времени.

Вопрос, каким методом можно привести этот разброс к прямой линии??? Как бы усреднить относительно друг друга.
rezident
Усреднение это вид фильтрации. Поясните более внятно, что вы фильтруете? Т.е. вид/характер сигнала и шумов, полоса фильтра и т.п.
ivan219
Думал, объяснил понятно. Попробую теперь наглядно. Смотрите изображение.
При чём усреднение по шумам я сделал и шумы не, причём каждая точка стоит на месте!!! Только сильно отмаштобирован по оси Y вот и видно как бы шумы.
rezident
Ну дык определитесь с требуемой полосой пропускания фильтра и выберите правильно величину временного окна для усреднения. Из рисунка соотношение частот (шума и полезного сигнала) не совсем очевидно.
ivan219
И почему никто меня не понимает, хотя я прямо пишу, что это не шум!!!
Это интермодуляционные искажения, АМ модуляция, ЧМ модуляция и черт знает что ещё пораждёное сигналом, проходящим через аналоговые цепи и наложенные на исходный сигнал, поэтому эти значения ”постоянны во времени”, так как сигнал постоянен во времени и аналоговые цепи "тоже" тепловые шумы, наводки, шум квантования не учитываю, они малы! И от них я уже избавился.
Я же говорю то что на кортинке постоянно во времени! Нужен алгоритм который из этого облака зделает линию.

На картинки отображон спектр. Значение "амплитуды" от частоты.
Lmx2315
Цитата(ivan219 @ Sep 20 2010, 20:54) *
И почему никто меня не понимает, хотя я прямо пишу, что это не шум!!!


..ну раз это не шум , возьмите мах и мin значения этого размытого пятна , сложите и поделите на 2 - через эти точки проведите прямые линии .
DRUID3
Цитата(ivan219 @ Sep 20 2010, 19:54) *
Это интермодуляционные искажения


Тада вот... Но Вам нужен будет адаптивный фильтр на их основе делать...
ivan219
Цитата(DRUID3 @ Sep 20 2010, 21:23) *
Тада вот... Но Вам нужен будет адаптивный фильтр на их основе делать...

Это просто вынос мозга какой то. Я же не про устранение интермодуляции просил.
DRUID3
Цитата(ivan219 @ Sep 20 2010, 20:50) *
Я же не про устранение интермодуляции просил.

w00t.gif ohmy.gif 07.gif !!!???
ivan219
Ну, как бы представить, что набор точек это оболочка (кожа, мясо, жил такая бесформенная масса эдакий толстяк, а внутри у него скелет такой же, как и у дистрофика) мне нужен именно скелет. А всё остальное содрать.
Как на кортинке.
SPACUM
Цитата(ivan219 @ Sep 20 2010, 22:01) *
а внутри у него скелет

Может Вы знаете как этот скелет выглядит. Например кусочно - линейная функция как Вы изобразили. Тогда линейная аппроксимация на каждом отрезке.
ukpyr
скользящее среднее, нет ?
DRUID3
Цитата(ivan219 @ Sep 20 2010, 21:01) *
Как на кортинке.

Вера в чудеса заложена в природу людей... Я не могу Вас осуждать, сам такой... Но...

...либо метод Lmx2315 если скользящее среднее чем-то не устроило, либо вычитание сигналов если они предварительно известны (или их можно померить в другом месте)... Либо сети Вольтерра - строить нелинейную антимодель... Это же интермодуляции - т.е. продукты заведомо не детерминированных сигналов... Даже мощности за единицу времени для них нельзя гарантировать, как, например, для теплового шума...
rezident
Да какая разница, шум это или смесь сигналов или значений амплитуд? Фильтру по барабану какие именно значения фильтровать. Определитесь с параметрами фильтра и реализуйте его себе на здоровье. Скользящее среднее это первое, что приходило в голову, но я уж не стал раньше времени предлагать. Вдруг у вас какие-то другие требования к фильтру будут? Ведь у скользящего среднего постоянный сдвиг фазы присутствует.
ivan219
Цитата(rezident @ Sep 20 2010, 23:09) *
Ведь у скользящего среднего постоянный сдвиг фазы присутствует.

Ну да а я что то обрадовался там и последний бин будет неправльно вычеслен. Хотя в цело если подумать это произойдёт только при большом маштабе, должно подайти. Если им пройтись несколько раз с перекрытием в один бин. Надо попробывать
Но если есть другие предложения готов выслушать.
DRUID3
Цитата(rezident @ Sep 20 2010, 22:09) *
Да какая разница, шум это или смесь сигналов или значений амплитуд?

Разница принципиальная - шум стационарен по тому или иному критерию - например средней мощности на периоде - а интермодуляции ниразу smile.gif . И давить интермодуляции скользящим средним эффективно в том случае если их продукт близок к шуму постоянному по средней мощности за период wink.gif ... Что отнюдь не следует ни из рисунка ни слов автора...
rezident
Цитата(DRUID3 @ Sep 21 2010, 02:15) *
Разница принципиальная - шум стационарен по тому или иному критерию - например средней мощности на периоде - а интермодуляции ниразу smile.gif
Ага, точно. Что-то я позабыл про этот факт. sad.gif
DRUID3
Цитата(ivan219 @ Sep 20 2010, 19:54) *
Это интермодуляционные искажения, АМ модуляция, ЧМ модуляция и черт знает что ещё пораждёное сигналом, проходящим через аналоговые цепи и наложенные на исходный сигнал, поэтому эти значения ”постоянны во времени”

Идеологическая ошибка... Вот какая-то радиостанция АМ выключится - останутся ли постоянными параметры этой интермодуляцинной смеси? Думаю(знаю) что нет... Т.е. параметры фильтра должны либо меняться во времени - либо придется смириться с тем что "временами" он не отрабатывает(свой хлеб smile.gif )...


Цитата(ivan219 @ Sep 20 2010, 19:54) *
Я же говорю то что на кортинке постоянно во времени! Нужен алгоритм который из этого облака зделает линию.

+
Цитата(ivan219 @ Sep 20 2010, 19:54) *
На картинки отображон спектр. Значение "амплитуды" от частоты.

Тада блочное среднее... И соединение каждого блока прямой линией... А что-бы не размыло мощные гармоники - нелинейное блочное среднее... Чем больше амплитуда гармоники тем уже ее блок. Эдакие диаграмы Вороного - одномерный случай. smile.gif

Кстати - скользящее среднее, как тут насоветывали все мы, не только с первыми и последними бинами создаст проблемы - переходные процессы - но и размоет гармоники - что вообще говенно sad.gif ...

P.S.: А вообще если бы с интермодуляциями можно бы было бороться таким образом...

P.P.S.: ... и еще, ivan219, а не путаете ли Вы с нелинейностью влияние друг на друга соседних бинов FFT?
ivan219
Цитата(DRUID3 @ Sep 21 2010, 05:55) *
Идеологическая ошибка... Вот какая-то радиостанция АМ выключится - останутся ли постоянными параметры этой интермодуляцинной смеси? Думаю(знаю) что нет... Т.е. параметры фильтра должны либо меняться во времени - либо придется смириться с тем что "временами" он не отрабатывает(свой хлеб smile.gif )...

Ни надо всё додумывать за меня максимальная частота, с которой надо работать 100 кГц в ВЧ диапазон не лезу. Антенны в устройстве тоже нет. Есть только НЧ вход и НЧ выход. Так что на АМ станции мне ...

Цитата(DRUID3 @ Sep 21 2010, 05:55) *
Тада блочное среднее... И соединение каждого блока прямой линией... А что-бы не размыло мощные гармоники - нелинейное блочное среднее... Чем больше амплитуда гармоники тем уже ее блок. Эдакие диаграмы Вороного - одномерный случай.

Да для меня, конечно, было бы лучше сохранить все мелкие детали как можно точнее.

Цитата(DRUID3 @ Sep 21 2010, 05:55) *
P.S.: А вообще если бы с интермодуляциями можно бы было бороться таким образом...

P.P.S.: ... и еще, ivan219, а не путаете ли Вы с нелинейностью влияние друг на друга соседних бинов FFT?

Нет, частоты бинов совпадают с частотами генератора, т.е. кратны частоте дискретизации. ЛЧМ сигнал из 511 гармоник FFT. Т.е. каждая гармоника порождает только один бин в FFT размером 1024. Но при прохождении сигнала через аналоговые цепи эти гармоники порождают новые гармоники, которые накладываются и портят всю картину.
sup-sup
Цитата(ivan219 @ Sep 20 2010, 21:01) *
Ну, как бы представить, что набор точек это оболочка (кожа, мясо, жил такая бесформенная масса эдакий толстяк, а внутри у него скелет такой же, как и у дистрофика) мне нужен именно скелет. А всё остальное содрать.
Как на кортинке.

Все-таки, правильное предложение это фильтр нижних частот. 'Резидент' несколько раз написал всевозможными способами об этом. Скользящее среднее это тоже ФНЧ с характеристикой sinx/x. Правильно поработать с характеристикой фильтра, то есть выбрать опытным путем полосу и затухание вне полосы.
ivan219
Цитата(sup-sup @ Sep 21 2010, 14:01) *
Все-таки, правильное предложение это фильтр нижних частот. 'Резидент' несколько раз написал всевозможными способами об этом.

Это я понял только после предпоследнего сообщения, он не указал, что фильтровать надо сам спектр я думал, что он предлагает фильтровать сам сигнал, который я уже отфильтровал. Вот такое у нас не до понимание вышло.
sup-sup
Цитата(ivan219 @ Sep 21 2010, 13:11) *
Это я понял только после предпоследнего сообщения, он не указал, что фильтровать надо сам спектр я думал, что он предлагает фильтровать сам сигнал, который я уже отфильтровал. Вот такое у нас не до понимание вышло.

Фильтровать надо выборку, а что у нее по оси x не важно
DRUID3
Цитата(ivan219 @ Sep 21 2010, 12:21) *
Ни надо всё додумывать за меня максимальная частота, с которой надо работать 100 кГц в ВЧ диапазон не лезу. Антенны в устройстве тоже нет. Есть только НЧ вход и НЧ выход. Так что на АМ станции мне ...

+
Цитата(ivan219 @ Sep 20 2010, 19:54) *
rolleyes.gifЭто интермодуляционные искажения, АМ модуляция, ЧМ модуляция и черт знает что ещё пораждёное сигналом,

Тада пейшите яснее... И с чего тогда Вы взяли что это все-таки интермодуляция? Что с чем "интермодулирует" и главное на чем? Какие аналоговые каскады есть?...

...далее, утверждение:
Цитата(ivan219 @ Sep 20 2010, 19:54) *
Да для меня, конечно, было бы лучше сохранить все мелкие детали как можно точнее.

...находится в логическом противоречии с самой идеей сглаживания(интегрирования, ВЧ-фильтрации etc.). Уж если что-то отбрасывать - то отбрасывать...
Повторюсь - как по мне, то идеальным для вас является какая-то нелинейщина, причем нужно точно провести грань между сигналом и шумом и то, что шум должно "резко срываться в пропасть"... Когда-то в одном радиолюбительском проекте видел такое - отбросить младшие биты после FFT. Потом можно их опять вернуть, но то, что "0", то "0"... Не совсем корректно для радиолюбительства - там важны слабые нестационарные сигналы - но сойдет для радиоастрономии smile.gif . А у Вас обрабатывается какого рода сигнал?

Цитата(ivan219 @ Sep 20 2010, 19:54) *
Нет, частоты бинов совпадают с частотами генератора, т.е. кратны частоте дискретизации. ЛЧМ сигнал из 511 гармоник FFT. Т.е. каждая гармоника порождает только один бин в FFT размером 1024. (!?) Но при прохождении сигнала через аналоговые цепи эти гармоники порождают новые гармоники, которые накладываются и портят всю картину.

Так... Ну и что что кратны? Каждая гармоника в любом случае порождает один sinc(F), а не один бин... Кратна - не кратна... Спектр полного периода cos(t) != спектр cos(t). laughing.gif

P.S.: ...кстати, уже можно было несколько типов ФНЧ(интеграторов, etc.) испытать... Вас устроил результат?
ivan219
Цитата(DRUID3 @ Sep 21 2010, 17:24) *
Вы взяли что это все-таки интермодуляция? Что с чем "интермодулирует" и главное на чем? Какие аналоговые каскады есть?...А у Вас обрабатывается какого рода сигнал?
P.S.: ...кстати, уже можно было несколько типов ФНЧ(интеграторов, etc.) испытать... Вас устроил результат?


Интермодуляция будет от неё никуда не денешься. На нелинейных элементах Емкость индуктивность ОУ p-n переходы ЦАП, АЦП. Сигнал НЧ состоящий из 511 одинаковых гармоник с максимальной частотой дискретизации 192 кГц.
Делается для определения АЧХ и ФЧХ испытуемого устройства.
Да эксперементы со скальзящим окном зделал. Результат не плохой только при усреднении от 4 бинов. С НЧ фильтром ещё не пробовал. Попробую сравню и отпишусь.
petrov
Цитата(ivan219 @ Sep 21 2010, 20:46) *
Делается для определения АЧХ и ФЧХ испытуемого устройства.


Может лучше белый шум подавать и через адаптивный фильтр ИХ устройства идентифицировать?
ivan219
Цитата(petrov @ Sep 21 2010, 21:28) *
Может лучше белый шум подавать и через адаптивный фильтр ИХ устройства идентифицировать?

Пробовал получается хуже.
Мой алгоритм идёт на сравнении исходном аналоговом сигнале и этого же сигнала прошедшего через прибор в итоге я имею хорошую АЧХ и ФЧХ на кратных гармониках FFT.
petrov
Цитата(ivan219 @ Sep 21 2010, 21:51) *
Пробовал получается хуже.


Что-то с трудом верится. :) Учитывая к тому же ваши нелинейные искажения и гармонические помехи.
ivan219
Цитата(petrov @ Sep 21 2010, 22:13) *
Что-то с трудом верится. smile.gif Учитывая к тому же ваши нелинейные искажения и гармонические помехи.

Ну правильно с шумом этой гадости становится ещё больше. Сами подумайте то всего 511 гармоник и их нелинейные искажения а то целый спектр.
Плюс ковсему соотношение сигнал шум при шумовом сигнале ниже, коламбур получился но есть шум мой с моими характеристиками и шум не подвласный мне. Да и с поворотом фазы на шуме целая эпопея а тут всё просто Sin или Cos smile.gif
petrov
Цитата(ivan219 @ Sep 21 2010, 22:39) *
Ну правильно с шумом этой гадости становится ещё больше. Сами подумайте то всего 511 гармоник и их нелинейные искажения а то целый спектр.
Плюс ковсему соотношение сигнал шум при шумовом сигнале ниже, коламбур получился но есть шум мой с моими характеристиками и шум не подвласный мне. Да и с поворотом фазы на шуме целая эпопея а тут всё просто Sin или Cos smile.gif


Гармоники от нелинейных искажений и гармонические помехи непосредственно ошибку вносят при вашем методе измерения.
Адаптивный фильтр не реагирует на эти помехи поскольку исправить их не может. С соотношением шум/шум все то же самое будет что и с вашим ЛЧМ. Никакой эпопеи не нужно, FFT от чистеньких коэффициентов адаптивного фильтра и вы получите ЧХ.
ivan219
АЧХ да, и то хуже чем с фиксированными гармониками а вот ФЧХ с большими ошибками идёт. С шумом я уже делал. Или ваш метод более эффективнее? Тогда поделитесь.
petrov
Цитата(ivan219 @ Sep 21 2010, 23:51) *
АЧХ да, и то хуже чем с фиксированными гармониками а вот ФЧХ с большими ошибками идёт. С шумом я уже делал. Или ваш метод более эффективнее? Тогда поделитесь.


Ссылку на книгу по адаптивным фильтрам вы видели.

Простенький пример в симулинке
http://electronix.ru/forum/index.php?s=&am...st&p=468489
ivan219
У кого есть табличные значения на фильтр Батерворта 2 полюса ???
Пробовал с Чебышевым 0.5% результат не плохой, но хотелось попробовать ещё и с более мягким фильтром. Результат лучше, чем со скользящим окном сдвиг меньше, учитывая одно и тоже количество отсчётов. Надо ещё и с КИХ-фильтром попробовать он же вообще сдвига не даёт.
sup-sup
Цитата(ivan219 @ Sep 22 2010, 01:23) *
У кого есть табличные значения на фильтр Батерворта 2 полюса ???
Пробовал с Чебышевым 0.5% результат не плохой, но хотелось попробовать ещё и с более мягким фильтром. Результат лучше, чем со скользящим окном сдвиг меньше, учитывая одно и тоже количество отсчётов. Надо ещё и с КИХ-фильтром попробовать он же вообще сдвига не даёт.

Так КИХ и надо.
Еще можно скинуть точки в EXCEL, построить график в виде точек и построить на них линию тренда.
Там можно выбрать полиномиальный до 6 порядка.
анатолий
Непонятно, а что, собственно, хочется увидеть?
Если это неизвестно что, какой-то тренд, то есть стандартный метод наименьших квадратов.
По-видимому, нужно увидеть на выходе некий треугольный сигнал.
ФНЧ такого не даст.
Лучше адаптивный фильтр - адаптивный именно к треугольникам.
Если бы это была смесь синусоид (треугольник - тоже смесь синусоид),
то можно было бы авторегрессивный адаптивный фильтр.
DRUID3
...ну остается добавить - а понимает ли аФФтАр чо делает? Ведь "шум" в частотной области эквивалентен "шуму" во временнОй. Грубо но вобщем верно. В то же время прямая линия в частотной области - пусть и близкая к Ox - это множество мелких синусоид во временной - т.е. "звон". Если это сглаживание нужно для визуализации - это одно. Если это борьба с шумами для дальнейшей обработки или слухового восприятия - это в корне неверный подход sad.gif ...
sup-sup
Цитата(DRUID3 @ Sep 22 2010, 17:20) *
...ну остается добавить - а понимает ли аФФтАр чо делает? Ведь "шум" в частотной области эквивалентен "шуму" во временнОй. Грубо но вобщем верно. В то же время прямая линия в частотной области - пусть и близкая к Ox - это множество мелких синусоид во временной - т.е. "звон". Если это сглаживание нужно для визуализации - это одно. Если это борьба с шумами для дальнейшей обработки или слухового восприятия - это в корне неверный подход sad.gif ...

Возможно, идет какая-то разбраковка жучков (стрекоз, муравьев,..) на более или менее высокочастотных. Вот и нужно усреднение результата. Нормальная задача по статистике. В конце концов, есть выборка значений, размещенная по оси x. И какая разница что там - время, частота или количество жучков, машущих крылышками на определенной частоте. FIR (в широком смысле) подходит. Нужно поиграться его длиной и окном.
ivan219
Цитата(DRUID3 @ Sep 22 2010, 18:20) *
Если это сглаживание нужно для визуализации - это одно.

Я же писал, что это наблюдается только при большом масштабе порядка 0.001 дБ на пиксель чисто для визуализации.

Цитата(анатолий @ Sep 22 2010, 17:59) *
Если это неизвестно что, какой-то тренд, то есть стандартный метод наименьших квадратов.

Вот она эта гадость, где-то видел, запомнил результат, а название забыл.
ivan219
Цитата(ivan219 @ Sep 22 2010, 19:25) *
Вот она эта гадость, где-то видел, запомнил результат, а название забыл.

Ну, вот я и разобрался с методом наименьших квадратов. Даже пример сделал, кому интересно скачайте. Правда, только для прямой линии smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.