创建并破译摩尔斯电码信号
创建摩尔斯电码词典.
显示完整的 Wolfram 语言输入
Out[1]=

创建一个函数,使用词典将信息翻译为音频信号.
In[2]:=

createMorseSignal[s_String, t_] :=
Module[{events =
Characters[StringReplace[ToLowerCase[s], Normal@replacements]],
ts, amps},
ts = TimeSeries[ToExpression@events, {0, (Length[events] - 1)*t, t}];
amps = AudioGenerator[ts, SampleRate -> 1000];
AudioGenerator[{"Sin", 800}, Duration@amps,
SampleRate -> 8000] amps
]
将字符串编码为音频信号.
In[3]:=

morse = createMorseSignal["hello world", .07]
在对其时间不做任何推测的条件下,破译摩尔斯信号.
In[4]:=

inversecode = AssociationThread[Values[code], Keys[code]]
Out[4]=

显示完整的 Wolfram 语言输入
In[6]:=

decoded = decodeMorseSignal[morse]
Out[6]=

In[7]:=

StringJoin[decoded /. inversecode]
Out[7]=
