← Documents Documentation/userspace-api/media/v4l/ext-ctrls-fm-tx.rst GitHub 원문 ↗

Linux 6.18.37 · Userspace API / Media / V4L

FM Transmitter Control Reference

FM 송신기의 RDS, 음성 처리, pilot tone과 출력 tuning 제어를 설명합니다.

Source pathDocumentation/userspace-api/media/v4l/ext-ctrls-fm-tx.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

ext-ctrls-fm-tx.rst:1-174

FM 송신 제어는 RDS metadata, deviation limiter와 compression, pilot tone, pre-emphasis와 RF 출력 조건을 하나의 class에 모읍니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3 .. _fm-tx-controls:
4
5 ********************************
6 FM Transmitter Control Reference
7 ********************************
8
9 The FM Transmitter (FM_TX) class includes controls for common features
10 of FM transmissions capable devices. Currently this class includes
11 parameters for audio compression, pilot tone generation, audio deviation
12 limiter, RDS transmission and tuning power features.
13
14
15 .. _fm-tx-control-id:
16
17 FM_TX Control IDs
18 =================
19
20 ``V4L2_CID_FM_TX_CLASS (class)``
21 The FM_TX class descriptor. Calling
22 :ref:`VIDIOC_QUERYCTRL` for this control will
23 return a description of this control class.
24
25 ``V4L2_CID_RDS_TX_DEVIATION (integer)``
26 Configures RDS signal frequency deviation level in Hz. The range and
27 step are driver-specific.
28
29 ``V4L2_CID_RDS_TX_PI (integer)``
30 Sets the RDS Programme Identification field for transmission.
31
32 ``V4L2_CID_RDS_TX_PTY (integer)``
33 Sets the RDS Programme Type field for transmission. This encodes up
34 to 31 pre-defined programme types.
35
36 ``V4L2_CID_RDS_TX_PS_NAME (string)``
37 Sets the Programme Service name (PS_NAME) for transmission. It is
38 intended for static display on a receiver. It is the primary aid to
39 listeners in programme service identification and selection. In
40 Annex E of :ref:`iec62106`, the RDS specification, there is a full
41 description of the correct character encoding for Programme Service
42 name strings. Also from RDS specification, PS is usually a single
43 eight character text. However, it is also possible to find receivers
44 which can scroll strings sized as 8 x N characters. So, this control
45 must be configured with steps of 8 characters. The result is it must
46 always contain a string with size multiple of 8.
47
48 ``V4L2_CID_RDS_TX_RADIO_TEXT (string)``
49 Sets the Radio Text info for transmission. It is a textual
50 description of what is being broadcasted. RDS Radio Text can be
51 applied when broadcaster wishes to transmit longer PS names,
52 programme-related information or any other text. In these cases,
53 RadioText should be used in addition to ``V4L2_CID_RDS_TX_PS_NAME``.
54 The encoding for Radio Text strings is also fully described in Annex
55 E of :ref:`iec62106`. The length of Radio Text strings depends on
56 which RDS Block is being used to transmit it, either 32 (2A block)
57 or 64 (2B block). However, it is also possible to find receivers
58 which can scroll strings sized as 32 x N or 64 x N characters. So,
59 this control must be configured with steps of 32 or 64 characters.
60 The result is it must always contain a string with size multiple of
61 32 or 64.
62
63 ``V4L2_CID_RDS_TX_MONO_STEREO (boolean)``
64 Sets the Mono/Stereo bit of the Decoder Identification code. If set,
65 then the audio was recorded as stereo.
66
67 ``V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (boolean)``
68 Sets the
69 `Artificial Head <http://en.wikipedia.org/wiki/Artificial_head>`__
70 bit of the Decoder Identification code. If set, then the audio was
71 recorded using an artificial head.
72
73 ``V4L2_CID_RDS_TX_COMPRESSED (boolean)``
74 Sets the Compressed bit of the Decoder Identification code. If set,
75 then the audio is compressed.
76
77 ``V4L2_CID_RDS_TX_DYNAMIC_PTY (boolean)``
78 Sets the Dynamic PTY bit of the Decoder Identification code. If set,
79 then the PTY code is dynamically switched.
80
81 ``V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (boolean)``
82 If set, then a traffic announcement is in progress.
83
84 ``V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (boolean)``
85 If set, then the tuned programme carries traffic announcements.
86
87 ``V4L2_CID_RDS_TX_MUSIC_SPEECH (boolean)``
88 If set, then this channel broadcasts music. If cleared, then it
89 broadcasts speech. If the transmitter doesn't make this distinction,
90 then it should be set.
91
92 ``V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (boolean)``
93 If set, then transmit alternate frequencies.
94
95 ``V4L2_CID_RDS_TX_ALT_FREQS (__u32 array)``
96 The alternate frequencies in kHz units. The RDS standard allows for
97 up to 25 frequencies to be defined. Drivers may support fewer
98 frequencies so check the array size.
99
100 ``V4L2_CID_AUDIO_LIMITER_ENABLED (boolean)``
101 Enables or disables the audio deviation limiter feature. The limiter
102 is useful when trying to maximize the audio volume, minimize
103 receiver-generated distortion and prevent overmodulation.
104
105 ``V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (integer)``
106 Sets the audio deviation limiter feature release time. Unit is in
107 microseconds. Step and range are driver-specific.
108
109 ``V4L2_CID_AUDIO_LIMITER_DEVIATION (integer)``
110 Configures audio frequency deviation level in Hz. The range and step
111 are driver-specific.
112
113 ``V4L2_CID_AUDIO_COMPRESSION_ENABLED (boolean)``
114 Enables or disables the audio compression feature. This feature
115 amplifies signals below the threshold by a fixed gain and compresses
116 audio signals above the threshold by the ratio of Threshold/(Gain +
117 Threshold).
118
119 ``V4L2_CID_AUDIO_COMPRESSION_GAIN (integer)``
120 Sets the gain for audio compression feature. It is a dB value. The
121 range and step are driver-specific.
122
123 ``V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (integer)``
124 Sets the threshold level for audio compression feature. It is a dB
125 value. The range and step are driver-specific.
126
127 ``V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (integer)``
128 Sets the attack time for audio compression feature. It is a microseconds
129 value. The range and step are driver-specific.
130
131 ``V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (integer)``
132 Sets the release time for audio compression feature. It is a
133 microseconds value. The range and step are driver-specific.
134
135 ``V4L2_CID_PILOT_TONE_ENABLED (boolean)``
136 Enables or disables the pilot tone generation feature.
137
138 ``V4L2_CID_PILOT_TONE_DEVIATION (integer)``
139 Configures pilot tone frequency deviation level. Unit is in Hz. The
140 range and step are driver-specific.
141
142 ``V4L2_CID_PILOT_TONE_FREQUENCY (integer)``
143 Configures pilot tone frequency value. Unit is in Hz. The range and
144 step are driver-specific.
145
146 ``V4L2_CID_TUNE_PREEMPHASIS (enum)``
147 Configures the pre-emphasis value for broadcasting. A pre-emphasis
148 filter is applied to the broadcast to accentuate the high audio
149 frequencies. Depending on the region, a time constant of either 50
150 or 75 microseconds is used. The enum v4l2_preemphasis defines possible
151 values for pre-emphasis. They are:
152
153 .. flat-table::
154 :header-rows: 0
155 :stub-columns: 0
156
157 * - ``V4L2_PREEMPHASIS_DISABLED``
158 - No pre-emphasis is applied.
159 * - ``V4L2_PREEMPHASIS_50_uS``
160 - A pre-emphasis of 50 uS is used.
161 * - ``V4L2_PREEMPHASIS_75_uS``
162 - A pre-emphasis of 75 uS is used.
163
164 ``V4L2_CID_TUNE_POWER_LEVEL (integer)``
165 Sets the output power level for signal transmission. Unit is in
166 dBuV. Range and step are driver-specific.
167
168 ``V4L2_CID_TUNE_ANTENNA_CAPACITOR (integer)``
169 This selects the value of antenna tuning capacitor manually or
170 automatically if set to zero. Unit, range and step are
171 driver-specific.
172
173 For more details about RDS specification, refer to :ref:`iec62106`
174 document, from CENELEC.
175

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

