sinc函数和Sa函数对比解析
原理分析
- sinc函数,又称辛格函数。表达式为:
s i n c ( t ) = s i n ( π t ) / ( π t ) sinc(t) = sin(πt)/(πt) sinc(t)=sin(πt)/(πt)
傅里叶变换后的形式为:
u
[
(
w
+
1
)
/
p
i
)
]
−
u
[
(
w
−
1
)
/
p
i
)
]
u[(w+1)/pi)]-u[(w-1)/pi)]
u[(w+1)/pi)]−u[(w−1)/pi)]
2.Sa函数,又称采样函数,表达式为:
S
a
(
t
)
=
s
i
n
(
t
)
/
t
Sa(t)=sin(t)/t
Sa(t)=sin(t)/t
傅里叶变换后的形式为:
p
i
∗
[
u
(
w
+
1
)
−
u
(
w
−
1
)
]
pi*[u(w+1)-u(w-1)]
pi∗[u(w+1)−u(w−1)]
起始二者的区别只在于是否归一化。
仿真示例
仿真示例与代码:
clc; clear all; close all;
% Author: @IMMUNIZE
dt=0.01;
fs=1/dt;
t=-100:dt:100-dt
sinct=sin(pi*t)./(pi*t);
Sa = sin(t)./t;
subplot(4,1,1);
plot(t,sinct);
xlim([-8,8]);
title('sinct/t时域');
subplot(4,1,3);
plot(t,Sa);
xlim([-8,8]);
N=2^20*32;
sincf=fft(sinct,N);
Saf = fft(Sa,N);
f=-fs/2:fs/N:(fs/2-fs/N);
title('Sa/t时域');
subplot(4,1,2);
plot(f,fftshift(abs(sincf))/max(abs(sincf)))
axis([-10 10,0,1]);
title('sinct/t频域');
subplot(4,1,4);
plot(f,fftshift(abs(Saf))/max(abs(Saf)))
axis([-10 10,0,1]);
title('Sa/t频域');
绘制图形为:
注意细节
另外请注意虽然频域上是个矩形,其作为滤波器的矩行系数为1,不可实现,另有,反推之其时域为非因果系统,而非因果系统在物理上同样是不可实现的,因此实际应用中我们都只能尽可能的逼近而做不到完全理想。如此即为数字滤波器的基本前置知识。