Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as pdf or txt
Download as pdf or txt
You are on page 1of 47

NXP Semiconductors Document identifier: EAPUG

User Guide Rev. 2, 14 February 2022

Essential Audio Processing User's Guide


NXP Semiconductors

Contents
Chapter 1 Introduction........................................................................................... 5

Chapter 2 Audio tuning.......................................................................................... 6

Chapter 3 Terminology.......................................................................................... 7

Chapter 4 Acronyms and abbreviations.................................................................8

Chapter 5 EAP description...................................................................................10


5.1 General....................................................................................................................................10
5.1.1 Overview................................................................................................................................... 10
5.1.2 Operating mode........................................................................................................................ 12
5.1.2.1 Definition C code..........................................................................................................................12
5.1.3 Sample rate...............................................................................................................................12
5.1.3.1 Description................................................................................................................................... 12
5.1.3.2 Definition C code..........................................................................................................................13
5.1.4 EAP Libraries............................................................................................................................ 13
5.1.5 Feature pack............................................................................................................................. 13
5.1.6 High sample rate....................................................................................................................... 14
5.1.7 Bit depth.................................................................................................................................... 14
5.1.7.1 16-bits library............................................................................................................................... 14
5.1.7.2 32-bits library............................................................................................................................... 14
5.1.8 Input / output format.................................................................................................................. 15
5.1.8.1 Description................................................................................................................................... 15
5.1.8.1.1 Crossover disable......................................................................................................... 15
5.1.8.1.2 Crossover enabled, and the input / output are in "Mono"............................................. 16
5.1.8.1.3 Crossover enabled, and the input / output are in "Stereo"............................................17
5.1.8.2 Definition C code..........................................................................................................................18
5.1.9 Output device............................................................................................................................ 18
5.1.9.1 Description................................................................................................................................... 18
5.1.9.2 Speaker type identification...........................................................................................................18
5.1.9.3 Definition C code..........................................................................................................................18
5.1.10 Block size................................................................................................................................ 18
5.1.10.1 Definition C code........................................................................................................................18
5.1.11 NXP devices software protection............................................................................................ 18
5.1.11.1 Definition in C code....................................................................................................................19
5.2 Tone generator........................................................................................................................ 19
5.2.1 Description................................................................................................................................ 19
5.2.2 Definition C code.......................................................................................................................22
5.3 Parametric equalizer................................................................................................................22
5.3.1 Description................................................................................................................................ 22
5.3.1.1 N-Bands....................................................................................................................................... 22
5.3.1.2 High-pass and low-pass filters..................................................................................................... 25
5.3.1.3 Equalizer standard effect............................................................................................................. 26
5.3.1.4 Working with other algorithms......................................................................................................27
5.3.2 Definition C code.......................................................................................................................27
5.4 3D widening.............................................................................................................................27

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 2 / 47
NXP Semiconductors
Contents

5.4.1 Description................................................................................................................................ 27
5.4.2 Definition C code.......................................................................................................................28
5.5 Volume control.........................................................................................................................28
5.5.1 Description................................................................................................................................ 28
5.5.2 Definition C code.......................................................................................................................29
5.6 Bass enhancement..................................................................................................................29
5.6.1 Description................................................................................................................................ 29
5.6.2 Definition C code.......................................................................................................................29
5.7 Audio volume leveler............................................................................................................... 30
5.7.1 Description................................................................................................................................ 30
5.7.2 Definition C code.......................................................................................................................30
5.8 Loudness maximizer................................................................................................................30
5.8.1 Description................................................................................................................................ 30
5.8.1.1 Effect level................................................................................................................................... 30
5.8.1.2 Gain............................................................................................................................................. 30
5.8.1.3 Attenuation...................................................................................................................................31
5.8.1.4 Speaker cut-off.............................................................................................................................31
5.8.2 Definition C code.......................................................................................................................31
5.9 Treble enhancement................................................................................................................31
5.9.1 Description................................................................................................................................ 31
5.9.2 Definition C code.......................................................................................................................32
5.10 Peak limiter............................................................................................................................32
5.10.1 Description.............................................................................................................................. 32
5.10.2 Definition C code.....................................................................................................................32
5.11 RMS limiter............................................................................................................................ 32
5.11.1 Description.............................................................................................................................. 33
5.11.2 Definition C code.....................................................................................................................33
5.12 Parametric spectrum analyzer...............................................................................................33
5.12.1 Description.............................................................................................................................. 33
5.12.2 Definition C code.....................................................................................................................33
5.13 Crossover two-bands.............................................................................................................33
5.13.1 Description.............................................................................................................................. 33
5.13.2 Definition C code.....................................................................................................................34
5.14 Headroom management........................................................................................................35
5.14.1 Headroom computation...........................................................................................................35
5.14.2 API.......................................................................................................................................... 35
5.14.3 Operating mode...................................................................................................................... 35
5.14.3.1 Definition C code........................................................................................................................35
5.14.4 Band definition........................................................................................................................ 35
5.14.4.1 Definition C code........................................................................................................................35
5.14.5 Configuration example............................................................................................................ 36
5.14.5.1 Example 1.................................................................................................................................. 36
5.14.5.2 Example 2.................................................................................................................................. 36
5.14.5.2.1 Without the equalizer.................................................................................................. 37
5.14.5.2.2 With the equalizer....................................................................................................... 37
5.14.6 Conclusion.............................................................................................................................. 38

Chapter 6 EAP integration................................................................................... 39


6.1 Sequence and description....................................................................................................... 39
6.2 Special functions..................................................................................................................... 41
6.2.1 LVM_GetVersionInfo................................................................................................................. 41
6.2.2 LVM_ClearAudioBuffers............................................................................................................41
6.2.3 LVM_GetAVLGain.....................................................................................................................41
6.2.4 LVM_SetHeadroomParams...................................................................................................... 41

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 3 / 47
NXP Semiconductors
Contents

6.2.5 LVM_GetHeadroomParams...................................................................................................... 41
6.2.6 LVM_GetSpectrum....................................................................................................................41
6.2.7 LVM_SetVolumeNoSmoothing..................................................................................................41
6.3 Memory placement.................................................................................................................. 42

Chapter 7 MIPS and Memory.............................................................................. 43


7.1 Performance of EAP16............................................................................................................43
7.2 Performance of EAP32............................................................................................................44

Chapter 8 Revision history...................................................................................46

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 4 / 47
NXP Semiconductors

Chapter 1
Introduction
This application note provides the required information to understand, deploy, and tune the Essential Audio Processing
(EAP) library.
For each processing block, this document provides:
• A description of the behavior.
• A description of the tuning parameters to perform classic tuning.
An additional chapter EAP integration explains how to perform the integration of EAP into an existing application.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 5 / 47
NXP Semiconductors

Chapter 2
Audio tuning
Audio tuning is an important aspect of application development and must be considered. It permits to adapt the algorithm to your
audio chain and your speaker, including the casing speaker.
EAP is provided with the Audio Tuning Tool to exercise the algorithms. However, you must plan tuning sessions with the
actual hardware.
®
Classic audio tuning is simple, and it is possible to produce good results with little audio processing knowledge and NXP support.
If expert audio tuning is required to reach better acoustic experience, then you need:
• An audio laboratory to be able to perform dedicated measures.
• An acoustic engineer to understand and reproduce the tuning procedure.
NXP can organize a tuning session with your device in its certified audio laboratory with an acoustic engineer who supports the
EAP block, see Figure 1.

Figure 1. NXP audio laboratory

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 6 / 47
NXP Semiconductors

Chapter 3
Terminology
Figure 2 shows an overview of several terms that are used throughout this document.

Digital Headroom Maximum level Digital saturation

Noise floor

Digital Full Scale


0 dB FS
System limitation

Dynamix range

Digital Audio
samples

Figure 2. Terminology

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 7 / 47
NXP Semiconductors

Chapter 4
Acronyms and abbreviations
Table 1 list all the acronyms and abbreviations used in the document.

Table 1. Acronyms and abbreviations

Acronym Definition

API Application Programmers Interface

AVL Auto Volume Leveler

BE Bass Enhancement; either Pure Bass or DBE which ever is included in the bundle release

Block Size Equal Frame Size

The size of a buffer in bytes:


Buffer Size • For a "Mono" stream, this is the block size times (the size of one sample in bytes)
• For a "Stereo" stream, this is twice of the block size times (the size of one sample in bytes)

CS Concert Sound, 3D widening

DBE Dynamic Bass Enhancement

dBFS dB relative to full-scale signal

EQNB N-Band Equalizer

Frame Duration The duration of a sample buffer (in seconds) is given by the frame size and divided by the sample rate

Frame Size The number of samples per channel to be processed in one call to the LVM_Process function

The name for processing data where the input and output buffers are at the same physical address
Inplace
in memory

The arrangement of samples in memory where the samples are alternately for the Left channel and the
Interleaved
Right channel

LM Loudness Maximizer

MIPS Million Instructions Per Seconds

Non-Interleaved The arrangement of samples in memory where the samples for each channel follow one another

Nyquist Half the sample rate

The name for processing data where the input and output buffers are at different physical addresses
Outplace
in memory

PB Pure Bass

Table continues on the next page...

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 8 / 47
NXP Semiconductors
Acronyms and abbreviations

Table 1. Acronyms and abbreviations (continued)

