实验五1实验五信号的抽样与恢复.docx
- 文档编号:24082458
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:19
- 大小:368.74KB
实验五1实验五信号的抽样与恢复.docx
《实验五1实验五信号的抽样与恢复.docx》由会员分享,可在线阅读,更多相关《实验五1实验五信号的抽样与恢复.docx(19页珍藏版)》请在冰豆网上搜索。
实验五1实验五信号的抽样与恢复
实验五信号的抽样与恢复
一、实验目的
(1)验证抽样定理;
(2)熟悉信号的抽样与恢复过程;
(3)通过实验观察欠采样时信号频谱的混迭现象;
(4)掌握采样前后信号频谱的变化,加深对采样定理的理解;
(5)掌握采样频率的确定方法。
二、实验内容和原理
信号的抽样与恢复示意图如图4.1所示。
图5-1信号的抽样与恢复示意图
抽样定理指出:
一个有限频宽的连续时间信号
,其最高频率为
,经过等间
隔抽样后,只要抽样频率
不小于信号最高频率
的二倍,即满足
,就能从抽样信号
中恢复原信号,得到
。
与
相比没有失真,只有幅度和相位的差异。
一般把最低的抽样频率
称为奈奎斯特抽样频率。
当
时,
的频谱将产生混迭现象,此时将无法恢复原信号。
的幅度频谱为
;开关信号
为周期矩形脉冲,其脉宽
相对于周期
非常小,故将其视为冲激序列,所以
的幅度频谱
亦为冲激序列;抽样信号
的幅度频谱为
;
的幅度频谱为
。
如图4.1所示。
观察抽样信号的频谱
,可以发现利用低通滤波器(其截止频率满足
)就能恢复原信号。
信号抽样与恢复的原理框图如图4.2所示。
图5-2信号抽样与恢复的原理框图
由原理框图不难看出,A/D转换环节实现抽样、量化、编码过程;数字信号处理环节对得到的数字信号进行必要的处理;D/A转换环节实现数/模转换,得到连续时间信号;低通滤波器的作用是滤除截止频率以外的信号,恢复出与原信号相比无失真的信号
。
三、涉及的MATLAB函数
subplot(2,1,1)
xlabel('时间,msec');ylabel('幅值');
title('连续时间信号x_{a}(t)');
axis([01-1.21.2])
stem(k,xs);grid;
linspace(-0.5,1.5,500)';
ones(size(n)
freqs(2,[121],wa);
plot(wa/(2*pi),abs(ha)
buttord(Wp,Ws,0.5,30,'s');
[Yz,w]=freqz(y,1,512);
M=input('欠采样因子=');
length(nn1)
y=interp(x,L)
[b,a]=butter(N,Wn,'s');
get(gfp,'units');
set(gfp,'position',[100100400300]);
fx1=fft(xs1)
abs(fx2(n2+1))
y=resample(x,L,M);
四、实验内容与方法
1.验证性实验
1)正弦信号的采样
MATLAB程序:
clf;
t=0:
0.0005:
1;
f=13;
xa=cos(2*pi*f*t);
subplot(2,1,1)
plot(t,xa);grid
xlabel('时间,msec');ylabel('幅值');
title('连续时间信号x_{a}(t)');
axis([01-1.21.2])
subplot(2,1,2);
T=0.1;
n=0:
T:
1;
xs=cos(2*pi*f*n);
k=0:
length(n)-1;
stem(k,xs);grid;
xlabel('时间,msec');ylabel('幅值');
title('离散时间信号x[n]');
axis([0(length(n)-1)-1.21.2])
正弦信号的采样结果如图4.3所示。
图5-3正弦信号的采样
2)采样与重构
MATLAB程序:
clf;
T=0.1;f=13;
n=(0:
T:
1)';
xs=cos(2*pi*f*n);
t=linspace(-0.5,1.5,500)';
ya=sinc((1/T)*t(:
ones(size(n)))-(1/T)*n(:
ones(size(t)))')*xs;
plot(n,xs,'o',t,ya);grid;
xlabel('时间,msec');ylabel('幅值');
title('重构连续信号y_{a}(t)');
axis([01-1.21.2]);
正弦信号的采样与重构结果如图4.4所示。
图5-4正弦信号的采样与重构结
3)采样的性质
MATLAB程序:
clf;
t=0:
0.005:
10;
xa=2*t.*exp(-t);
subplot(2,2,1)
plot(t,xa);grid
xlabel('时间信号,msec');ylabel('幅值');
title('连续时间信号x_{a}(t)');
subplot(2,2,2)
wa=0:
10/511:
10;
ha=freqs(2,[121],wa);
plot(wa/(2*pi),abs(ha));grid;
xlabel('频率,kHz');ylabel('幅值');
title('|X_{a}(j\Omega)|');
axis([05/pi02]);
subplot(2,2,3)
T=1;
n=0:
T:
10;
xs=2*n.*exp(-n);
k=0:
length(n)-1;
stem(k,xs);grid;
xlabel('时间n');ylabel('幅值');
title('间散时间信号x[n]');
subplot(2,2,4)
wd=0:
pi/255:
pi;hd=freqz(xs,1,wd);
plot(wd/(T*pi),T*abs(hd));grid;
xlabel('频率,kHz');ylabel('幅值');
title('|X(e^{j\omega})|');axis([01/T02])
信号采样的性质如图4.5所示。
图5-5信号采样的性质
4)模拟低通滤波器设计
MATLAB程序:
clf;
Fp=3500;Fs=4500;
Wp=2*pi*Fp;Ws=2*pi*Fs;
[N,Wn]=buttord(Wp,Ws,0.5,30,'s');
[b,a]=butter(N,Wn,'s');
wa=0:
(3*Ws)/511:
3*Ws;
h=freqs(b,a,wa);
plot(wa/(2*pi),20*log10(abs(h)));grid
xlabel('Frequency,Hz');ylabel('Gain,dB');
title('Gainresponse');
axis([03*Fs-605]);
模拟低通滤波器的设计结果如图4.6所示
图5-6所示模拟低通滤波器的设计
5)时域过采样
MATLAB程序:
clf;
n=0:
50;
x=sin(2*pi*0.12*n);
y=zeros(1,3*length(x));
y([1:
3:
length(y)])=x;
subplot(2,1,1)
stem(n,x);
title('输入序列');
subplot(2,1,2)
stem(n,y(1:
length(x)));
title('输出序列');
离散信号的时域过采样结果如图4.7所示。
图5-7离散信号的时域过采样
6)时域欠采样
MATLAB程序:
clf;
n=0:
49;
m=0:
50*3-1;
x=sin(2*pi*0.042*m);
y=x([1:
3:
length(x)]);
subplot(2,1,1)
stem(n,x(1:
50));axis([050-1.21.2]);
title('输入序列');
subplot(2,1,2)
stem(n,y);axis([050-1.21.2]);
title('输出序列');
离散信号的时域欠采样结果如图4.8所示。
图5-8离散信号的时域欠采样
7)频域过采样
MATLAB程序:
freq=[00.450.51];
mag=[0100];
x=fir2(99,freq,mag);
[Xz,w]=freqz(x,1,512);
Subplot(2,1,1);
plot(w/pi,abs(Xz));grid
title('输入谱');
Subplot(2,1,2);
L=input('过采样因子=');
y=zeros(1,L*length(x));
y([1:
L:
length(y)])=x;
[Yz,w]=freqz(y,1,512);
plot(w/pi,abs(Yz));axis([0101]);grid
title('输出谱');
信号的频域欠采样结果如图4.9所示。
图5-9信号的频域欠采样
8)频域欠采样
freq=[00.420.481];
mag=[0100];
x=fir2(101,freq,mag);
[Xz,w]=freqz(x,1,512);
Subplot(2,1,1);
plot(w/pi,abs(Xz));grid
title('输入谱');
M=input('欠采样因子=');
y=x([1:
M:
length(x)]);
[Yz,w]=freqz(y,1,512);
Subplot(2,1,2);
plot(w/pi,abs(Yz));grid
title('输出谱');
信号的频域欠采样结果如图4.10所示。
图5-10信号的频域欠采样
9)采样过程演示
MATLAB程序:
clf;
M=input('欠采样因子=');
n=0:
99;
x=sin(2*pi*0.043*n)+sin(2*pi*0.031*n);
y=decimate(x,M,'fir');
gfp=figure;
get(gfp,'units');
set(gfp,'position',[100100400300]);
subplot(2,1,1);
stem(n,x(1:
100));
title('输入序列');
subplot(2,1,2);
m=0:
(100/M)-1;
stem(m,y(1:
100/M));
title('输出序列');
信号的采样结果如图4.11所示。
图5-11信号的采样结果
10)插值过程
MATLAB程序:
clf;
L=input('过采样因子=');
n=0:
49;
x=sin(2*pi*0.043*n)+sin(2*pi*0.031*n);
y=interp(x,L);
subplot(2,1,1);
stem(n,x(1:
50));
title('输入序列');
subplot(2,1,2);
m=0:
(50*L)-1;
stem(m,y(1:
50*L));
title('输出序列');
信号的插值过程结果如图4.12所示
图5-12信号的插值过程
11)两速率采样
MATLAB程序:
clf;
L=input('过采样因子=');
M=input('欠采样因子=');
n=0:
29;
x=sin(2*pi*0.43*n)+sin(2*pi*0.31*n);
y=resample(x,L,M);
subplot(2,1,1);
stem(n,x(1:
30));
axis([029-2.22.2]);
title('输入序列');
subplot(2,1,2);
m=0:
(30*L/M)-1;
stem(m,y(1:
30*L/M));
axis([0(30*L/M)-1-2.22.2]);
title('输出序列');
输入不同的过采样因子和欠采样因子就可以得到不同的输出。
图4.13给定的是其中一种输出结果。
图5-13信号的两速率采样
2.程序设计实验
设计一模拟信号:
x(t)=3sin(2π·f·t)。
采样频率为5120Hz,取信号频率f=150Hz(正常采样)和f=3000Hz(欠采样)两种情况进行采样分析。
实验程序:
clf;
t=0:
0.0000005:
0.02;
f1=150;
f2=3000;
xa1=3*sin(2*pi*f1*t);
xa2=3*sin(2*pi*f2*t);
fs=5120;
T=1/fs;
nn1=-1:
T:
1;
nn2=-1:
T:
1;
xs1=3*sin(2*pi*f1*nn1);
xs2=3*sin(2*pi*f2*nn2);
k1=0:
length(nn1)-1;
k2=0:
length(nn2)-1;
subplot(3,2,1)
plot(t,xa1);grid
xlabel('时间,msec');ylabel('幅值');
title('连续时间信号x_{a1}(t)');
axis([00.02-33])
subplot(3,2,2)
plot(t,xa2);grid
xlabel('时间,msec');ylabel('幅值');
title('连续时间信号x_{a2}(t)');
axis([00.001-33])
subplot(3,2,3);
stem(k1,xs1);grid;
xlabel('时间,msec');ylabel('幅值');
title('离散时间信号x1[n]');
axis([0100-33])
subplot(3,2,4);
stem(k2,xs2);grid;
xlabel('时间,msec');ylabel('幅值');
title('离散时间信号x2[n]');
axis([05-33])
subplot(3,2,5)
N1=length(xs1);
fx1=fft(xs1);
df1=fs/N1;
n1=0:
N1/2;
f1=n1*df1;
plot(f1,abs(fx1(n1+1))*2/N1);grid;
set(gca,'XTickMode','manual','XTick',[0,50,100,150,200,250,300])
set(gca,'YTickMode','manual','YTick',[1,2,3,4])
title('离散时间信号x1[n]和频谱图');
axis([030004])
subplot(3,2,6)
N2=length(xs2);
fx2=fft(xs2);
df2=fs/N2;
n2=0:
N2/2;
f2=n2*df2;
plot(f2,abs(fx2(n2+1))*2/N2);grid;
set(gca,'XTickMode','manual','XTick',[100,500,1000,1500,2120,2500])
set(gca,'YTickMode','manual','YTick',[1,2,3,4])
title('离散时间信号x2[n]和频谱图');
执行后得到如图4.14:
图5-14两种信号的采样及频谱图
从图4.14中我们可以看出,当正常采样时,频谱图上和原信号频谱一样,冲激点在f=150Hz片,而且采样时,发生了频谱混迭,负频上的-3000Hz搬移到了正频上的2120Hz。
五、实验报告要求
简述实验目的及原理,按实验步骤附上相应的信号波形和频谱曲线,说明采样频率变化对信号时域和频域特性的影响,总结实验得出的主要结论。
参考比较MATLAB版的相应实验,你可以得出哪些结论?
六、思考题
(1)x(t)若信号频率为5000Hz,请问本实验中的模拟信号采样后的混迭频率是多少Hz?
分析一200Hz的方波信号,采样频率=500Hz,用谱分析功能观察其频谱中的混迭现象。
为什么会产生混迭?
(2)6.在时域抽样定理中,为什么要求被抽样信号必须是带限信号?
如果频带是无限的应如何处理?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验五1实验五 信号的抽样与恢复 实验 信号 抽样 恢复