Sonifex PC-DAB1-4 User manual

Manufacturers of audio & video
products for radio & TV broadcasters
PC-DAB1-4
Multi-Ensemble DAB+/DAB
Radio Capture PCle Card
HANDBOOK

PC-DAB1-4 Handbook
Made in the UK by
This handbook is for use with the following product:
PC-DAB1-4 Multi-Ensemble DAB+/DAB Radcap PCle Card
Stock Code: 30-402
©Sonifex Ltd, 2014
All Rights Reserved
Revision 1.00, October 2014
Sonifex Ltd, 61, Station Road, Irthlingborough,
Northants, NN9 5QE, England.
Tel: +44 (0)1933 650 700
Fax: +44 (0)1933 650 726
Website: http://www.sonifex.co.uk
Information in this document is subject to change without notice and does not represent a
commitment on the part of the vendor. Sonifex Ltd shall not be liable for any loss or damage
whatsoever arising from the use of information or any error contained in this manual.
No part of this manual may be reproduced or transmitted in any form or by any means, electronic
or mechanical, including photocopying, recording, information storage and retrieval systems, for any
purpose other than the purchaser’s personal use, without the express written permission of Sonifex
Ltd. Unless otherwise noted, all names of companies, products and persons contained herein are part
of a completely fictitious adaptation and are designed solely to document the use of Sonifex product.

Contents
Contents
Product Warranty - 2 Year Extended ii
Sonifex Warranty & Liability Terms & Conditions ii
1. Definitions ii
2. Warranty ii
Unpacking Your Product iv
Repairs & Returns iv
CE Declaration of Conformity and Approval Information v
WEEE Directive vi
RoHS Directive vi
Atmosphere vi
Electromagnetic Compatibility vi
System Requirements 1
Specifications 2
Installation 2
Antenna 2
Configuration 3
Recording 3
Monitor Application 4
Support 4
Technical Specification For PC-DAB1-4 5
Appendix A – Programming the Multi-Ensemble DAB+ Radcap 6
Card-Centric Functions 6
Service-Centric Functions 9
Appendix B – DAB Channel Numbers 12
MP2 Audio Decoder 13
Reed-Solomon Error Correction 13
aacPlus-v2 Audio Decoder 13
Appendix C – Copyright Notices 13

Figures
Figures
Fig 1-1: Multi-ensemble DAB+ Radcap Properties Screen 3
Fig 1-2: DAB+ Radcap Monitor Screen 4

Warranty Registration
Sonifex Limited 61 Station Road Irthlingborough Northamptonshire NN9 5QE United Kingdom
Tel: +44 (0)1933 650 700 Fax: +44 (0)1933 650 726 Email: technical.support@sonifex.co.uk Internet: www.sonifex.co.uk
As standard, Sonifex products are supplied with a 1 year back to base warranty.
If you register the product online, you can increase your product warranty to
2 years and we can also keep you informed of any product design improvements
or modifications.
To register your product, please go online to www.sonifex.co.uk/register
Register Online for an
Extended 2 Year Warranty

