Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Aviage® Acoustic Processing 2.0.0 Rev. 1 Release Notes

QNX® Aviage® Acoustic Processing 2.0 Rev. 1: Release Notes

Date of this edition: July 16, 2013

Target OS: This software is compatible with target systems running QNX® Neutrino® 6.3.2 through 6.5.0.

Host OS: You must have already installed the QNX® Software Development Platform:

  • on a self-hosted QNX Neutrino development system on a physical machine, or as a virtual machine on VMware Workstation 6.5 or 7.0, VMware Player 3.0, or Microsoft VirtualPC 2007
  • or on one of the following development hosts:
    Version Microsoft Windows Linux
    QNX Momentics 6.3.2 Windows Vista, XP SP2, or 2000 SP4 Linux Red Hat Enterprise Workstation 4 or 5, Red Hat Fedora Core 6 or 7, Ubuntu 6.0.6 LTS or 7.0.4, or SUSE 10
    QNX SDP 6.4.0 Windows Vista, Vista 64-bit, XP SP2 or SP3, or 2000 SP4 Linux Red Hat Enterprise Workstation 4 or 5, Red Hat Enterprise Server 5.1 64-bit, Red Hat Fedora Core 6 or 7, Ubuntu 6.0.6 LTS or 7, or SUSE 10
    QNX SDP 6.4.1 Windows Vista, Vista 64-bit, XP SP2 or SP3, or 2000 SP4 Linux Red Hat Enterprise Workstation 4.0 or 5.0, Red Hat Enterprise Server 5.1 64-bit, Red Hat Fedora 10, Ubuntu 8.04 LTS or 8.10, or SUSE 11
    QNX SDP 6.5.0 Windows 7 Professional 32- and 64-bit, Vista Business 32- and 64-bit, XP Professional SP3, or 2000 SP4 Linux Red Hat Enterprise Linux 5.4 Desktop 32- and 64-bit, Red Hat Fedora 12, Ubuntu Workstation 9.10 32- and 64-bit, or openSUSE 11.2

Contents

Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.

For the most up-to-date version of these release notes, go to our website, www.qnx.com, log into your myQNX account, and then go to the Download Center.

What's in this package?

New acoustic processing options

The core features of QNX Aviage Acoustic Processing previous version 1.3 include:

  • Binary configuration file load support
  • Wide-band support (WBND)
  • Send-side(Mic-In audio signal)
    • Acoustic echo cancellation (AEC)
    • Noise reduction (NR)
    • Automatic gain control (AGC)
    • Parametric equalization (PEQ)
    • Dual-channel capability (MIX)
    • High frequency encoding (HFE)
    • Wind buffet suppression (WNDB)
    • Dynamic limiter (SDL)
    • Dynamic parametric equalization (DPEQ)
  • Receive-side(Recv-In audio signal)
    • Bandwidth extension (RBWE)
    • Parametric equalization (RPEQ)
    • Automatic gain control (RAGC)
    • Dynamic limiter (RDL)
    • Dynamic level control (RDLC)
    • Electrical noise suppression (RENS)
    • Double talk filter (RDTF)
  • Diagnostics API (DIAG)
    • Output clipping statistics
  • Remote control server (RCS)
  • Windows remote control client (QWALive)
    • Binary configuration file save support
    • Audio signal injection support
    • Coherence measurements
    • Total harmonic distortion measurements

