一、摘要
本次《信号与系统》课程设计通过学习连续信号的采样与重构原理,学习应用 MATLAB 软件的仿真技术实现对连续信号的采样与重构,并验证抽样定理。
本次课程设计强化了对采样和重构理论概念的理解,用MATLAB分析系统频率响应和实现连续信号采样和重构的方法,我们需要灵活运用理论知识选择适当的滤波器实现连续信号采样和重构。分别在临界采样、过采样、欠采样三种不同条件下计算重构信号与原连续信号之间的误差,由此总结采样频率对信号重构误差的影响并验证抽样定理。主要侧重于理论知识的灵活运用,分析如何将理论知识应用到MATLAB仿真中,掌握、理解、分析一些关键命令等。
信号是反映信息的各种物理量,信号的描述可以用数学描述或波形描述。它是系统直接进行加工、变换以实现通信的对象。通过本次课程设计,初步掌握线性系统的设计方法,培养独立工作能力。
二、设计目的及要求
《信号与系统》课程是通信工程专业的专业基础课。课程设计是在课程内容学习结束,学生基本掌握了该课程的基本理论和方法后,进一步培养学生灵活运用所学理论知识分析、解决实际问题的能力。信号是系统直接进行加工、变换以实现通信的对象,通过运用MATLAB仿真完成对一个连续信号采样与重构,提高学生MATLAB仿真及组织实验的能力,了解并掌握MATLAB软件的设计思想。
(1)掌握利用MATLAB实现对常用连续时间信号的可视化表示。
(2)掌握利用MATLAB实现对连续信号频域的可视化表示。
(3)加深理解抽样对信号的时域和频域特性的影响。
(4)掌握连续信号在时域的采样与重构的理论原理和MATLAB仿真技术。
(5)对比重构信号与原信号并验证抽样定理,加深对抽样定理的理解和掌握。
(1)设计一个频率在0-100HZ的连续时间信号,选择合适的滤波器,用matlab仿真实现对该连续信号的采样与重构。
(2)对比重构信号与原信号误差并验证抽样定理。
此程序仅为过采样,以此为例,请读者自行分析欠采样与临界采样。
%% Sa的时域波形与频谱图
t1=-20:0.05:20;
f1=sinc(t1/pi); %相当于Sa(t)
figure(1);
subplot(221);
plot(t1,f1);
xlabel('t1');ylabel('ft1');
title('Sa(t)时域波形');
grid;
subplot(222);
N=1000; %定义N
k=-N:N; %2001个点
w1=10; %频率范围在(-10,10)
w=k*w1/N; %在(-10,10)取2001个点
F=f1*exp(-1j*t1'*w)*0.05; %傅里叶变换(Dt=0.05第2行的设置)('是转置,矩阵只能列向量×行向量)
plot(w,F);
xlabel('x'); ylabel('fw1');
title('Sa(t)频谱图');
grid;
%% 抽样(离散图和频谱图)
wm=1; %信号带宽((带限信号)
wc=1.4*wm; %滤波器的截止频率wm<wc<(ws-wm)
Ts=2; %采样间隔(Ts<pi是过采样)(设成整数是对称的)
ws=2*pi/Ts; %最低抽样频率 rad/s
n=-10:10; %采样点个数(序列长度)
Tss=-20:Ts:20;%时域具体采样点
f2=sinc(Tss/pi); %抽样信号
subplot(223);
stem(Tss/pi,f2);%抽样后的离散图
xlabel('kTs');
ylabel('f(kTs)');
title('Sa(t)的抽样信号');
%冲激抽样后的频谱
F2w=f2*exp(-1j*Tss'*w)*Ts;
Fw2=abs(F2w);
subplot(2,2,4);
plot(w,Fw2);
xlabel('w');
ylabel('Fs(w)');
title('Sa(t)的抽样信号的频谱图');
%% 重构
figure(2);
Dt=0.005;t=-20:Dt:20;%(重构后的取点的间隔)
fa=f2*Ts*wc/pi*sinc((wc/pi)*(ones(length(Tss),1)*t-Tss'*ones(1,length(t)))); %(wc是滤波器截止频率要大于等于wm)
%信号重建(将抽样的离散信号通过内插方法重构成连续的信号)subplot(311);
plot(t,fa);
xlabel('t');
ylabel('fa(t)');
title('重构Sa(t)');
grid;
subplot(312);
plot(t1, f1, t, fa);
title('f1与fa进行对比');%通过改变Ts看出差别
xlabel('t/s');
ylabel('幅度');
legend('f1', 'fa');
grid on;