Здравствуйте спецы,
Хочу синтезировать на ПЛИС медианный фильтр для одномерного массива.
Нужен быстрый алгоритм желательно без использования перестановки элементов массива.
Может кто поделится опытом или даст ссылку.
В литературе которую нашел предлагается каждый элемент массива сравниавть с остальными элементами и суммировать результаты сравнения. Т. о. для каждого элемента определяется его номер (вес) в упорядоченном ряду. Очевидно, медиана - это элемент со средним номером (весом).
Но есть проблема - если допустим в массиве из пяти элементов большая их часть равна друг другу, то их номера(веса) получаются одинаковыми - в результате элемента с номером(весом) медианы в ряду нет.
Пример:
Ряд____________________ 9, 5, 5, 5, 5
Номер(вес)_____________ 4, 3, 3, 3, 3
Медиана в упорядоченном ряду из пяти элементов имеет номер (вес) - 2.
Ясно что в ряду нет медианы в явном виде - значит надо брать элемент у которого присутствует больше одних и тех же номеров и. т. д. При реализации на ПЛИС (да еще если комбинаторно) все это становится слишком мудреным.
На процессоре понятнее - сортируем массив по возрастанию и берем средний элемент.
Скорее всего изъяснился непонятно. Подробнее можно посмотреть например
http://www.module.ru/files/papers-cos012005.pdfМожет кто работал с такой темой...? Help...
Сообщение отредактировал Elf - Aug 24 2006, 07:17