Acronym Definition

PSA Parametric Spectrum Analyzer

Sample Rate The number of samples per second

TE Treble Enhancement

TG Tone Generator

VC Volume Control

XO Crossover

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 9 / 47
NXP Semiconductors

Chapter 5
EAP description
This section includes audio block descriptions and tuning information.

5.1 General

5.1.1 Overview
The EAP software is a bundle of audio processing blocks which can be ordered as required at library compilation time. Then the
EAP software can be placed anywhere in the audio chain after the audio decoder and before the output driver.
EAP supports "Mono" or "Stereo" raw audio data in 16-bits, 24-bits, and 32-bits at multiple sample rate 8000 Hz, 11025 Hz, 12000
Hz, 16000 Hz, 22050 Hz, 24000 Hz, 32000 Hz, 44100 Hz, 48000 Hz or 96000 Hz.
EAP includes the following sound processing algorithms:
• 3D Virtualization: ConcertSound
• Speaker Equalizer
• User Equalizer
• Bass Enhancement (Pure Bass or Digital Bass Enhancement)
• Volume Control
• Treble Enhancement
• Loudness Maximizer
• Auto Volume Leveler
• Tone Generator
• Peak Limiter
• RMS Limiter
• Parametric Spectrum Analyzer
• Crossover two-bands
For details, see Figure 3.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 10 / 47
NXP Semiconductors
EAP description

CHANNEL CONTROL SPECTRAL ENHANCEMENT

CHANNEL HANDLE
BASS TREBLE
Mono or Stereo
ENHANCEMENT ENHANCEMENT
InPlace or OutPlace Buffering

SPEAKER USER
PARAMETRIC PARAMETRIC CROSSOVER
VOLUME CONTROL EQUALIZER EQUALIZER

DIRECT USER LOUDNESS


CONTROL MAXIMIZER
Volume and Balance (Compressor) SOUND EFFECT ANALYSIS

AUTOMATIC 3D EFFECT
PEAK RMS SPECTRUM
VOLUME Stereo, Cinema,
LIMITER LIMITER VISUALIZER
LEVEL Concert, Music

NXP Technology Dynamic Process Block Static Process Block Stereo /16-bits / up to 48 kHz

Lib EAP16: Mono and Stereo,16-bits up to 48 kHz


Lib EAP32: Mono and Stereo,16-bits, 24-bits, and 32-bits up to 96 kHz

Figure 3. EAP software block diagram

The process can be performed in-place (input and output buffer are same) or with separate input and output buffer. Parameters
update can happen at any time, EAP saves them and apply them.
This combination of audio features results in an impressive effect that enhances the tonal perception of the sound and improves
the "spatialness" of the audio, resulting in an enjoyable and relaxing listening experience.
EAP audio blocks can be reordered if necessary (Contact NXP Semiconductors for new library generation). For default and
recommended audio chain order, see Figure 4.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 11 / 47
NXP Semiconductors
EAP description

Input RMS
reference
measure

Channel Handle 3D Effect


Mono or Stereo Speaker Parametric Pre-volume
Tone generator Stereo, cinema,
Inplace or OutPlace Equalizer control
concert, music
buffering

Automatic Loudness
User Parametric Bass Treble
Volume Maximiser
Equalizer Enhancement enhancement
Level (Compressor)

Post-volume Peak Limiter RMS Limiter


and balance reference is full reference is input
control scale single or full scale
Power spectrum

Crossover Disable Output Signal

High band of the Output Signal


Crossover Enable
Crossover 2-bands Low band of the Output Signal

Figure 4. EAP default audio chain order

5.1.2 Operating mode


The entire EAP audio chain or individual EAP blocks can be activated or bypassed through operating mode parameters. Volume
control and balance are always enabled.

5.1.2.1 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_Mode_en OperatingMode; /* Bundle operating mode */


LVM_Mode_en VirtualizerOperatingMode; /* Virtualizer operating mode */
LVM_EQNB_Mode_en EQNB_OperatingMode; /* N-Band Equaliser operating mode */
LVM_BE_Mode_en BE_OperatingMode; /* Bass Enhancement operating mode */
LVM_TE_Mode_en TE_OperatingMode; /* Treeble Enhancement operating mode */
LVM_AVL_Mode_en AVL_OperatingMode; /* AVL operating mode */
LVM_TG_Mode_en TG_OperatingMode; /* Tone generator operating mode */
LVM_PSA_Mode_en PSA_Enable; /* PSA mode operating mode */

See dedicated enum definition in LVM.h for correct syntax of each operating mode.

5.1.3 Sample rate

5.1.3.1 Description
This section describes the sample rate of the input audio. It can be one of the following values:
• Normal sample rates: 32 kHz, 44.1 kHz, and 48 kHz

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 12 / 47
NXP Semiconductors
EAP description

• High sample rates: 96 kHz (supported by the EAP32 libraries only)


• Half of the sample rates: 16 kHz, 22.05 kHz, and 24 kHz
• Quarter of the sample rates: 8 kHz, 11.025 kHz, and 12 kHz

5.1.3.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_Fs_en SampleRate // LVM_FS_8000, LVM_FS_11025, LVM_FS_12000,


LVM_FS_16000, LVM_FS_22050, LVM_FS_24000,
LVM_FS_32000, LVM_FS_44100, LVM_FS_48000

5.1.4 EAP Libraries


There are two EAP libraries available:
• Lib_EAP16_x_y_z_FPw is supporting up to 32 bits input audio sample and up to 96 kHz sample rate.
• Lib_EAP32_x_y_z_FPw is optimized to consume less MIPS and memory than the EAP 32-bits library. However, EAP library
is limited to 16-bits input audio sample and 48 kHz sample rate.
Where:
• x: Reflects API changes
• y: Reflects major changes
• z: Reflects minor changes
• w: Reflects the different features pack (see feature pack for further information)

NOTE
The x.y.z of 16-bits or 32-bits library are not linked.

5.1.5 Feature pack


On each library name, there is a number following “_FP”. It represents the feature pack compiled within the library. If an algorithm
is not compiled within the library, it cannot be usable. For details, see Table 2.

Table 2. Algorithm compiled within the library depending on the feature pack

Library name Feature Pack 1:_FP1 Feature Pack 2:_FP2

Concert Sound X Not applicable

Speaker Equalizer X X

User Equalizer X X

Bass Enhancement X X

Volume Control X X

Treble Enhancement X X

Loudness Maximizer X X

Auto Volume Leveler X X

Tone Generator X X

Peak Limiter X X

Table continues on the next page...

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 13 / 47
NXP Semiconductors
EAP description

Table 2. Algorithm compiled within the library depending on the feature pack (continued)

Library name Feature Pack 1:_FP1 Feature Pack 2:_FP2

RMS Limiter X X

Power Spectrum Analyzer X X

Crossover 2-bands X Not applicable

5.1.6 High sample rate


For the high sample rate (sample rate > 48 kHz), the EAP block is handling the input audio signal in two frequency parts. EAP is
splitting the audio signal in a low band and a high band. The low bands (0 kHz to 24 kHz) are processed as usual.

NOTE
The high band (24 kHz to 48 kHz) is not processed by the bundle of algorithm.

It only:
• Get a delay to stay synchronized with the low band.
• Receive a gain to keep same amplitude as in the low band.
Show the processing parts.

EAP Band (24-48 kHz)


Fs: 48 kHz
Delayline

EAP Bundle of Algorithm Gain


Digital input Frequency
Band CHANNEL CONTROL

CHANNEL HANDLE
BASS
SPECTRAL ENHANCEMENT

TREBLE Frequency Digital Output


(24-48 kHz)
Mono or Stereo
ENHANCEMENT ENHANCEMENT
InPlace or OutPlace Buffering

Up to 32-bits splitting SPEAKER USER


reconstructing
Up to 32-bits
PARAMETRIC PARAMETRIC CROSSOVER
VOLUME CONTROL EQUALIZER EQUALIZER

Fs: 48 kHz
Fs:96 kHz
DIRECT USER LOUDNESS

Fs:96 kHz
CONTROL MAXIMIZER
Volume and Balance (Compressor) SOUND EFFECT ANALYSIS

AUTOMATIC 3D EFFECT
PEAK RMS SPECTRUM
VOLUME Stereo, Cinema,
LIMITER LIMITER VISUALIZER
LEVEL Concert, Music

NXP Technology Dynamic Process Block Static Process Block Stereo /16-bits / up to 48 kHz

Figure 5. Processing part of EAP for High Sample rate

5.1.7 Bit depth


The maximum bit depth value depends on the type of library, see EAP Libraries for further information.

5.1.7.1 16-bits library


Input bit depth is maximum 16-bits. It can be lower, but MSB must be aligned to 16-bits MSB data. Then the output audio sample
data has to be 16-bits.

5.1.7.2 32-bits library


Input bit depth is maximum 32-bits. It can be lower (16-bits, 24-bits, and 32-bits), but MSB must be aligned to 32-bits data MSB.
Then the output audio sample data has to be 32-bits.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 14 / 47
NXP Semiconductors
EAP description

This is the users code responsibility to adapt audio sample input and output to the container used by the library (16-bits or 32-bits).

5.1.8 Input / output format