FM_TX 클래스

1-23

FM 송신기(`FM_TX`) 클래스는 FM 송신 장치의 공통 기능을 제어합니다. 현재 audio compression, pilot tone 생성, audio deviation limiter, RDS 송신과 출력 전력 조정 기능을 포함합니다.

`V4L2_CID_FM_TX_CLASS`는 FM_TX 클래스 설명자이며 `VIDIOC_QUERYCTRL`로 조회하면 이 제어 클래스의 설명을 반환합니다.

FM 송신 신호 구성
PI, PTY, PS 이름과 RadioText 구성Limiter와 compressor 동작점 설정Pilot tone과 pre-emphasis 설정출력 전력과 안테나 tuning capacitor 설정

프로그램 정보와 음성 처리 파라미터를 정한 뒤 RF 출력 조건을 설정합니다.

.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later

.. _fm-tx-controls:

********************************
FM Transmitter Control Reference
********************************

The FM Transmitter (FM_TX) class includes controls for common features
of FM transmissions capable devices. Currently this class includes
parameters for audio compression, pilot tone generation, audio deviation
limiter, RDS transmission and tuning power features.


.. _fm-tx-control-id:

FM_TX Control IDs
=================

``V4L2_CID_FM_TX_CLASS (class)``
    The FM_TX class descriptor. Calling
    :ref:`VIDIOC_QUERYCTRL` for this control will
    return a description of this control class.

