BlockMedian
Overview
N-Channel Block median
Discussion
Computes the median ("middle value") for each block of data. The median computation is computed on a channel by channel basis. The module supports an arbitrary block size and number of channels. The output has a block size of 1 and the number of channels matches the number of channels of the input.
Internally, the module uses a scratch buffer and sorts each block of data. It then picks the "middle" value as the median. Let N represent the block size of the input pin. If N is odd, then the median is the sample at index [(N - 1) / 2] (assuming zero indexing). If N is even, then the median is at sample index [N/2 - 1].
Module Pack
Advanced
ClassID
classID = 1225
Type Definition
typedef struct _ModuleBlockMedian
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
} ModuleBlockMedianClass;
Pins
Input Pins
| Name | in |
| Description | Input signal |
| Data type | float |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real |
Output Pins
| Name | out |
| Description | Output signal |
| Data Type | float |
Scratch Pins
| Channel Count | 1 |
| Block size | 32 |
| Sample rate | 48000 |
Matlab Usage
File Name: block_median_module.m
M = block_median_module(NAME)
Computes the median value of a block of data. Can be configured for
block mode or streaming mode. Arguments:
NAME - name of the module.
Copyright (c) 2026 DSP Concepts, Inc.