5.1.8.1 Description
The LVM_Format_en enumerated type is used to set the value of the bundle data format. The bundle supports input data in
two formats:
• Mono
Or
• Stereo
For an input buffer of sample number (N sample pairs for "Stereo" or N samples for "Mono"), the format of data in the In / Out buffer
depends on your configuration. There are three cases:
1. Crossover disable
2. Crossover enabled, and the input / output are in "Mono"
3. Crossover enabled, and the input / output are in "Stereo"

5.1.8.1.1 Crossover disable


This section describes the audio buffer format when crossover is disabled, see Table 3.

Table 3. Audio buffer format when crossover is disabled

Sample number Input in "Stereo" Input in "Mono"

0 Left (0) Mono (0)

1 Right (0) Mono (1)

2 Left (1) Mono (2)

3 Right (1) Mono (3)

4 Left (2) Mono (4)

“ “ “

“ “ “

N-2 Left (N/2-1) Mono (N-2)

N-1 Right (N/2-1) Mono (N-1)

N Left (N/2) Not Used

N+1 Right (N/2) Not Used

N+2 Left (N/2+1) Not Used

N+3 Right(N/2+1) Not Used

“ “ Not Used

Table continues on the next page...

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 15 / 47
NXP Semiconductors
EAP description

Table 3. Audio buffer format when crossover is disabled (continued)

Sample number Input in "Stereo" Input in "Mono"

“ “ Not Used

2*N-2 Left (N-1) Not Used

2*N-1 Right (N-1) Not Used

The output format is the same as the input format.

5.1.8.1.2 Crossover enabled, and the input / output are in "Mono"


This section describes the audio buffer format when the crossover is enabled and input/output are in "Mono", see Table 4.

Table 4. Audio buffer format when the crossover is enabled and the input / output are in "Mono"

Mono

Output buffer LB Output buffer HB


Sample number Input buffer
pOutData[0] pOutData[1]

0 Mono(0) Mono LB(0) Mono HB(0)

1 Mono(1) Mono LB(1) Mono HB(1)

2 Mono(2) Mono LB(2) Mono HB(2)

3 Mono(3) Mono LB(3) Mono HB(3)

4 Mono(4) Mono LB(4) Mono HB(4)

“ “ “ “

“ “ “ “

Mono LB Mono HB
N-2 Mono(N-2)
(N-2) (N-2)

Mono LB Mono HB
N-1 Mono(N-1)
(N-1) (N-1)

For Low Band (LB) and High Band (HB), see Crossover two-bands.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 16 / 47
NXP Semiconductors
EAP description

5.1.8.1.3 Crossover enabled, and the input / output are in "Stereo"

Table 5. Audio buffer format when the crossover is enabled and input / output are in "Stereo"

Stereo

Output buffer LB Output buffer HB


Sample number Input buffer
pOutData[0] pOutData[1]

0 Left (0) Left LB (0) Left HB (0)

1 Right (0) Right LB (0) Right HB (0)

2 Left (1) Left LB (1) Left HB (1)

3 Right (1) Right LB (1) Right HB (1)

4 Left (2) Left LB (2) Left HB (2)

“ “ “ “

“ “ “ “

Left LB Left HB
N-2 Left (N/2-1)
(N/2-1) (N/2-1)

Right LB Right HB
N-1 Right (N/2-1)
(N/2-1) (N/2-1)

N Left (N/2) Left LB (N/2) Left HB (N/2)

N+1 Right(N/2) Right LB(N/2) Right HB(N/2)

Left LB Left HB
N+2 Left(N/2+1)
(N/2+1) (N/2+1)

Right LB Right HB
N+3 Right(N/2+1)
(N/2+1) (N/2+1)

“ “ “ “

“ “ “ “

Left LB Left HB
2*N-2 Left(N-1)
(N-1) (N-1)

Right LB Right HB
2*N-1 Right(N-1)
(N-1) (N-1)

For Low Band (LB) and High Band (HB), see Crossover two-bands.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 17 / 47
NXP Semiconductors
EAP description

5.1.8.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_Format_en SourceFormat; // Input data format LVM_STEREO, LVM_MONO

LVM_MONOINSTEREO permits to read a "Mono" file and give the output of a "Stereo" file.

5.1.9 Output device

5.1.9.1 Description
The output device may be headphones or speakers. If it is a speaker, three speaker types (small, medium, or large) can be
selected. The speaker type is only used by the 3D Virtualizer if the processing block is enabled.

5.1.9.2 Speaker type identification


This section describes the identification of speaker type.

Table 6. Speaker types

Type Small speaker Medium speaker Large speaker

Low, 3 dB frequency Above 1000 Hz 500 Hz to 1000 Hz Below 500 Hz

The low 3 dB frequency can be estimated by looking at the frequency response of the loudspeaker when mounted in the target
device and finding the frequency at which the output is approximately 3 dB below the plateau. This frequency may be different
from the one which measured on the speaker when it is not mounted in the target device.

5.1.9.3 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_OutputDeviceType_en SpeakerType; // Output device type: LVM_HEADPHONES,


LVM_MOBILE_SPEAKERS_SMALL,
LVM_MOBILE_SPEAKERS_MEDIUM,
LVM_MOBILE_SPEAKERS_LARGE

5.1.10 Block size


The block size is the number of samples which are processed when EAP process function is called. Advised to use fix block size
which represents a 10 ms or 20 ms audio buffer.
For Example: Sampling rate = 44.1 kHz, block size is 441 samples for a 10 ms audio buffer or 882 samples for a 20 ms buffer.
Input format as "Mono" or "Stereo" does not affect this value.

5.1.10.1 Definition C code


The block size is not a part of the EAP tuning parameters. However, the application must provide the block size in number of
samples when the EAP process function is called.

5.1.11 NXP devices software protection


®
A software protection is used to ensure that the EAP library can be used only on an NXP device.
To successfully pass the test:
1. The platform parameter of the LVM_InstParams_t structure must be set to the correct device used.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 18 / 47
NXP Semiconductors
EAP description

2. The synchronous audio interface transmitter (SAI TX) module must be enabled when LVM_getInstanceHandle function
is called during the EAP initialization phase.
If software protection test failed, then the LVM_getInstanceHandle function returns LVM_INVALIDNXPPLATFORM.
If SAI TX is no more needed by the software, then it can be disabled after the LVM_getInstanceHandle() call.

5.1.11.1 Definition in C code


LVM_InstParams_t structure parameter into LVM.h:

EAP_NXPPlatform_en Platform; /* NXP Platform where EAP is playing on


(LVM_IMXRT1050,LVM_IMXRT1060,
LVM_IMXRT1064, LVM_IMXRT1170, LVM_LPC55,
LVM_IMXRT500, LVM_IMXRT600)*/

5.2 Tone generator

5.2.1 Description
The tone generator can be configured to create fixed frequency tones and various frequency and amplitude sweeps. This
algorithm is made available on request while compiling the library for use during development to help with tuning the music
algorithms and to aid measurement of the system audio output quality.
The tone generator module is not used during music playback and it is not intended to be included as part of the final release
version of the library.
The tone generator may be used during tuning to help with measuring the audio quality of the system under development. The
tone is generated inside the bundle before any of the other algorithms are applied. In general, all other algorithms must be disabled
when the tone generator is in use.
The sweep can be either linear or logarithmic. If logarithmic sweep is selected, the rate of frequency update is based on the ratio of
the stop and start frequencies. The graph in Figure 6 shows the linear sweep output and a logarithmic sweep output for a high ratio
of stop frequency to start frequency. Linear sweep must be used when the ratio of the start and stop frequencies is close to unity.

Stop
Frequency

Output
Frequency Linear
sweep
Logarithmic
sweep

Start
Frequency
Sweep Start Time Sweep End

Figure 6. Linear sweep and logarithmic sweep output

The use of the generator is listed in the following series of examples:

Continuous fixed tone:

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 19 / 47
NXP Semiconductors
EAP description

To generate a continuous fixed tone the following parameters must be set:

Params.TG_OperatingMode = LVM_TG_CONTINUOUS;
Params.TG_SweepMode = LVM_TG_SWEEPLIN;
Params.TG_StartFrequency = RequiredFrequency;
Params.TG_StartAmplitude = RequiredAmplitude;
Params.TG_StopFrequency = Params.TG_StartFrequency;
Params.TG_StopAmplitude = Params.TG_StartAmplitude;
Params.TG_SweepDuration = 0;
Params.pTG_CallBack = LVM_NULL; /* No callback */

Where:
• The RequiredFrequency is the tone frequency in Hz.
• The RequiredAmplitude is the tone output level in dBr, for example, relative to the maximum peak signal level. The 0dBr is
the maximum amplitude.
• No callback function can be used in this mode as the tone never ends.

Fixed tone for a set duration:


To generate a fixed tone for a set duration the following parameters must be set:

Params.TG_OperatingMode = LVM_TG_ONESHOT;
Params.TG_SweepMode = LVM_TG_SWEEPLIN;
Params.TG_StartFrequency = RequiredFrequency;
Params.TG_StartAmplitude = RequiredAmplitude;
Params.TG_StopFrequency = Params.TG_StartFrequency;
Params.TG_StopAmplitude = Params.TG_StartAmplitude;
Params.TG_SweepDuration = RequiredDuration;
Params.pTG_CallBack = LVM_NULL; /* No callback */

