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