Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Aviage® Acoustic Processing 1.3 for TI 64xx DSPs: Release Notes

QNX® Aviage® Acoustic Processing 1.3 for TI 64xx DSPs: Release Notes

Date of this edition: January 22, 2009

Target hardware: TMS320C64x+ DSP on TI Jacinto (TI DRA466)

Contents

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 version 1.2 include:

  • 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)
  • Receive-side(Recv-In audio signal)
    • Bandwidth extension (RBWE)
    • Parametric equalization (RPEQ)
    • Automatic gain control (RAGC)
    • Dynamic limiter (RDL)
    • Dynamic level control (RDLC)
  • Diagnostics API (DIAG)

The new features in the QNX AAP 1.3 include:

  • Wideband support (WBND)
  • Send-side(Mic-In audio signal)
    • Dynamic parametric equalization (DPEQ)
  • Receive-side(Recv-In audio signal)
    • Electrical noise suppression (RENS)
    • Double talk filter (RDTF)
  • Diagnostics (DIAG)
    • Output clipping statistics

To support the new features the following parameters were added:

  • IQWA_AECFiltLen
  • IQWA_SendDynEQSwitch
  • IQWA_SendParamEQ2Nodes
  • IQWA_SendEQ2Curve
  • IQWA_SendDynEQCurve
  • IQWA_SendDynEQMinMaxSNR
  • IQWA_RecvDTFSwitch
  • IQWA_RecvDTFMaxEchoRatio
  • IQWA_RecvDTFResponse
  • IQWA_RecvDTFMaxAtten
  • IQWA_RecvENSSwitch
  • IQWA_RecvENSSuppress
  • IQWA_RecvENSActivityRatio
  • IQWA_MicOutClipStats
  • IQWA_MicOutResetClipStats
  • IQWA_MicOutClipStatsMode
  • IQWA_RecvOutClipStats
  • IQWA_RecvOutResetClipStats
  • IQWA_RecvOutClipStatsMode
  • IQWA_AECResEchoRT60ms

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

API changes

The following lists all the API changes in this version:

  • The parameter IQWA_SendLimitMode has been deprecated and will default to IQWA_SoftLimit. For backwards compatibility, setting this parameter to IQWA_HardLimit will succeed, but the mode will remain as IQWA_SoftLimit.
  • Modified the maximum possible value for parameter IQWA_MaxFreqProc to Nyquist of the microphone output sample rate.

This package contains the following:

qwa_qnx.l64P
Acoustic Processing XDAIS Algorithm object library for C4x+ DSP.
iqwa.h
Header file including types, defines, and error codes supporting the Acoustic Processing API.
iqwa.c
Source code file for default parameters to the Acoustic Processing XDAIS Algorithm.
qwa_qnx.h
Header file including additional types and function tables supporting the Acoustic Processing API.
xqwa.h
Header file including the general API to the Acoustic Processing XDAIS Algorithm.
xqwa.c
Source code file for access to the general API to the Acoustic Processing XDAIS Algorithm.
xqwa_vr_example.c
Example application using the implementation of QWA Acoustic Processing XDAIS Algorithm (in voice recognition mode).
xqwa_hf_example.c
Source code file for the Acoustic Processing sample application using the general API (hands-free mode).
Documentation
The QNX Acoustic Processing (for XDAIS) User's Guide; see “Documentation,” below.