ii
Warranty
Product Warranty - 2 Year Extended
As standard, Sonifex products are supplied with a 1 year back to base
warranty. In order to register the date of purchase and so that we can keep
you informed of any product design improvements or modifications, it is
important to complete the warranty registration online. Additionally, if you
register the product on the Sonifex website within 30 days of purchase, you
can increase your product warranty to 2 years. Go to the Sonifex website at:
http://www.sonifex.co.uk/technical/register/index.asp to apply for your 2
year warranty.
Note: For your own records the product serial number is recorded on the
CE certification page of this handbook.
Sonifex Warranty & Liability Terms & Conditions
1. Definitions
‘the Company’ means Sonifex Ltd and where relevant includes companies
within the same group of companies as Sonifex Limited.
‘the Goods’ means the goods or any part thereof supplied by the Company
and where relevant includes: work carried out by the Company on items
supplied by the Purchaser; services supplied by the Company; and software
supplied by the Company.
‘the Purchaser’ means the person or organisation who buys or has agreed
to buy the Goods.
‘the Price’ means the Price of the Goods and any other charges incurred by
the Company in the supply of the Goods.
‘the Warranty Term’ is the length of the product warranty which is usually
12 months from the date of despatch; except when the product has been
registered at the Sonifex website when the Warranty Term is 24 months
from the date of despatch.
‘the Contract’ means the quotation, these Conditions of Sale and any
other document incorporated in a contract between the Company and the
Purchaser.
This is the entire Contract between the parties relating to the subject
matter hereof and may not be changed or terminated except in writing in
accordance with the provisions of this Contract. A reference to the consent,
acknowledgement, authority or agreement of the Company means in
writing and only by a director of the Company.
2. Warranty
a. The Company agrees to repair or (at its discretion) replace Goods
which are found to be defective (fair wear and tear excepted) and
which are returned to the Company within the Warranty Term
provided that each of the following are satisfied:
i. notification of any defect is given to the Company immediately
upon its becoming apparent to the Purchaser;
ii. the Goods have only been operated under normal operating
conditions and have only been subject to normal use (and
in particular the Goods must have been correctly connected
and must not have been subject to high voltage or to ionising
radiation and must not have been used contrary to the
Company’s technical recommendations);
iii. the Goods are returned to the Company’s premises at the
Purchaser’s expense;
iv. any Goods or parts of Goods replaced shall become the
property of the Company;
v. no work whatsoever (other than normal and proper
maintenance) has been carried out to the Goods or any part of
the Goods without the Company’s prior written consent;

iii
Warranty
vi. the defect has not arisen from a design made, furnished or
specified by the Purchaser;
vii. the Goods have been assembled or incorporated into other
goods only in accordance with any instructions issued by the
Company;
viii. the defect has not arisen from a design modified by the
Purchaser;
ix. the defect has not arisen from an item manufactured by
a person other than the Company. In respect of any item
manufactured by a person other than the Company, the
Purchaser shall only be entitled to the benefit of any warranty or
guarantee provided by such manufacturer to the Company.
b. In respect of computer software supplied by the Company the
Company does not warrant that the use of the software will be
uninterrupted or error free.
c. The Company accepts liability:
(i) for death or personal injury to the extent that it results from the
negligence of the Company, its employees (whilst in the course
of their employment) or its agents (in the course of the agency);
(ii) for any breach by the Company of any statutory undertaking as
to title, quiet possession and freedom from encumbrance.
c. Subject to conditions (a) and (c) from the time of despatch of
the Goods from the Company’s premises the Purchaser shall be
responsible for any defect in the Goods or loss, damage, nuisance
or interference whatsoever consequential economic or otherwise or
wastage of material resulting from or caused by or to the Goods. In
particular the Company shall not be liable for any loss of profits or
other economic losses. The Company accordingly excludes all liability
for the same.
e. At the request and expense of the Purchaser the Company will test
the Goods to ascertain performance levels and provide a report of
the results of that test. The report will be accurate at the time of the
test, to the best of the belief and knowledge of the Company, and the
Company accepts no liability in respect of its accuracy beyond that
set out in Condition (a).
f. Subject to Condition (e) no representation, condition, warranty or
other term, express or implied (by statute or otherwise) is given by
the Company that the Goods are of any particular quality or standard
or will enable the Purchaser to attain any particular performance
or result, or will be suitable for any particular purpose or use
under specific conditions or will provide any particular capacity,
notwithstanding that the requirement for such performance, result or
capacity or that such particular purpose or conditions may have been
known (or ought to have been known) to the Company, its employees
or agents.
g. (i) To the extent that the Company is held legally liable to the
Purchaser for any single breach of contract, tort, representation
or other act or default, the Company’s liability for the same
shall not exceed the price of the Goods.
(ii) The restriction of liability in Condition (g)(i) shall not apply to
any liability accepted by the Seller in Condition (c).
h. Where the Goods are sold under a consumer transaction (as defined
by the Consumer Transactions (Restrictions on Statements) Order
1976) the statutory rights of the Purchaser are not affected by these
Conditions of Sale.

iv
Warranty
Unpacking Your Product
Each product is shipped in protective packaging and should be inspected
for damage before use. If there is any transit damage take pictures of the
product packaging and notify the carrier immediately with all the relevant
details of the shipment. Packing materials should be kept for inspection and
also for if the product needs to be returned.
The product is shipped with the following equipment so please check to
ensure that you have all of the items below. If anything is missing, please
contact the supplier of your equipment immediately.
Item Quantity
Product Unit 1
Handbook 1
Driver CD 1
If you require a different power lead, please let us know when ordering the
product.
Repairs & Returns
Please contact Sonifex or your supplier if you have any problems with your
Sonifex product. Email technical.support@sonifex.co.uk for the repair/
upgrade/returns procedure, or for support & questions regarding the
product operation.

