Sonifex PC-DAB1-4 Handbook

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
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
Email: sales@sonifex.co.uk
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.
11
Appendix A – Programming the Multi-ensemble DAB+ Radcap 3
If the operation fails the return value is FALSE. To get extended error information, call GetLastError ().
Comments If this function returns FALSE or if the status is ServiceStatusLost, the application should immediately cease any recording operations, close any open waveIn handle on this device and call CloseHandle to close hDev.
A status value of ServiceStatusAbsent typically indicates a momentary loss of signal.
A status value of ServiceStatusPresent indicates that the signal is being correctly received.
UINT __stdcall DabRadcapGetUncorrectedErrorCount (
HANDLE hDev );
Parameters hDev Handle returned by DabRadcapOpen.
Return value The function returns the number of uncorrected errors since the stream was opened.
BOOL __stdcall DabRadcapGetDateTime (
HANDLE hDev, DABDateTimeInfo *pDateTime );
Parameters hDev Handle returned by DabRadcapOpen. pDateTime Pointer to a DABDateTimeInfo structure into which the current UTC and local time is to be written.
Return values If the function succeeds the return value is TRUE.
If the operation fails the return value is FALSE. To get extended error information, call GetLastError ().
BOOL __stdcall DabRadcapGetFormat (
HANDLE hDev, DABFormat *pFormat );
Parameters hDev Handle returned by DabRadcapOpen. pFormat Pointer to a DABFormat structure into which the current audio format parameters are written.
Return values If the function succeeds the return value is TRUE.
If the operation fails the return value is FALSE. To get extended error information, call GetLastError ().
Comments The audio stream must be open and running in order to receive DABFormat data, otherwise this call will fail and GetLastError will return ERROR_NOT_READY.
4 Appendix B – DAB Channel Numbers
12
Channel Number Channel Designator Centre Frequency (MHz)
0 5A 174.928
1 5B 176.640
2 5C 178.352
3 5D 180.064
4 6A 181.936
5 6B 183.648
6 6C 185.360
7 6D 187.072
8 7A 188.928
9 7B 190.640
10 7C 192.352
11 7D 194.064
12 8A 195.936
13 8B 197.648
14 8C 199.360
15 8D 201.072
16 9A 202.928
17 9B 204.640
18 9C 206.352
19 9D 208.064
20 10A 209.936
Appendix B – DAB Channel Numbers
Channel Number Channel Designator Centre Frequency (MHz)
21 10N 210.096
22 10B 211.648
23 10C 213.360
24 10D 215.072
25 11A 216.928
26 11N 217.088
27 11B 218.640
28 11C 220.352
29 11D 222.064
30 12A 223.936
31 12N 224.096
32 12B 225.648
33 12C 227.360
34 12D 229.072
35 13A 230.784
36 13B 232.496
37 13C 234.208
38 13D 235.776
39 13E 237.488
40 13F 239.200
13
Appendix C – Copyright Notices 5
The DAB+ Radcap driver, API library, sample programs and PCB artwork are Copyright © 2009 Sonifex Ltd. Some elements of the driver software are attributable to other individuals or companies as follows:
MP2 Audio Decoder
kjmp2 MP2 Decoder Copyright © 2006 Martin J. Fiedler, used with permission.
Reed-Solomon Error Correction
Reed-Solomon decoder Copyright © 2004 Phil Karn, KA9Q, used under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February
1999. The library source code and licence text is included in the DAB+ Radcap distribution package.
aacPlus-v2 Audio Decoder
FAAD2 aacPlus-v2 Decoder Copyright © 2003-2005 M. Bakker, Nero AG used under commercial licence.
Appendix C – Copyright Notices
www.sonifex.co.uk
t:+44 (0)1933 650 700 f:+44 (0)1933 650 726
sales@sonifex.co.uk
Loading...