Where:
• The RequiredFrequency is the tone frequency in Hz.
• The RequiredAmplitude is the tone output level in dBr, for example, relative to the maximum peak signal level. The 0 dBr is
the maximum amplitude.
• The RequiredDuration is the duration of the tone in seconds.
• At the end of the tone, the tone generator is automatically placed in LVM_TG_OFF mode, and its output is disabled. A callback
function can be used; this is called at the end of the tone.

Frequency sweep:
To generate a frequency sweep, the following parameters must be set:

Params.TG_OperatingMode = LVM_TG_ONESHOT;
Params.TG_SweepMode = LVM_TG_SWEEPLOG;
Params.TG_StartFrequency = RequiredStartFrequency;
Params.TG_StartAmplitude = RequiredAmplitude;
Params.TG_StopFrequency = RequiredStopFrequency;
Params.TG_StopAmplitude = Params.TG_StartAmplitude;
Params.TG_SweepDuration = RequiredDuration;
Params.pTG_CallBack = LVM_NULL; /* No callback */

Where:
• The RequiredStartFrequency is the initial tone frequency in Hz.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 20 / 47
NXP Semiconductors
EAP description

• The RequiredAmplitude is the tone output level in dBr, for example, relative to the maximum peak signal level. The 0dBr is
the maximum amplitude.
• The RequiredStopFrequency is the final tone frequency in Hz.
• The RequiredDuration is the duration of the tone in seconds.
• At the end of the tone, the tone generator is automatically placed in LVM_TG_OFF mode and its output disabled. A callback
function can be used; this is called at the end of the tone.

Amplitude sweep:
To generate an amplitude sweep, the following parameters must be set:

Params.TG_OperatingMode = LVM_TG_ONESHOT;
Params.TG_SweepMode = LVM_TG_SWEEPLIN;
Params.TG_StartFrequency = RequiredFrequency;
Params.TG_StartAmplitude = RequiredStartAmplitude;
Params.TG_StopFrequency = Params.TG_StartFrequency;
Params.TG_StopAmplitude = RequiredStopAmplitude;
Params.TG_SweepDuration = RequiredDuration;
Params.pTG_CallBack = LVM_NULL; /* No callback */

Where:
• The RequiredFrequency is the tone frequency in Hz.
• The RequiredStartAmplitude is the initial tone output level in dBr, for example, relative to the maximum peak signal level.
The 0 dBr is the maximum amplitude.
• The RequiredStopAmplitude is the final tone output level in dBr.
• The RequiredDuration is the duration of the tone in seconds.
• At the end of the tone, the tone generator is automatically placed in LVM_TG_OFF mode and its output disabled. A callback
function can be used; this is called at the end of the tone.

Repeating amplitude sweep:


To generate a fixed tone the following parameters must be set:

Params.TG_OperatingMode = LVM_TG_CONTINUOUS;
Params.TG_SweepMode = LVM_TG_SWEEPLIN;
Params.TG_StartFrequency = RequiredFrequency;
Params.TG_StartAmplitude = RequiredStartAmplitude;
Params.TG_StopFrequency = Params.TG_StartFrequency;
Params.TG_StopAmplitude = RequiredStopAmplitude;
Params.TG_SweepDuration = RequiredDuration;
Params.pTG_CallBack = LVM_NULL; /* No callback */

Where:
The RequiredFrequency is the tone frequency in Hz.
The RequiredStartAmplitude is the initial tone output level in dBr, for example, relative to the maximum peak signal level. The
0 dBr is the maximum amplitude.
The RequiredStopAmplitude is the final tone output level in dBr.
The RequiredDuration is the duration of the tone in seconds.
No callback function can be used in this mode as the tone never ends.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 21 / 47
NXP Semiconductors
EAP description

5.2.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_TG_Mode_en TG_OperatingMode; // LVM_TG_OFF, LVM_TG_CONTINUOUS, LVM_TG_ONESHOT


LVM_TG_SweepMode_en TG_SweepMode; // LVM_TG_SWEEPLIN or LVM_TG_SWEEPLOG
LVM_UINT16 TG_StartFrequency; // Tone Generator Sweep Start Frequency in Hz
LVM_INT16 TG_StartAmplitude; // Tone Generator Sweep Start Amplitude in dB
LVM_UINT16 TG_StopFrequency; // Tone Generator Sweep Stop Frequency in Hz
LVM_INT16 TG_StopAmplitude // Tone Generator Sweep Stop Amplitude in dB
LVM_UINT16 TG_SweepDuration; // Tone Generator Sweep Duration; Sweep duration in seconds, 0 for
infinite duration tone
LVM_Callback TG_CallBack; // End of sweep callback
LVM_INT16 TG_CallBackID; // Callback ID
void *pTGAppMemSpace; // Application instance handle or memory area

5.3 Parametric equalizer

5.3.1 Description
This audio process is a Nband equalizer plus a low-pass and high-pass filter.
Two parametric equalizers are present in the bundle:
The user parametric equalizer:
• This equalizer is used to provide frequency effect like voice enhancement, bass boost, pop, or other equalizer.
The speaker parametric equalizer:
• This equalizer is used to control the speaker or headphone output, which can be adjusted through equalization. This allows
imperfections in the headphone or speaker and housing design of the device to be reduced.
• This gives a better overall sound quality from the device.
• This audio process is a Nband equalizer plus a high-pass filter.

5.3.1.1 N-Bands
The N-Band equalizer algorithm can be used to provide signal equalization using up to 15 bands.
Each band is defined by:
• Its center frequency, controlled in 1 Hz step.
• The gain, controlled over the range –15 dB to +15 dB in 1 dB steps for the user parametric equalizer.
• The gain, controlled over the range –15 dB to +3 dB in 1 dB steps for the speaker parametric equalizer. It is advice not to
set positive gain to avoid any digital saturation in the band.
• The Q factor, controlled over the range 0.25 to 12.00 in steps of 0.01. For details, see Figure 8 and Figure 9.
Why a different gain range?
• The user parametric equalizer works with headroom management block to avoid saturations. It controls the maximal
allowed volume control settings to guarantee an acceptable risk of saturations over the band definition. With this
approach, it is allowed to set band gain superior to 0 dB.
• The speaker parametric equalizer does not get any mechanism to avoid saturation. This is why it is recommended staying
below 0 dB gain. +3 dB gain per band can be partially set in a limited band frequency with acceptable risk of saturations.
Each band has three parameters:
• Gain: the gain of the band in 1 dB step.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 22 / 47
NXP Semiconductors
EAP description

• Frequency: If the gain is set to 0 dB, then the band is disabled, the frequency is in Hz, from 20 Hz to Nyquist frequency (half
the sample rate).
• Q-factor: the filter Q, from 0.25 to 12.00 in steps of 0.01.

NOTE
The desired Q value is the parameter value divided by 100. So, if setting Q is equals to 0.25, then the input value
is 25.

The Q-factor is defined by the following equation:

Q − factor  =  Fc  /   Fhigh3dB  −   Flow3dB

Where:
— Fc - Filter center frequency (the Frequency setting).
— Flow3dB - The lower 3 dB cut-off frequency of the filter.
— Fhigh3dB - The upper 3 dB cut-off frequency of the filter.
For details, see Figure 7.

Peak

3 dB

Flow3dB Fc Fhigh3dB

Figure 7. Q-factor graph

The maximum number of bands are used, can be a define as:

#define MAX_BANDS 15

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 23 / 47
NXP Semiconductors
EAP description

Single precision band gain at 32k FResp


-5

-15dB_1
-10dB_1
-10
-5dB_1
0dB_1
5dB_1
-15
10dB_1
Amplitude in dB

15dB_1

-20

-25

-30

-35
1 2 3 4 5
10 10 10 10 10
Frequency in Hz

Figure 8. Equalizer filter gain settings

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 24 / 47
NXP Semiconductors
EAP description

Q factor at 32k FResp


-10
0.25_1
0.50_1
-12 1.0_1
3.0_1
12.0_1
-14
Amplitude in dB

-16

-18

-20

-22
1 2 3 4 5
10 10 10 10 10
Frequency in Hz

Figure 9. Equalizer filter gain settings

The filters used in the equalizer include a user-defined center or corner frequency. If this frequency is greater than Nyquist (half of
the sample rate), then the filter is automatically disabled. Hence, the filter definitions do not need to be modified when changing
the sample rate.

5.3.1.2 High-pass and low-pass filters


The equalizer also includes two additional filters, one is low-pass filtering, and the other is high-pass filtering.
Each filter has a separate ON / OFF control and the user-defined corner frequency. The filters have the following characteristics:

Characteristic High-pass filter Low-pass filter

Minimum frequency 20 Hz 1 Hz

Maximum frequency 1 Hz Nyquist

Order 2nd order 1st order

dB / Octave 12 dB 6 dB

If the corner frequency of the high-pass filter is above the Nyquist, then the filter is automatically disabled in the equalizer.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 25 / 47
NXP Semiconductors
EAP description

5.3.1.3 Equalizer standard effect


Table 7 and Table 8 regroup an example of standard user parametric equalizer setting for dedicated effect:

Table 7. Equalizer effect coefficient for 5 band filter

Band Frequency Q-factor Gain (dB)

1 50 Hz 0.96 See Table 8

2 205 Hz 0.96

3 837 Hz 0.96