v
CE Certification
61 Station Road • Irthlingborough • Northants
NN9 5QE • United Kingdom • www.sonifex.co.uk
T: +44 (0)1933 650 700 • F: +44 (0)1933 650 726
Registered Office • 61 Station Road • Irthlingborough • Registered in England 1717864 • VAT Reg No. GB 119 85 32 52
CE Declaration of Conformity and
Approval Information
Product:
Serial No:
This document certifies that the Sonifex product that you have purchased is
compliant with CE specifications. If you would like further information on
compliance of all Sonifex products, please check the website at the address
above where full information is available.
Sonifex Limited hereby certify that the following product with serial
number shown has been designed and manufactured in accordance with
the following specifications:
EMC: EN 55103-1: 1997 Electromagnetic Compatibility.
Limits of disturbance for audio apparatus for professional use
For use in environments 1 to 4.
EN 55103-2: 1997 Electromagnetic Compatibility.
Limits of disturbance for audio apparatus for professional use
For use in environments 1 to 4.
Safety: EN 60950: 1992 Safety of Information Technology Equipment
Including Electrical Business Equipment.
Hybrid BS6301, BS7002, BS415, CTR21,
Approvals: R&TTE directive (1999/5/EC)
The Reference Technical Justification File for this product is available at
Sonifex Ltd.
Authorised By:
Name: Chris Stills
Position: Technical Director
Date of Issue: 01 October 2014
Signature:

vi
Safety & Installation
Atmosphere
The units should be installed in an area that is not subject to excessive
temperature variation (<0°C, >50°C), moisture, dust or vibration.
Electromagnetic Compatibility
Warning: This is a Class A product. In a domestic environment this product
may cause radio interference in which case the user may be required to
take adequate measures.
This product complies with the relevant tested clauses of AS/NZS CISPR
22:2009 +A1:2010 and AS/NZS CISPR 13:2012.
This product complies with the relevant tested clauses of EN55022:2010,
EN55013:2013, EN55024:2010, EN61000-3-2:2009 and EN61000-3-3:2013.
Note: This equipment has been tested and found to comply with the limits
for a Class A digital device, pursuant to part 15 of the FCC Rules. These
limits are designed to provide reasonable protection against harmful
interference when the equipment is operated in a commercial environment.
This equipment generates, uses, and can radiate radio frequency energy
and, if not installed and used in accordance with the instruction manual,
may cause harmful interference to radio communications. Operation of this
equipment in a residential area is likely to cause harmful interference in
which case the user will be required to correct the interference at his own
expense.
WEEE Directive
The Waste Electrical and Electronic Equipment (WEEE)
Directive was agreed on 13 February 2003, along with the
related Directive 2002/95/EC on Restrictions of the use of
certain Hazardous Substances in electrical and electronic
equipment (RoHS). The Waste Electrical and Electronic Equipment Directive
(WEEE) aims to minimise the impacts of electrical and electronic equipment
on the environment during their life times and when they become waste.
All products manufactured by Sonifex Ltd have the WEEE directive label
placed on the case. Sonifex Ltd will be happy to give you information about
local organisations that can reprocess the product when it reaches its “end
of use”, or alternatively all products that have reached “end of use” can be
returned to Sonifex and will be reprocessed correctly free of charge.
RoHS Directive
The RoHS directive limits the use of certain hazardous
substances currently used in EEE manufacture, including
lead, mercury, cadmium, hexavalent chromium, and
halide-containing compounds PBB (polybrominated biphenyl) and PBDE
(polybrominated diphenyl ether). Elimination of these substances will result
in more environmentally friendly recycling of electronic equipment.
Sonifex Ltd practices lead-free (LF) manufacturing processes and does not
use any of the hazardous substances identified in the European Union’s
Restriction of Hazardous Substances (RoHS) directive. The manufacturing
processes include the assembly of purchased components from various
sources. Product is offered as RoHS compliant, or LF, only after sufficient
evidence is received from the component manufacturers that their
components are RoHS compliant. Sonifex Ltd relies solely on the distributor,
or manufacturer, of the components for identification of RoHS compliance.
Thus whilst every effort is made to ensure compliance, Sonifex Ltd makes
no warranty, or certification, or declaration of compliance concerning said
components.