The new features in the QNX AAP 2.0 include:

  • Send-side(Mic-In audio signal)
    • Automatic delay compensation (ADC).
    • Off-axis rejection (OAR).
    • Dynamic noise removal (DNR).
    • Low-frequency reconstruction (LFR).
    • Nonlinear distortion half duplex threshold (NLD)
  • Remote control server (RCS)
    • Injection error reporting.
    • Serial port communication option.
    • New API for post-initialization configuration.
  • Windows QWALive remote control client
    • Ability to connect to a target through serial port.
    • Ability to set a name for each target connection.
    • Ability to set a custom color for each target connection.
    • Ability to run coherence and distortion measurements for the second microphone channel.
    • Ability to monitor and listen to an incoming audio stream.
    • Ability to pause streaming.
    • Ability to save binary configuration files in text format.
    • New audio path test in printable and HTML viewable format.
    • New injection dropouts error indicator.
    • New "Select Baseline Config" button in the Binary Config tab to select the minimum subset of parameters recommended for binary configuration based on the features (switches) that are turned on.
    • Existing EQ presets are now displayed in the "SavePEQ Preset" form.
    • New button "Delete Preset" added in the "LoadPEQ Preset" form.
    • New "Adjustment(Post Init)" tab in the Binary Config for post-initialization adjustment of parameters.
    • Parameter qwaAECFiltLen can now be changed using the "AEC Filter Length" control on the reinitialize page if the Enable Large Room Support check box is selected in "App Options" tab.
    • Parameter qwaAECResEchoRT60ms can now be changed using the "Reverberation Time" control on the Send page if the Enable Large Room Support check box is selected in "App Options" tab.

To support the new features the following parameters were added:

  • qwaAutoDelayCompSwitch
  • qwaMixOARSwitch
  • qwaLFRSwitch
  • qwaLFINRMaxFreq
  • qwaMixOARClosestMic
  • qwaMixOARFocus
  • qwaMixOARMaxReject
  • qwaRECHalfDplxThresh

For the description of these parameters, please see the “QWA Parameters” section in the User's Guide.

API changes

The following lists all the API changes in this version:

  • The default sample rate was changed to 8 kHz from 11 kHz in previous versions.
  • Mute switches qwaSendMuteSwitch and qwaRecvMuteSwitch are not turned off when qwaReset() is called. In previous versions the mute switches were turned off when calling qwaReset().
  • Enhanced the qwaInitialize() function to return QWA_ERR_INVALID_CHANNEL_CNT error for the following cases:
    • The microphone input count exceeds 4.
    • Receive input count equals 0 and any receive processing switch is on.
  • The Voice Recognition mode was deprecated. For backward compatibility you can still set the parameter qwaOpMode to qwaVoiceRecog. Reading back the parameter qwaOpMode will always return qwaHandsFree now.
  • The default value for the parameter qwaMaxFreqProc was changed from 4000 Hz to Nyquist Hz.
  • The default value for the parameter qwaRefMaxDelay was changed from 0 to 200 ms if the qwaAutoDelaySwitch is idle or on.
  • The FWHM minimum value for a PEQ node was changed to MAX(150Hz, f_center/10.0). This is equivalent to a maximum Q-value (Q = f_center/FWHM) of 10.0 for a center-frequency above 1.5 kHz.
  • RCS API was enhanced to support post-initialization configuration to allow adjustment of parameters using binary configuration without restarting the target.
  • New function qwaRcsCreateSerial() was added to the RCS API to support target connections through serial port.
  • New function qwaSetConfig() was added to the QWA API to support post-initialization binary configuration.
  • RCS error code QWA_RCS_ERR_SOCKET was renamed to QWA_RCS_ERR_COMM to indicate that an error has occurred during a serial port or TCP/IP socket operation.
  • The default value for the parameter qwaRECSuppress was changed from 50 to 45.
  • The default values for the qwaSendAGCAmpTgts and qwaRecvAGCAmpTgts parameters were reduced by 3 dB to [Min Max] = [-1500 -900].
  • The default value for the qwaRecvBWEBrightness parameter was changed from 50 to 25.
  • The default value for the qwaNRAtten parameter was changed from -1050 cdB to -1200 cdB.

Binaries

The following binary files are installed under $QNX_TARGET/, in subdirectories for each supported target platform:

ARMLE

  • armle/lib/libqwa.a
  • armle/lib/libqwaS.a
  • armle/lib/libqwa_rcs.a
  • armle/lib/libqwa_rcsS.a

