百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

GNU/Linux模拟/数字SDR收发器程序QRadioLink实现电台与VOIP桥接

bigegpt 2024-08-05 11:47 9 浏览

适用于 Linux 的 QRadioLink SDR 客户应用程序


QRadioLink 是一个 GNU/Linux 多模(模拟和数字)SDR(软件定义无线电)收发器应用程序,利用网络实现电台与 VOIP 桥接(IP 上的电台),它建立在 GNU 电台之上,允许使用不同的数字和模拟无线电信号以及 Qt5 用户界面来试验软件定义无线电硬件。


可能的用途


实验、业余爱好和业余无线电应用


教育(低成本、低复杂性、低可靠性的研究平台,用于无线电通信、数字语音和数据无线电应用、语音呼叫路由)。


不得用于关键任务通信、工业应用以及其他对数据完整性要求较高的应用。


功能特点


发送和接收 UDP 音频流


通过 UDP 音频与 SVXlink 实现互操作性


以单工或半双工模式运行的两个或多个端点之间的多播无线电到 VOIP 网桥(Radio-over-IP)连接。VOIP 网桥采用星形拓扑结构,由中央应用程序(umurmur)充当语音数据包路由器,并提供逻辑信道分离。


直接 VOIP 对讲(只需连接到 VOIP 服务器,无需无线电)


通过 VOIP 进行无线电转发--将模拟或数字无线电语音转发到 VOIP 连接,反之亦然


使用 Opus 音频编解码器在互联网上传输宽带音频流


可配置的 VOIP 比特率


