Document toolboxDocument toolbox

(8.D.1.2) UpFIRDnConverter

Overview

Converts sample rate of input wire and outputs data at new sample rate.

Discussion

Sample rate converter.\n The output sample rate is computed by L/D*SampleRateIn = SampleRateOut. If the ratio of the input sample rate to the desired output sample rate is irrational, the desired output sample rate will not equal the actual output sample rate. The input block size must be an interger multiple of D. The length of the filter must be > than L. L, D, and the optimal value for N can be calculated using the inspector.

Type Definition

typedef struct _ModuleUpFIRDnConverter { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 gd; // Group Delay or latency, calculated result INT32 KAISER; // Filter type constant INT32 PARKS_MCCLELLAN; // Filter type constant INT32 CUSTOM; // Filter type constant FLOAT32 fin; // Input Sample Rate INT32 L; // Interpolation factor INT32 D; // Decimation factor INT32 filterType; // filter type of FIR INT32 ND; // Integer multiplication factor INT32 N; // length of FIR filter INT32 NQ; // Size of QBUF, >= 2*Q, where Q = N/L (integer divide) INT32 IQ; // QBUF index INT32 JQ; // QBUF index, moving address index. INT32 NC; // Size of array COFS INT32 NCOEF; // Size of COEF array FLOAT32* QBUF; // Internal buffer for storage of state variables of FIR filter INT32* ICTR; // Buffer for storing control data FLOAT32* COEF; // FIR symmetric filter coeffs FLOAT32* COFS; // scrambled coeffs for FIR filter } ModuleUpFIRDnConverterClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

gd

float

const

0

0.1319

Unrestricted

msec

KAISER

int

const

1

1

Unrestricted

 

PARKS_MCCLELLAN

int

const

1

2

Unrestricted

 

CUSTOM

int

const

1

3

Unrestricted

 

fin

float

parameter

1

48000

Unrestricted

 

L

int

const

1

3

Unrestricted

 

D

int

const

1

4

Unrestricted

 

filterType

int

const

1

1

Unrestricted

 

ND

int

derived

1

8

Unrestricted

 

N

int

const

1

39

Unrestricted

 

NQ

int

const

1

26

Unrestricted

 

IQ

int

const

1

13

Unrestricted

 

JQ

int

derived

1

13

Unrestricted

 

NC

int

const

1

39

Unrestricted

 

NCOEF

int

const

1

20

Unrestricted

 

QBUF

float*

derived

1

[1 x 26]

Unrestricted

 

ICTR

int*

derived

1

[6 x 1]

Unrestricted

 

COEF

float*

derived

0

[20 x 1]

Unrestricted

 

COFS

float*

derived

1

[39 x 1]

Unrestricted

 

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

MATLAB Usage

File Name: up_fir_dn_converter_module.m

M=up_fir_dn_converter_module(NAME, L, D, N, filterType) Performs rational sample rate conversion Arguments: NAME - Name of the module L - Interpolation factor D - Decimation factor N - length of FIR filter used in the conversion process filterType - Type of filter Author: Darrel Judd

Â