1
Introduction 1
Introduction
The PCIe DAB+/DAB radio capture card receives and decodes the entire
contents of up to four DAB+/DAB ensembles, rendering each audio service
as a virtual Windows audio capture device for use with multi-channel
recording or monitoring software.
Broadcast data services, including DLS text and MOT slideshows, are also
available through a simple application programming interface.
The card supports both legacy DAB MP2 audio coding as well as the new
HE-AAC v2 encoding used with DAB+ broadcasts.
Any application that records from standard wave input devices can be used
to record the audio streams from the DAB+ Radcap. A recording level and
mute control are provided for each service through the devices’ mixer
ports.
A sample monitor application is included which displays a control panel
for each card and creates buttons for each audio service. When a button
is clicked, it plays the audio through the default output device while
displaying information obtained from the service and any DLS text and MOT
images being broadcast.
The number of ensembles is factory-set as 1 (PC-DAB1), 2, 3 or 4 (PC-DAB4)
but is field-expandable through a purchased expansion key. Multiple cards
can be installed, allowing simultaneous monitoring or recording of more
than four ensembles.
A sample application is provided with the card, allowing monitoring
of DAB+/DAB audio and data as well as providing diagnostic ensemble
spectrum displays, signal quality indicators and an uncorrected error
counter. Each card panel displays the ensemble name and identifier, along
with the phase reference correlator level and signal spectrum.
System Requirements
Platform: Windows Vista, Server 2008, Windows 7,
Server 2008 R2, Windows 8, Server 2012
(32-bit and 64-bit versions supported)
(Note: Windows XP and Server 2003 are not
supported)
Processor: 2GHz quad-core or better
Memory: 1GB minimum
Motherboard: PCIe socket, single lane or greater
Other: Sound card or motherboard sound port for
monitoring

2
1 Installation
Specifications
Tuning Range: Band III (174-240MHz)
DAB Format: Mode 1
RF Input: BNC connector
Number of Ensembles: Factory-configured for 1, 2, 3 or 4 (field
expandable)
Number of Services: 128 in total across all ensembles
Audio Decoding: MP2, HE-AAC v2
Audio Sampling Rate: 48kHz 16-bit stereo (other rates supported
automatically through the Windows sampling
rate converter)
Installation
The Multi-ensemble DAB+ Radcap card uses static-sensitive components.
Observe the usual precautions against static electricity when handling the
card and do not touch the PCIe edge connector contacts.
Ensure that Windows Vista / Server 2008 or a later operating system
is installed on the PC. The DAB+ Radcap cannot be used on any earlier
versions of Windows such as Windows 2000, XP or Server 2003. It is
recommended that the latest Service Pack and security updates be
installed.
Switch off the PC and unplug the power lead before inserting the card into
any vacant PCIe slot.
Restart the PC and allow Windows to boot up.
Vista, Server 2008 - Windows will report that new hardware has been
found and the New Hardware wizard will start. Insert the driver CD supplied
with the card and proceed through the wizard. Allow Windows to search for
the driver – do NOT specify a driver location or file name.
Windows 7, 8, Server 2008-R2, Server 2012 – Windows no longer searches
removable media for drivers. Open Device Manager, where the Radcap will
be listed under Other Devices as a Multimedia Audio Controller. Right-click
on it, select Update Driver Software, then click on Browse my computer for
driver software and click on the Browse button to navigate to the driver’s
location. Click on Next to install the driver.
Windows may warn that the driver being installed has not been certified
by Microsoft, which is true. Click on Continue to complete the installation.
The drivers are digitally signed by Innes Corporation as required by 64-bit
Windows Vista and later systems.
Some older processors offer hyperthreading, which is a limited form of
multiprocessing. However, elements of the processor, such as the floating
point unit and memory cache, are shared between the executing threads,
and this can cause a high priority thread, such as an audio processing
thread, to be blocked by a lower priority thread that’s using the shared
resource. This can result in skipping during audio recording and gaps during
playback. If this problem occurs, we recommend that hyperthreading be
disabled in the motherboard BIOS. Note that this problem doesn’t occur
with true multi-core processors.
Antenna
The DAB+ Radcap requires an external vertically polarised antenna to
receive the stations. The type of antenna needed depends on the signal
levels in the area in which it is being used. A splitter may be used to feed a
single antenna into multiple cards, but a masthead amplifier may then be
needed to compensate for the splitter losses. If using an amplifier, take care
not to overdrive the cards as performance will be severely degraded. The
minimum gain needed to provide good reception on the weakest ensemble
being monitored should be used, and in some applications one or more
directional antennas may be required.
We strongly recommend fitting an external lightning suppressor to
minimise the risk of damage to the card.
Do not use a horizontally polarised TV antenna with the DAB+ Radcap, as
the DAB signals are likely to be overloaded by adjacent television services.

