1、傅里叶光学中的基本函数
矩形函数
矩形函数,表示为
r
e
c
t
(
x
)
rect(x)
rect(x)或者
Π
(
x
)
\Pi(x)
Π(x),在光学中可以用来表示狭缝、矩孔、面光源等等,是一个非常重要的概念,其定义为
r
e
c
t
(
x
)
=
{
1
,
∣
x
∣
<
1
2
1
2
,
∣
x
∣
=
1
2
0
,
∣
x
∣
>
1
2
rect(x)=\left\{ \begin{aligned} &1,\qquad |x|<\frac{1}{2} \\ &\frac{1}{2} ,\qquad |x|=\frac{1}{2} \\ &0 ,\qquad |x|>\frac{1}{2} \end{aligned} \right.
rect(x)=⎩
⎨
⎧1,∣x∣<2121,∣x∣=210,∣x∣>21
其图形为
通过其图形可以看出,整个区域的面积为1,即
∫
−
∞
∞
r
e
c
t
(
x
)
d
x
=
1
\int_{-\infty}^\infty rect(x)dx=1%
∫−∞∞rect(x)dx=1,
三角函数
三角函数,表示为
t
r
i
(
x
)
tri(x)
tri(x)或者
Λ
(
x
)
\Lambda(x)
Λ(x),在光学中可以用来表示非相干照明情况下矩形孔的光学传递函数,其定义为
r
e
c
t
(
x
)
=
{
1
−
∣
x
∣
,
∣
x
∣
≤
1
0
,
∣
x
∣
>
1
rect(x)=\left\{ \begin{aligned} &1-|x|,&\quad |x| \leq 1 \\ &0 , &\qquad |x|>1 \end{aligned} \right.
rect(x)={1−∣x∣,0,∣x∣≤1∣x∣>1
其图形为
通过其图形可以看出,整个区域的面积为1,即 ∫ − ∞ ∞ t r i ( x ) d x = 1 \int_{-\infty}^\infty tri(x)dx=1% ∫−∞∞tri(x)dx=1,
s i n c ( x ) sinc(x) sinc(x)函数
s
i
n
c
(
x
)
sinc(x)
sinc(x)函数,在光学中可以用来表示狭缝的夫琅禾夫颜色图像振幅,在数学上是矩形函数
r
e
c
t
(
x
)
rect(x)
rect(x)的傅里叶变换,其定义为
s
i
n
c
(
x
)
=
s
i
n
(
π
x
)
π
x
sinc(x)=\frac{sin(\pi x)} {\pi x}
sinc(x)=πxsin(πx)
也可以表示为
s
i
n
c
(
x
)
=
ℑ
[
r
e
c
t
(
x
)
]
=
∫
−
∞
∞
r
e
c
t
(
x
)
e
−
j
2
π
f
x
d
x
sinc(x)=\Im[{rect(x)}]=\int_{-\infty}^{\infty} {rect(x})e^{-j2\pi f_x}dx
sinc(x)=ℑ[rect(x)]=∫−∞∞rect(x)e−j2πfxdx
其图形为
其整个区域的面积为1,即
∫
−
∞
∞
s
i
n
c
(
x
)
d
x
=
1
\int_{-\infty}^\infty sinc(x)dx=1%
∫−∞∞sinc(x)dx=1,
s i n c 2 ( x ) sinc^2(x) sinc2(x)函数
s
i
n
c
2
(
x
)
sinc^2(x)
sinc2(x)函数,顾名思义,
s
i
n
c
(
x
)
sinc(x)
sinc(x)函数的平方,就是在光学中可以用来表示矩孔的夫琅禾夫颜色图像振幅,在数学上可以看作是频域内
s
i
n
c
(
x
)
s
i
n
c
(
x
)
sinc(x)sinc(x)
sinc(x)sinc(x),也就是矩形函数
r
e
c
t
(
x
)
rect(x)
rect(x)的傅里叶变换的能量谱,其定义为
s
i
n
c
(
x
)
=
s
i
n
2
(
π
x
)
(
π
x
)
2
sinc(x)=\frac{sin^2(\pi x)} {(\pi x)^2}
sinc(x)=(πx)2sin2(πx)
根据卷积定理,频域内的乘积就是时域内的卷积,所以其也可以表示为
s
i
n
c
2
(
x
)
=
r
e
c
t
(
x
)
⊗
r
e
c
t
(
x
)
=
∫
−
∞
∞
r
e
c
t
(
τ
)
r
e
c
t
(
τ
−
x
)
d
τ
sinc^2(x)={rect(x)} \otimes rect(x)=\int_{-\infty}^{\infty} {rect(\tau}){rect(\tau-x})d\tau
sinc2(x)=rect(x)⊗rect(x)=∫−∞∞rect(τ)rect(τ−x)dτ
其图形为
高斯函数
高斯函数,表示为
G
a
u
s
(
x
)
Gaus(x)
Gaus(x),是一个非常重要的函数,可以用来描述激光器的输出光束,作平滑滤波等等,其表达式为
G
a
u
s
(
x
)
=
e
−
π
x
2
Gaus(x)=e^{-\pi x^2}
Gaus(x)=e−πx2
高斯函数有两个性质:
- 各阶导数都存在且可导;
- 傅里叶变换仍然是高斯函数。
图形如下
奇异函数 δ ( x ) \delta(x) δ(x)
奇异函数
δ
(
x
)
\delta(x)
δ(x),可以用来描述点光源,其表达式为
δ
(
x
)
=
{
∞
,
x
=
0
0
,
x
≠
0
\delta(x)=\left\{ \begin{aligned} &\infty,&\qquad x=0\\ &0 , &\qquad x\neq 0 \end{aligned} \right.
δ(x)={∞,0,x=0x=0
全空域积分也为1,即
∫
−
∞
∞
δ
(
x
)
d
x
=
1
\int_{-\infty}^\infty \delta (x)dx=1%
∫−∞∞δ(x)dx=1,
一维梳状函数
一维梳状函数,又称为一维抽样函数,表示为
c
o
m
b
(
x
)
comb(x)
comb(x),可以用来描述对一维函数离散采样,同时,也可以用卷积实现函数的周期性延拓,其表达式为
c
o
m
b
(
x
)
=
∑
m
=
−
∞
∞
δ
(
x
−
m
)
comb(x)=\sum_{m=-\infty}^\infty{\delta(x-m)}
comb(x)=m=−∞∑∞δ(x−m)
其中,m是一个整数,根据
δ
(
x
)
\delta(x)
δ(x)函数的定义,只有在
x
=
m
x=m
x=m的位置上为1,其余均为0,所以图形是间隔为1,强度为1的冲击序列,如下图所示,
二维圆域函数
圆域函数,表示为
c
i
r
c
(
x
)
circ(x)
circ(x),在光学领域中可以用来描述一个圆孔的透过率,描述圆形透镜的光瞳函数模值限制,在图像处理过程中可以作为理想低通滤波器。其定义为:
c
i
r
c
(
x
)
=
{
1
,
x
2
+
y
2
<
1
1
2
,
x
2
+
y
2
=
1
0
,
x
2
+
y
2
>
1
circ(x)=\left\{ \begin{aligned} &1, &\qquad \sqrt{x^2+y^2} < 1\\ &\frac{1}{2} , &\qquad \sqrt{x^2+y^2} = 1\\ &0 , &\qquad \sqrt{x^2+y^2} >1\\ \end{aligned} \right.
circ(x)=⎩
⎨
⎧1,21,0,x2+y2<1x2+y2=1x2+y2>1
其图形为
2、解析到离散过渡
这部分将讲解如何从解析函数过渡到离散函数,其实就是描述各种实际的物理量,以矩形函数为例分析。举个例子,我需要在一个长为无穷大,宽为10mm的黑屏上开出一条宽为1mm的缝,该如何描解决呢?在分析这一类问题时,首先需要建立坐标系,然后确定主要参数。比如,以x坐标表示宽,y坐标表示长,屏中心为原点建立坐标系,如下图所示:
- 物的尺寸L:物体的长是无限的,因此无需考虑y方向,只分析x方向,变成了一维问题。物体的宽度L的取值范围为[-5,5]mm。
- 矩形函数的宽度W:矩形孔的宽度W的取值范围为[-0.5,0.5]mm。
- 采样数目M:M是所需要的采样点数,也就是创建的向量长度,这里不做多余考虑,取M=500;(事实上,采样的点数不能过少,根据奈奎斯特采样定律,采样太少,会发生混叠,信号失真,矩孔函数信号部分10个点以上,即 M ≥ 100 M\geq100 M≥100即可。
- 采样间隔 Δ x \Delta x Δx: Δ x = L / m = 10 / 500 = 0.02 m m \Delta x=L/m=10/500=0.02mm Δx=L/m=10/500=0.02mm;
- 坐标x: x ∈ [ − L / 2 : Δ x : L / 2 − Δ x x\in[-L/2:\Delta x:L/2-\Delta x x∈[−L/2:Δx:L/2−Δx]
- 一维到二维:如果考虑二维问题,因为一般初等函数都是可以分离变量的,也就是可以分开考虑x和y,在建立坐标后,用MATLAB提供的meshgrid(fx,fy)函数就可以得到二维的坐标。
3、基本函数的MATLAB代码
矩形函数
一维矩形函数
以上述的例子为例,代码如下:
clc;
clear;
close all;
w=1;
L=10;
M=500;
dx=L/M;
x=-L/2:dx:L/2-dx;
f=abs(x)<w/2;
figure(1)
plot(x,f);
运行结果如下:
二维矩形函数
clc;
clear;
close all;
wx=1;
wy=0.5;
L=10;
M=500;
dx=L/M;
x=-L/2:dx:L/2-dx;
y=x;
fx=abs(x)<wx/2;
fy=abs(y)<wy/2;
[FX,FY] = meshgrid(fx,fy);
f = FX.*FY;
figure(1)
imagesc(x,y,f);
grid on;
三角函数
clc;
close all;
clc;
clear;
close all;
w=1;
L=10;
M=500;
dx=L/M;
x=-L/2:dx:L/2-dx;
T = 1-abs(x);
mask = abs(x)<=1;
f = T.*mask;
figure(1)
plot(x,f);
s i n c ( x ) sinc(x) sinc(x)函数
clc;
clear;
close all;
L=10;
M=500;
dx=L/M;
x=-L/2:dx:L/2-dx;
f=sin(pi*x)./(pi*x);
figure(1)
plot(x,f);
s i n c 2 ( x ) sinc^2(x) sinc2(x)函数
clc;
clear;
close all;
L=10;
M=500;
dx=L/M;
x=-L/2:dx:L/2-dx;
f=sin(pi*x).*sin(pi*x)./((pi*x).^2);
figure(1)
plot(x,f);
高斯函数
clc;
clear;
close all;
L=10;
M=500;
dx=L/M;
x=-L/2:dx:L/2-dx;
f=exp(-pi*x.^2);
figure(1)
plot(x,f);
clc;
clear;
close all;
L=10;
M=500;
dx=L/M;
x=-L/2:dx:L/2-dx;
y=x;
[X,Y]=meshgrid(x,y);
f=exp(-pi*(X.^2+Y.^2));
figure(1)
mesh(x,y,f)
奇异函数 δ ( x ) \delta(x) δ(x)
clc;
clear;
close all;
L=10;
M=500;
dx=L/M;
x=-L/2:dx:L/2-dx;
f=(x==0);
figure(1)
plot(x,f);
一维梳状函数
clc;
clear;
close all;
L=10;
M=500;
dx=L/M;
x=-L/2:dx:L/2-dx;
x = round(x*10^4)/10^4;%精确到小数点后4位
f = rem(x,1)==0;%place 1 in out where rem = 0
figure(1)
plot(x,f)
二维圆域函数
clc;
clear;
close all;
L=10;
M=500;
r = 1;
dx=L/M;
x=-L/2:dx:L/2-dx;
y=x;
[X,Y]=meshgrid(x,y);
f=(X.^2+Y.^2<=r^2);
figure(1)
mesh(x,y,f);