20211003:数字滤波器前置知识,sinc函数与Sa函数

sinc函数和Sa函数对比解析

原理分析

  1. 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[(w1)/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(w1)]
起始二者的区别只在于是否归一化。

仿真示例

仿真示例与代码:

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频域');

绘制图形为:

20211003:数字滤波器前置知识,sinc函数与Sa函数_第1张图片

注意细节

另外请注意虽然频域上是个矩形,其作为滤波器的矩行系数为1,不可实现,另有,反推之其时域为非因果系统,而非因果系统在物理上同样是不可实现的,因此实际应用中我们都只能尽可能的逼近而做不到完全理想。如此即为数字滤波器的基本前置知识。

你可能感兴趣的:(数字信号处理,matlab)