RDS 송신과 대체 주파수

24-99

`V4L2_CID_RDS_TX_DEVIATION`은 RDS 신호의 주파수 편이를 Hz로 설정하며 범위와 step은 드라이버별로 다릅니다. `V4L2_CID_RDS_TX_PI`는 Programme Identification을, `V4L2_CID_RDS_TX_PTY`는 최대 31개 유형의 Programme Type을 설정합니다.

`V4L2_CID_RDS_TX_PS_NAME`은 IEC 62106 부속서 E 인코딩을 따르는 Programme Service 이름을 송신합니다. 보통 8자이며 스크롤 수신기를 위해 8 x N자도 가능하므로 step은 8자, 길이는 8의 배수여야 합니다.

`V4L2_CID_RDS_TX_RADIO_TEXT`는 긴 PS 이름이나 프로그램 관련 설명을 보냅니다. 2A 블록은 32자, 2B 블록은 64자이고, 스크롤 문자열은 32 x N 또는 64 x N자이므로 step과 길이는 32 또는 64의 배수여야 합니다.

RDS Decoder Identification
항목설명
`V4L2_CID_RDS_TX_MONO_STEREO`설정 시 녹음된 음성이 stereo임을 나타냅니다.
`V4L2_CID_RDS_TX_ARTIFICIAL_HEAD`설정 시 artificial head로 녹음했음을 나타냅니다.
`V4L2_CID_RDS_TX_COMPRESSED`설정 시 음성이 압축되었음을 나타냅니다.
`V4L2_CID_RDS_TX_DYNAMIC_PTY`설정 시 PTY code가 동적으로 바뀝니다.
`V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT`현재 교통 안내가 진행 중임을 표시합니다.
`V4L2_CID_RDS_TX_TRAFFIC_PROGRAM`프로그램이 교통 안내를 제공함을 표시합니다.
`V4L2_CID_RDS_TX_MUSIC_SPEECH`설정 시 음악, 해제 시 음성이며 구분하지 않으면 설정합니다.

수신기가 프로그램의 음향 특성을 해석하도록 상태 bit를 송신합니다.

`V4L2_CID_RDS_TX_ALT_FREQS_ENABLE`은 대체 주파수 송신을 켭니다. `V4L2_CID_RDS_TX_ALT_FREQS`는 kHz 단위 `__u32` 배열이며 RDS 표준은 최대 25개를 허용하지만 드라이버가 더 적게 지원할 수 있으므로 배열 크기를 확인해야 합니다.


``V4L2_CID_RDS_TX_DEVIATION (integer)``
    Configures RDS signal frequency deviation level in Hz. The range and
    step are driver-specific.

``V4L2_CID_RDS_TX_PI (integer)``
    Sets the RDS Programme Identification field for transmission.

``V4L2_CID_RDS_TX_PTY (integer)``
    Sets the RDS Programme Type field for transmission. This encodes up
    to 31 pre-defined programme types.

