通信原理MATLAB验证低通抽样定理实验报告
- 格式:docx
- 大小:187.91 KB
- 文档页数:7
通信原理实验报告
一、实验名称
MATLAB验证低通抽样定理
二、实验目的
1、掌握抽样定理的工作原理。
2、通过MATLAB编程实现对抽样定理的验证,加深抽样定理的理解。同时训练应用计算机分析问题的能力。
3、了解MATLAB软件,学习应用MATLAB软件的仿真技术。它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。
4、计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。
三、实验步骤及原理
1、对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率为周期进行周期性的延拓形成的。
2、设连续信号的的最高频率为Fmax,如果采样频率Fs>2Fmax,那么采样信号可以唯一的恢复出原连续信号,否则Fs<=2Fmax会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。
四、实验内容
1、画出连续时间信号的时域波形及其幅频特性曲线,信号为
x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t)
2、对信号进行采样,得到采样序列,画出采样频率分别为10Hz,20 Hz,50 Hz时的采样序列波形;
3、对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,对比各频率下采样序列和的幅频曲线有无差别。
4、对信号进行谱分析,观察与3中结果有无差别。
5、由采样序列恢复出连续时间信号,画出其时域波形,对比与原连续时间信号的时域波形。
五、实验仿真图
(1) x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t)的时域波形及幅频特性曲线。clear;
close all;
dt=0.05;
t=-2:dt:2
x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);
N=length(t);
Y=fft(x)/N*2;
fs=1/dt;
df=fs/(N-1);
f=(0:N-1)*df;
plot(t,x)
title('抽样时域波形')
xlabel('t')
grid;
subplot(2,1,2)
plot(f,abs(Y));
title('抽样频域信号 |Y|');
xlabel('f');
grid;
(2)采样频率分别为10Hz时的采样序列波形, 幅频特性曲线,以及由采样序列恢复出连续时间信号时域、频域波形;
clear;
close all;
dt=0.1;
t0=-2:0.01:2
t=-2:dt:2
ts1=0.01
x0=cos(4*pi*t0)+1.5*sin(6*pi*t0)+0.5*cos(20*pi*t0);
x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);
B=length(t0);
Y2=fft(x0)/B*2;
fs2=1/0.01;
df2=fs2/(B-1);
f2=(0:B-1)*df2;
N=length(t);
Y=fft(x)/N*2;
fs=1/dt;
df=fs/(N-1);
f=(0:N-1)*df;
tm=-50:ts1:50
gt=sinc(fs*tm)
st=sigexpand(x,dt/ts1)
x3=conv(st,gt)
A=length(tm(5001:5401));
Y1=fft(x3(5001:5401))/A*2;
fs1=1/ts1;
df1=fs1/(A-1);
f1=(0:A-1)*df1;
subplot(3,2,1)
plot(t0,x0)
title('原始时域波形')
xlabel('t')
subplot(3,2,2)
title('原始频域波形')
xlabel('t')
subplot(3,2,3)
plot(t,x)
title('抽样时域波形')
xlabel('t')
grid;
subplot(3,2,4)
plot(f,abs(Y));
title('抽样频域信号 |Y|');
xlabel('f');
subplot(3,2,5)
plot(t0,x3(5001:5401))
title('恢复后的信号');
xlabel('tm')
subplot(3,2,6)
plot(f1,abs(Y1));
title('恢复频域信号 |Y1|');
xlabel('f1');
grid;
(3)采样频率分别为20 Hz时的采样序列波形,幅频特性曲线,以及由采样序列恢复出连续时间信号时域、频域波形;
clear;
close all;
dt=0.05;
t0=-2:0.01:2
t=-2:dt:2
ts1=0.01
x0=cos(4*pi*t0)+1.5*sin(6*pi*t0)+0.5*cos(20*pi*t0); x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);
B=length(t0);
Y2=fft(x0)/B*2;
fs2=1/0.01;
df2=fs2/(B-1);
f2=(0:B-1)*df2;
N=length(t);
Y=fft(x)/N*2;
fs=1/dt;
df=fs/(N-1);
f=(0:N-1)*df;
tm=-50:ts1:50
gt=sinc(fs*tm)
st=sigexpand(x,dt/ts1)
x3=conv(st,gt)
A=length(tm(5001:5401));
Y1=fft(x3(5001:5401))/A*2;
fs1=1/ts1;
df1=fs1/(A-1);
f1=(0:A-1)*df1;
subplot(3,2,1)
plot(t0,x0)
title('原始时域波形')
xlabel('t')
subplot(3,2,2)
plot(f2,abs(Y2))
title('原始频域波形')
xlabel('t')
subplot(3,2,3)
plot(t,x)
title('抽样时域波形')
xlabel('t')
grid;
subplot(3,2,4)
plot(f,abs(Y));
title('抽样频域信号 |Y|');
xlabel('f');
subplot(3,2,5)
plot(t0,x3(5001:5401))
title('恢复后的信号');
xlabel('tm')
subplot(3,2,6)