Hide thumbs Also See for XVF3800:
Table of Contents

Advertisement

Quick Links

XMOS XVF 8
- User Guide
Release: . .
Publication Date:
/
/

Advertisement

Table of Contents
loading

Summary of Contents for XMOS XVF3800

  • Page 1 XMOS XVF 8 - User Guide Release: . . Publication Date:...
  • Page 2: Table Of Contents

    Table of Contents Overview Setting Up the Hardware Introduction ..........Hardware Setup - USB (UA) Con guration) .
  • Page 3 ..........XMOS tools .
  • Page 4: Overview

    The XVF 8 uses the XMOS xcore.ai processor and supports a range of integrated and accessory voice communication applications. This document discusses: •...
  • Page 5: Setting Up The Hardware

    UA - Required Components • An XK-VOICE-SQ66 development kit board. • An XMOS XTAG with associated ribbon cables (Provided in the XK-VOICE-SQ66 development kit pack- age). • A setup or development machine (Windows, Mac OS or Linux are supported). This machine must have at least two USB connections.
  • Page 6: Installing The Ua Rmware

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : XK-VOICE-SQ66 development kit in UA con guration . Open an XTC tools terminal window on the development computer. Verify that the XTAG has been...
  • Page 7: Hardware Setup - I S (Intdev) Con Guration

    INTDEV Required Components • An XK-VOICE-SQ66 development kit board. • An XMOS XTAG with associated ribbon cables (Provided in the XK-VOICE-SQ66 development kit pack- age). • A setup or development machine (Windows, Mac OS or Linux are supported). This must support USB connections and have the ability to write onto SD memory cards.
  • Page 8: Setting Up The Intdev Con Guration

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Raspberry Pi HAT Connector - mm Extended Tail Socket • The XVF 8 evaluation rmware binary release package (available from https://xmos.ai...
  • Page 9: Installing The Intdev Firmware

    Raspberry Pi. The rmware is installed using the XMOS XTAG adapter supplied with the XK-VOICE-SQ66 development kit. . Connect an XTAG- debug adapter to the setup computer via USB, and connect it to the XK-VOICE-SQ66 development kit using the supplied ribbon cable.
  • Page 10: Setting Up The Audio

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide The output from this should be of the following form: Note: If the XTAG- is not properly connected to the development machine, then...
  • Page 11: Playback And Recording

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : XVF 8 demo example layout To calibrate the volume of the loudspeaker for optimal performance, a test le such as the...
  • Page 12: Ua Audio Con Guration

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Audacity example . . . UA Audio Con guration In the UA con guration, Audacity may be used to visually play and record signals from the device. The sample rate must be set to match the XVF 8 in the Project Rate (Hz) selection in the bottom left.
  • Page 13 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide If this does not resolve the issues, it is permissible to lower the loudspeaker volume. If loudspeaker volume is adjusted, or if there is any other change in environment, ensure that the AEC has reconverged before pro- ceeding by playing several seconds of far-end audio again.
  • Page 14: Using The Host Application

    . Connect the XVF 8 board to the host PC using a USB cable. . If some USB driver has been installed for the XMOS DFU Factory (Interface ) as described in DFU ap- setup, the device must be disabled by using Device Manager: plication a.
  • Page 15 Manager . Download the third-party installation tool Zadig from https://zadig.akeo.ie/. . Open Zadig and select XMOS Control (Interface ) from the list of devices. If the device is not present, ensure Options -> List All Devices is checked. . Select libusb-win from the list of drivers.
  • Page 16: Connecting To The Xvf

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Connecting to the XVF 8 Device To use the host application, login to the host machine, either directly, via a VNC connection or and to open a terminal command line.
  • Page 17 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • The square con guration (-sqr) uses a microphone array with a 66mm distance along each side as shown below. Note: These con gurations are selected by a multiplexer on the XK-VOICE-SQ66 development kit when the device boots.
  • Page 18: Beam Forming Subsystem And Direction Of Arrival Indicator

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide MIC[ .. ] which are used in the rmware and when using . The mapping of the logical indexes and the physical microphones on the XK-VOICE-SQ66 development kit is shown in the table below: Table .
  • Page 19: Using Azimuth Data For Direction Of Arrival Indication

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Azimuth angle in square con guration Using azimuth data For Direction of Arrival indication The auto selection algorithm will switch between beams rapidly in some circumstances. The two focused beams update relatively slowly, but the free running beam is designed to be sensitive so that it can rapidly pick up the speech signal for a new talker entering the soundscape.
  • Page 20 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table . : Audio manager mux options Category Sources : Silence : Silence : Raw microphone data - before ampli cation , , , : Speci c microphones accessed by index, no...
  • Page 21: Setting An Output Pin

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. .6: Output Selection Multiplexers For example, to set the left output to the th raw microphone signal (without gain applied), issue the command This will set the left channel to output the th ( -indexed) microphone signal of the present.
  • Page 22 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide and to turn it off use Note: The selects a port and subsequent commands only act on that pin.
  • Page 23: Tuning The Application

    Tuning the Application The measured performance of the XVF 8 depends very heavily on the electrical and acoustic environment of the end product that it is incorporated into. In order to achieve optimal performance, including the ability to pass product certi cation tests, it is necessary to perform a con guration and tuning process to adapt the rmware to the end product’s form factor and hardware design.
  • Page 24: Initial Parameter Setting

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • Access to the IEEE 6 - reference signals is useful for representative clear speech signals. Alterna- tive speech signals may be found from the ITU, in particular the les associated with Recommendation...
  • Page 25: Initial Tests

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • : This parameter informs the audio pipeline how much external gain has been applied to the AEC reference signal. The value that this parameter should take is coupled to the volume control of the device;...
  • Page 26: Control Path

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Top-level schematic showing the input and output paths of the XVF 8 Fig. . , numbered points correspond to the suggested order of testing.
  • Page 27: Output Path

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide . . . Output Path This test will attempt to verify that a signal injected into the XVF 8 is output faithfully from the XVF 8 and successfully output by the device.
  • Page 28: Tuning The Xvf

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Note: As the microphone signals are decimated to 6 kHz within the XVF 8 ’s audio manager, the micro- phone signals require upsampling on a 8 kHz bus - ensure that the AUDIO_MGR_OP_UPSAMPLE ags have been reset after previous testing if using a 8 kHz XVF 8 con guration.
  • Page 29: Microphone Gain

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Microphone Gain Similarly, the parameter is provided to control a gain block placed in the input path from the microphones. The same gain is applied to all four microphones. To tune...
  • Page 30 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : A more detailed representation of the reference input path for the XVF 8 , showing both path A where the signal is routed through the XVF 8...
  • Page 31: Aec Operation

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Screenshot showing example output of Fig. . shows a sample delay between microphones and the reference signal. This system is causal, but only just.
  • Page 32: Agc Con Guration

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide stance forces a signi cant change in the AEC. When the AEC reaches convergence (which is expected to take less than seconds), read the AEC coef - cients from the device: This operation generates separate les <...
  • Page 33: Emphasis

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • is the parameter that sets this desired output power. The signal power of the free-running beam is measured and compared to the value of , and is adjusted to attempt to meet it.
  • Page 34: Additional Parameters

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Play a representative voice sample such as as the reference input on a loop for around 6 seconds. Capture the device output; these will be the AEC residuals generated.
  • Page 35: Mgscale

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Illustration of the method by which may be determined . . . MGSCALE parameter controls additional noise suppression that is applied during periods of far-end activity.
  • Page 36: Tuning The Non Linear Model

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide (continued from previous page) Play a representative far-end signal such as on loop as the refer- ence input. Provide a just-noticeable stationary near-end noise signal. Observe the device output, including the spectrogram.
  • Page 37 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. .8: Top-level diagram of a system where the audio host and control host are the same device Local Device For this route, it is assumed that the host device is also the device that is providing audio to the XVF 8 , through e.g.
  • Page 38 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. . : Top-level diagram of a system where the audio host and control host are separate devices Remote Device For this route, it is assumed that a rd device is acting as the audio source (here termed the “audio host”).
  • Page 39: Noise Suppression

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide PP_GAMMA_E and PP_GAMMA_ENL The objective of tuning these two parameters is the removal of echoes to pass Teams EQUEST and ECC speci cations. Ensure that this tuning step takes place in an ane- choic or mildly reverberant environment, with an RT6 less than .
  • Page 40: Attns

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide noise further. Reducing this parameter may introduce or increase distortion in near-end speech; ensure that a balance is struck between speech quality and stationary noise suppression. Note next the presence of non-stationary noise.
  • Page 41: . .8.6 Path Change Detection

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide usually speci ed as a ratio between this value and the averaged value obtained with the near-end signal at a range of low levels.
  • Page 42 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • • • • Warning: All the parameters in the les above must be set; failure to do this can lead to unexpected behaviour of the device, such as uninitialized start-up values.
  • Page 43 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide # Exactly GPIO_NUM_INPUT_PINS pins should be defined here lists the settings of all the GPO pins and ports. The XVF 8 device has one 8-bit port designated for GPO.
  • Page 44 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide (continued from previous page) # GPO_LED_RED_PIN # GPO_LED_GREEN_PIN Note: When the default parameters are changed, it is necessary to rebuild the application and reload onto the XVF 8 as described in the following section.
  • Page 45: Building The Application Firmware

    XMOS tools XTC Tools . .x : This is the XMOS toolchain which allows users to compile, link, deploy and debug applica- tions on all XMOS processors. The XTC Tools can be downloaded from https://www.xmos.ai/software-tools/...
  • Page 46: Xvf

    This section describes how to use the second package. Release packages can be obtained from https://www.xmos.ai/ or your XMOS representative. Load ZIP archive onto your development platform and expand the archive into a convenient directory. The contents of the source release package are shown below: The user modi able code is found in the folder.
  • Page 47: Image Names

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table . : Build-time combinable parameters Parameter Options Abbreviation Notes Device con guration INT-Device -intdev -lr 6 I S LR clock rate Select sampling rate for I S interface;...
  • Page 48: Set Up The Environment

    Prerequisites To build the XVF 8 application, open a command-line terminal and ensure that the XMOS tools are con g- ured in the environment. This can be checked by typing: which should display the tools version information. If this does not happen please consult the section of https://www.xmos.ai/software-tools/...
  • Page 49: Installing The Executable Image

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Installing the Executable Image Two methods exist to install on the XVF 8 hardware the executable image created in the previous section, using the tools that are suppled in the XTC Tools suite.
  • Page 50: Using A Spi Boot File

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Using a SPI Boot File The SPI boot process is documented in the XVF 8 datasheet. An example python script is provided in...
  • Page 51: Some Acoustic Design Guidelines

    6 Some Acoustic Design Guidelines This chapter presents a brief guide to a number of introductory acoustic considerations that designers should take into account when integrating the XVF 8 into their end product. It should be stressed that a more ideal acoustic design will result in fewer compromises needing to be made whilst con guring the XVF 8 .
  • Page 52 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide The aperture de nes the low frequency limit, based on the ability to measure a phase difference between the microphones. So when the wavelength is much larger than the array aperture, the phase (and signal) at each microphone is nearly identical and its impossible to differentiate between the two signals.
  • Page 53: Loudspeaker(S)

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Fig. 6. : Sample coherence plot between two microphones, where the blue line is real data and the red line is a theoretical coherence between two perfect microphones recording diffuse noise Loudspeaker(s) The loudspeaker, power ampli er and DAC are considered together as the playback path of the product.
  • Page 54: Enclosure And Mounting

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide as far away as feasible. Isolation may take the form of mechanical decoupling from the rest of the enclosure and/or the use of soundproo ng material between loudspeakers and the microphones. Additionally, product enclosures should be designed in such a manner as not to introduce non-linear effects;...
  • Page 55: Dfu Operations (Ua Only)

    . Connect the XVF 8 board to the host PC using a USB cable. . If some USB driver has been installed for the XMOS Control (Interface ) as described in xvf_host appli- setup, the device must be disabled by using Device Manager: cation a.
  • Page 56: Generation Of Binary Upgrade Image

    Manager . Download the third-party installation tool Zadig from https://zadig.akeo.ie/. . Open Zadig and select XMOS DFU Factory (Interface ) from the list of devices. If the device is not present, ensure Options -> List All Devices is checked. . Select WinUSB from the list of drivers.
  • Page 57: Examples Of Dfu Operations

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide • M is minor • P is patch is the path to the .xe application to convert. is the path to the binary to generate.
  • Page 58: Reboot The Device

    The DFU upload operation allows the user to read the factory and upgrade images of the XVF 8 -UA. This feature is useful for debugging purposes, for example to provide XMOS with the exact rmware used on a device. The command to do that is the following:...
  • Page 59: Appendix - Control Commands

    8 APPENDIX – Control Commands There are a number of control commands available for use with the XVF 8 . These are detailed using the option of the Host Application, but may also be found below for reference. Note that all parameters in this appendix will be reset to their default values on a device reset.
  • Page 60 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table 8. – continued from previous page Command name Read / Params Param Description Write format AEC_NUM_MICS READ Number of microphone inputs into the AEC...
  • Page 61 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table 8. – continued from previous page Command name Read / Params Param Description Write format PP_MIN_NS READ / Gain- oor for stationary noise suppres- WRITE sion.
  • Page 62 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table 8. – continued from previous page Command name Read / Params Param Description Write format PP_ATTNS_SLOPE READ / Determines the extra amount of suppres-...
  • Page 63: Device Metadata Commands

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Device Metadata Commands These commands focus on querying the device’s metadata, e.g. software version, boot status, and build information. Table 8. : Metadata control commands...
  • Page 64: Audio Manager Commands

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Audio Manager Commands These commands are targeted toward setting and retrieving various options around the audio path into and out of the device, including setting I S loopback modes and debug “packed” IO modes. Includes diagnostic data on idle times for both the audio manager core and the I S core.
  • Page 65 XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide Table 8. – continued from previous page Command name Read / Params Param Description Write format AUDIO_MGR_OP_L READ / uint8 <category>, <source>; Sets category and WRITE source for L output channel.
  • Page 66: Gpio Commands

    XMOS XVF 8 XMOS XVF 8 XMOS XVF 8 - User Guide - User Guide - User Guide GPIO Commands These commands set up and manipulate various functions of the device’s GPO and GPI services. Table 8. : GPIO control commands...
  • Page 67 , All Rights Reserved. XMOS Ltd. is the owner or licensee of this design, code, or Information (collectively, the “Information”) and is providing it to you “AS IS” with no warranty of any kind, express or implied and shall have no liability in relation to its use.

Table of Contents