
SDRSharp+DSDPlus接收DMR信号
本文提到的工具可通过BG1ICA大佬的分享获得
SDRsharp v1732、v1770 集成插件精简绿色汉化 20230309(tetra)安装SDRSharp和sdr驱动的部分就略过了,可以参照网上别人的教程,本文将把注意力放在如何配置sdrsharp和DSDPlus成功接收并从DMR调制中恢复语音信号。
DSDPlus可以读取电脑的音频输入,并对音频信号进行各种处理并且输出,但局限同样也是只接收音频信号,另一方面,SDR#可以通过SDR接收无线电信号,但处理功能比较简单,如果是BG1ICA大佬打包的版本,会自带一个简单DMR解码的插件

但顾名思义,这个插件比较简单,只是简单将DMR信号恢复为语音并播放,无法查看详细的处理过程
所以我们要解决的第一个问题是如何将SDR#收到的信号导入DSDPlus,这是我们可以安装VBCable,这个软件可以在计算机中添加虚拟声卡,我们就可以将sdr#接收到的原始音频信号通过虚拟声卡送入DSDPlus,VBCable安装好后我们在系统的播放设备中可以看到增加了两项

而录音设备也增加了一项

这是我们回到SDR#,如果是BG1ICA大佬的版本,会有一个插件是DSD接口

当SDR#开始接收信号后,插件界面上方的三个选项就会变亮,进入可勾选状态,勾选“启用辅助音频输出”,音频设备我们选择Cable In 16ch(VB-audio)
然后我们进入DSDPlus的文件夹,如果是BG1ICA大佬的版本,有可能叫DSDPlusUI,我们可以看到里面有一些针对特定任务已经写好的bat,双击启动之后dsdplus就可以进入对应的工作状态


由于我们要处理DMR信号,这时可以先运行dmr.bat,启动后的窗口如上所示,注意这里列出了input device和output device,先记下这两个列表,后面会用到,记下下之后可以先关闭这个窗口
然后用记事本打开dmr.bat,如果想保留一份原始配置的话,可以复制一份dmr.bat再用记事本打开,里面的内容非常简单,比如

其中DSDPlus显然是启动DSDPlus主程序,后面跟着的就是若干参数,-i项是将音频输入dsd的设备,我们要将后面的数字改为bat运行窗口中input device里CABLE Output (VB-Audio Virtual... 项对应的编号,比如我上面的截图里他是#2,那我就要把这一项写为-i2
类似的,-o是播放设备的编号,这个比较随意,可以根据你想从哪个耳机/音箱听到DSDPlus从DMR恢复出来的语音,就把它对应的编号写上,比如我想从我的beats耳机里收听,那就选择output device #1,这一项就是-o1
需要修改的只有这两项,可以保存这个bat并且再次运行了,运行后会有四个窗口

这是如果SDR#接收的频率上有DMR活动,这几个窗口就会不断更新信息,在命令行窗口中会不断滚动记录,其中slot1表示时隙1,slot1表示时隙2,DSD+ Event log窗口会显示一些简化的关键信息

比如上图,如果是群呼,就是Group call,后面的TG=就是群呼的目标群ID号,类似的,Private call就是个呼,Tgt=就是个呼的接收者ID号,Src就是呼叫发起者的ID号,最下方的DCC就是色码
DSD+也会把对应的语音信息通过前面你指定的设备进行播放,同时,会在DSDPlusUI目录里生成DSDPlus.wav和DSDPlus.srt

DSDPlus.wav存储了转换后的语音信息,DSDPlus.srt以同步字幕的形式存储了每个时点对应的主程序记录,可以方便日后分析