4 3427 Hz 0.96

5 14027 Hz 0.96

Table 8. Gain table

Band
Preset name
#1 #2 #3 #4 #5

Normal 3 0 0 0 3

Bass Booster 6 3 1 0 0

Classical 5 3 -2 4 4

Dance 8 2 4 6 3

Flat 0 0 0 0 0

Folk 6 3 3 5 2

Heavy Metal 4 1 9 3 0

Hip Hop 5 3 0 1 3

Jazz 4 2 -2 2 5

Piano 3 2 3 5 4

Pop -1 2 5 1 -2

Rock 5 3 -1 3 5

Spoken Word -2 2 5 5 2

Symphony 7 0 -2 -4 3

Theater 3 0 5 -1 2

Treble Booster 0 0 2 4 6

Table continues on the next page...

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 26 / 47
NXP Semiconductors
EAP description

Table 8. Gain table (continued)

Band
Preset name
#1 #2 #3 #4 #5

Latin 4 0 -2 1 5

Vocal Booster -4 2 5 3 -1

Bass Reducer -6 -4 0 0 0

Treble Reducer 0 0 -1 -4 -7

5.3.1.4 Working with other algorithms


When Bass Enhancement or Treble Enhancement audio blocks are used, it provides superior performance, but we must adapt
the coefficient as follows:
In the example described in Equalizer standard effect:
• When the bass enhancement is enabled at the same time of the equalizer:
— The low frequency band (band 1) in the equalizer should not be used to provide boost.
— The other frequencies remain same.
• When the treble enhancement is enabled at the same time of the equalizer:
— The high frequency band (band 5) in the equalizer should not be used to provide boost.
— The other frequencies remain same.

5.3.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

The band definitions are held in an array:

LVM_EQNBBandDef_t BandDefs [MAX_BANDS]; /* Band definitions */


/* N-Band Equaliser band definition */
typedef struct
{
LVM_INT16 Gain;
LVM_UINT16 Frequency;
LVM_UINT16 QFactor;
} LVM_EQNB_BandDef_t;

LVM_EQNB_FilterMode_en EQNB_LPF_Mode; // Low pass filter ON/OFF


LVM_INT16 EQNB_LPF_CornerFreq; // low pass frequency
LVM_EQNB_FilterMode_en EQNB_HPF_Mode; // High pass filter ON/OFF
LVM_INT16 EQNB_HPF_CornerFreq; // High pass frequency

5.4 3D widening

5.4.1 Description
The Concert Sound audio effect increases the perceived distance and depth of the audio, providing an enhanced
listening experience.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 27 / 47
NXP Semiconductors
EAP description

With headphones, it offers highly effective sound enrichment. These algorithms reproduce audio with the frequency balance
intended in the studio, creating a natural sound field outside the listener’s head. It works on all types of music and film sound tracks
in "Mono" or "Stereo" formats.
With closely spaced loudspeakers, it provides a sound with widened "Stereo" (also sometimes called 3D widening). It works on
music and film sound tracks and leaves the voice natural.
The cinema and concert sound algorithms digitally process the music signal on an audio device’s sound processor using
HRTF (Head-Related Transfer Function) positioning data. This accentuates inter-aural differences, increases the perceived
distance and depth of the sound, and recreates natural crosstalk between the ears. Such elements are lost with conventional
headphone playback.

5.4.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_UINT16 VirtualizerReverbLevel; // reverberation level in % 0 no effect to 100 maximum effect


LVM_INT16 CS_EffectLevel; // Concert Sound effect level 0 no effect to 32767 maximum effect

Additional advanced parameter:

CS_AP_Mode = LVM_AP_DEFAULT, // concert sound advanced parameter mode:


LVM_AP_DEFAULT or LVM_AP_MANUAL

Select LVM_AP_MANUAL to enable the following parameter else keep LVM_AP_DEFAULT.

CS_AP_MidGain = 0, // MidChannelGain: -10 to 10 dB


CS_AP_MidCornerFreq = 500, // Shelving Filter Corner Frequency: 20 to 24000 Hz
CS_AP_SideHighPassCutoff = 600, // SideBoost HighPassFilter Corner Frequency: 20 to 24000 Hz
CS_AP_SideLowPassCutoff = 1544, // SideBoost LowPassFilter Corner Frequency: 20 to 24000 Hz
CS_AP_SideGain = 10, // Side Channel Gain: 0 to 15 dB

5.5 Volume control

5.5.1 Description
The volume control is a permanent feature of the EAP solution.
The volume is adjustable from 0 dB (full volume) to –96 dB (silence) in 1 dB steps. This is a soft volume control; it smoothly changes
from one volume setting to another.
The volume control is split in two parts:
• Pre volume control is located at the front end and permits to create headroom for the following process.
• Post volume control is located at the back end of the chain to apply standard volume after the process.
The repartition of the volume in pre volume and post volume is automatic and follows the rule:
For general volume = 0 dB to -15 dB:
• Pre volume = General volume
• Post Volume = 0 dB
For general volume = -15 dB to -96 dB:
• Pre volume =-15 dB
• Post volume = general volume – 15 dB

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 28 / 47
NXP Semiconductors
EAP description

5.5.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_INT16 VC_EffectLevel; // Volume setting in dBs (-96dB to 0dB)


LVM_INT16 VC_Balance; // Left Right balance in dB (-96 to 96 dB)

5.6 Bass enhancement

5.6.1 Description
Two different bass enhancement algorithms can be delivered within the software bundle:
• Dynamic Bass Enhancement (DBE) – the algorithm exploits the acoustics system characteristics and aims to enhance the
bass sensation in the target system by maximizing the bass enhancement within the available headroom.
• Pure Bass (PB) – this second bass enhancement option differs from the Dynamic Bass Enhancement in such a way that
it can also deliver a bass enhancement for input signals at full range level. For this product implementation, a unique
®
patented NXP technology is used that makes sure a deep and rich bass enhancement is delivered without any distortion
to the audio and without the need to take any acoustical headroom on the input signal even with full-scale input signals.

NOTE
DBE or PB is chosen at library compilation time.

The Bass Enhancement is adjustable between 0 dB to 15 dB in 1 dB steps.


Its center frequency can be adjusted in 4 different settings.
• LVM_BE_CENTER_55Hz for a center frequency of 55 Hz
• LVM_BE_CENTER_66Hz for a center frequency of 66 Hz
• LVM_BE_CENTER_78Hz for a center frequency of 78 Hz
• LVM_BE_CENTER_90Hz for a center frequency of 90 Hz
For high-quality headphones, with good low frequency reproduction, all four settings may be used, and the lowest, 55 Hz
is recommended.
For some headphone types, the quality of reproduction at the lowest frequencies is not good enough to support the 55 Hz
center frequency. In these cases, another setting should be selected to give an optimum balance between bass response and
audio quality.
The effect of changing the bass enhancement center frequency can be subjective, but in general, the lowest acceptable setting
should be used.
A high-pass filter is available to remove residual frequency lower than the center frequency. With PB algorithm, the HPF is always
enabled even if the parameter is set to OFF.

5.6.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_BE_CentreFreq_en BE_CentreFreq // LVM_BE_CENTRE_55Hz, LVM_BE_CENTRE_66Hz, LVM_BE_CENTRE_78Hz,


LVM_BE_CENTRE_90Hz

LVM_INT16 BE_EffectLevel; // 0 to 15 dB in 1dB steps

LVM_BE_FilterSelect_en BE_HPF; // high pass filter selector LVM_BE_HPF_OFF LVM_BE_HPF_ON

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 29 / 47
NXP Semiconductors
EAP description

5.7 Audio volume leveler

5.7.1 Description
The volume level may require readjustment for each song when selecting music from various sources and artists. This is because
the volume setting defined for the previous song is either too low or too high for the next song.
The auto volume leveler overcomes this problem in music players. It automatically adjusts the volume for each track to maintain
the desired output volume level. It removes the need to adjust the volume for each track.
The typical use cases are:
• Having a constant volume between different music tracks.
• Minimize the higher volume of advertisements.
• Increase the volume of low-level soundtrack part. Some details may become audible.

5.7.2 Definition C code


No parameters.

5.8 Loudness maximizer

5.8.1 Description
The loudness maximizer significantly increases the perceived output volume for all types of music. It is intended for use when the
output volume is already set to maximum.
It works with all speaker types from small to large but it is effective with small speakers where the maximum output volume is
typically very low.
The loudness maximizer should only be used once the system volume control is already at its maximal undistorted level, it should
be disabled otherwise.
With high-level input signals, there is still an output volume increase but at the expense of linearity.
If the processing before or after the bundle includes a compressor or other non-linear processing, the combination with the
loudness maximizer can create some unexpected audio effects. Other compressor or non-linear processing blocks should be
disabled when the loudness maximizer is enabled.

5.8.1.1 Effect level


Effect level can be:
• Gentle
• Medium
• Extreme
The non-linearities introduced:
- Are not obvious to gentle and medium effect levels.
- Can be heard on some speaker types with extreme mode.

5.8.1.2 Gain
It represents the target gain of the compressor.
Higher is the gain, the more volume increase effect is perceptible, but more non-linearity is present.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 30 / 47
NXP Semiconductors
EAP description