The following files are installed in the directory where you unzip the archive:

  • help/html/1QWA_Overview.png
  • help/html/2QWA_Details.png
  • help/html/3AEC.png
  • help/html/4HFE.png
  • help/html/BWE.png
  • help/html/diag.html
  • help/html/doxygen.css
  • help/html/doxygen.png
  • help/html/examples.html
  • help/html/form_0.png
  • help/html/form_1.png
  • help/html/form_2.png
  • help/html/form_3.png
  • help/html/form_4.png
  • help/html/form_5.png
  • help/html/form_6.png
  • help/html/form_7.png
  • help/html/formula.repository
  • help/html/ftv2blank.png
  • help/html/ftv2doc.png
  • help/html/ftv2folderclosed.png
  • help/html/ftv2folderopen.png
  • help/html/ftv2lastnode.png
  • help/html/ftv2link.png
  • help/html/ftv2mlastnode.png
  • help/html/ftv2mnode.png
  • help/html/ftv2node.png
  • help/html/ftv2plastnode.png
  • help/html/ftv2pnode.png
  • help/html/ftv2vertline.png
  • help/html/glossary.html
  • help/html/group___a_d_j.html
  • help/html/group___a_p_i_generic.html
  • help/html/group___c_f_g.html
  • help/html/group___d_e_f.html
  • help/html/group___d_i_a_g.html
  • help/html/group___e_r_r_o_r.html
  • help/html/group___parameters.html
  • help/html/group___q_w_a.html
  • help/html/index.html
  • help/html/LatencyDiagram.jpg
  • help/html/main.html
  • help/html/MIX.png
  • help/html/modules.html
  • help/html/NR.png
  • help/html/one.html
  • help/html/pages.html
  • help/html/ParamEQ2.png
  • help/html/qwa_ref_extrecvout.png
  • help/html/qwa_ref=rcvout.png
  • help/html/recv.html
  • help/html/recvp.html
  • help/html/send.html
  • help/html/sendp.html
  • help/html/struct_i_q_w_a___clip_stats.html
  • help/html/struct_i_q_w_a___frame_info_struct.html
  • help/html/struct_i_q_w_a___params.html
  • help/html/struct_i_q_w_a___status.html
  • help/html/syscnf.html
  • help/html/tab_b.gif
  • help/html/tab_l.gif
  • help/html/tab_r.gif
  • help/html/tabs.css
  • help/html/tree.html
  • help/html/tune.html
  • help/html/xqwa__hf_example_8c-example.html
  • help/html/xqwa__vr_example_8c-example.html
  • help/pdf/aap_xdais_user_guide.pdf
  • help/aap_xdais_inst.html
  • help/aap_xdais_rel.html
  • lib/qwa_qnx.l64P
  • sample/xqwa_vr_example.c
  • sample/xqwa_hf_example.c
  • src/iqwa.c
  • src/iqwa.h
  • src/qwa_qnx.h
  • src/xqwa.c
  • src/xqwa.h