ARMLE-v7

  • armle-v7/lib/libqwa.a
  • armle-v7/lib/libqwaS.a
  • armle-v7/lib/libqwa_rcs.a
  • armle-v7/lib/libqwa_rcsS.a

PPCBE

  • ppcbe/lib/libqwa.a
  • ppcbe/lib/libqwaS.a
  • ppcbe/lib/libqwa_rcs.a
  • ppcbe/lib/libqwa_rcsS.a

SHLE

  • shle/lib/libqwa.a
  • shle/lib/libqwaS.a
  • shle/lib/libqwa_rcs.a
  • shle/lib/libqwa_rcsS.a

x86

  • x86/lib/libqwa.a
  • x86/lib/libqwaS.a
  • x86/lib/libqwa_rcs.a
  • x86/lib/libqwa_rcsS.a

Header files

  • usr/include/qwa_rcs_err.h
  • usr/include/qwa_rcs.h
  • usr/include/qwa_err.h
  • usr/include/qwa_defs.h
  • usr/include/qwa.h

The following binary files are installed under base_dir\install\qnxaviage-ap\2.0\ on Windows systems:

  • QWALive\QWALive.exe

Sample source code

The following source code files with examples of how to use QNX Aviage Acoustic Processing 2.0 are installed under $QNX_TARGET/:

  • etc/readme/qnxaviage-ap/examples/qwa_hf_example/qwa_hf_example.c
  • etc/readme/qnxaviage-ap/examples/qwa_rcs_example/qwa_rcs_example.c

Fixed issues

