Inaccurate median filters

Trading between Quality and Non-functional Properties of Median Filter in Embedded Systems
If you use any of these circuits please cite the article
VASICEK Zdenek and MRAZEK Vojtech. Trading between Quality and Non-functional Properties of Median Filter in Embedded Systems. Genetic Programming and Evolvable Machines. Berlin: Springer Verlag, 2017, vol. 2017, no. 1, pp. 45-82. ISSN 1389-2576.
doi:10.1007/s10710-016-9275-7

Authors:

Vojtech Mrazek and Zdenek Vasicek

Quality:

Measured quality is detaily described in the paper. Basicly it is comparator network with reduced size. Quality can be measured as a histogram of distance errors d, i.e. probability that we get (n+d)th smallest value from the sequence. Quality of target solutions

Header:

Global header that looks like this one with specification of min, max operations and variable length must be used.
#ifndef MEDIAN_H
#define	MEDIAN_H
 
#ifdef	__cplusplus
extern "C" { 
#endif
 
#include <stdint.h>
typedef int16_t med_type;
 
#define MED_SIZE 25
#define min(a,b) ((a>b)?b:a)
#define max(a,b) ((a>b)?a:b)
 
med_type median(med_type * din);
 
#ifdef	__cplusplus
}
#endif
 
#endif	/* MEDIAN_H */

C codes:

9-input median:

11-input median:

13-input median:

25-input median: