AM 라디오
유한 대역 신호에서 시작합니다.
In[1]:=
![Click for copyable input](assets.ko/am-radio/In_83.png)
a = BandpassFilter[
AudioNormalize@
AudioResample[Import["ExampleData/rule30.wav"], 96000], {Quantity[
10, "Hertz"], Quantity[5000, "Hertz"]}, 201]
In[2]:=
![Click for copyable input](assets.ko/am-radio/In_84.png)
Periodogram[a, 2000, ImageSize -> Small,
PlotRange -> {{0, 10000}, All}]
Out[2]=
![](assets.ko/am-radio/O_37.png)
22050 Hz의 사인 곡선 진폭을 조정하여 스펙트럼의 상한 콘텐츠를 이동합니다. 결과는 대부분의 사람들은 이미 들을 수 없습니다.
In[3]:=
![Click for copyable input](assets.ko/am-radio/In_85.png)
amsignal = ((.5 + a) AudioGenerator[{"Sin", Quantity[22050, "Hertz"]},
Duration@a])/2
In[4]:=
![Click for copyable input](assets.ko/am-radio/In_86.png)
Periodogram[amsignal, 2200, ImageSize -> Small]
Out[4]=
![](assets.ko/am-radio/O_38.png)
결과에 동일한 위상의 22050 Hz의 다른 사인 곡선을 곱하여 AM 신호를 복조합니다.
In[5]:=
![Click for copyable input](assets.ko/am-radio/In_87.png)
result = BandpassFilter[
amsignal*AudioGenerator[{"Sin", Quantity[22050, "Hertz"]},
Duration@amsignal], {Quantity[100, "Hertz"],
Quantity[5000, "Hertz"]}, 201]
비선형 필터를 사용하여 AM 신호를 복조합니다.
In[6]:=
![Click for copyable input](assets.ko/am-radio/In_88.png)
BandpassFilter[# - Mean@# &@
MaxFilter[amsignal, 4], {Quantity[100, "Hertz"],
Quantity[5000, "Hertz"]}, 201]