5.8.1.3 Attenuation
If input data already gets non-linearity, adding the LM generates unacceptable distortion.
In these cases, the only solution is to reduce the general output gain of the LM by the attenuation parameter.

5.8.1.4 Speaker cut-off


It represents the frequency response low knee of the speaker.
If not available, then for initial tuning the following values can be used:

Speaker size High-pass filter frequency

Small 750 Hz

Medium 500 Hz

Large 250 Hz or lower

5.8.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_LM_Effect_en LM_EffectLevel ; // LVM_LM_GENTLE or LVM_LM_MEDIUM or LVM_LM_EXTREME


LVM_UINT16 LM_Attenuation; // Output attenuation 0 to 6 dB
LVM_UINT16 LM_CompressorGain; // Target compressor gain 0 to 6 dB
LVM_UINT16 LM_SpeakerCutOff; // Device speaker cut off frequency 150Hz to 1100Hz

5.9 Treble enhancement

5.9.1 Description
The treble enhancement algorithm adds more brilliance to the sound. It applies a filter to amplify the higher audio frequencies.
Two operating modes are available:
• In the normal mode, an adjustable treble enhancement effect is used. This requires extra Million Instructions Per Seconds
(MIPS) to operate. The amount of boost is set in 15 levels of 1 dB steps. The effect has a corner frequency of 8 kHz and
so no boost can be applied at sample rates of 16 kHz or less.
• In the MIPS-saving mode, the bundle applies a fix curve going up to 6 dB of treble enhancement without additional MIPS.
For the frequency response of the treble boost at different gain settings for a signal of –20 dB input level, see Figure 10.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 31 / 47
NXP Semiconductors
EAP description

Test for treble boost effect at FS48k


FResp
-4

-6 0dB
A 3dB
m -8 6dB
p 9dB
L
12dB
i -10
t 15dB
u -12
d
e
-14
i
n -16

d
B -18

-20

-22 1 2 3 4 5
10 10 10 10 10
Frequency in Hz

Figure 10. Treble enhancement at different effect levels

5.9.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_INT16 TE_EffectLevel;
// Treble Enhancement gain in dB (0 to 15) or LVM_TE_LOW_MIPS for saving MIPS

5.10 Peak limiter

5.10.1 Description
The peak limiter permits to limit the peak amplitude of the processed signal.
It keeps audio signal amplitude below a threshold parameter value relative to 0 dBFS. The algorithm includes a look-ahead buffer
to guarantee a low distortion level at output.
It can be used for acoustic feeling purpose or material protection (for example, protection of small a speaker).

5.10.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LIMP_Threshold = -2, // LIMP threshold in dB: -24dB to 0dB

5.11 RMS limiter

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 32 / 47
NXP Semiconductors
EAP description

5.11.1 Description
The Root Mean Square (RMS) limiter permits to limit the average RMS value of the processed signal.
The RMS value used by EAP is the average RMS power (FS square wave) with a window width equal to the block size.
It keeps RMS audio signal value below a threshold parameter relative to a reference. Reference can be 0 dBFS or the input
average RMS power of the signal.
It can be used for acoustic feeling purpose or material protection (for example, protection of a large speaker).

5.11.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LIMR_Reference = LVM_LIMR_REF_INPUT, // LIMR reference input: LVM_LIMR_REF_INPUT or LVM_LIMR_REF_0DBFS


LIMR_Threshold = 0, // LIMR threshold in dB: -24dB to 0dB

5.12 Parametric spectrum analyzer

5.12.1 Description
The Parametric Spectrum Analyser (PSA) generates the spectral information of the output signal. This spectral information is used
for spectral display purpose.
The PSA spectral amplitude is not affected by the EAP volume control.
A user can define the number of bands and the decay rate value for each band.

5.12.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_PSA_DecaySpeed_en PSA_PeakDecayRate; // Peak value decay rate


LVM_UINT16 PSA_NumBands; // Number of Bands

LVM_InstParams_t structure parameter into LVM.h:

LVM_UINT16 PSA_HistorySize; // PSA History size in ms: 200 to 5000


LVM_UINT16 PSA_MaxBands; // Maximum number of bands: 6 to 64
LVM_UINT16 PSA_SpectrumUpdateRate; // Spectrum update rate : 10 to 25

5.13 Crossover two-bands

5.13.1 Description
The goal of the crossover is to split the digital EAP output signal in two spectral bands. One dedicated to the low frequencies and
another one dedicated to the high frequencies. This permits to address two-way speakers for a better sound experience.
As an example:
• Crossover cut-off frequency is around 100 Hz - 250 Hz according to subwoofer spectral characteristic.
• The low-band output signal is sent to a subwoofer.
• The high-band output signal is sent to a medium speaker.
• This could provide a better sound experience than sending the full band to a medium.
For more details, see Figure 11.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 33 / 47
NXP Semiconductors
EAP description

High band

Digital Medium speaker


Audio Crossover
Signal
Low band

Subwoofer

Figure 11. Crossover two-bands product application example

EAP crossover cut-off frequency (Fc) is configurable from 60 Hz to 6 kHz. EAP delivers digital audio signal in two-bands:
• The low-band in range (0 – Fc)
• The high-band in range (Fc – Fs/2)
Each speaker has got its own frequency specifications. For example, a subwoofer is used to play the low frequencies only,
whereas a tweeter is used to play higher frequencies. Refer to the speaker characteristic to determine the better cut-off frequency
to be applied.
At the library API level, digital signal output low and high-bands are stored in two separate buffers. One dedicated to the low-band,
the other to the high-band. See code API description for further details.
Audio reconstruction:
The audio reconstruction (Sum = low-band + high-band) is occurring in the acoustic area. However, if we sum the low-band, and
the high-band at digital level, the EAP crossover reconstruction is almost perfect, see Figure 12.

150

Signal
Power
(dB)

130

110

band1
band2
sum
90
102 103 104
Frequency (Hz)

Figure 12. Frequency response of a sweep signal

5.13.2 Definition C code


LVM_ControlParams_t structure parameter into LVM.h:

LVM_UINT16 XO_cutoffFrequency //Cutoff frequency in Hz (range = [60 Hz – 6000Hz])

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 34 / 47
NXP Semiconductors
EAP description

5.14 Headroom management


The EAP library uses headroom management to minimize the signal saturation risks while ensuring the maximum allowed volume
is possible.
It is an optional software part and can be disabled. Headroom management works in pair with the user equalizer gain band
definition and the automatic volume leveler if enabled.
The music may saturate when the user equalizer band is configured with a high level of boost and the signal is also at a high level.
To avoid saturations, the headroom management software acts as a watchdog. It analyses the volume control, the user equalizer
band gain, and the headroom management settings. Then it has the capability to internally limit the general volume.
It works as the volume control parameter is limited to a maximal value computed by the headroom management.
According to headroom, allowed gain settings:
• The less the band gain equalizer is set, more the volume control value can be high.
• The more the band gain equalizer is set, less the volume control can be high.
The headroom management is not signal dependent, it is a static algorithm.
For more information about user equalization interaction with headroom management, see Why a different gain range?.

5.14.1 Headroom computation


The headroom requirements are specified for different frequency bands.
The calculation of the headroom is based on the headroom management parameters and the EAP user equalizer settings (volume
control and equalizer settings).
The headroom management computes an allowed gain to be applied per band frequency. It saves only the worst case and then
applies this limit to all the frequency.
The allowed gain computation does not depend on the music content.

5.14.2 API
An API extension allows the user to control the headroom parameters and switch the management ON and OFF.
Headroom parameters may be changed at any time during processing using the LVM_SetHeadroomParameters function. They
take effect at the next LVM_Process call. LVM_GetHeadroomParameters permits to read the configuration, see Special function.

5.14.3 Operating mode


The LVM_Headroom_Mode_en enumerated type is used to enable and disable the headroom management.

5.14.3.1 Definition C code


LVM_HeadroomParams_t structure parameter into LVM.h.

LVM_Headroom_Mode_en Headroom_OperatingMode; // Headroom Control


LVM_HEADROOM_OFF
or LVM_HEADROOM_ON

5.14.4 Band definition


It defines the required headroom per frequency band.

5.14.4.1 Definition C code

LVM_HeadroomBandDef_t *pHeadroomDefinition; // Pointer to headroom bands definition


LVM_UINT16 NHeadroomBands; // Number of headroom bands, 0 to 5

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 35 / 47
NXP Semiconductors
EAP description

The LVM_HeadroomBandDef_t type is used for defining the headroom band characteristics.

/* Headroom band definition */


typedef struct
{
LVM_UINT16 Limit_Low; // in Hz, range 20 to 24000 Hz
LVM_UINT16 Limit_High; // in Hz, range 20 to 24000 Hz
LVM_INT16 Headroom_Offset; // in dB range -15 to 15 dB
} LVM_HeadroomBandDef_t;

5.14.5 Configuration example


These examples have been formulated to help understand the headroom management. It may not be representative of a real
device. If necessary, NXP Semiconductors can help you to determine suitable headroom bands settings in the scope of an
integration project.

5.14.5.1 Example 1
The headroom management settings are as follows:

Headroom_OperatingMode = LVM_HEADROOM_ON;
NHeadroomBands = 2;
pHeadroomDefinition[0].Limit_Low = 20;
pHeadroomDefinition[0].Limit_High = 4999;
pHeadroomDefinition[0].Headroom_Offset = 3;
pHeadroomDefinition[1].Limit_Low = 5000;
pHeadroomDefinition[1].Limit_High = 24000;
pHeadroomDefinition[1].Headroom_Offset = 4;

