1 /******************************************************************************\
2  * Technische Universitaet Darmstadt, Institut fuer Nachrichtentechnik
3  * Copyright (c) 2001
4  *
5  * Author(s):
6  *	Volker Fischer
7  *
8  * Adapted for ham sstv use Ties Bos - PA0MBo
9  *
10  * Description:
11  *	DRM global definitions
12  *
13  ******************************************************************************
14  *
15  * This program is free software; you can redistribute it and/or modify it under
16  * the terms of the GNU General Public License as published by the Free Software
17  * Foundation; either version 2 of the License, or (at your option) any later
18  * version.
19  *
20  * This program is distributed in the hope that it will be useful, but WITHOUT
21  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
23  * details.
24  *
25  * You should have received a copy of the GNU General Public License along with
26  * this program; if not, write to the Free Software Foundation, Inc.,
27  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28  *
29 \******************************************************************************/
30 
31 #if !defined(TABLE_DRM_GLOB_H__3B0_CA63_4344_BB2B_23E7912__INCLUDED_)
32 #define TABLE_DRM_GLOB_H__3B0_CA63_4344_BB2B_23E7912__INCLUDED_
33 
34 
35 /* Definitions ****************************************************************/
36 /* We define a "virtual" intermedia frequency for the DC carrier in the range
37    of the FFT-size. This IF is independent of the "real" IF defined by the
38    frequency estimation acquisition unit. Here, we are constrained to certain
39    numbers to get continuous signals like they are defined in the DRM-standard,
40    i.e. the frequency pilots which have to be continuous. Our IF must be a
41    multiple of 1500 Hz and must also be chosen so that the largest mode (20 kHz)
42    must fit into the range of the FFT-size. Therefore 6000 Hz was chosen */
43 #define VIRTUAL_INTERMED_FREQ			6000	// Hz
44 
45 #define SOUNDCRD_SAMPLE_RATE			48000	// Hz  pa0mbo was 48000
46 
47 #define AUD_DEC_TRANSFORM_LENGTH             960
48 
49 /* DRM parameters */
50 #define NUM_FRAMES_IN_SUPERFRAME		3
51 
52 #define RMA_FFT_SIZE_N					1152	// RMB: Robustness Mode A
53 #define RMA_NUM_SYM_PER_FRAME			15
54 #define RMA_ENUM_TG_TU					1
55 #define RMA_DENOM_TG_TU					9
56 
57 #define RMB_FFT_SIZE_N					1024	// RMA: Robustness Mode B
58 #define RMB_NUM_SYM_PER_FRAME			15
59 #define RMB_ENUM_TG_TU					1
60 #define RMB_DENOM_TG_TU					4
61 
62 #define RME_FFT_SIZE_N					640		// RME: Robustness Mode E
63 #define RME_NUM_SYM_PER_FRAME			20
64 #define RME_ENUM_TG_TU					1
65 #define RME_DENOM_TG_TU					2
66 
67 #define MAX_NUM_STREAMS					4
68 #define MAX_NUM_SERVICES				4
69 
70 #define NUM_ROBUSTNESS_MODES			3
71 
72 
73 /* Service ID has 24 bits, define a number which cannot be an ID and fits into
74    the 32 bits of the length of the variable (e.g.: 1 << 25) */
75 #define SERV_ID_NOT_USED				(1 << 25)
76 
77 /* Define a stream ID which is not valid to show that this service is not
78    attached to a stream */
79 #define STREAM_ID_NOT_USED				(MAX_NUM_STREAMS + 1)
80 
81 
82 /* Audio stream definitions ------------------------------------------------- */
83 /* The text message (when present) shall occupy the last four bytes of the
84    lower protected part of each logical frame carrying an audio stream
85    (6.5.1) */
86 #define NUM_BYTES_TEXT_MESS_IN_AUD_STR	4
87 
88 #endif // !defined(TABLE_DRM_GLOB_H__3B0_CA63_4344_BB2B_23E7912__INCLUDED_)
89