TiltFilter
Overview
Variable slope tilt filter
Discussion
This subsystem implements a filter with the desired slope over the specified band. The intended application is for filtering white noise to produce noise of a desired color. Common noise colors include Violet, Blue, White, Pink, and Red, with respective slopes of +6, +3, 0, -3, and -6 dB/octave. Arbitrary slopes, such as -7.15 dB/octave can also be used. fStart specifies the frequency at which the slope begins, while fStop specifies the frequency at which the slope ends. avgPower specifies the squared 2-norm of the filter. This is used to preserve the area under the frequency response curve, regardless of the desired slope. The underlying filter is implemented as a cascade of biquad stages. The default number of stages is set to 3, allowing for slopes ranging from -18 to +18 dB/octave. The number of biquad stages can be adjusted by right-clicking the Tilt Filter module in Audio Weaver Designer and selecting the "Module Name and Arguments..." option.
Type Definition
-Not Shown-
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
slope | float | parameter | 0 | 0 | -18:18 | dB/octave |
fStart | float | parameter | 0 | 1000 | 1:20000 | Hz |
fStop | float | parameter | 0 | 20000 | 1:20000 | Hz |
avgPower | float | parameter | 0 | 0 | -20:20 | dB |
numStages | int | const | 0 | 3 | Unrestricted |
Pins
Input Pins
Name: in
Description:
Data type: float
Channel range: Unrestricted
Block size range: Unrestricted
Sample rate range: Unrestricted
Complex support: Real
Output Pins
Name: out
Description:
Data type: float
Scratch Pins
Channel count: 1
Block size: 32
Sample rate: 48000
MATLAB Usage
File Name: tilt_filter_subsystem.m
SYS = tilt_filter_subsystem(NAME, NUM_STAGES)
Implements a tilt filter which attenuates frequencies based on a specifed
slope in dB/octave. Arguments:
NAME - name of the module.
NUM_STAGES - number of Biquad stages used internally. By default this
equals 3.