The aim here is to achieve a trade-off between the risk of saturation and good volume.
The assumption made in this definition is:
• It is possible to apply up to 3 dB of boost in the band 20 Hz to 4999 Hz without serious risk of saturation.
• It is possible to apply up to 4 dB of boost in the band 5000 Hz to 24000 Hz without serious risk of saturation.
When saturation occurs, it should not be audible under normal listening conditions.
Volume controls are limited to -3 dB or -4 dB only if the user equalizer band gain is superior to 3 dB or 4 dB in the corresponding
frequency range.
It can be default parameters for most of the device.

5.14.5.2 Example 2
In this example, we want to control the headroom of the output signal amplitude like this:
• In the first band range from 20 Hz to 999 Hz, the signal can reach full scale 0 dBFS.
• In the second band range from1000 Hz to 24000 Hz, the signal must stay below -3 dB to ensure that the saturations are
not so present.
To realize that, we configure the headroom management as follows:

/* Headroom parameters declaration */


LVM_HeadroomParams_t HeadroomParams;
LVM_HeadroomBandDef_t HeadroomBandDef[2];
/* Headroom bands definition */
HeadroomBandDef[0].Limit_Low = 20;
HeadroomBandDef[0].Limit_High = 999;
HeadroomBandDef[0].Headroom_Offset = 0;

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 36 / 47
NXP Semiconductors
EAP description

HeadroomBandDef[1].Limit_Low = 1000;
HeadroomBandDef[1].Limit_High = 24000;
HeadroomBandDef[1].Headroom_Offset = -3;
/* Headroom parameters setting */
HeadroomParams.pHeadroomDefinition = &HeadroomBandDef[0];
HeadroomParams.Headroom_OperatingMode = LVM_HEADROOM_ON;
HeadroomParams.NHeadroomBands = 2;
/* Apply changes */
LVM_SetHeadroomParams(hInstance, &HeadroomParams);

We must consider two cases:


• With the equalizer enabled.
• Without the equalizer enabled.

5.14.5.2.1 Without the equalizer


The EAP headroom control software checks the headroom parameters and the EAP settings.
It ensures that for frequencies above 1 kHz the output gain should never be greater than -3 dB, but for other frequencies it can
be as high as 0 dB.
The equalizer is disabled, so this does not affect the calculation.
The calculation chooses a maximum output level of -3 dB and applies this over the entire music spectrum.
For an input signal at 0 dBFS, the output would be at -3 dBFS.
The side effect of the setting is that the maximum volume is reduced by 3 dB. It is a relatively small loss. On the other hand, the
mid to higher frequency signals get the -3 dB saturation protection we would like to guarantee.

NOTE
If this rule were applied only above 1 kHz, it would introduce attenuation at higher frequencies, changing the tonal
characteristics of the music.

5.14.5.2.2 With the equalizer


The equalizer is set for the treble boost preset, this has the following five bands parameters:
• Band #1: Freq = 50 Hz, Q= 0.96, Gain = 0 dB
• Band #2: Freq = 205 Hz, Q= 0.96, Gain = 0 dB
• Band #3: Freq = 837 Hz, Q= 0.96, Gain = 2 dB
• Band #4: Freq = 3427 Hz, Q= 0.96, Gain = 4 dB
• Band #5: Freq = 14027 Hz, Q= 0.96, Gain = 6 dB
The headroom band limits are still:
• From 20 Hz to 1 kHz, offset = 0 dB
• From 1 kHz to 24 kHz, offset = -3 dB
The EAP headroom control software checks the headroom parameters and the EAP settings.
It combines the headroom band limit value with the highest equalizer boost settings (In the band):
• 20 Hz to 1 kHz, offset = 0 dB, maximum equalizer boost = 2 dB
• 1 kHz to 24 kHz, offset = -3 dB, maximum equalizer boost = 6 dB
The calculation determines that it is possible to boost up to 6 dB in the 1 kHz to 24 kHz band and the output must stay below -3
dBFS. So, the system required 9 dB of headroom for all the frequencies.
The internal volume setting is limited to -9 dB whatever the volume control parameter is.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 37 / 47
NXP Semiconductors
EAP description

5.14.6 Conclusion
To control the amount of potential saturation, the maximum volumes are reduced.
While tuning phase, the headroom manager permits to deal between a number of acceptable saturations at the maximum level,
and the maximal level allowed at the user equalizer gain.
The headroom manager adapts automatically the maximal volume gain allowed for an equalization parameters setting.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 38 / 47
NXP Semiconductors

Chapter 6
EAP integration
This chapter illustrates an application code example which is distributed with the EAP library.
An example application is provided in the release to show classical integration of the EAP, see file EAP_ExApp.c.

6.1 Sequence and description


To initialize the algorithm and run the process. It requires to follow the step in Figure 13:

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 39 / 47
NXP Semiconductors
EAP integration

Set instance parameters These parameters will allow EAP


(LVM_InstParams_t) to compute its required memory.

It returns the required memory


Call LVM_GetMemoryTable function for 4regions.

Allocate the memory Read Error! Reference


Set base address memory region in a source not found.chapter
LVM_MemTab_t structure for more details
It creates an instance of EAP and return its handle
Call LVM_GetInstanceHandlefunction address LVM_Handle_t
Check return status to ensure Note:SAITXperipheral must be enabledwhen this
initialization is successful functionis called (readError! Reference source
not found.chapter)

Set control parameters These parameters arethe


(LVM_ControlParams_t) configuration parameters for
EAP and each EAP block

Call LVM_SetControlParameters function It sends the parameters to EAP


Check return status to ensure instance. They will take place at
parameters are in the range the next process function call

See Error! Reference source not found.


Wait blocksizesampleaudio data have chapterfor more information about the block size
been collected into the input buffer value. The audio sample capture must never
stop to ensure audio continuity

It processes the raw input buffer and stores


CallLVM_Process function
the processeddata in the output buffer

Send the output data to


the audioback end

Figure 13. Integration - initialization and process sequence

The parameters may also be updated after initialization. This procedure may be used at any time while running the algorithm, see
Figure 14:

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 40 / 47
NXP Semiconductors
EAP integration

Call LVM_GetControlParameters
function

Update the control parameters


(LVM_ControlParams_t)

Call LVM_SetControlParameters function The new parameters set by the


Check return statusto ensure LVM_SetControlParameters functionare used
parameters are inthe range by the process function at its next call.

Figure 14. Integration – update control parameters

6.2 Special functions


In addition, of the classical functions presented in the Sequence and description, there are special functions which offer more
flexibility and control.

6.2.1 LVM_GetVersionInfo
This function is used to retrieve information about the library's version.

6.2.2 LVM_ClearAudioBuffers
This function is used to clear the internal audio buffers of the bundle.

6.2.3 LVM_GetAVLGain
This function is used to retrieve the AVL last generated gain.

6.2.4 LVM_SetHeadroomParams
Available only if the library is compiled with an equalizer block. This function is used to set the headroom management parameters.

6.2.5 LVM_GetHeadroomParams
Available only if the library is compiled with an equalizer block. This function is used to get the headroom management parameters.

6.2.6 LVM_GetSpectrum
Available only if the library is compiled with PSA block. This function is used to retrieve spectral information at a given audio time
for display usage.

6.2.7 LVM_SetVolumeNoSmoothing
This function is used to set output volume without any smoothing.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 41 / 47
NXP Semiconductors
EAP integration

6.3 Memory placement


The EAP library uses four main memory regions. The placement of these regions in the processor memory impacts the
MIPS consumption.
LVM_TEMPORARY_FAST

• Used for storage of intermediate results.


• Used to store a copy of the input buffer.

LVM_PERSISTENT_SLOW_DATA

• Used for storage of instance parameters.


• Used for storage of control parameters.
• Used for storage of control variables.
• Used for storage of delay line data.
• Used for storage of a copy of the equalizer filter definitions.

LVM_PERSISTENT_FAST_DATA

• Used for storage of filter data history.

LVM_PERSISTENT_FAST_COEF

Used for storage of filter coefficients.


Both the LVM_PERSISTENT_FAST_DATA and LVM_PERSISTENT_FAST_COEF memory regions are used very intensively and should
be given the top priority in placement. On some processors this can be in:
• Dedicated separate memory spaces.
• Dual access memory.
• Zero wait state memory.
The LVM_TEMPORARY_FAST memory is also used intensively but can be released after a function call. This should be placed in fast
memory when possible, slow memory lowers the performance.
LVM_PERSISTENT_SLOW_DATA is less intensively accessed. Only used during initialization or only concerning a few variables at
each run. This can be placed in a slow memory area without significant effect on the overall MIPS consumption.

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 42 / 47
NXP Semiconductors

Chapter 7
MIPS and Memory
Million Instructions Per Seconds (MIPS) measured on the SDK platform with the SEGGER system view tool, see Table 9 and
Table 10. According to available resource, for EAP on the final product, you can disable some algorithms to save MIPS.

NOTE
All EAP algorithms cannot be enabled at the same time on an LPC55 platform.

Memory size is compilation-dependent and cannot be adjustable by enabling or disabling the algorithm.