Acoustic Processing 2.0 Rev. 1

  • Fixed issue with link error for QNX AAP 2.0 for ARMLE-v7 variant. (Ref# 144147)

Acoustic Processing 2.0

  • Fixed issue when diagnostic click did not scale with sample rate. (Ref# 82720)
  • Fixed issue when output level for QWA_DIAG_WHITE_BAND_NOISE of qwaDiagPlaySignal depends on sample rate. (Ref# 65276)
  • Fixed issue with QWALive controls not being visible when the display resolution is set to 1024x600 pixels. (Ref# 70975)
  • Fixed issue where the soft limiter (SDL) malfunctions if clipping occurs near the beginning of a frame shift. (Ref# 74914)
  • Fixed issue with latency slider in QWALive not showing the correct values after reinitialization. (Ref# 67330)
  • Fixed issue where the receive side signal upsampling in mixed mode creates noise near Nyquist frequency. (Ref# 74952)
  • Fixed issue where quantization of the Recv-In signal in conditions of low Recv-In signal levels can freeze send AGC for several minutes. (Ref# 72952)
  • Fixed issue where the click test that is run at the beginning of the distortion test did not take the offset value into account. (Ref# 98611)
  • Fixed issue where the wind-block algorithm was taking too long to adapt to an environment where wind buffet was not present causing speech quality degradation. (Ref# 94502)
  • Fixed issue in QWALive tool where too many cue markers were inserted for dropped packets during audio streaming. (Ref# 67931)
  • Fixed issue in QWALive tool where the streaming was continuing even if the library was reset causing audio artifacts in the wave file. (Ref# 68577)
  • Fixed issue in QWALive tool where diagnostics cannot play 5 minutes signal. (Ref# 96038)

Known issues

  • When the true system latency and the AEC latency as set by qwaRefDelay are significantly different, qwaAECEchoAlign can return values that are misleading. It can be in the wrong direction, or it can return a value close to zero when the true error is very large. (Ref# 103182)
  • The wind-block algorithm is temporarily over-aggressive during sudden and large noise increase. (Ref# 75390)
  • Temporary echo artifact during sudden radio volume increase. (Ref# 63210)
  • Wind buffet suppression disabled when qwaWNDBSuppress set to 0. (Ref# J427799)

Benchmarks

Here's a summary of the abbreviations used in this section. For more details, see the Acoustic Processing User's Guide.

Abbreviation Meaning
AEC Acoustic Echo Cancellation
ADC Automatic Delay Estimation
AGC Automatic Gain Control
BWE BandWidth Extension
DL-In Downlink Input Audio Signal
DLC Dynamic Level Control
DNR Dynamic Noise Removal
DPEQ Dynamic Parametric Equalization
FS Frame Shift
FWHM Full-Width at Half-Max
HF Hands Free
HFE High Frequency Encoding
LFR Low Frequency Reconstruction
MFP Maximum Frequency Processed
Mic-In Microphone Input Audio Signal
Mic-Out Microphone Output Audio Signal
MIX Dual-channel Capability
NLD Nonlinear Distortion
NR Noise Reduction
OAR Off-Axis Rejection
PEQ Parametric Equalization
RAGC Receive-side Automatic Gain Control
RDTF Receive-side Double Talk Filter
Recv-In = DL-In Receive Input Audio Signal
Recv-Out Receive Output Audio Signal
RENS Receive-side Electrical Noise Suppression
RPEQ Receive-side Parametric Equalization
SDL Soft Dynamic Limiter
SR Sample Rate
UL-Out = Mic-Out Uplink Output Audio Signal
VNR Voice to Noise Ratio
WB WideBand ( 4000 Hz < MFP <= 8000 Hz)
WNDB Wind Buffet

We used the following hardware for our benchmarks:

Manufacturer/Target Freescale/ppcbe Renesas/shle Texas Instruments/armle Texas Instruments/armle-v7 Intel/x68
Board Name Lite 5200 Sequoia DaVinci IGEP Intel D945GCLF2
CPU Family PPC603 SH-4A ARM926EJ-S/C64x ARM Cortex-A8 with NEON x86
CPU Type MPC5200 SH7763 TMS320DM6446 OMAP3530 ATOM N330, dual core
Float Unit Yes Yes No Yes Yes
Clock[MHz] 396 266 armle: 336 720 1600
Cache [kb] 16 Inst./16 Data 32 Inst./32 Data armle: 16 Inst./8 Data 16 Inst./16 Data 32 Inst./24 Data, 512 L2, per core
RAM [MB] 64 64 256 512 2048

ROM Benchmarks

Target HW ROM
ppcbe 200 KB
shle 180 KB
armle 222 KB
armle-v7 245 KB
x86 169 KB

CPU Load/RAM Usage Benchmarks

NB single channel mode, AEC on, NR on

  • DL-In/Mic-In = 8 kHz SR
  • Recv-Out/UL-Out = 8 kHz SR
  • MFP = 4000 Hz
  • Base = AEC + NR
  • AEC+ = Base + ADC + DPEQ + SDL + AGC + WNDB + RPEQ + RAGC + RDLC + RENS + RDTF
  • +BWE = AEC+ + BWE
  • +LFR = AEC+ + LFR
8 kHz SR
mono
    CPU
RAM
     
Code Base Target FS Base AEC+ +BWE +LFR
Floating-point ppcbe 128 49 MHz
58 KB
54 MHz
61 KB
56 MHz
63 KB
54 MHz
61 KB
    64 86 MHz
57 KB
89 MHz
60 KB
96 MHz
61 KB
97 MHz
60 KB
  shle 128 42 MHz
58 KB
45 MHz
61 KB
48 MHz
63 KB
48 MHz
61 KB
    64 72 MHz
57 KB
76 MHz
60 KB
80 MHz
61 KB
81 MHz
60 KB
  x86 128 47 MHz
58 KB
50 MHz
61 KB
53 MHz
63 KB
52 MHz
61 KB
    64 81 MHz
57 KB
85 MHz
60 KB
87 MHz
61 KB
84 MHz
60 KB
Fixed-point armle (ARM9/11) 128 97 MHz
37 KB
102 MHz
38.5 KB
110 MHz
40 KB
111 MHz
38.5 KB
    64 173 MHz
36 KB
179 MHz
38 KB
189 MHz
38 KB
192 MHz
38 KB
  armle-v7 (Cortex-A8/Neon/v7) 128 49 MHz
37 KB
53 MHz
38.5 KB
57 MHz
40 KB
57 MHz
38.5 KB
    64 86 MHz
36 KB
88 MHz
38 KB
93 MHz
38 KB
96 MHz
38 KB

NB dual channel mode, AEC on, NR on, MIX on

  • DL-In/(Mic-In)x2 = 8 kHz SR
  • Recv-Out/UL-Out = 8 kHz SR
  • MFP = 4000 Hz
  • OAR = NR + MIX + OAR
  • Base = AEC + NR + MIX
  • AEC+ = Base + ADC + DPEQ + SDL + AGC + WNDB + RPEQ + RAGC + RDLC + RENS + RDTF
  • +BWE = AEC+ + BWE
  • +LFR = AEC+ + LFR
8 kHz SR
stereo
    CPU
RAM
       
Code base Target FS OAR Base AEC+ +BWE +LFR
Floating-point ppcbe 128 34 MHz
28 KB
73 MHz
80.5 KB
73 MHz
83 KB
76 MHz
85 KB
77 MHz
83 KB
    64 59 MHz
27 KB
132 MHz
79 KB
134 MHz
82 KB
134 MHz
83 KB
139 MHz
82 KB
  shle 128 31 MHz
28 KB
60 MHz
80.5 KB
63 MHz
83 KB
67 MHz
85 KB
66 MHz
83 KB
    64 56 MHz
27 KB
109 MHz
79 KB
112 MHz
82 KB
114 MHz
83 KB
116 MHz
82 KB
  x86 128 38 MHz
28 KB
70 MHz
80.5 KB
73 MHz
83 KB
75 MHz
85 KB
75 MHz
83 KB
    64 64 MHz
27 KB
124 MHz
79 KB
128 MHz
82 KB
130 MHz
83 KB
131 MHz
82 KB
Fixed-point armle (ARM9/11) 128 60 MHz
21 KB
152 MHz
49.5 KB
155 MHz
51 KB
162 MHz
52 KB
163 MHz
51 KB
    64 113 MHz
20 KB
284 MHz
49 KB
282 MHz
50 KB
293 MHz
51 KB
299 MHz
50 KB
  armle-v7 (Cortex-A8/Neon/v7) 128 28 MHz
21 KB
76 MHz
49.5 KB
80 MHz
51 KB
82 MHz
52 KB
83 MHz
51 KB
    64 54 MHz
20 KB
137 MHz
49 KB
139 MHz
50 KB
142 MHz
51 KB
149 MHz
50 KB

Mixed WB/NB single channel mode, AEC on, NR on, HFE on

  • DL-In = 8 kHz SR
  • Mic-In = 16 kHz SR
  • Recv-Out = 16 kHz SR
  • Mic-Out = 8 kHz SR
  • MFP = 4000 Hz
  • Base = AEC + NR + HFE
  • AEC+ = Base + ADC + DPEQ + SDL + AGC + WNDB + RPEQ + RAGC + RDLC + RENS + RDTF
  • +BWE = AEC+ + BWE
  • +LFR = AEC+ + LFR
16/8 kHz SR
mono
    CPU
RAM
     
Code Base Target FS Base AEC+ +BWE +LFR
Floating-point ppcbe 128 59 MHz
88 KB
63 MHz
91 KB
79 MHz
95 KB
66 MHz
91 KB
    64 103 MHz
86 KB
109 MHz
88 KB
125 MHz
90.5 KB
114 MHz
88 KB
  shle 128 51 MHz
88 KB
54 MHz
91 KB
70 MHz
95 KB
56 MHz
91 KB
    64 85 MHz
86 KB
89 MHz
88 KB
107 MHz
90.5 KB
95 MHz
88 KB
  x86 128 56 MHz
88 KB
60 MHz
91 KB
84 MHz
95 KB
63 MHz
91 KB
    64 93 MHz
86 KB
97 MHz
88 KB
120 MHz
90.5 KB
103 MHz
88 KB
Fixed-point armle (ARM9/11) 128 111 MHz
58 KB
116 MHz
59 KB
148 MHz
62 KB
124 MHz
59 KB
    64 197 MHz
55 KB
203 MHz
57 KB
236 MHz
59 KB
218 MHz
57 KB
  armle-v7 (Cortex-A8/Neon/v7) 128 57 MHz
57.5 KB
61 MHz
59 KB
79 MHz
62 KB
67 MHz
59 KB
    64 98 MHz
55 KB
102 MHz
57 KB
120 MHz
59 KB
110 MHz
57 KB

Mixed WB/NB dual channel mode, AEC on, NR on, MIX on, HFE on

  • DL-In = 8 kHz SR
  • (Mic-In)x2 = 16 kHz SR
  • Recv-Out = 16 kHz SR
  • Mic-Out = 8 kHz SR
  • MFP = 4000 Hz
  • OAR = NR + MIX + OAR
  • Base = AEC + NR + MIX + HFE
  • AEC+ = Base + ADC + DPEQ + SDL + AGC + WNDB + RPEQ + RAGC + RDLC + RENS + RDTF
  • +BWE = AEC+ + BWE
  • +LFR = AEC+ + LFR
16/8 kHz SR
stereo
    CPU
RAM
       
Code base Target FS OAR Base AEC+ +BWE +LFR
Floating-point ppcbe 128 47 MHz
60 KB
87 MHz
115 KB
90 MHz
117 KB
106 MHz
121.5 KB
92 MHz
117 KB
    64 86 MHz
57 KB
158 MHz
112 KB
159 MHz
114 KB
176 MHz
117 KB
165 MHz
114 KB
  shle 128 42 MHz
60 KB
73 MHz
115 KB
75 MHz
117 KB
92 MHz
121.5 KB
78 MHz
117 KB
    64 76 MHz
57 KB
129 MHz
112 KB
132 MHz
114 KB
149 MHz
117 KB
138 MHz
114 KB
  x86 128 50 MHz
60 KB
84 MHz
115 KB
86 MHz
117 KB
108 MHz
121.5 KB
89 MHz
117 KB
    64 88 MHz
57 KB
145 MHz
112 KB
149 MHz
114 KB
170 MHz
117 KB
156 MHz
114 KB
Fixed-point armle (ARM9/11) 128 81 MHz
42 KB
173 MHz
72 KB
175 MHz
74 KB
205 MHz
77 KB
184 MHz
74 KB
    64 150 MHz
40 KB
322 MHz
70 KB
319 MHz
72 KB
351 MHz
74 KB
336 MHz
72 KB
  armle-v7 (Cortex-A8/Neon/v7) 128 42 MHz
42 KB
89 MHz
72 KB
92 MHz
74 KB
109 MHz
77 KB
97 MHz
74 KB
    64 73 MHz
40 KB
158 MHz
70 KB
160 MHz
72 KB
176 MHz
74 KB
169 MHz
72 KB

WB single channel mode, AEC on, NR on

  • DL-In/Mic-In = 16 kHz SR
  • Recv-Out/UL-Out = 16 kHz SR
  • MFP = 8000 Hz
  • Base = AEC + NR
  • AEC+ = Base + ADC + DPEQ + SDL + AGC + WNDB + RPEQ + RAGC + RDLC + RENS + RDTF
  • +LFR = AEC+ + LFR
16 kHz SR
mono
    CPU
RAM
   
Code Base Target FS Base AEC+ +LFR
Floating-point ppcbe 128 95 MHz
111 KB
99 MHz
115 KB
103 MHz
115 KB
    64 163 MHz
109 KB
167 MHz
113 KB
174 MHz
113 KB
  shle 128 82 MHz
111 KB
87 MHz
115 KB
90 MHz
115 KB
    64 140 MHz
109 KB
144 MHz
113 KB
150 MHz
113 KB
  x86 128 92 MHz
111 KB
98 MHz
115 KB
101 MHz
115 KB
    64 152 MHz
109 KB
159 MHz
113 KB
163 MHz
113 KB
Fixed-point armle (ARM9/11) 128 176 MHz
69 KB
185 MHz
71 KB
193 MHz
71 KB
    64 312 MHz
67 KB
319 MHz
70 KB
336 MHz
70 KB
  armle-v7 (Cortex-A8/Neon/v7) 128 95 MHz
69 KB
101 MHz
71 KB
106 MHz
71 KB
    64 162 MHz
67 KB
167 MHz
70 KB
176 MHz
70 KB

WB dual channel mode, AEC on, NR on, MIX on

  • DL-In/(Mic-In)x2 = 16 kHz SR
  • Recv-Out/UL-Out = 16 kHz SR
  • MFP = 8000 Hz
  • OAR = NR + MIX + OAR
  • Base = AEC + NR + MIX
  • AEC+ = Base + ADC + DPEQ + SDL + AGC + WNDB + RPEQ + RAGC + RDLC + RENS + RDTF
  • +LFR = AEC+ + LFR
16 kHz SR
stereo
    CPU
RAM
     
Code base Target FS OAR Base AEC+ +LFR
Floating-point ppcbe 128 64 MHz
53 KB
142 MHz
155 KB
144 MHz
158 KB
149 MHz
158 KB
    64 113 MHz
50 KB
257 MHz
152 KB
257 MHz
157 KB
263 MHz
157 KB
  shle 128 58 MHz
53 KB
120 MHz
155 KB
123 MHz
158 KB
126 MHz
158 KB
    64 105 MHz
50 KB
215 MHz
152 KB
216 MHz
157 KB
223 MHz
157 KB
  x86 128 72 MHz
53 KB
139 MHz
155 KB
144 MHz
158 KB
146 MHz
158 KB
    64 126 MHz
50 KB
244 MHz
152 KB
246 MHz
157 KB
253 MHz
157 KB
Fixed-point armle (ARM9/11) 128 107 MHz
39 KB
281 MHz
93.5 KB
284 MHz
96 KB
293 MHz
96 KB
    64 202 MHz
37 KB
521 MHz
92 KB
514 MHz
94 KB
532 MHz
94 KB
  armle-v7 (Cortex-A8/Neon/v7) 128 57 MHz
39 KB
147 MHz
93.5 KB
150 MHz
96 KB
156 MHz
96 KB
    64 102 MHz
37 KB
263 MHz
92 KB
264 MHz
94 KB
274 MHz
94 KB

CPU Load benchmarks were calculated when running the library alone on the platforms listed above. CPU Load benchmarks may vary with the audio input to the library. Benchmarks for the 11025Hz, 22050Hz, 32000Hz, 44100Hz supported sample rates, are available upon request.

Processing Time

The QNX AAP 2.0 HF processing introduces the following delay in the Mic-In to Mic-Out (Mic-path) and Recv-In to Recv-Out (Recv-path) audio paths:

  FS
  Standard Over-sample
Mic-path[ms] 17 + t_proc 25 + t_proc
Recv-path[ms] 1 + t_proc 1 + t_proc

The t_proc value represents the time duration for processing one frame of hands-free audio with the qwaAudioIn() and qwaAudioOut() function calls (duration depends on CPU speed).

Documentation

The functionality provided by this package is described in the QNX Aviage Acoustic Processing User's Guide, which you'll find in the IDE's help system on Linux and Windows systems. On self-hosted Neutrino systems, you can find the documentation in the Photon helpviewer.

You'll find the QWALive User's Guide installed as base_dir\install\qnxaviage-ap\2.0\QWALive.pdf on Windows systems, where base_dir is where you installed QNX Momentics or QNX SDP.

You'll find the sample programs and a PDF version of the Acoustic Processing User's Guide in the $QNX_TARGET/etc/readme/qnxaviage-ap directory.

Technical support

To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.