定理3 取样原则
一个频带宽度为F0的带限信号xa(t),如过它的取样频率Fs大于频带宽度F0的两倍,则可以通过它的取样值x(n)重建。
否则将会导致x(n)信号的错误识别,一个模拟带宽信号的取样频率为2F0的话,该频率称为奈奎斯特频率。
应该注意的是,在xa(t)取样后,x(n)代表的最高模拟频率是Fs/2(或 w=pi)
matlab中的应用
使用matlab进行模拟信号的分析是不可能的,除非我们使用Symbolic toolbox,但是,如果我们对xa(t)以一个有足够小的增量来描述一个平滑曲线的良好间隔进行取样以及一个足够大的最大时间来展示所有的部分,然后我们可以近似地分析,让Δt称为一个格子间隔以至于Δt<<Ts,然后有以下式子
可以通过一个式子来模仿模拟信号,取样间隔Ts不应该与格子间隔Δt混淆,相似的,对应式子(3.30)有如下傅里叶变换
现在如果xa(t)是有限区间上的,那么式子(3.31)类似于DTFT关系(3.3),所以可以被应用在matlab中。
例3.17
>> %Analog Signal
>> Dt = 0.00005;t=-0.005:Dt:0.005;xa=exp(-1000*abs(t));
>> %Continuous-time Fourier Transform
>> Wmax = 2 * pi *2000;K = 500;k=0:1:K;W=k*Wmax/K;
>> Xa=xa*exp(-j*t'*W)*Dt;Xa=real(Xa);
>> W=[-fliplr(W),W(2:501)];%Omega from -Wmax to Wmax
>> Xa=[fliplr(Xa),Xa(2:501)];%Xa over -Wmax to Wmax interval
>> subplot(1,1,1)
>> subplot(2,1,1);
>> plot(t*1000,xa);
>> subplot(2,1,2);plot(W/(2*pi*1000),Xa*1000);
例3.18
a.因为xa(t)的频带宽度为2KHz,奈奎斯特频率为4KHz,小于所给定的Fs,所以混叠是几乎不存在的
>> %Analog Signal
>> Dt=0.00005;t=-0.005:Dt:0.005;xa=exp(-1000*abs(t));
>> %Discrete-time Signal
>> Ts=0.0002;n=-25:1:25;x=exp(-1000*abs(n*Ts));
>> %Discrete-time Fourier transform
>> K=500;k=0:1:K;w=pi*k/K;
>> X=x*exp(-j*n'*w);X=real(X);
>> w=[-fliplr(w),w(2:K+1)];
>> X=[fliplr(X),X(2:K+1)];
>> subplot(1,1,1)
>> subplot(2,1,1);plot(t*1000,xa);
>> xlabel('t in msec.');ylabel('x1(n)')
>> title('Discrete Signal');hold on
>> stem(n*Ts*1000,x);gtext('Ts=0.2msec');hold off
>> subplot(2,1,2);plot(w/pi,X);
>> xlabel('Freqency in pi units');ylabel('X1(w)')
>> title('Discrete-time Fourier Transform')
b.这里Fs=1000<4000.所以将会有大量的混叠
>> %Analog Signal
>> Dt=0.00005;t=-0.005:Dt:0.005;xa=exp(-1000*abs(t));
>> %Discrete-time Signal
>> Ts=0.001;n=-25:1:25;x=exp(-1000*abs(n*Ts));
>> %Discrete-time Fourier transform
>> K=500;k=0:1:K;w=pi*k/K;
>> X=x*exp(-j*n'*w);X=real(X);
>> w=[-fliplr(w),w(2:K+1)];
>> X=[fliplr(X),X(2:K+1)];
>> subplot(1,1,1)
>> subplot(2,1,1);plot(t*1000,xa);
>> xlabel('t in msec.');ylabel('x1(n)')
>> title('Discrete Signal');hold on
>> stem(n*Ts*1000,x);gtext('Ts=0.2msec');hold off
>> subplot(2,1,2);plot(w/pi,X);
>> xlabel('Freqency in pi units');ylabel('X1(w)')
>> title('Discrete-time Fourier Transform')