7.1 Performance of EAP16


See Table 9 for the performance of EAP16.

Table 9. Performance EAP16

Algorithm FOOT PRINT (K Byte) MIPS (MHz)

Scratch RAM RT600 LPC55S69 RT1060


HIFI4 Cortex M7 Cortex M7
(simulation) (system view) (system view)

Equalizer (EQ) 8.2 1.9 20.0 60.0 10.2


2 bands

Equalizer (EQ) 26.8 72.0 16.8


4 bands

Equalizer (EQ) 30.2 88.0 22.2


6 bands

EQ 10 bands + LPF 73.9 Na 58.8


+ HPF

Pre-Equalizer (EQ) 8.2 1.9 20.0 60.0 10.2


2 bands

Pre-Equalizer (EQ) 26.8 72.0 16.8


4 bands

Pre-Equalizer (EQ) 30.2 88.0 22.2


6 bands

Pre-EQ 10 bands + 73.9 Na 58.8


LPF + HPF

3D Concert 160.8 26.2 8.1 - 15.3


Sound (CS)

Treble - 1.1 4.5 3.4


enhancer (TE)

Bass enhancement 12.3 0.7 24.3 18.0 23.7


(DBE)

Table continues on the next page...

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 43 / 47
NXP Semiconductors
MIPS and Memory

Table 9. Performance EAP16 (continued)

Algorithm FOOT PRINT (K Byte) MIPS (MHz)

Scratch RAM RT600 LPC55S69 RT1060


HIFI4 Cortex M7 Cortex M7
(simulation) (system view) (system view)

Bass 3.9 3.3 12.5 - -


enhancement (PB)

Loudness 8.2 0.5 11.4 19.5 7.2


maximiser (LM)

Auto Volume 0.3 0.3 2.8 7.5 6.0


leveler (AVL)

Tone 0.1 0.4 1.0 7.5 1.2


generator (TG)

Power spectrum 2.1 4.6 2.9 0.3 7.2


analysis (PSA)

Peak - 22.1 69.0 9.0


Limiter (LIMP)

RMS 4.5 6.0 4.2


Limiter (LIMR)

Crossover 2­ 2.0 1.8 74.8 - 45.6


bands(XO)

Frequency Not present in EAP16


Band Splitter(FBSP

ALL EAP - - - 51.0


features off

HIFI4 Application - - -
code only (No
EAP library)

7.2 Performance of EAP32


See Table 10 for the performance of EAP32.

Table 10. Performance of EAP32

Algorithm FOOT PRINT (K Byte) MIPS (MHz)

Scratch RAM RT600 RT1060


HIFI4 Cortex M7
(simulation) (system view)

Equalizer (EQ) 2 bands 8.2 1.7 0.0 17.4

Equalizer (EQ) 4 bands 0.0 24.0

Table continues on the next page...

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 44 / 47
NXP Semiconductors
MIPS and Memory

Table 10. Performance of EAP32 (continued)

Algorithm FOOT PRINT (K Byte) MIPS (MHz)

Scratch RAM RT600 RT1060


HIFI4 Cortex M7
(simulation) (system view)

Equalizer (EQ) 6 bands 33.2 30.0

EQ 10 bands + LPF + HPF 75.4 69.3

Pre-Equalizer (EQ) 2 bands 8.2 1.8 0.0 17.4

Pre-Equalizer (EQ) 4 bands 0.0 24.0

Pre-Equalizer (EQ) 6 bands 33.2 30.0

Pre-EQ 10 bands + LPF 75.4 69.3


+ HPF

3D Concert Sound (CS) 173.1 28.8 47.4 58.8

Treble enhancer (TE) - 1.9 9.5

Bass enhancement (DBE) 24.6 0.6 25.6 25.2

Bass enhancement (PB) -

Loudness maximiser (LM) 8.2 0.4 27.1 11.4

Auto Volume leveler (AVL) 0.3 0.2 3.5 5.4

Tone generator (TG) 0.1 0.3 1.1 1.2

Power spectrum 4.1 6.6 19.3 21.6


analysis (PSA)

Peak Limiter (LIMP) - 11.4 9.0

RMS Limiter (LIMR) 6.9 6.7

Crossover 2-bands(XO) 8.2 1.5 156.0 102.0

Frequency 24.6 13.9 16.3 -


Band Splitter(FBSP
18.9

ALL EAP features off - 65.0 106.2

HIFI4 Application code only - - - -


(No EAP library)

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 45 / 47
NXP Semiconductors

Chapter 8
Revision history
Table 11 summarizes the changes done to this document since the initial release.

Table 11. Revision history

Revision number Date Substantive changes

2 14 February 2022 • In Overview section:


— Added the support for 24-bits
and 32-bits
— Added the library detail for
EAP16 and EAP32 in Figure 3
• Added unordered list item "High
sample rates: 96 kHz (supported
by the EAP32 libraries only)"
in Description
• Added the following sections:
— EAP Libraries
— Feature pack
— High sample rate
— Bit depth
— 16-bits library
— 32-bits library
— Performance of EAP16
— Performance of EAP32
• Removed the figure for "SEGGER
system view tool" from MIPS
and Memory

1 13 December 2021 • Added the document ID EAPUG


• Updated the document template to
the latest
• Editorial changes

0 23 June 2021 Initial release

Essential Audio Processing User's Guide, Rev. 2, 14 February 2022


User Guide 46 / 47
How To Reach Us Limited warranty and liability — Information in this document is provided solely to enable system and software implementers to use NXP
products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits based on
Home Page:
the information in this document. NXP reserves the right to make changes without further notice to any products herein.
nxp.com
NXP makes no warranty, representation, or guarantee regarding the suitability of its products for any particular purpose, nor does
Web Support: NXP assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability,
nxp.com/support including without limitation consequential or incidental damages. “Typical” parameters that may be provided in NXP data sheets and/or
specifications can and do vary in different applications, and actual performance may vary over time. All operating parameters, including
“typicals,” must be validated for each customer application by customer's technical experts. NXP does not convey any license under
its patent rights nor the rights of others. NXP sells products pursuant to standard terms and conditions of sale, which can be found at
the following address: nxp.com/SalesTermsandConditions.

Right to make changes - NXP Semiconductors reserves the right to make changes to information published in this document, including
without limitation specifications and product descriptions, at any time and without notice. This document supersedes and replaces all
information supplied prior to the publication hereof.

Security — Customer understands that all NXP products may be subject to unidentified or documented vulnerabilities. Customer
is responsible for the design and operation of its applications and products throughout their lifecycles to reduce the effect of these
vulnerabilities on customer’s applications and products. Customer’s responsibility also extends to other open and/or proprietary
technologies supported by NXP products for use in customer’s applications. NXP accepts no liability for any vulnerability. Customer
should regularly check security updates from NXP and follow up appropriately. Customer shall select products with security features
that best meet rules, regulations, and standards of the intended application and make the ultimate design decisions regarding its
products and is solely responsible for compliance with all legal, regulatory, and security related requirements concerning its products,
regardless of any information or support that may be provided by NXP. NXP has a Product Security Incident Response Team
(PSIRT) (reachable at PSIRT@nxp.com) that manages the investigation, reporting, and solution release to security vulnerabilities of
NXP products.

NXP, the NXP logo, NXP SECURE CONNECTIONS FOR A SMARTER WORLD, COOLFLUX,EMBRACE, GREENCHIP, HITAG,
ICODE, JCOP, LIFE, VIBES, MIFARE, MIFARE CLASSIC, MIFARE DESFire, MIFARE PLUS, MIFARE FLEX, MANTIS, MIFARE
ULTRALIGHT, MIFARE4MOBILE, MIGLO, NTAG, ROADLINK, SMARTLX, SMARTMX, STARPLUG, TOPFET, TRENCHMOS,
UCODE, Freescale, the Freescale logo, AltiVec, CodeWarrior, ColdFire, ColdFire+, the Energy Efficient Solutions logo, Kinetis,
Layerscape, MagniV, mobileGT, PEG, PowerQUICC, Processor Expert, QorIQ, QorIQ Qonverge, SafeAssure, the SafeAssure logo,
StarCore, Symphony, VortiQa, Vybrid, Airfast, BeeKit, BeeStack, CoreNet, Flexis, MXC, Platform in a Package, QUICC Engine, Tower,
TurboLink, EdgeScale, EdgeLock, eIQ, and Immersive3D are trademarks of NXP B.V. All other product or service names are the
property of their respective owners. AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight,
Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed Enabled, NEON, POP, RealView, SecurCore, Socrates, Thumb,
TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, µVision, Versatile are trademarks or registered trademarks of Arm
Limited (or its subsidiaries) in the US and/or elsewhere. The related technology may be protected by any or all of patents, copyrights,
designs and trade secrets. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. The Power
Architecture and Power.org word marks and the Power and Power.org logos and related marks are trademarks and service marks
licensed by Power.org. M, M Mobileye and other Mobileye trademarks or logos appearing herein are trademarks of Mobileye Vision
Technologies Ltd. in the United States, the EU and/or other jurisdictions.

© NXP B.V. 2022. All rights reserved.


For more information, please visit: http://www.nxp.com
For sales office addresses, please send an email to: salesaddresses@nxp.com

Date of release: 14 February 2022


Document identifier: EAPUG

You might also like