EmphasisFilterFract32
Overview
Audio pre- and de-emphasis
Discussion
Implements pre-emphasis and de-emphasis filters. These are first order recursive filters which are used in a variety of applications, typically for noise reduction. The pre-emphasis filter boosts high frequencies while the de-emphasis filter reduces high frequencies in a complementary fashion. The filters are designed so that a cascade of a pre-emphasis and de-emphasis filter with the same tau setting cancel each other out perfectly.
The cutoff frequency of the filter is specified via a time constant tau. tau is specified in microseconds and the 3 dB frequency is related to tau by the formula \(f_c = \frac{1}{2*\pi*\tau}.\)
Typical time constants are:
50 usec for US and Korean FM
75 usec for all other FM
The .filterType variable specifies the behavior of the module. If .filterType = 0, then the filter is bypassed (no change). If .filterType = 1, then the filter implements pre-emphasis (boost high frequencies). If .filterType = 2, then the filter implements de-emphasis (reduce high frequencies).
Module Pack
Advanced
ClassID
classID = 1266
Type Definition
typedef struct _ModuleEmphasisFilterFract32
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
INT32 filterType; // Specifies whether the filter implements bypass (=0) pre-emphasis (=1) or de-emphasis (=2)
FLOAT32 tau; // Time constant of the filter
awe_modBiquadSmoothedFract32Instance *filt; // 2nd order smoothly updating IIR filter} ModuleEmphasisFilterFract32Class;
Variables
Properties
| Name | Type | Usage | isHidden | Default Value | Range | Units |
|---|---|---|---|---|---|---|
| filterType | int | parameter | 0 | 0 | 0:2 | |
| tau | float | parameter | 0 | 75 | 0:10000 | microseconds |
Pins
Input Pins
| Name | in |
| Description | Audio Input |
| Data type | fract32 |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real |
Output Pins
| Name | out |
| Description | Audio output |
| Data Type | fract32 |
Matlab Usage
File Name: emphasis_filter_fract32_module.m
SYS = emphasis_filter_fract32_module(NAME)
Creates a second order filter module which implements audio pre-
and de-emphasis. Arguments:
NAME - name of the module.
Copyright (c) 2026 DSP Concepts, Inc.