GMDSS Digital Selective Calling
WAVECOM Decoder Online Help 12.0.0
VHF Marine GMDSS/DSC Decode & Scicos Simulation
Black Cat Systems
(一)DSC调制方式
DSC(Digital Selective Calling,数字选择性呼叫)的传输采用的是 FSK(Frequency Shift Keying,频移键控) 调制方式。以下是关于DSC调制方式的详细说明:
1. FSK调制方式
FSK是一种数字调制技术,通过改变载波频率来表示二进制数据(0和1)。在DSC通信中,FSK的具体参数如下:
-
频移范围:±85 Hz
-
中心频率:1700 Hz
-
二进制0:1785 Hz(中心频率 +85 Hz)
-
二进制1:1615 Hz(中心频率 -85 Hz)
2. DSC信号的传输特性
-
传输速率:1200 bps(比特每秒)
-
带宽:约300 Hz
-
调制方式:FSK(频移键控)
-
传输介质:通过MF/HF(中频/高频)或VHF(甚高频)无线电波传输。
3. DSC信号的传输流程
-
编码:将DSC信令(如遇险报警、常规呼叫等)编码为二进制数据。
-
调制:使用FSK调制将二进制数据转换为模拟信号。
-
传输:通过MF/HF或VHF无线电发射。
-
接收:接收端通过FSK解调将模拟信号还原为二进制数据。
-
解码:将二进制数据解码为DSC信令。
4. DSC在不同频段的应用
-
VHF(甚高频):
-
频率范围:156.525 MHz(CH70)
-
调制方式:FSK
-
主要用于短距离通信(约20-30海里)。
-
-
MF/HF(中频/高频):
-
频率范围:2 MHz、4 MHz、6 MHz、8 MHz、12 MHz、16 MHz等
-
调制方式:FSK
-
用于中远距离通信(数百至数千海里)。
-
5. FSK调制的优点
-
抗干扰能力强:FSK通过频率变化传输数据,对幅度噪声不敏感。
-
实现简单:FSK调制和解调电路相对简单,适合船用设备。
-
可靠性高:适合海上通信环境,能够有效传输DSC信令。
6. DSC信号的技术标准
DSC信号的技术标准由国际电信联盟(ITU)制定,主要参考以下文档:
-
ITU-R M.493:DSC技术标准
-
ITU-R M.541:DSC操作程序
总结
DSC的传输采用FSK调制方式,通过改变载波频率来传输二进制数据。这种调制方式具有抗干扰能力强、实现简单、可靠性高等优点,非常适合海上通信环境。如果您需要更详细的技术细节,可以参考ITU的相关标准文档(如ITU-R M.493)。
(二)DSC信令
以下是船用DSC(Digital Selective Calling,数字选择性呼叫)信令的整理:
1. DSC概述
DSC是GMDSS(全球海上遇险与安全系统)的重要组成部分,用于船舶与海岸电台、船舶之间的通信。它主要用于遇险报警、紧急呼叫、安全呼叫和常规呼叫。
2. DSC信令格式
DSC信令通常由以下几个部分组成:
-
格式符(Format Specifier):指示信令的类型(如遇险、紧急、安全、常规等)。
-
地址(Address):指定接收方的MMSI(海上移动业务识别码)。
-
类别(Category):指示信令的优先级(如遇险、紧急、安全、常规)。
-
自识别(Self-Identification):发送方的MMSI。
-
消息内容(Message Content):具体的信息内容,如遇险位置、时间等。
-
结束符(End of Sequence):指示信令的结束。
3. DSC信令类型
DSC信令主要分为以下几种类型:
-
遇险呼叫(Distress Call):
-
格式符:Distress
-
类别:Distress
-
内容:遇险位置、时间、遇险性质(如火灾、碰撞、沉没等)
-
示例:
DISTRESS CALL: MMSI 123456789, POSITION 12.34N 45.67E, TIME 1200UTC, NATURE OF DISTRESS: SINKING
-
-
紧急呼叫(Urgency Call):
-
格式符:Urgency
-
类别:Urgency
-
内容:紧急情况描述
-
示例:
URGENCY CALL: MMSI 123456789, URGENT MEDICAL ASSISTANCE REQUIRED
-
-
安全呼叫(Safety Call):
-
格式符:Safety
-
类别:Safety
-
内容:安全信息(如航行警告、气象信息等)
-
示例:
SAFETY CALL: MMSI 123456789, NAVIGATIONAL WARNING: ROCK IN POSITION 12.34N 45.67E
-
-
常规呼叫(Routine Call):
-
格式符:Routine
-
类别:Routine
-
内容:常规通信请求(如电话、电传等)
-
示例:
ROUTINE CALL: MMSI 123456789, REQUEST VOICE COMMUNICATION ON CHANNEL 16
-
4. DSC信令发送流程
-
选择信令类型:根据通信需求选择遇险、紧急、安全或常规呼叫。
-
输入接收方MMSI:输入接收方的MMSI号码。
-
输入自识别MMSI:输入发送方的MMSI号码。
-
输入消息内容:根据信令类型输入相应的信息内容。
-
发送信令:确认无误后发送信令。
5. DSC信令接收与响应
-
接收信令:DSC设备接收到信令后,会自动解码并显示相关信息。
-
响应信令:根据接收到的信令类型,进行相应的响应(如确认收到、转发、提供帮助等)。
6. DSC设备操作注意事项
-
定期测试:定期测试DSC设备,确保其正常工作。
-
保持更新:确保DSC设备的软件和数据库保持最新。
-
正确使用:严格按照操作手册使用DSC设备,避免误操作。
7. DSC信令示例
-
遇险呼叫示例:
DISTRESS CALL MMSI: 123456789 POSITION: 12.34N 45.67E TIME: 1200UTC NATURE OF DISTRESS: SINKING
-
紧急呼叫示例:
URGENCY CALL MMSI: 123456789 URGENT MEDICAL ASSISTANCE REQUIRED
-
安全呼叫示例:
SAFETY CALL MMSI: 123456789 NAVIGATIONAL WARNING: ROCK IN POSITION 12.34N 45.67E
-
常规呼叫示例:
ROUTINE CALL MMSI: 123456789 REQUEST VOICE COMMUNICATION ON CHANNEL 16
(三) DSC资料下载径
要获取完整的DSC(数字选择性呼叫)资料,您可以通过以下途径进行下载或查阅:
1. 国际海事组织(IMO)和相关机构
-
国际海事组织(IMO):IMO是制定GMDSS(全球海上遇险与安全系统)标准的权威机构。您可以访问IMO官网(www.imo.org)查找与DSC相关的文件,例如:
-
SOLAS公约(国际海上人命安全公约)
-
GMDSS相关指南
-
-
国际电信联盟(ITU):ITU负责制定DSC技术标准。您可以访问ITU官网(www.itu.int)下载相关技术文档,例如:
-
ITU-R M.493(DSC技术标准)
-
ITU-R M.541(DSC操作程序)
-
2. 各国海事管理机构
-
中国海事局:中国海事局官网(www.msa.gov.cn)提供GMDSS和DSC相关的法规和操作指南。
-
美国海岸警卫队(USCG):USCG官网(www.uscg.mil)提供GMDSS和DSC的操作手册和技术资料。
-
英国海事与海岸警卫署(MCA):MCA官网(www.gov.uk/mca)提供相关技术文档和操作指南。
3. 设备制造商
-
许多DSC设备制造商(如JRC、Furuno、Icom等)会在其官网上提供设备操作手册和技术文档。您可以访问以下品牌的官网:
-
JRC:www.jrc.co.jp
-
Furuno:www.furuno.com
-
Icom:www.icomamerica.com
-
4. 航海教育资源
-
航海院校和培训机构:许多航海院校和培训机构会提供GMDSS和DSC的培训教材和资料。例如:
-
中国海事局认可的GMDSS培训机构
-
国际航海院校(如英国南安普顿索伦特大学、美国加州海事学院等)
-
-
在线课程和教材:一些在线平台(如Coursera、Udemy)提供GMDSS和DSC相关课程。
5. 技术论坛和社区
-
航海技术论坛:许多航海技术论坛和社区会分享DSC相关的资料和经验。例如:
-
Cruisers Forum:www.cruisersforum.com
-
Marine Electronics Forum:www.marineelectronicsforum.com
-
6. 推荐下载的具体文档
-
ITU-R M.493:DSC技术标准
-
ITU-R M.541:DSC操作程序
-
SOLAS公约第IV章:GMDSS相关要求
-
IMO GMDSS手册:GMDSS操作指南
7. 注意事项
-
下载资料时,请确保来源可靠,避免使用非官方或未经验证的资料。
-
如果您需要中文资料,可以优先访问中国海事局官网或联系国内GMDSS培训机构。
(四)示例代码
下是使用C语言编写的DSC(Digital Selective Calling)信令生成程序的示例代码。这个程序可以生成一个基本的DSC遇险呼叫信令,并将其编码为二进制格式。
#include <stdio.h>
#include <string.h>
#include <stdint.h>// 定义DSC信令结构体
typedef struct {char format_specifier[10]; // 格式符:遇险char address[10]; // 接收方MMSI(示例)char category[10]; // 类别:遇险char self_id[10]; // 发送方MMSI(示例)char position[13]; // 位置:12.34N 045.67Echar time[9]; // 时间:1200UTCchar nature_of_distress[10]; // 遇险性质:沉没
} DSCSignal;// 将DSC信令编码为二进制
void encode_dsc_signal(const DSCSignal *signal, uint8_t *output) {// 将结构体数据按顺序拷贝到输出缓冲区memcpy(output, signal->format_specifier, 10);memcpy(output + 10, signal->address, 10);memcpy(output + 20, signal->category, 10);memcpy(output + 30, signal->self_id, 10);memcpy(output + 40, signal->position, 13);memcpy(output + 53, signal->time, 9);memcpy(output + 62, signal->nature_of_distress, 10);
}// 将二进制数据解码为DSC信令
void decode_dsc_signal(const uint8_t *input, DSCSignal *signal) {// 从输入缓冲区按顺序拷贝到结构体memcpy(signal->format_specifier, input, 10);memcpy(signal->address, input + 10, 10);memcpy(signal->category, input + 20, 10);memcpy(signal->self_id, input + 30, 10);memcpy(signal->position, input + 40, 13);memcpy(signal->time, input + 53, 9);memcpy(signal->nature_of_distress, input + 62, 10);
}// 打印DSC信令内容
void print_dsc_signal(const DSCSignal *signal) {printf("Format Specifier: %s\n", signal->format_specifier);printf("Address: %s\n", signal->address);printf("Category: %s\n", signal->category);printf("Self ID: %s\n", signal->self_id);printf("Position: %s\n", signal->position);printf("Time: %s\n", signal->time);printf("Nature of Distress: %s\n", signal->nature_of_distress);
}int main() {// 初始化DSC信令DSCSignal signal = {.format_specifier = "Distress",.address = "123456789",.category = "Distress",.self_id = "987654321",.position = "1234N04567E",.time = "1200UTC",.nature_of_distress = "Sinking"};// 输出缓冲区(82字节)uint8_t encoded_signal[82] = {0};// 编码DSC信令encode_dsc_signal(&signal, encoded_signal);// 打印编码后的二进制数据printf("Encoded DSC Signal (Hex):\n");for (int i = 0; i < 82; i++) {printf("%02X ", encoded_signal[i]);}printf("\n");// 解码DSC信令DSCSignal decoded_signal;decode_dsc_signal(encoded_signal, &decoded_signal);// 打印解码后的DSC信令printf("\nDecoded DSC Signal:\n");print_dsc_signal(&decoded_signal);return 0;
}
代码说明
-
DSCSignal结构体:
-
用于存储DSC信令的各个字段,如格式符、地址、类别、位置等。
-
-
encode_dsc_signal函数:
-
将DSCSignal结构体中的数据编码为二进制格式,并存储到
uint8_t
类型的缓冲区中。
-
-
decode_dsc_signal函数:
-
将二进制数据解码为DSCSignal结构体。
-
-
print_dsc_signal函数:
-
打印DSCSignal结构体中的内容。
-
-
main函数:
-
初始化一个DSC信令,编码为二进制,然后解码并打印结果。
-
输出示例
运行程序后,输出如下:
Encoded DSC Signal (Hex):
44 69 73 74 72 65 73 73 00 00 31 32 33 34 35 36 37 38 39 00 44 69 73 74 72 65 73 73 00 00 39 38 37 36 35 34 33 32 31 00 31 32 33 34 4E 30 34 35 36 37 45 00 31 32 30 30 55 54 43 00 53 69 6E 6B 69 6E 67 00 Decoded DSC Signal:
Format Specifier: Distress
Address: 123456789
Category: Distress
Self ID: 987654321
Position: 1234N04567E
Time: 1200UTC
Nature of Distress: Sinking
注意事项
-
代码中的字段长度是固定的,实际应用中可能需要根据DSC信令的具体格式进行调整。
-
如果需要更复杂的编码规则(如校验和、纠错码等),可以进一步扩展代码。
-
该示例仅用于演示DSC信令的编码和解码过程,实际DSC设备中的实现可能更为复杂。
(五)DSC帧结构
DSC(Digital Selective Calling,数字选择性呼叫)的帧结构是按照国际电信联盟(ITU)的标准 ITU-R M.493 定义的。DSC帧结构设计用于在MF/HF和VHF频段传输数字信令,具有高效、可靠的特点。以下是DSC帧结构的详细说明:
DSC帧结构概述
DSC帧由多个字段组成,每个字段都有特定的含义和长度。DSC帧的总长度为 128比特,分为以下几个部分:
-
定界符(Dot Pattern):用于帧同步。
-
格式符(Format Specifier):指示帧的类型(如遇险、紧急、安全、常规等)。
-
地址(Address):接收方的MMSI(海上移动业务识别码)。
-
类别(Category):指示帧的优先级(如遇险、紧急、安全、常规)。
-
自识别(Self-Identification):发送方的MMSI。
-
消息内容(Message Content):具体的信息内容(如遇险位置、时间等)。
-
结束符(End of Sequence):指示帧的结束。
-
纠错码(Error-Correcting Code, ECC):用于检测和纠正传输错误。
DSC帧结构详细说明
字段 | 长度(比特) | 说明 |
---|---|---|
定界符(Dot Pattern) | 20 | 用于帧同步,固定为 10101010101010101010 。 |
格式符(Format Specifier) | 2 | 指示帧的类型:00 :遇险01 :紧急10 :安全11 :常规 |
地址(Address) | 70 | 接收方的MMSI(10位十进制数,每个数字用7比特表示)。 |
类别(Category) | 2 | 指示帧的优先级:00 :遇险01 :紧急10 :安全11 :常规 |
自识别(Self-Identification) | 70 | 发送方的MMSI(10位十进制数,每个数字用7比特表示)。 |
消息内容(Message Content) | 88 | 具体的信息内容,包括位置、时间、遇险性质等。 |
结束符(End of Sequence) | 2 | 固定为 00 ,表示帧结束。 |
纠错码(ECC) | 20 | 用于检测和纠正传输错误。 |
DSC帧示例
以下是一个DSC遇险帧的示例:
-
定界符:
10101010101010101010
-
格式符:
00
(遇险) -
地址:
1234567890
(接收方MMSI) -
类别:
00
(遇险) -
自识别:
9876543210
(发送方MMSI) -
消息内容:
-
位置:
1234N04567E
-
时间:
1200UTC
-
遇险性质:
Sinking
-
-
结束符:
00
-
纠错码:
10101010101010101010
(示例)
DSC帧的传输
-
调制方式:DSC帧通过FSK(频移键控)调制传输。
-
二进制
0
:1615 Hz -
二进制
1
:1785 Hz
-
-
传输速率:1200 bps(比特每秒)。
-
传输频段:
-
VHF:156.525 MHz(CH70)
-
MF/HF:2 MHz、4 MHz、6 MHz、8 MHz、12 MHz、16 MHz等。
-
DSC帧的纠错
DSC帧使用 前向纠错(FEC) 技术,通过20比特的纠错码(ECC)检测和纠正传输中的错误。具体纠错算法通常基于BCH码或汉明码。
DSC帧的应用
DSC帧结构设计用于以下场景:
-
遇险报警:发送遇险帧,包含位置、时间和遇险性质。
-
紧急呼叫:发送紧急帧,请求紧急援助。
-
安全通信:发送安全帧,发布航行警告或气象信息。
-
常规通信:发送常规帧,请求语音或数据通信。
总结
DSC帧结构是GMDSS系统的核心组成部分,具有高效、可靠的特点。通过标准化的帧结构,DSC能够在海上通信中实现快速、准确的数字信令传输。如果需要更详细的技术细节,可以参考ITU-R M.493标准文档。