实验五1实验五 信号的抽样与恢复.docx

上传人:b****2 文档编号:25917216 上传时间:2023-06-16 格式:DOCX 页数:18 大小:372.65KB
下载 相关 举报
实验五1实验五 信号的抽样与恢复.docx_第1页
第1页 / 共18页
实验五1实验五 信号的抽样与恢复.docx_第2页
第2页 / 共18页
实验五1实验五 信号的抽样与恢复.docx_第3页
第3页 / 共18页
实验五1实验五 信号的抽样与恢复.docx_第4页
第4页 / 共18页
实验五1实验五 信号的抽样与恢复.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

实验五1实验五 信号的抽样与恢复.docx

《实验五1实验五 信号的抽样与恢复.docx》由会员分享,可在线阅读,更多相关《实验五1实验五 信号的抽样与恢复.docx(18页珍藏版)》请在冰豆网上搜索。

实验五1实验五 信号的抽样与恢复.docx

实验五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.在时域抽样定理中,为什么要求被抽样信号必须是带限信号?

如果频带是无限的应如何处理?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1