如何通过声卡接收来自德国海军的信号,或研究超低频无线电信号

哈Ha



接收和分析超长波这一主题非常有趣,但是在哈布雷(Habré)上很少提及。让我们尝试填补空白,看看它是如何工作的。





日本的VLF发射机(c)en.wikipedia.org/wiki/Very_low_frequency



甚低频



超低频被认为是无线电范围的频率,其频率小于30 KHz。很久以前,军方就对它们产生了兴趣,当时很明显,如此长的波长(长达100公里的波长!)的无线电波可以穿透水,并可以与潜艇通信。很难说是谁提出了这种方法,但是早在1943年,歌利亚发射器就在德国发射,以15至25 kHz的频率向潜艇发射数据。战后,发射机被拆卸,运到苏联重新启动,据维基百科说,它仍然可以工作。



任何天线的效率都取决于波长,对于长波,天线效率也极低-兆瓦时,辐射功率(EIRP)仅30-50 kW。但是,秘密地向潜艇传输信号的可能性非常诱人,因此它并没有阻止任何人-这样的系统现在可以正常工作了。传输VLF信号非常困难,但是任何人都可以接收它们。您甚至不需要无线电接收器,普通PC声卡的20-30 KHz频率就足够了。我们将需要更长的电缆,将其连接到声卡的输入端,并在森林或野外没有工业干扰的地方随身携带一台笔记本电脑。尽管现代技术提供了一种更方便的接收方式-使用SDR在线进行。例如,您可以看到荷兰大学接收器的全景图Twente







所有垂直线均为当前系统。结果是惊人的,VLF频谱被“干扰”了不少于FM广播频段上的晚间广播。让我们看看我们在这里能看到什么。



12-15 KHz的频率下我们看到与俄罗斯无线电导航系统Alpha(全名RSDN-20-远程导航无线电技术系统)有关的标记。根据Wikipedia的说法,Alpha的发射器以11.9、12.6和14.8 kHz的频率运行,该系统可提供高达1.5 km的定位精度。但是,在全景图中看不到任何脉冲,也许它们有输出Twente的接收器对此信号不够敏感,或者无线电信号是按照某种时间表发送的。下一个工作频率16.4 kHz的位于挪威Noviken发射机列出其余列表没有任何意义,可以在Wikipedia上查看列表



接待处



如何接收超低频信号同样是一个有趣的问题。但是出于明显的原因,几乎没有关于带有开源潜艇的通信设备的详细信息。可以从图片中了解总体思路:





跨信号传播©IEEE Communications Magazine 1981



如您所见,一根长电线用作天线,它可以简单地在船后延伸,或通过特殊的浮标固定在一定深度。天线本身显然不是秘密,谷歌很容易找到带有说明的pdf:







700 m的电缆长度令人印象深刻,但对我们来说,幸运的是,“在陆地上”的一切都简单得多,并且不需要这种巨型天线,即使在天线上也可以接收VLF信号。便携式天线MiniWhip位于阳台上。



记录与分析



现在让我们看一下所发射的无线电信号的结构。例如,我从德国以23.4 kHz传输了一个随机的DHO38信号。对于录音,我们选择如图所示的频率和调制,然后单击“录音”按钮。







可以在免费的Signals Analyzer程序中打开生成的文件。从图片中可以明显看出,信号使用了调频(FSK):







让我们应用FSK解调器,我们得到一个比特序列:







顺便说一下,传输速率是每秒200比特-观看youtube绝对不够,但是对于30 m深度的潜艇来说这还不错。您可能会猜到,甚低频通讯是单向的-船员无法从水下回答。



让我们更详细地考虑信号。让我们将FSK解码器之后获得的文件保存在WAV中。当然,我们将无法接收传输的内容-信号很可能已加密。但是您可以使用Python将位流“扩展”为2D图像,从而看到位流的结构。如果数据包含任何重复的片段(例如,流被分成一定长度的数据包),则这将在图像上清晰可见。



资源
from scipy.io import wavfile
import matplotlib.pyplot as plt
from PIL import Image

_, data = wavfile.read('websdr_recording_2020-11-06T15_00_00Z_23.4kHz_.wav')
print("WAV: %d samples" % data.shape[0])

for iw in range(400, 1024, 2):
    print("Saving: {} of {}...".format(iw, 1024))
    w, h = iw, 800
    image = Image.new('RGB', (w, h))

    px, py = 0, 0
    for p in range(data.shape[0]):
        image.putpixel((px, py), (0, data[p]//16, 0))
        px += 1
        if px >= w:
            px = 0
            py += 1
            if py >= h:
                break

    image.save("image-%d.png" % iw)


我们不知道传输的参数,因此我们只介绍所有输出选项。结果将是一组看起来像这样的文件:







很容易看到,在图片的一定宽度下,很容易猜出一些图案。比特流扩大:







那些感兴趣的人可以自己尝试图片的宽度,我希望原理很清楚。线路的斜率是由于发射器和接收器的频率不匹配而造成的。当然,要获得完整的比特流,显然20条代码是不够的,用PLL编写数字解调器显然超出了本文的范围。总的来说,这没有太多意义-信号仍然是加密的,即使使用位数据,我们也不会做其他任何事情。虽然那些希望的人可以尝试自己搜索模式。



结论



如您所见,对此类通信系统的研究不仅具有技术意义,而且具有历史意义。而且在超低频下,仍然有许多有趣的信号,包括自然起源的信号,例如,舒曼共振在10-20赫兹的频率下。



作为对那些到目前为止阅读以下内容的人的奖励:那些希望“现场”观看在这样的频率上的发送和接收工作方式的人可以尝试接收德国Pinneberg电台,该电台以147.3 kHz的开放格式广播天气报告。您可以使用其他程序(例如MultiPSK)对信号进行解码。您还可以考虑使用Python解码,如果需要,请在注释中编写。



和往常一样,祝大家好运。



All Articles