3
Configuration 1
Configuration
To set the card’s ensemble channels, open Control Panel and double-click
on Sounds and Multimedia, click on the Hardware tab, select Multi-
ensemble DAB+ Radcap and click on Properties. In the Properties window
click on the Configuration tab and select the required channels from the
drop-down lists.
For each ensemble, if a signal is present, the ensemble RF spectrum,
RF signal level and phase reference correlator level are shown, with the
broadcast ensemble name appearing on the surrounding box.
Each channel must be set to a different ensemble.
Once the ensemble is set and the card is receiving a satisfactory signal,
the audio services on the ensemble will appear as Windows audio input
devices, using the names broadcast for the services.
The Device Mapping setting determines how the driver will behave when
services are added or removed from ensembles. If Dynamic is selected,
the corresponding audio devices will be added or removed, but if Static is
selected, the audio devices will remain unchanged until the next reboot
(although audio will be unavailable on any removed services).
The card is factory-configured for 1, 2, 3 or 4 ensembles. For an additional
charge, the number of ensembles can be increased in the field by applying
the appropriate expansion key. Contact Sonifex Ltd or your distributor and
quote the displayed Hardware ID number and your required number of
ensembles.
Recording
Any application that records from standard wave input devices can be used
to record the audio streams from the Multi-ensemble DAB+ Radcap.
Make sure the recording software you are using allows you to select the
audio input devices.
A recording level and mute control are provided for each service through
the devices’ mixer ports.
If recording a large number of channels using any form of audio
compression, be sure to allow sufficient processing power to both capture
the audio and compress it. The Performance Monitor in Windows’ Task
Manager provides a useful guide to CPU loading. Regrettably at this time,
Fig 1-1: Multi-ensemble DAB+ Radcap Properties Screen

4
1 Configuration
the Windows audio subsystem does not support recording directly in the
DAB+ / DAB native AAC or MP2 compressed formats.
Monitor Application
A simple monitor application is included in the distribution package, along
with its C++ source code utilising the DAB+ Radcap programming API
documented in Appendix A. Two versions are supplied, one based on the
WinMM (wave) API and the other on DirectShow.
Fig 1-2: DAB+ Radcap Monitor Screen
The application displays a control panel for each ensemble and creates
buttons for each audio service. When a button is clicked, it plays the audio
through the default output device while displaying information obtained
from the service and any DLS text and MOT images being broadcast.
Each ensemble panel displays the ensemble name and identifier, along with
the phase reference correlator level and signal spectrum. A drop-down list
allows the ensemble channel to be set.
The buttons corresponding to each audio service are sorted by service ID
number (SId). The application periodically scans the list of audio capture
devices, adding, removing or renaming buttons as required.
Support
For all support matters, go to www.sonifex.co.uk and click on Technical
Support, then Software Downloads. Software and driver updates will be
made available from time to time and will be placed on this website.

