Skip to main content
Skip table of contents

BufferDown

Overview

Buffers the input into smaller block sizes. Non-overlapping

Discussion

This module is the interface between large block processing and small block processing. The module breaks up large blocks of data into smaller blocks. The larger blocks are executed in a lower priority thread compared to the smaller blocks. The module works on any 32-bit data type including integer, fract32, and floating-point.

The argument OUTBLOCKSIZE determines the blockSize of the output pin. If OUTBLOCKSIZE is positive, then the output blockSize equals OUTBLOCKSIZE. If OUTBLOCKSIZE is negative, then the output blockSize equals the input blockSize divided by (-OUTBLOCKSIZE). Note, not all targets support this. Check the target documentation to see how many levels of audio processing are supported.

Type Definition

-Not Shown-

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

outBlockSize

int

const

0

-1

Unrestricted

Pins

Input Pins

Name: in

Description: audio input

Data type: {float, int, fract32}

Channel range: Unrestricted

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real and Complex

Output Pins

Name: out

Description: audio output

Data type: {float, int, fract32}

MATLAB Usage

File Name: buffer_down_subsystem.m

CODE
 SYS=buffer_down_subsystem(NAME, OUTBLOCKSIZE)
 Create a module which buffers data into a smaller block size.  The buffering
 is non-overlapping and the downstream processing occurs at a higher block 
 rate.  Arguments:
    NAME - name of the module.
    OUTBLOCKSIZE - specifies the blockSize of the output pin.  If
        OUTBLOCKSIZE is positive, then the output blockSize equals
        OUTBLOCKSIZE.  If OUTBLOCKSIZE is negative, then the output blockSize
        equals the input blockSize times (-OUTBLOCKSIZE).

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.