``V4L2_CID_RDS_TX_PS_NAME (string)``
    Sets the Programme Service name (PS_NAME) for transmission. It is
    intended for static display on a receiver. It is the primary aid to
    listeners in programme service identification and selection. In
    Annex E of :ref:`iec62106`, the RDS specification, there is a full
    description of the correct character encoding for Programme Service
    name strings. Also from RDS specification, PS is usually a single
    eight character text. However, it is also possible to find receivers
    which can scroll strings sized as 8 x N characters. So, this control
    must be configured with steps of 8 characters. The result is it must
    always contain a string with size multiple of 8.

``V4L2_CID_RDS_TX_RADIO_TEXT (string)``
    Sets the Radio Text info for transmission. It is a textual
    description of what is being broadcasted. RDS Radio Text can be
    applied when broadcaster wishes to transmit longer PS names,
    programme-related information or any other text. In these cases,
    RadioText should be used in addition to ``V4L2_CID_RDS_TX_PS_NAME``.
    The encoding for Radio Text strings is also fully described in Annex
    E of :ref:`iec62106`. The length of Radio Text strings depends on
    which RDS Block is being used to transmit it, either 32 (2A block)
    or 64 (2B block). However, it is also possible to find receivers
    which can scroll strings sized as 32 x N or 64 x N characters. So,
    this control must be configured with steps of 32 or 64 characters.
    The result is it must always contain a string with size multiple of
    32 or 64.

``V4L2_CID_RDS_TX_MONO_STEREO (boolean)``
    Sets the Mono/Stereo bit of the Decoder Identification code. If set,
    then the audio was recorded as stereo.

``V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (boolean)``
    Sets the
    `Artificial Head <http://en.wikipedia.org/wiki/Artificial_head>`__
    bit of the Decoder Identification code. If set, then the audio was
    recorded using an artificial head.

``V4L2_CID_RDS_TX_COMPRESSED (boolean)``
    Sets the Compressed bit of the Decoder Identification code. If set,
    then the audio is compressed.

``V4L2_CID_RDS_TX_DYNAMIC_PTY (boolean)``
    Sets the Dynamic PTY bit of the Decoder Identification code. If set,
    then the PTY code is dynamically switched.

``V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (boolean)``
    If set, then a traffic announcement is in progress.

``V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (boolean)``
    If set, then the tuned programme carries traffic announcements.

``V4L2_CID_RDS_TX_MUSIC_SPEECH (boolean)``
    If set, then this channel broadcasts music. If cleared, then it
    broadcasts speech. If the transmitter doesn't make this distinction,
    then it should be set.

``V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (boolean)``
    If set, then transmit alternate frequencies.

``V4L2_CID_RDS_TX_ALT_FREQS (__u32 array)``
    The alternate frequencies in kHz units. The RDS standard allows for
    up to 25 frequencies to be defined. Drivers may support fewer
    frequencies so check the array size.

Limiter, compression, pilot tone과 tuning

100-174

Audio deviation limiter는 음량을 높이면서 수신기 왜곡과 과변조를 줄입니다. `V4L2_CID_AUDIO_LIMITER_ENABLED`로 켜고, release time은 us, deviation은 Hz로 지정합니다. 범위와 step은 드라이버별입니다.

Audio compression은 threshold 아래 신호를 고정 gain으로 증폭하고 그 위 신호를 `Threshold/(Gain + Threshold)` 비율로 압축합니다. gain과 threshold는 dB, `V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME`과 release time은 us 단위이며 각 범위와 step은 드라이버별입니다.

FM 음성 처리 제어
항목설명
`V4L2_CID_AUDIO_LIMITER_RELEASE_TIME`Limiter가 해제되는 시간을 us로 지정합니다.
`V4L2_CID_AUDIO_LIMITER_DEVIATION`음성 주파수 편이를 Hz로 지정합니다.
`V4L2_CID_AUDIO_COMPRESSION_GAIN`Compression gain을 dB로 지정합니다.
`V4L2_CID_AUDIO_COMPRESSION_THRESHOLD`Compression threshold를 dB로 지정합니다.
`V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME`Compression attack time을 us로 지정합니다.
`V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME`Compression release time을 us로 지정합니다.
`V4L2_CID_PILOT_TONE_DEVIATION`Pilot tone 주파수 편이를 Hz로 지정합니다.
`V4L2_CID_PILOT_TONE_FREQUENCY`Pilot tone 주파수를 Hz로 지정합니다.