5
Technical Specification 2
Technical Specification For PC-DAB1-4
Operating Systems Supported
Platform: Windows Vista, Server 2008, Windows 7,
Server 2008 R2, Windows 8, Server 2012
(32-bit and 64-bit versions supported)
(Note: Windows XP and Server 2003 are not
supported)
Processor: 2GHz quad-core or better
Memory: 1GB minimum
Motherboard: PCIe socket, single lane or greater
Other: Sound card or motherboard sound port for
monitoring
Specification
Tuning Range: Band III (174-240 MHz)
DAB Format: Mode 1
RF Input: BNC connector
PCIe Interface: Single lane PCIe 1.1
Number of Ensembles: Factory-configured for 1, 2, 3 or 4
ensembles (field-expandable for an additional
fee)
Total Number
of Services: 128
Error Correction: Soft-decision Viterbi inner decoder, Reed
Solomon outer decoder
Audio Decoding: MP2 and HE-AAC v2
Audio Format: 48kHz 16-bit stereo (other application sampling
rates and bit depths supported through the
Windows SRC) (24kHz and 32kHz services are
internally up-converted to 48kHz)
Decoding Latency: 3 seconds
Equipment Type
PC-DAB1 Radcap DAB+PCIe Radio Capture Card - 1
ensemble
PC-DAB2 Radcap DAB+PCIe Radio Capture Card - 2
ensembles
PC-DAB3 Radcap DAB+PCIe Radio Capture Card - 3
ensembles
PC-DAB4 Radcap DAB+PCIe Radio Capture Card - 4
ensembles
PC-DABUP Radcap DAB+ 1 Ensemble Upgrade
Physical Specification
Dimensions (Raw): 14cm (L) x 12.5cm (H) x 2cm (D)
5.5” (L) x 4.9” (H) x 0.8” (D)
Dimensions (Boxed): 27cm (L) x 22.5cm (H) x 6cm (D)
10.6” (L) x 8.9” (H) x 2.4” (D)
Weight: Nett: 0.10kg Gross: 0.20kg
Nett: 0.2lbs Gross: 0.4lbs

3 Appendix A – Programming the Multi-ensemble DAB+ Radcap
6
On the driver CD under \DAB Radcap\API you will find DABRadcap.dll,
DABRadcap.exp, DABRadcap.lib and DABRadcap.h, which can be used
with application programs to obtain information about each service
while reading the transmitted FPAD and XPAD information. The functions
exported by the DLL are grouped into card-centric and service-centric
operations.
The card-centric functions require a card identifier number in the range
0 to CardCount-1, and, for ensemble-specific functions, an ensemble
number in the range 0 to the one less than the number of ensembles on
that card. They support operations related to the hardware, including
setting and retrieving the tuner channel, monitoring the phase reference
symbol correlator and signal spectrum, and retrieving the tuned ensemble
identifier and name.
The service-centric functions are accessed using a handle returned by
DabRadcapOpen (), which takes a Windows wave capture device ID number,
or DabRadcapOpenFromDirectShow, which takes an IBaseFilter interface
pointer. Be aware that wave ID numbers are dynamic, and can change as
devices are added or removed, or if the user changes the default capture
device. The returned handle will remain associated with a given service
regardless of any changes to the wave ID numbers, however once the
handle is closed, it must not be assumed that calling this function again
with the same wave ID will access the same service as previously obtained.
For applications using DirectSoundCapture, the system property
DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION returns the wave input
ID number for a given DirectSoundCapture GUID. Refer to System Property
Sets in the DirectSound documentation for details. Be aware that, like wave
input ID numbers, DirectSoundCapture GUIDs may change as devices are
added or removed and should not be assumed to be static within a session.
Overlapped I/O should be used with the DabRadcapGetPAD () function, as
this does not return data immediately but waits until the next block of data
is received. Multiple buffers should be used to avoid loss of data. Refer to
the PadThread () function in the sample monitor application to see how this
is implemented.
The functions DabRadcapGetCardEnsembleInformation,
DabRadcapGetEnsembleInformation and DabRadcapGetServiceInformation
have been replaced with Unicode versions which take pointers to
EnsembleIdentificationW or ServiceInfoW respectively. Although the older
functions are still available in the API, new applications should use the new
versions as they fully support the Charset information broadcast with the
underlying text fields.
Card-Centric Functions
UINT __stdcall DabRadcapGetNumberOfCards ();
Return value
If the function succeeds, the return value is the number of DAB+
Radcap cards installed in the PC. If the function fails, or if no cards
are installed, the return value is 0. To get extended error information,
call GetLastError.
Comments
Subsequent calls to card-centric functions should pass a card number in
the range zero to one less than the return value of this function.
Appendix A – Programming the Multi-Ensemble DAB+ Radcap

