一.示波器下观察李萨如图
当示波器在XY模式下的时候,示波器的两个通道分别接入两个信号源,当信号源的频率之间有以下的关系的时候,便可以观察到如下的现象:
频率1:1
频率1:3
频率 2:3
示波器XY模式可以以一个通道的ADC采样值作为横坐标,另一个通道的ADC采样值作为纵坐标,知道了这个原理后,便可以有一些好玩的事情了!
如显示一个图片或者是播放一个视频!
这个是我们班级的Logo:
BadApple自然不用说:
再来一张一个学姐的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轴,就能够在示波器上显示图片了
最新回复