实验五 信号抽样与恢复
一、实验目的
学会用MATLAB实现连续信号的采样和重建
二、实验原理 1.抽样定理
若f(t)是带限信号,带宽为m, f(t)经采样后的频谱Fs()就是将f(t)的频谱 F()在频率轴上以采样频率s为间隔进行周期延拓。因此,当sm时,不会发生频率混叠;而当 s<m 时将发生频率混叠。
2.信号重建
经采样后得到信号fs(t)经理想低通h(t)则可得到重建信号f(t),即:
f(t)=fs(t)*h(t)
其中:
fs(t)=f(t)(tnT)f(nT)(tnT)s=
ss
ch(t)TsSa(ct)
所以:
f(t)=fs(t)*h(t)=f(nT)(tnT)ss*
TscSa(ct)
Tsc=f(nT)Sa[sc(tnTs)]
上式表明,连续信号可以展开成抽样函数的无穷级数。
tsin(t)Sa(t)sinc()t来表示Sa(t),有 ,所以可以得到在
利用MATLAB中的
sinc(t)MATLAB中信号由f(nTs)重建f(t)的表达式如下:
c(tnTs)]
Tscf(t)=f(nTs)sinc[我们选取信号f(t)=Sa(t)作为被采样信号,当采样频率s=2m时,称为临界采样。我们取理想低通的截止频率c=m。下面程序实现对信号f(t)=Sa(t)的采样及由该采样信号恢复重建Sa(t):
例5-1 Sa(t)的临界采样及信号重构;
wm=1; %信号带宽
wc=wm; %滤波器截止频率
Ts=pi/wm; %采样间隔
ws=2*pi/Ts; %采样角频率
n=-100:100; %时域采样电数
nTs=n*Ts %时域采样点
f=sinc(nTs/pi);
Dt=0.005;t=-15:Dt:15;
fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t)))); 信号重构
t1=-15:0.5:15;
f1=sinc(t1/pi);
subplot(211);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('sa(t)=sinc(t/pi)的临界采样信号');
%
subplot(212);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由sa(t)=sinc(t/pi)的临界采样信号重构sa(t)');
grid;
例5-2 Sa(t)的过采样及信号重构和绝对误差分析
程序和例4-1类似,将采样间隔改成Ts=0.7*pi/wm , 滤波器截止频率该成wc=1.1*wm ,
添加一个误差函数
wm=1;
wc=1.1*wm;
Ts=0.7*pi/wm;
ws=2*pi/Ts;
n=-100:100;
nTs=n*Ts
f=sinc(nTs/pi);
Dt=0.005;t=-15:Dt:15;
fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
error=abs(fa-sinc(t/pi)); %重构信号与原信号误差
t1=-15:0.5:15;
f1=sinc(t1/pi);
subplot(311);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('sa(t)=sinc(t/pi)的采样信号');
subplot(312);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由sa(t)=sinc(t/pi)的过采样信号重构sa(t)');
grid;
subplot(313);
plot(t,error);
xlabel('t');
ylabel('error(t)');
title('过采样信号与原信号的误差error(t)');
例5-3 Sa(t)的欠采样及信号重构和绝对误差分析
程序和例4-2类似,将采样间隔改成Ts=1.5*pi/wm , 滤波器截止频率该成wc=wm=1
三、上机实验内容
1.验证实验原理中所述的相关程序;
sa(t)=sinc(t/pi)的临界采样信号10.50-0.5-15f(kTs)-101050kTs由sa(t)=sinc(t/pi)的临界采样信号重构sa(t)-51510.5fa(t)0-0.5-15-10-50t51015
sa(t)=sinc(t/pi)的采样信号1f(kTs)0-1-15-100510kTs由sa(t)=sinc(t/pi)的过采样信号重构sa(t)-5152fa(t)0-2-15x 10-5-1005t过采样信号与原信号的误差error(t)-510151error(t)0.50-15-10-50t51015
sa(t)=sinc(t/pi)的采样信号1f(kTs)0-1-15-100510kTs由sa(t)=sinc(t/pi)的过采样信号重构sa(t)-5152fa(t)0-2-15-1005t过采样信号与原信号的误差error(t)-510151error(t)0.50-15-10-50t51015
2.设f(t)=0.5*(1+cost)*(u(t+pi)-u(t-pi)) ,由于不是严格的频带有限信号,但其频谱大部分集中在[0,2]之间,带宽wm可根据一定的精度要求做一些近似。试根据以下两种情况用 MATLAB实现由f(t)的抽样信号fs(t)重建f(t) 并求两者误差,分析两种情况下的结果。
(1) wm=2 , wc=1.2wm , Ts=1;
(2) wm=2 , wc=2 , Ts=2.5
0.5*(1+cost)*(u(t+pi)-u(t-pi))的采样信号1f(kTs)0.50-150510kTs由0.5*(1+cost)*(u(t+pi)-u(t-pi))的过采样信号重构sa(t)-10-5151fa(t)0-1-15x 10-3-1005t过采样信号与原信号的误差error(t)-510152error(t)10-15-10-50t51015
0.5*(1+cost)*(u(t+pi)-u(t-pi))的采样信号1f(kTs)0.50-150510kTs由0.5*(1+cost)*(u(t+pi)-u(t-pi))的欠采样信号重构sa(t)-10-5155fa(t)0-5-15-1005t欠采样信号与原信号的误差error(t)-510154error(t)20-15-10-50t51015