Libdabdemod
(→API Description: Add AddServiceComponent() description) |
(Added flow charts) |
(3 intermediate revisions by one user not shown) |
Latest revision as of 21:06, 15 February 2016
Contents |
[edit] Introduction
libdabdemod is a library that demodulates the digital OFDM DAB signal and outputs the digital DAB stream. At the moment this library is in the concept phase.
[edit] Usage
[edit] Tune to a specific frequency
This flowchart shows how to tune to a specific frequency or channel.
[edit] Tune to a specific service channel
This flowchart shows how to tune to a specific service channel.
[edit] API Description
DemodError LibDABDemod::SetDevice(LibSDRSource* libSDRSource)
Description | Sets the SDR driver source from the library libsdrsource. |
Parameter | libSDRSource: libsdrsource object |
return | Error code enum object |
DemodError LibDABDemod::OpenDevice(void)
Description | Opens the device |
Parameter | none |
return | Error code enum object |
DemodError LibDABDemod::CloseDevice(void)
Description | Closes the device |
Parameter | none |
return | Error code enum object |
DemodError LibDABDemod::Start(void)
Description | Starts the OFDM demodulation |
Parameter | none |
return | Error code enum object |
DemodError LibDABDemod::Stop(void)
Description | Stops the OFDM demodulation |
Parameter | none |
return | Error code enum object |
DemodError LibDABDemod::SetFrequency(int32_t FrequencyKHz)
Description | Sets the channel frequency in kHz |
Parameter | FrequencyKHz: Channel frequency in kHz |
return | Error code enum object |
DemodError LibDABDemod::SetChannel(string Channel)
Description | Sets the channel (Band III: 5A to 13F; L band: LA to LP) |
Parameter | Channel: Channel string e.g. |
return | Error code enum object |
DemodError LibDABDemod::GetFrequency(int32_t* FrequencyKHz)
Description | Gets the current frequency |
Parameter | FrequencyKHz: Pointer to frequency in KHz |
return | Error code enum object |
DemodError LibDABDemod::GetChannel(string* Channel)
Description | Gets the current channel |
Parameter | Channel: Channel string e.g. “5A” |
return | Error code enum object |
DemodError LibDABDemod::GetSignalStatus(CSignalStatus* SignalStatus)
Description | Gets the current signal status |
Parameter | SignalStatus: Pinter to signal status object. |
return | Error code enum object |
DemodError LibDABDemod::RemoveServiceComponent(CServiceComponent ServiceComponent)
Description | Removes a selected service component |
Parameter | ServiceComponent: Service component object |
return | Error code enum object |
CServiceComponent LibDABDemod::AddServiceComponent(char mode, char SubChId, short StartCU, char UEP_EEP, char UEPTabldx, char EEPIdx, short CUNum, short PacketAddr, char FECScheme)
Description | Adds a service component |
Parameter | Mode: DAB Mode. 0: DAB audio, 1: DAB+ audio, 2: packet, 3: stream SubChId: Sub-channel identifier |
return | Service component object, NULL if an error occurred |
For a detailed description please see "ETSI EN 300 401" section 6.2 "Sub-channel organization" and 6.3 "Service organization". [1]
DemodError LibDABDemod::GetServiceData(CServiceComponent ServiceComponent, CServiceData &ServiceData)
Description | Gets the data of a selected service channel. This method is blocking. It blocks until new data is available. |
Parameter | ServiceComponent: Service component buffer |
return | Error code enum object |
DemodError LibDABDemod::GetFICData(CFICData &FICData)
Description | Gets the FIC data. This method is blocking. It blocks until new data is available. |
Parameter | FICData: FIC data buffer |
return | Error code enum object |