7
Appendix A – Programming the Multi-ensemble DAB+ Radcap 3
UINT __stdcall DabRadcapGetCardEnsembles (
UINT CardNum);
Return value
If the function succeeds, the return value is the number of ensembles
available on the specified card. If the function fails, the return value is
0. To get extended error information, call GetLastError.
Comments
Subsequent calls to card-centric functions should pass an ensemble
number in the range zero to one less than the return value of this
function.
UINT __stdcall DabRadcapGetCardChannel (
UINT CardNum,
UINT EnsembleNum);
Parameters
CardNum
Card identifier in the range zero to one less than the number of
DAB+ Radcap cards.
EnsembleNum
Ensemble number in the range zero to one less than the number of
ensembles on the specified card.
Return value
The return value is the channel to which the card is tuned. The channel
numbers used in this function correspond to European DAB channel
designators and nominal centre frequencies according to the table in
Appendix B.
BOOL __stdcall DabRadcapSetCardChannel (
UINT CardNum,
UINT EnsembleNum,
UINT Channel);
Parameters
CardNum
Card identifier in the range zero to one less than the number of
DAB+ Radcap cards.
EnsembleNum
Ensemble number in the range zero to one less than the number of
ensembles on the specified card.
Channel
Channel number (refer to Appendix B).
Return value
If the function succeeds the return value is TRUE.
If the function fails, the return value is FALSE. To get extended error
information, call GetLastError.
BOOL __stdcall DabRadcapGetCardEnsembleInformationW (
UINT CardNum,
UINT EnsembleNum,
EnsembleIdentificationW *pInfo);
Parameters
CardNum
Card identifier in the range zero to one less than the number of
DAB+ Radcap cards.
EnsembleNum
Ensemble number in the range zero to one less than the number of
ensembles on the specified card.
pInfo
Pointer to an EnsembleIdentificationW structure which receives
the requested information.
Return value
If the function succeeds the return value is TRUE.
If the function fails, the return value is FALSE. To get extended error

3 Appendix A – Programming the Multi-ensemble DAB+ Radcap
8
information, call GetLastError.
Comments
This function returns the Ensemble ID, label and label mask that is
being broadcast. If this information is unavailable, the Ensemble ID is
set to zero.
UINT __stdcall DabRadcapGetCardSignalStrength (
UINT CardNum,
UINT EnsembleNum);
Parameters
CardNum
Card identifier in the range zero to one less than the number of
DAB+ Radcap cards.
EnsembleNum
Ensemble number in the range zero to one less than the number of
ensembles on the specified card.
Return value
The return value is the relative received signal strength in decibels. The
0dB reference level is not well defined due to variations in receiver
front-end gain, but is of the order of 3µV RMS.
UINT __stdcall DabRadcapGetCardPhaseReferenceCorrelator (
UINT CardNum,
UINT EnsembleNum);
Parameters
CardNum
Card identifier in the range zero to one less than the number of
DAB+ Radcap cards.
EnsembleNum
Ensemble number in the range zero to one less than the number of
ensembles on the specified card.
Return value
The return value is the phase reference symbol correlator level, in the
range 0 to 100 where 100 corresponds to perfect correlation.
BOOL __stdcall DabRadcapGetCardSpectrum (
UINT CardNum,
UINT EnsembleNum
float *SpectrumArray,
SIZE_T SpectrumArraySize);
Parameters
CardNum
Card identifier in the range zero to one less than the number of
DAB+ Radcap cards.
EnsembleNum
Ensemble number in the range zero to one less than the number of
ensembles on the specified card.
SpectrumArray
Pointer to an array of 2048 floats into which the spectrum data is
written.
SpectrumArraySize
The size in bytes of the array to which SpectrumArray points.
Return value
If the function succeeds the return value is TRUE.
If the function fails, the return value is FALSE. To get extended error
information, call GetLastError.
Comments
The values written into SpectrumArray represent decibels in the range
0 to 60. The first element in the array represents the lowest frequency
in the tuner passband. The frequency spacing is 1kHz, thus the
returned data spans a frequency range of 2048kHz.