使用 LimeSDR 设备,支持 TDMA 的 MMDVM 基站模式(DMR、System Fusion、D-Star、M17


符合 ETSI 标准的 DMR 基站(中继器),使用 LimeSDR 系列设备和 MMDVM-SDR,支持双时隙 TDMA。


使用 LimeSDR 设备的多通道/多载波 MMDVM 系统。在 200 kHz 带宽、双工模式下最多支持 7 个载波。频道数量可在 2 到 7 之间配置。通道间隔可配置为 12.5 或 25 kHz。

M17 数字语音调制器和解调器


以 FLAC(免费无损音频压缩)格式录制本地音频输出


与 Mumble 客户端应用程序兼容


通过网络远程控制(需要 telnet 客户端或类似程序,可编写脚本)


通过 Mumble 私人文本信息进行远程控制


无头运行(无图形用户界面),可在 Raspberry Pi 等嵌入式平台或类似的无屏幕电路板上进行终端使用


收发模拟 FM、SSB、AM、数字语音、文本信息、数字视频和 IP 协议。


全双工 DQPSK 250 kbit/s 和 4FSK 100 kbit/s IP 无线电调制解调器,可配置发送/接收偏移量


模拟和数字模式中继器 - 仅在全双工模式、相同模式或混合模式中继器中使用(例如,调频至 Codec2,反之亦然;或调频至 Opus,反之亦然)


通过 VOIP 和 Mumble 协议连接电台节点--通过共享相同的逻辑 Mumble 信道可连接一组电台节点。使用 Mumble VOIP 协议的优势包括:多播全双工语音传输、初始网络连接后无呼叫设置开销、实施简单、用户定义逻辑信道、免费软件和开放标准。该功能仍在开发中。

全双工和单工操作


使用专用按钮快速调整中继器反向移位


分频操作(用接收频率以外的频率发射,无移频限制,主要用于中继器操作)


存储频道(存储频率、名称、发送移频、工作模式、静噪值、音量、发送功率、接收增益、发送和接收 CTCSS)和存储频道扫描


混合模式操作(接收一种模式,发送另一种模式)


数字语音编解码器:Codec2 700 比特/秒、Codec2 1400 比特/秒、Opus 9400 比特/秒


数字语音调制解调器空中比特率从 1 kbit/s 到 10 kbit/s


FreeDV 数字语音调制器和解调器(目前仅支持 1600、700C、700D 和 800XA 模式)


使用 Opus 音频编解码器在互联网上传输宽带数字语音流


数字调制:M17 数字模式、FreeDV 1600、FreeDV 700C、FreeDV 700D、FreeDV 800XA、BPSK、DQPSK、2FSK、4FSK


模拟调制:FM (12.5 kHz)、窄 FM (6.25 kHz)、SSB、AM、Wide FM(广播,仅可接收)


简单的低分辨率视频模式(JPEG 编码),在 300 kHz 带宽下以每秒 10 帧的速度运行,现在使用 Opus 编解码器以每秒 9400 kbit 的速度播放声音


模拟模式(AM、FM、SSB)可配置滤波器宽度


模拟调频的 CTCSS 编码器和解码器


可配置 VOX 音量的 VOX 模式


支持 USB FTDI (FT232) 继电器控制(用于射频开关、功率放大器和滤波器控制)。支持最多 8 个继电器的电路板。


自动载波跟踪和多普勒效应校正。系统可跟踪高达 5-10 kHz 的多普勒频移,具体取决于模式。它要求 CNR 至少为 10-12 dB,FSK 模式的要求高于 PSK 模式。


支持 SDR 硬件:Ettus USRP 总线设备、RTL-SDR、ADALM-Pluto (PlutoSDR)、LimeSDR-mini、LimeNET-Micro、BladeRF、gr-osmosdr 支持的其他设备(HackRF、RedPitaya 及其他未测试的设备)。


支持 LimeRFE 射频前端。仅支持业余无线电频段。不支持有蜂窝路径的 LimeRFE 板。前端的自动调整根据 IARU 区域 1 频段计划进行。


注:QRadioLink 使用了 gr-cessb GNU radio out of tree 模块的代码。由于某些发行版未打包该模块,因此应用程序中包含了该代码。

相关推荐

Go语言泛型-泛型约束与实践(go1.7泛型)

来源:械说在Go语言中,Go泛型-泛型约束与实践部分主要探讨如何定义和使用泛型约束(Constraints),以及如何在实际开发中利用泛型进行更灵活的编程。以下是详细内容:一、什么是泛型约束?**泛型...

golang总结(golang实战教程)

基础部分Go语言有哪些优势?1简单易学:语法简洁,减少了代码的冗余。高效并发:内置强大的goroutine和channel,使并发编程更加高效且易于管理。内存管理:拥有自动垃圾回收机制,减少内...

Go 官宣:新版 Protobuf API(go pro版本)

原文作者:JoeTsai,DamienNeil和HerbieOng原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffer...

Golang开发的一些注意事项(一)(golang入门项目)

1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...

golang 托盘菜单应用及打开系统默认浏览器

之前看到一个应用,用go语言编写,说是某某程序的windows图形化客户端,体验一下发现只是一个托盘,然后托盘菜单的控制面板功能直接打开本地浏览器访问程序启动的webserver网页完成gui相关功...

golang标准库每日一库之 io/ioutil

一、核心函数概览函数作用描述替代方案(Go1.16+)ioutil.ReadFile(filename)一次性读取整个文件内容(返回[]byte)os.ReadFileioutil.WriteFi...

文件类型更改器——GoLang 中的 CLI 工具

我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以上周我开始玩GoLang,它是一种由Google制作的类C编译语言,非常轻量和快速,事实上它经常在Techempower的基准测...

Go (Golang) 中的 Channels 简介(golang channel长度和容量)

这篇文章重点介绍Channels(通道)在Go中的工作方式,以及如何在代码中使用它们。在Go中,Channels是一种编程结构,它允许我们在代码的不同部分之间移动数据,通常来自不同的goro...

Golang引入泛型:Go将Interface「」替换为“Any”

现在Go将拥有泛型:Go将Interface{}替换为“Any”,这是一个类型别名:typeany=interface{}这会引入了泛型作好准备,实际上,带有泛型的Go1.18Beta...

一文带你看懂Golang最新特性(golang2.0特性)

作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。一、Go语言发展历史...

Go 每日一库之 java 转 go 遇到 Apollo?让 agollo 来平滑迁移

以下文章来源于GoOfficialBlog,作者GoOfficialBlogIntroductionagollo是Apollo的Golang客户端Apollo(阿波罗)是携程框架部门研...

Golang使用grpc详解(golang gcc)

gRPC是Google开源的一种高性能、跨语言的远程过程调用(RPC)框架,它使用ProtocolBuffers作为序列化工具,支持多种编程语言,如C++,Java,Python,Go等。gR...

Etcd服务注册与发现封装实现--golang

服务注册register.gopackageregisterimport("fmt""time"etcd3"github.com/cor...

Golang:将日志以Json格式输出到Kafka

在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/...

如何从 PHP 过渡到 Golang?(php转golang)

我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗旨,从零开始,开始学习。因为我司没有专门的Golang大牛,所以我也只能一步步自己去...