송신 음량, 과변조 방지와 stereo pilot를 함께 조정합니다.

`V4L2_CID_PILOT_TONE_ENABLED`는 pilot tone 생성을 켜거나 끕니다. `V4L2_CID_TUNE_PREEMPHASIS`는 고음역을 강조하는 송신 필터를 선택하며 비활성, 50 us, 75 us 값이 있습니다.

Pre-emphasis 값
항목설명
`V4L2_PREEMPHASIS_DISABLED`Pre-emphasis를 적용하지 않습니다.
`V4L2_PREEMPHASIS_50_uS`50 us pre-emphasis를 적용합니다.
`V4L2_PREEMPHASIS_75_uS`75 us pre-emphasis를 적용합니다.

지역별 방송 규격에 맞는 시정수를 선택합니다.

`V4L2_CID_TUNE_POWER_LEVEL`은 송신 출력 전력을 dBuV로 설정합니다. `V4L2_CID_TUNE_ANTENNA_CAPACITOR`는 안테나 tuning capacitor를 수동으로 선택하며 0이면 자동 조정을 요청합니다. 두 제어의 범위와 step, capacitor의 단위는 드라이버별입니다. RDS 세부 규격은 CENELEC IEC 62106 문서를 참조합니다.

``V4L2_CID_AUDIO_LIMITER_ENABLED (boolean)``
    Enables or disables the audio deviation limiter feature. The limiter
    is useful when trying to maximize the audio volume, minimize
    receiver-generated distortion and prevent overmodulation.

``V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (integer)``
    Sets the audio deviation limiter feature release time. Unit is in
    microseconds. Step and range are driver-specific.

``V4L2_CID_AUDIO_LIMITER_DEVIATION (integer)``
    Configures audio frequency deviation level in Hz. The range and step
    are driver-specific.

``V4L2_CID_AUDIO_COMPRESSION_ENABLED (boolean)``
    Enables or disables the audio compression feature. This feature
    amplifies signals below the threshold by a fixed gain and compresses
    audio signals above the threshold by the ratio of Threshold/(Gain +
    Threshold).

``V4L2_CID_AUDIO_COMPRESSION_GAIN (integer)``
    Sets the gain for audio compression feature. It is a dB value. The
    range and step are driver-specific.

``V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (integer)``
    Sets the threshold level for audio compression feature. It is a dB
    value. The range and step are driver-specific.

``V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (integer)``
    Sets the attack time for audio compression feature. It is a microseconds
    value. The range and step are driver-specific.

``V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (integer)``
    Sets the release time for audio compression feature. It is a
    microseconds value. The range and step are driver-specific.

``V4L2_CID_PILOT_TONE_ENABLED (boolean)``
    Enables or disables the pilot tone generation feature.

``V4L2_CID_PILOT_TONE_DEVIATION (integer)``
    Configures pilot tone frequency deviation level. Unit is in Hz. The
    range and step are driver-specific.

``V4L2_CID_PILOT_TONE_FREQUENCY (integer)``
    Configures pilot tone frequency value. Unit is in Hz. The range and
    step are driver-specific.

``V4L2_CID_TUNE_PREEMPHASIS (enum)``
    Configures the pre-emphasis value for broadcasting. A pre-emphasis
    filter is applied to the broadcast to accentuate the high audio
    frequencies. Depending on the region, a time constant of either 50
    or 75 microseconds is used. The enum v4l2_preemphasis defines possible
    values for pre-emphasis. They are:

.. flat-table::
    :header-rows:  0
    :stub-columns: 0

    * - ``V4L2_PREEMPHASIS_DISABLED``
      - No pre-emphasis is applied.
    * - ``V4L2_PREEMPHASIS_50_uS``
      - A pre-emphasis of 50 uS is used.
    * - ``V4L2_PREEMPHASIS_75_uS``
      - A pre-emphasis of 75 uS is used.

``V4L2_CID_TUNE_POWER_LEVEL (integer)``
    Sets the output power level for signal transmission. Unit is in
    dBuV. Range and step are driver-specific.

``V4L2_CID_TUNE_ANTENNA_CAPACITOR (integer)``
    This selects the value of antenna tuning capacitor manually or
    automatically if set to zero. Unit, range and step are
    driver-specific.

For more details about RDS specification, refer to :ref:`iec62106`
document, from CENELEC.