SolidWorks 光机结构设计

mechanical-structure-design-0.png

在学校里经常有学弟向我咨询学院开设的一些设计课程的相关内容,所以我觉得有必要写几篇文章详细展示一下课程的内容、难度以及我的感想。我看到 2019 级本科生培养方案中,已经把「专业认知实习」课程并入了「光电导论」课程,「光学系统设计」和「电子系统设计」课程二选一,也就是说在大一和大二的暑假都只需要修一门课程,这是比较不错的课程调整。这篇文章原本应该在《光电学院短学期结束》之前发布,因为「光机结构设计」是我们专业的第一门设计类课程,也是我的第一门暑假短学期课程(我用科研夏令营替换了「专业认知实习」课程)。不过之前一直忙着各种事务,把这篇文章一拖再拖,直到现在才有机会写完。

博客迁移,从 Hexo 到 Hugo

hugo-theme-meme.png

去年 11 月初的时候,我将我的博客迁移到了 Hugo,主题是 MemE。尽管我的博客才刚刚创建没多长时间,为了满足自己对博客功能的需求,我还在 NexT 主题的基础上进行了很多个性化的修改,但我最终还是抛弃了 Hexo。

NexT 主题确实是 Hexo 中可定制程度最高的主题,我折腾了很久,但是这种高度自由的定制也带来了不少麻烦:每一次我对主题进行更新的时候,都要小心翼翼地操作,因为该主题的开源团队会时不时地对主题部分页面的结构进行大改,而我对页面的美化恰恰是基于结构的,这就导致了各种各样的报错。每一次为了解决这些错误,我都要认真对主题的源代码进行研究,看一看两个版本之间到底哪里发生了改变,这花费了不少的时间精力。另外,不得不吐槽的是,Hexo 生成页面的速度远不如 Hugo 迅速,这也是我选择 Hugo 的原因。

春节和肺炎的组合

2020-spring-festival.png

今年的春节格外的冷清。由于禁止燃放烟花爆竹,十二点的钟声一响,再也没有噪音打扰到我的入眠。十二月份开始的由新型冠状病毒引发的肺炎疫情,从武汉蔓延至全国各地,各种大型活动都取消了,贺岁档电影也撤档了,走亲访友改成了线上视频电话的方式。超市、药店的口罩都卖脱销了,每家每户都躲在家里,戴着口罩。

前些日子刚从学校回家的时候,疫情还没有现在这么严重,我还觉得这都是小事,不至于让那么多人恐慌。可就仅仅过了一周的时间,疫情传播地越来越快,地图上红色区域越来越多,我也紧张起来,同时回想起了小时候经历非典的情形。除夕的傍晚,学校一位摄影老师拍摄了杭州城站的情景,车站里只有一些安保人员、清洁工,还有零星的乘客,他们都戴着口罩。杭州的疫情算是比较严重的城市了,大概是因为在武汉和杭州之间往返的人有很多。当初我计划在大年初一去电影院看电影,早早地买了票,当初我还计划春节期间到公园里赏花灯,约朋友一起散散步。现在这些计划都取消了,那几部同时在大年初一上映的电影也撤档了,躲在家里才是最安全的。

基于 MATLAB 的信号处理

光电专业的《信号与系统》课程是选修课程,要求掌握的内容不如隔壁信电深入。但我认为这是一门很有必要学习的课程,因为在这门课程中你会学习信号的三大变换:傅里叶变换、拉普拉斯变换、Z 变换,这些对于光学领域的图像和信号处理有所帮助。除此之外,这门课程还设有八次 MATLAB 操作实验,对于很多第一次使用 MATLAB 进行信号处理的人来说,这可以算是一个入门课程,虽然对于 MATLAB 的使用,老师并没有讲什么东西,还是要靠自学。在本文中,我将对在该门课程中涉及到的一些 MATLAB 信号处理方法进行汇总,希望对入门级别的人有所帮助。

MATLAB 光学仿真入门

光的电磁理论基础

光波由光疏介质进入光密介质

分析光波由光疏介质进入光密介质时反射率和透射率的变化。光疏介质空气 $n_1=1$,光密介质石英玻璃 $n_2=1.45$,作出 $p$、$s$ 分量的振幅反射率和振幅透射率以及他们的绝对值随入射角度的变化曲线。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
n1=1, n2=1.45;
theta=0:0.1:90;
a=theta*pi/180;
rp=(n2*cos(a)-n1*sqrt(1-(n1/n2*sin(a)).^2))./(n2*cos(a)+n1*sqrt(1-(n1/n2*sin(a)).^2));
rs=(n1*cos(a)-n2*sqrt(1-(n1/n2*sin(a)).^2))./(n1*cos(a)+n2*sqrt(1-(n1/n2*sin(a)).^2));
tp=2*n1*cos(a)./(n2*cos(a)+n1*sqrt(1-(n1/n2*sin(a)).^2));
ts=2*n1*cos(a)./(n1*cos(a)+n2*sqrt(1-(n1/n2*sin(a)).^2));
figure(1);
subplot(1,2,1);
plot(theta,rp,'-',theta,rs,'--',theta,abs(rp),':',theta,abs(rs),'-.','LineWidth',2)
legend('r_p','r_s','|r_p|','|r_s|')
xlabel('\theta_i')
ylabel('Amplitude')
title(['n_1=',num2str(n1),',n_2=',num2str(n2)])
axis([0 90 -1 1])
grid on
subplot(1,2,2);
plot(theta,tp,'-',theta,ts,'--',theta,abs(tp),':',theta,abs(ts),'-.','LineWidth',2)
legend('t_p','t_s','|t_p|','|t_s|')
xlabel('\theta_i')
ylabel('Amplitude')
title(['n_1=',num2str(n1),',n_2=',num2str(n2)])
axis([0 90 0 1])
grid on 

simulation-of-optics-0.png