9
Appendix A – Programming the Multi-ensemble DAB+ Radcap 3
Service-Centric Functions
Note: DabRadcapOpen should be used in applications based on the
WinMM wave API, while DabRadcapOpenFromDirectShow should be used
in DirectShow applications.
HANDLE __stdcall DabRadcapOpen (
UINT waveInID );
Parameters
waveInID
waveIn device identifier.
Return value
If the function succeeds, the return value is a handle for use with other
DabRadcap API calls. If the function fails, the return value is INVALID
HANDLE_VALUE. To get extended error information, call GetLastError.
If the audio capture device isn’t a DAB service, the extended error code
is ERROR_SET_NOT_FOUND.
Comments
Use the CloseHandle function to close the object handle that
DabRadcapOpen returns.
HANDLE __stdcall DabRadcapOpenFromDirectShow (
IFilterBase *pFilterObject );
Parameters
pFilterObject
The IBaseFilter object representing the audio capture device.
Return value
If the function succeeds, the return value is a handle for use with other
DabRadcap API calls. If the function fails, the return value is INVALID
HANDLE_VALUE. To get extended error information, call GetLastError.
If the audio capture device isn’t a DAB service, the extended error code
is ERROR_SET_NOT_FOUND.
Comments
Use the CloseHandle function to close the object handle that
DabRadcapOpenFromDirectShow returns.
Important: When enumerating audio capture devices in DirectShow,
make sure to use AM_KSCATEGORY_CAPTURE as the first parameter to
CreateClassEnumerator. Using CLSID_AudioInputDeviceCategory will
create a wrapper around the Wave API, making the underlying filter
handle inaccessible.
BOOL __stdcall DabRadcapGetEnsembleInformationW (
HANDLE hDev,
EnsembleIdentificationW *pInfo);
Parameters
hDev
Handle returned by DabRadcapOpen.
pInfo
Pointer to an EnsembleIdentificationW structure which receives
the requested information.
Return value
If the function succeeds the return value is TRUE.
If the function fails, the return value is FALSE. To get extended error
information, call GetLastError.
Comments
This function returns the Ensemble ID, label and label mask that is
being broadcast. If this information is unavailable, the Ensemble ID is
set to zero.

3 Appendix A – Programming the Multi-ensemble DAB+ Radcap
10
BOOL __stdcall DabRadcapGetServiceInformationW (
HANDLE hDev,
ServiceInfoW *pInfo);
Parameters
hDev
Handle returned by DabRadcapOpen.
pInfo
Pointer to a ServiceInfoW structure which receives the requested
information.
Return values
If the function succeeds the return value is TRUE.
If the function fails, the return value is FALSE. To get extended error
information, call GetLastError.
BOOL __stdcall DabRadcapGetPAD (
HANDLE hDev,
PAD *pPad,
OVERLAPPED *pOverlap);
Parameters
hDev
Handle returned by DabRadcapOpen.
pPAD
Pointer to a PAD structure which receives the next broadcast FPAD
and XPAD contents.
pOverlap
Pointer to an OVERLAPPED structure. For overlapped operations,
DabRadcapGetPAD returns immediately, and the event object is
signalled when the operation has been completed. Otherwise, the
function does not return until the operation has been completed
or an error occurs.
Return values
If the function succeeds the return value is TRUE.
If the operation fails or is pending, the return value is FALSE. To get
extended error information, call GetLastError, which returns ERROR
IO_PENDING if an overlapped operation is pending.
Comments
Refer to Radio Broadcasting Systems; Digital Audio Broadcasting
(DAB) to mobile, portable and fixed receivers (ETSI EN 300 401) for
details on how to interpret FPAD and XPAD information. Refer to Digital
Radio Broadcasting; Multimedia Object Transfer (MOT) protocol (ETSI
EN 301 324) for details on decoding MOT information.
The audio stream must be open and running in order to receive PAD data,
otherwise this call will fail and GetLastError will return ERROR_NOT_READY.
Because PAD information is transmitted frequently (every 24ms for DAB or
120ms for DAB+), the use of multiple buffers and overlapped I/O is strongly
recommended to avoid loss of data.
BOOL __stdcall DabRadcapGetServiceStatus (
HANDLE hDev,
ServiceStatus *pStatus );
Parameters
hDev
Handle returned by DabRadcapOpen.
pStatus
Pointer to a ServiceStatus variable into which the result is to be
written.
Return values
If the function succeeds the return value is TRUE.
Table of contents
Other Sonifex PCI Card manuals