clc;
clear;
I=zeros(512,512);
for i=1:512
for j=1:512
I(i,j)=128+127cos(i/322pi+pi/4);
end
end
I1=mat2gray(I);
figure(1),imshow(I1)
周期可以自己改一下,我也只是给一个参考,希望能起到抛砖引玉的作用
这是一个比较大的话题,但用一句话说就是找到图像的特征进行比较匹配识别。其流程一般为:1) 对图像进行预处理,如滤波等,目的是使图像特征突出和便于以后处理。2) 提取要识别的图像3) 提取图像特征,包括频域特征、形态特征等等。4) 根据特征进行分类识别(根据特征库)在此之前还需要对样本进行训练,获得特征库,用于第四步的识别。
clf;
%设置固定参数
lamda=[660,610,570,550,460,440,410]1e-9; %七色光的波长,单位米
RGB=[1,0,0; 1,05,0; 1,1,0; 0,1,0; 0,1,1; 0,0,1; 067,0,1]; %七色光的RGB 值
d=4e-5; %光栅常数
%设置可调参数
b=8e-6;
N=18; %透光缝宽及光栅单元数
Bright=80; %亮度调节系数
%设置仿真光屏参数
Irgb=zeros(150,9425,3); %仿真光屏矩阵(仿真结果RGB值图像矩阵,初值置零)
Iw=zeros(150,9425,3); %用于记录各色光衍射结果的RGB值矩阵(初值置零)
%计算白光光栅衍射的光强及对应的RGB 值矩阵数据
%计算各色光光栅衍射光强分布
for k=1:7
theta=(-0015pi:000001:0015pi); %衍射角度的变化范围
phi=2pidsin(theta)/lamda(k);
alpha=pibsin(theta)/lamda(k);
Idf=(sinc(alpha))^2; %单缝衍射的相对光强
Idgs=(sin(Nphi/2)/sin(phi/2))^2; %多光束干涉的相对光强
I= Idf Idgs; %光栅衍射的相对光强
%计算与各色光衍射光强对应的RGB 值矩阵数据
for i=1:150
red = IRGB(k,1); %把红基色代码计入Iw 矩阵红维度
green = IRGB(k,2); %把绿基色代码计入Iw 矩阵绿维度
yellow = IRGB(k,3);%把蓝基色代码计入Iw 矩阵蓝维度
Iw(i,:,1)=red;
Iw(i,:,2)=green;
Iw(i,:,3)=yellow;
end
%计算白光光栅衍射RGB 值图像矩阵数据
Irgb=Irgb+Iw; %把各色光衍射的RGB 值矩阵计入仿真结果RGB 值图像矩阵中
Iw=[];
end
%显示白光光栅衍射实验仿真结果
Br=1/max(max(max(Irgb))); %调整Irgb 矩阵元素的最大值为1 的系数
II=IrgbBrBright; %调节仿真图像亮度
imshow(II); %显示仿真结果
把最后的
ezplot('(klambdalambdaf)/(2pidn)-n1')
改成
ezplot((klambdalambdaf)/(2pidn)-n1)
就可以画图。但表达式里有两个变量f和n1两个变量,ezplot绘制的相当于
(klambdalambdaf)/(2pidn)-n1 = 0
的曲线,你确定符合你的需要?而且画出来的曲线n1始终为0,是不是什么地方写错了?
本人从日本回来,单位要求评估一下virtuallab这个软件。本人从事衍射光学设计,在日本和Virtuallab的日本代理有很多的交流,得知这个软件在日本和美国都卖不动,基本上没有人愿意使用这个软件,本人试用了多次,总结其原因如下: E5w;75,
1 建模能力有限 ,不能支持CAD文件的导入;很多的面型需要编程来实现,采用C#和VB的编程方式反而没有matlab等数学软件编程方便。 <Dd>- K
2 光学元件类型有限,没有反射镜模型,就是说不能考虑反射镜的模型;不能倾斜和偏心;在光栅工具只能考虑透射场;没有棱镜模型。 <h/%jM>9/
3 此软件号称做衍射光学元件很强,可是仔细一看,只有傅里叶迭代的优化算法,居然没有常见的模拟退火和遗传算法-----。 0f^{Rp6
4 LED整形,只有微机构光栅模型,没有微结构棱镜和微结构的mirror模型,也就是用来能看看。 V)j[`,M:
5 所谓的激光工具只是一个摆设,激光的简单的模型都不能分析。 AEOn1hN
6 光栅工具的光源只能用理想的平面波;不能考虑反射场。 FEaT}/h;
7 没见到号称所有的模拟技术都整合在一起,却是只见到几种简单的模拟技术,甚至没有FDTD算法。
-----------------不一一例举了----- J
综上所述,此软件只是适合于高校的教学演示使用。相比而言,没有matlab方便以及适用面广泛,没有能应用的实用价值。 <kak9 6A
回到国内,发现很多的研究所(如上海光机所和长光所)和高校(如南京理工和长春理工)均买了这个软件,而且价格很贵,听说要上100W了,在中国的报价比在美国和日本等地方的价格要高出很多倍,相信大家都懂这是什么原因。如此软件在欧美,使用者基本上没有,在中国却发扬光大。不知道国内的购买者用来做什么,难道需要这么贵的软件来进行教学演示吗?由此可知,软件本身的功能并不是重点,在这种交易后面的东西才是重要。一个愿意买,一个愿意卖,中间各得好处。本人有日本和美国的报价单,价格和国内相比,相差6倍左右,如此不堪一用的软件,居然能够在国内如此高价出售,大家都知道其中的原因。在这个软件所有的功能,本人通过自编程序或者matlab编程均可以实现。 Y@UkP+{f=
国内的购买者再怎么差劲,不至于让人如此欺骗吧--------
研究生课程论文封面
课程名称 论文题目
0 前言
光纤光栅是近二十几年来迅速发展的光纤器件,其应用是随着写入技术的不断改进而发展起来的,逐渐在实际中得到应用。
1978年,加拿大通信研究中心的Hill 等发现纤芯参锗的光纤具有光敏性,并利用驻波干涉法制成了世界上第一根光纤光栅。光纤的光敏性主要是指光线的折射率在收到某些波长的激光照射后,会发生永久改变的特性。通常情况需要紫外光照射,折射率会向着增大的方向改变。具有光敏性的光纤主要是纤芯参锗的光纤,受到紫外光照射后,纤芯折射率会增加,而包层折射率不变。
在光纤光栅的发展过程中,参锗光纤的载氢技术具有重要意义。参锗光纤本身具有光敏性,单当要求折射率改变较大时,相应就要提高纤芯的参锗浓度,这会影响光纤本身的特性。1993年,贝尔实验室的Lemaire 等用光纤载氢技术增强了光纤的光敏性,这种发发适用于任何参锗的光纤。通过光纤的载氢能够将在不增加参锗浓度情况下,使光纤的光敏性大大提高。
在平面介质光波导中,布拉格光栅的应用比较早,主要应用于半导体激光器中,而后出现了光纤布拉格光栅,随着光纤光栅写入技术的成熟,光纤光栅在光通信和传感中得到广泛应用,特别是在光通信领域。光纤布拉格光栅和长周期光纤光栅的特性和应用有许多不同之处,也有类似的地方,都可用于通信和传感等领域。
光纤布拉格光栅的周期一般在微米以下,根据耦合模理论,这样的周期表现为使向前传播的纤芯模与向后传播的纤芯模之间发生耦合,结果在输出端表现为很窄的带阻滤波特性。作为一种反射型的光纤无源器件,
光纤布拉格光栅对温度,
应变都有相当程度的敏感特性,其在光纤激光器,波分复用,可调谐光纤滤波器,高速光纤通信系统的色散补偿及光纤传感器等反面有许多重要应用。
对于长周期光纤光栅,其光栅的周期较长,根据光波导的耦合模理论,表现为向前传播的纤芯模和同向传播的包层模的耦合。特定长度和耦合系数的长周期光纤光栅可以将纤芯模耦合到包层中而损耗掉。一般来说,与光纤布拉格光纤相比,长周期光纤光栅的光谱带宽较大,其最典型的应用时参铒光纤放大器增益平坦,带阻滤波器和传感。
1 耦合模理论
耦合模方程是从麦克斯韦方程经过一系列推导得到的,其基本思想是:利用可求解光波导的解,研究受到微扰的光波导,或者相互有影响的光波导,其理论基础在于规则光波导的具有正交性,即:
⎰⎰(e
∞
)⋅z 0dxdy =2δυμ ⨯h t υt μ
利用麦克斯韦方程组,经过变换可得:
∂H t
∇t ⨯(∇t ⨯E t )-K 0n E t =-j ωμ0z 0⨯
∂z
2
2
∇t ⨯(∇t ⨯H t )-K 02n 2H t =j ωμ0z 0⨯
对于电场和磁场矢量,有:
∂E t ∂z
E t (x , y , z )=e t (x , y )e j βz ,H t (x , y , z )=h t (x , y )e j βz
在微扰光波导中,横向电、磁矢量可以看作e t υ和h t μ的线性叠加,即:
E t =∑a υe t υ,H t =∑b υh t υ
υ
υ
则: ∑
υ
⎛db υ⎫
-ja υβυ⎪z 0⨯h t υ=-j ωε0(n 2-n 02)∑a υe t υ
υ⎝dz ⎭
⎡⎛11⎫⎤j ⎛da υ⎫
-jb υβυ⎪z 0⨯e t υ=-b υ∇t ⨯⎢ -2⎪∇t ⨯h t υ⎥ ∑ ∑2 ⎪υ⎝dz ωε0υ⎭⎣⎝n n 0⎭⎦
其中,βυ为模序数为υ的本征模的传播常数。
利用模的正交关系,可以得到:
db υt
-ja υβυ=∑K υμa μ
μdz
da υz
-jb υβυ=∑K υμb μ
μdz
j ωε022
()n -n a e ⋅e dxdy 耦合系数: K υμ=⎰⎰0υt υt υ
2∞
t
⎡⎛11⎫⎤
K υμ=h t μ⋅∇t ⨯⎢ -2⎪∇t ⨯h t υ⎥dxdy ⎰⎰2 ⎪2ωε0∞
⎣⎝n n 0⎭⎦
z
j
在无耦合情况下有:
db υ
-ja υβυ=0 dz
da υ
-jb υβυ=0 dz
设a υ
+b υ=2A υe j βz , a υ-b υ=2B υe -j βz ,根据以上两式,可以得出微扰光波
υ
υ
导中的电场、磁场分布:
υ
E t =∑a υe t υ=∑(A υe j βz +B υe -j βz )e t υ
υ
υ
υ
H t =∑b υh t υ=∑(A υe j βz -B υe -j βz )h t υ
υ
υ
υυ
其中,e
j βυz
和e
-j βυz
分别为沿z 轴正向传播的模式和反向传播的模式,也就是说,
受到微扰后的波导中的模可以看做不同模序的前行模叠加、后行模叠加,或者说是相互叠加;A υ和B υ分别为相应分量的展开系数,均是z 的函数,可表示为
A υ(z )和B υ(z )。
于是得到普遍的耦合模方程为:
dA μj (β-β)z -j (β+β)z t z t z
()()=j ∑A υK υμ+K υμe +j ∑B υK υμ-K υμe υυdz
dB μj (β+β)z -j (β-β)z t z t z
))=-j ∑A υ(K υμ-K υμe -j ∑B υ(K υμ+K υμe
υυdz
υ
μ
υ
μ
υ
μ
υ
μ
其中,βυ和βμ为模式υ和μ的传播常数;K υμ和K υμ分别是模式υ和μ之间的
t
z
横向和纵向分量的耦合系数。K υμ和K υμ分别为:
t
z
1∞∞
K υμ=ω⎰-∞⎰-∞∆ε(x , y , z )e t υ⋅e t μdxdy
4
1∞∞ε∆ε(x , y , z )z
K υμ=ω⎰-∞⎰-∞z υ⋅e z μdxdy
4ε+∆εx , y , z t
其中,ω为光波的角频率;e t υ和e t μ分别为模式υ和μ的电场的横向矢量分量;
∆ε(x , y , z )
为光波导中由于扰动引起的介电常量的改变量,
∆ε(x , y , z )≈2ε0n ∆n (x , y , z ),n 为未受扰动时的折射率,∆n (x , y , z )为折
射率改变量。
位于光纤光栅来说,K υμ比K υμ小得多(大约为一个数量级),所以在通常
z
t
情况下可以忽略。
2 光纤布拉格光栅
光纤布拉格光栅使沿z 轴传播的纤芯模和沿-z 方向传播的纤芯模之间产生耦合,属于两个反向模之间的耦合,取沿z 轴传播的模的振幅为A ,沿-z 方向传播的模的振幅为B ,只考虑这两个模之间的耦合,则由上面的方程可得:
dA t t
=jAK 11+jBK 12e -j 2βz dz
dB t t
=-jBK 11-jAK 21e j 2βz dz
从耦合系数方程可知,K 12
t
t
=K 21
。前行模和后行模的自耦合系数相等,即,
故可统一记为K 11。
t
对紫外激光写入的均匀正弦布拉格光栅,折射率分布为:
⎧⎡⎛2π⎫⎤⎫
n 1(z )=n 1⎨1+σ(z )⎢1+cos z ⎪⎥⎬
⎝Λ⎭⎦⎭⎣⎩
其中,Λ为光栅的周期;σ
(z )为折射率调制的缓变包络,通常称为切趾或切趾
函数;n 1σ相当于坐标z 处折射率改变量的幅值。通常情况下,折射率改变量可写为:
⎡⎡⎛2π⎫⎤⎛2π
∆n 1(z )=n 1σ(z )⎢1+cos z ⎪⎥=(z )⎢1+cos
⎝Λ⎭⎦⎝Λ⎣⎣
t
代入横向耦合系数K υμ中,并改写为:
⎡⎛2π
K υμ=κυμ(z )⎢1+cos
⎝Λ⎣
t
⎫⎤
z ⎪⎥ ⎭⎦
⎫⎤z ⎪⎥ ⎭⎦
其中,
κυμ(z )=
ωε0n 12
2
σ(z )⎰⎰e t υ(x , y )⋅e t μ(x , y )dxdy =k 0n eff
κυμ(z )和n eff 均是z 的慢变函数,当两个下标相同时,κυμ(z )为自耦合系数,
不同时为互耦合系数。但对于光纤布拉格光栅,只有纤芯模之间的耦合,对单模光纤,υ
=μ=1。
⎛2πcos ⎝Λ
2π-j z ⎫1⎛j 2Λπz Λ⎫z ⎪= e +e ⎪
⎭⎭2⎝
利用关系:
将K υμ的表达式中余弦表示为指数形式,并代入耦合模方程,则会出现指数项
t
。在耦合模方程中,只有该项的指数部分为零时,才会使两个模之间
发生较强的耦合,其前面的系数才会对方程的解有大的影响,显然,括号中同时取+时,该指数项不可能为零,因此,只能取-。从而得到如下简化后的耦合模方程:
e
2π⎛
±j 2β±
Λ⎝⎫⎪z ⎭
dA
=jA κ11+jB κe -j 2δz dz
dB
=-jB κ11-jA κe j 2δz dz
其中,δ
=β-
π
Λ
,κ=
κ12
2
=
κ21
2
=
2πk 0n eff π
n eff 。 =n eff ,κ11=λ2λ
在上述方程中,起主导作用的是等号右边的第二项,为了简便,可以忽略含有κ11的项。从而得到如下的耦合模方程:
dA
=jB κe -j 2δz dz
dB
=-jA κe j 2δz dz
求解方程组后可以得到A 和B 。设光栅区在0~
L ,上述方程组可化为两个
2
独立的二阶常微分方程,取边界条件,z=0时,A=A(0);z=L时,B=B(L)。当κ时,可以得到方程的解为:
>δ2
⎧s cosh [s (L -z )]-j δsinh [s (L -z )]⎫j κsinh (sz )A (z )=e -j δz ⎨A (0)-e -j δL B (L )⎬
s cosh sL -j δsinh sL s cosh sL -j δsinh sL ⎩⎭
⎧⎫j κsinh [s (L -z )]s cosh (sz )-j δsinh (sz )B (z )=e ⎨A (0)+e -j δL B (L )⎬
s cosh sL -j δsinh sL ⎩s cosh sL -j δsinh sL ⎭
j δz
其中,s 2=κκ-δ2=κ2-δ2。对一般情况,可取A (0)=1,B(L)=0,则得到光纤布拉格光栅的反射率和透射率为:
P B (0)B (0)κκsinh 2(sL ) R ==2=2222
P A 0A 0s cosh sL +δsinh sL 2
P A (L )s 2
T == 2=2222
P A 0A 0s cosh sL +δsinh sL 2
A (L )
在相位匹配条件下,δ=0,对应了最大反射率和最大透射率,即:
R max =tanh 2(κL ),T max =cosh -2(κL )
若设光栅的输入端功率为P 1(0)=1,P 2(0)=0,则谐振时光功率分别为
P B =tanh 2(κL ), P A =cosh -2(κL ), 下图给出了相位匹配条件下,即对谐振波长的光功率转换。
程序编码:
kL=linspace(0,5); figure
P_B=(tanh(kL))^2;
plot(kL,P_B,"r" ) ;hold on P_A=(cosh(kL))^-2; plot(kL,P_A,"b" );grid
程序运行如下:
FIG1 光纤布拉格光栅的功率转换
光纤布拉格光栅中耦合模的两个模都是纤芯模,但是反向传播,相位匹配条件为δ
=0,即:
β-π/Λ=0
利用传播常数和有效折射率的关系β
=
2π
λ
n eff ,可以将上式改写为:
λB =2n eff Λ
利用上述光纤布拉格光栅的反射率和透射率公式,可以画出其反射谱和透射谱,程序编码如下:
lambda=linspace(1540,1560,5000);
k=(12pi/lambda)10^(-3);s=sqrt(k^2-delta^2); delta=3pi(lambda-1550)/(1550^2);
y1=(sinh(2e6s)^2)/(cosh(2e6s)^2-(delta^2/k^2)); subplot(2,1,1);plot(z,y1,"r" );
xlabel(" 波长(nm)"),ylabel(" 反射率" ); title("FBG 反射谱" );grid;
y2=1/(cosh(2e6s)^2+(delta^2/s^2)sinh(2e6s)^2); subplot(2,1,2);plot(z,y2,"b" );
xlabel(" 波长(nm)"),ylabel(" 透射率" ); title("FBG 透射谱" );grid;
程序运行如下:
FIG2 光纤布拉格光栅反射谱和透射谱
3 相移光纤布拉格光栅
相移光纤布拉格光栅是在均匀的折射率余弦调制光纤中,在某个或某些位置上出现相位偏移,结果会在反射谱中出现一个较窄的缺口,可以有多个相移,相应会出现多个缺口。
对相移光纤布拉格光栅,折射率变化时分段连续的,因此,不能再用一个函数来表示,需要用分段函数来表示。折射率调制可以写成:
⎡⎡⎛2π⎫⎤⎛2π⎫⎤
∆n 1(z )=n 1σ(z )⎢1+cos z +φi (z )⎪⎥=∆n (z )⎢1+cos z +φi (z )⎪⎥
⎝Λ⎭⎦⎝Λ⎭⎦⎣⎣
z i
其中,φi
(z )为第i 个相移点的相移量。
相移光纤布拉格光栅的耦合模方程可以通过传输矩阵来表示。传输矩阵是由
耦合模方程得到的,可以用于均匀和非均匀光纤光栅。类似的,利用上述方法,并考虑到:
2π⎛2π⎫
-j z +φ⎪
⎛2π⎫1⎛j ⎛ ⎝Λz +φ⎫⎪⎭Λ⎭⎫cos z +φi ⎪= e +e ⎝⎪⎝Λ⎭2⎝⎭
i
i
可以得到耦合模方程:
dA
=jB κe j (-2δz +φ) dz
i
dB
=-jA κe j (2δz -φ) dz
i
经过复杂的计算,可以得到耦合模方程的解,并写成矩阵的形式为:
A (z i +1)A (z i )
=F z z
B (z i +1)B (z i )
i i +1
其中,F z i z i +1
当κ
=
s 11s 21
s 12s 22
。
>δ
时,令s
2
=κκ-δ2=κ2-δ2,得:
i +1-z i
δ⎧⎫
s 11=⎨cosh [s (z i +1-z i )]+j sinh [s (z i +1-z i )]⎬e -j δ(z
s ⎩⎭
κ
s 12=j sinh [s (z i +1-z i )]e -j δ(z +z )e j φ
s
i +1
i
i
)
s 21=-j sinh [s (z i +1-z i )]e j δ(z
s
κ
i +1+z i
)
e -j φ
i
δ⎧⎫
s 22=⎨cosh [s (z i +1-z i )]-j sinh [s (z i +1-z i )]⎬e j δ(z
s ⎩⎭
当κ
i +1-z i
)
时,令s
2
=δ2-κκ=δ2-κ2,可以得到:
i +1-z i
δ⎧⎫
s 11=⎨cos [s (z i +1-z i )]+j sin [s (z i +1-z i )]⎬e -j δ(z
s ⎩⎭
κ
s 12=j sin [s (z i +1-z i )]e -j δ(z +z )e j φ
s
i +1
i
i
)
s 21=-j sin [s (z i +1-z i )]e j δ(z
s
κ
i +1+z i
)
e -j φ
i
δ⎧⎫
s 22=⎨cos [s (z i +1-z i )]-j sin [s (z i +1-z i )]⎬e j δ(z
s ⎩⎭
i +1-z i
)
矩阵F z i z i +1称为传输矩阵。如果光线中只有一段均匀光纤布拉格光栅,通常有
B (z i +1)=0,所以:
⎛s 12s 21⎫s 21
⎪s 11-A (z i ) B (z i )=-A (z i ),A (z i +1)= ⎪s 22⎭s 22⎝
则反射率和透射率分别为:
R =
B (z i A z i 22
s 21
=s 22
2
,T =
A (z i +1)A z i 2
2
s 12s 21
=s 11-
s 22
2
利用上述相移光纤布拉格光栅的反射率和透射率公式,可以画出其反射谱和透射谱,程序编码如下:
function PhaseFiber_by_TransmissionMatrix_mine n=500;lamda=1e-9linspace(1545,1555,n); [R1,R2,R3,R4]=Transmission_FBG;
subplot(2,2,1);plot(lamda1e9,R1,"r" ); title("fai=0");grid axis([1545,1555,0,1]);
xlabel(" 波长/nm");ylabel(" 反射率" ); subplot(2,2,2);plot(lamda1e9,R2,"c" ); title("fai=pi/2");grid axis([1545,1555,0,1]);
xlabel(" 波长/nm");ylabel(" 反射率" ); subplot(2,2,3);plot(lamda1e9,R3,"g" ); title("fai=pi");grid axis([1545,1555,0,1]);
xlabel(" 波长/nm");ylabel(" 反射率" ); subplot(2,2,4);plot(lamda1e9,R4,"b" ); title("fai=3pi/2");grid axis([1545,1555,0,1]);
xlabel(" 波长/nm");ylabel(" 反射率" ); end
function [F1]=Transmission_FBG1(lamda,lamda_B,dn,n_eff,i) delta=2pin_eff(1/lamda-1/lamda_B); j=sqrt(-1);
k=pidn/lamda_B;L(1)=1e-3; s=sqrt(k^2-delta^2);
s11(i,1)=(cosh(s(i)L(1))+jdelta(i)/s(i)sinh(s(i)L(1)))exp(-jdelta(i)L(1));
s12(i,1)=jk/s(i)sinh(s(i)L(1))exp(-jdelta(i)L(1)); s21(i,1)=-jk/s(i)sinh(s(i)L(1))exp(jdelta(i)L(1));
见>
以上就是关于怎么用matlab画出周期为200nm的正弦光栅全部的内容,包括:怎么用matlab画出周期为200nm的正弦光栅、如何用matlab实现光栅视差图像的合成、求matlab大神帮忙解决错误白光光栅衍射代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)