一.示波器下观察李萨如图

当示波器在XY模式下的时候,示波器的两个通道分别接入两个信号源,当信号源的频率之间有以下的关系的时候,便可以观察到如下的现象:

频率1:1

频率1:3

频率 2:3

示波器XY模式可以以一个通道的ADC采样值作为横坐标,另一个通道的ADC采样值作为纵坐标,知道了这个原理后,便可以有一些好玩的事情了!

如显示一个图片或者是播放一个视频!

这个是我们班级的Logo:

BadApple自然不用说:

BadApple2.jpg

再来一张一个学姐的logo:

二:那具体是如何实现的呢?

且看Octave源码

理论上Matlab也应该是能用的,不过要删去第一行

pkg load image

img = imread("test.jpg");
imgMono = rgb2gray(img);  %%转灰度
imgEdge = edge(imgMono,"Canny");  %%边缘检测

imshow(imgEdge);

Bou = bwboundaries(imgEdge);   %%得到边缘点的坐标

dots = cell2mat(Bou);

dots = [dots(:,2) -dots(:,1)];   %%不加处理的话会导致图像是反的

dots /= max(max(dots));  %%将dots中元素的绝对值缩放到 0 和 1之间

for i = 0:8   %%加长音频的长度
  dots = [dots;dots];
endfor


audiowrite('test.wav',dots,96000);  %%写入音频

这样,左声道接X轴,右声道接Y轴,就能够在示波器上显示图片了