Fixed issues

  • Fixed issue when using dual-channel mode and High Frequency Encoding (HFE) where, the background noise estimation is based only on the left microphone signal. (Ref# 54199)
  • Fixed issue when in certain receive input scenarios including low-level negative DC values, the acoustic echo cancellation module may adapt incorrectly to the non-realistic input. (Ref# 63069, 59027)
  • Fixed issue when processing at higher framerate (64 pt frameshift at 8 or 11kHz, or 128 pt frameshift at 16 or 22kHz) there were some rare circumstances (certain defrost noises) when coherence noise caused musical tones. (Ref# 63212)

Known issues

None currently known.

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
AGC Automatic Gain Control
BWE BandWidth Extension
DL-In Downlink Input Audio Signal
DLC Dynamic Level Control
DPEQ Dynamic Parametric Equalization
FS Frame Shift
HF Hands Free
HFE High Frequency Encoding
MFP Maximum Frequency Processed
Mic-In Microphone Input Audio Signal
Mic-Out Microphone Output Audio Signal
MIPS Millions of Instructions Per Second
MIX Dual-channel Capability
NB NarrowBand (MFP <= 4000 Hz)
NR Noise Reduction
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 Send-side Dynamic Limiter
SR Sample Rate
UL-Out = Mic-Out Uplink Output Audio Signal
VNR Voice to Noise Ratio
VR Voice Recognition
WB WideBand ( 4000 Hz < MFP <= 8000 Hz)
WNDB Wind Block

We determined all these benchmarks on the TMS320C64x+ DSP on TI Jacinto.

ROM Benchmarks

ROM 270 KB

MIPS/RAM Benchmarks

Handsfree mode

NB single channel mode, AEC on, NR on

  • DL-In/Mic-In = 8 kHz SR
  • Recv-Out/Mic-Out = 8 kHz SR
  • Base = AEC + NR
  • Send-side Full Featured = Base + DPEQ + SDL + AGC + WNDB
  • Receive-side Full Featured = Base + BWE + RPEQ + RAGC + RDLC + RENS + RDTF
Frame Shift Base Send Full +RPEQ +RAGC +RDLC +RENS +RDTF Receive Full
  MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM
128 37 44 32.0 KB 39 46 33.0 KB 38 46 32.7 KB 42 50 33.4 KB
64 67 81 31.5 KB 71 85 32.4 KB 69 82 32.1 KB 74 89 32.5 KB

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

  • DL-In/(Mic-In)x2 = 8 kHz SR
  • Recv-Out/Mic-Out = 8 kHz SR
  • Base = AEC + NR + MIX
  • Send-side Full Featured = Base + DPEQ + SDL + AGC + WNDB
  • Receive-side Full Featured = Base + BWE + RPEQ + RAGC + RDLC + RENS + RDTF
Frame Shift Base Send Full +RPEQ +RAGC +RDLC +RENS +RDTF Receive Full
  MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM
128 57 68 44.8 KB 59 70 45.8 KB 57 68 45.4 KB 63 75 46.2 KB
64 107 129 44.3 KB 111 133 45.2 KB 106 127 44.9 KB 115 138 45.3 KB

NB single channel mode, AEC on, NR on, HFE on

  • DL-In/Mic-In = 16 kHz SR
  • Recv-Out/Mic-Out = 16 kHz SR
  • Base = AEC + NR + HFE
  • Send-side Full Featured = Base + DPEQ + SDL + AGC + WNDB
  • Receive-side Full Featured = Base + BWE + RPEQ + RAGC + RDLC + RENS + RDTF
Frame Shift Base Send Full +RPEQ +RAGC +RDLC +RENS +RDTF Receive Full
  MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM
256 46 55 38.4 KB 48 57 39.6 KB 49 59 39.3 KB 57 69 50.6 KB
128 80 96 37.3 KB 84 101 38.5 KB 82 99 38.1 KB 95 114 48.8 KB

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

  • DL-In/(Mic-In)x2 = 16 kHz SR
  • Recv-Out/Mic-Out = 16 kHz SR
  • Base = AEC + NR + HFE + MIX
  • Send-side Full Featured = Base + DPEQ + SDL + AGC + WNDB
  • Receive-side Full Featured = Base + BWE + RPEQ + RAGC + RDLC + RENS + RDTF
Frame Shift Base Send Full +RPEQ +RAGC +RDLC +RENS +RDTF Receive Full
  MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM
256 71 85 53.2 KB 71 86 54.4 KB 71 86 54.0 KB 81 98 65.4 KB
128 127 152 52.0 KB 128 154 53.2 KB 122 147 52.9 KB 143 172 63.5 KB

Voice-recognition mode

NB single channel mode, NR on

  • Mic-In = 11 kHz SR
  • Mic-Out = 11 kHz SR
  • Base = NR
  • Send-side Full Featured = Base + WNDB
Frame Shift Base (NR) Send Full (+WNDB)
  MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM
128 13 15 17.3 KB 14 16 17.8 KB

NB dual channel mode, NR on, MIX on

  • (Mic-In)x2 = 11 kHz SR
  • Mic-Out = 11 kHz SR
  • Base = NR + MIX
  • Send-side Full Featured = Base + WNDB
Frame Shift Base (NR + MIX) Send Full (+WNDB)
  MCycles/s MIPS Total RAM MCycles/s MIPS Total RAM
128 23 27 22.4 KB 24 29 23.0 KB

TI uses MCycles/s in their specifications rather than MIPS. TI also quotes Persistent and Scratch memory rather than total RAM.

Documentation

The functionality provided by this package is described in the QNX Aviage Acoustic Processing (for XDAIS) User's Guide. This package includes this document as:

  • HTML: help/html/index.html
  • PDF: help/pdf/aap_xdais_user_guide.pdf

Technical support

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