Skip to main content
Skip table of contents

IIRDecimator

Overview

Audio sample decimator with IIR filter

Discussion

The IIR decimator module implements an IIR low-pass filter followed by a downsampler. The IIR filter is implemented as an 8th order elliptical filter. The module variable cutoffFreq must be smaller than Fs*0.5/D, where Fs is the sampling rate and D is the decimation factor.

  • This module accepts any input block size. 

  • The output block size equals the input block size divided by the decimation factor D.

  • The output sample rate equals the input sample rate divided by D.

Type Definition

-Not Shown-

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

cutoffFreq

float

parameter

0

10800

20:24000

Hz

Rs

float

parameter

0

60

10:100

dB

D

int

const

0

2

Unrestricted

Pins

Input Pins

Name: in

Description: Audio input

Data type: float

Channel range: Unrestricted

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: Audio input

Data type: float

Scratch Pins

Channel count: 1

Block size: 32

Sample rate: 48000

Channel count: 1

Block size: 32

Sample rate: 48000

Channel count: 1

Block size: 32

Sample rate: 48000

MATLAB Usage

File Name: iir_decimator_subsystem.m

CODE
 SYS=iir_decimator_subsystem(NAME, D)
 Create a sub-system that decimates audio samples with IIR filter(s). IIR
 filters are implemented with allpass_pair sub-system with Elliptic filter
 option.
  
 Arguments:
    NAME - name of the module.
    D - Decimation factor.
 Copyright 2018.  DSP Concepts, Inc.  All Rights Reserved.
 Author:  Taka Unno

JavaScript errors detected

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

If this problem persists, please contact our support.