当前位置:首页 > matlab时域采样定理
一、实验名称:matlab验证时域采样定理
二、实验目的
本次课程设计应用MATLAB验证时域采样定理。了解MATLAB软件,学习应用MATLAB软件的仿真技术。它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。初步掌握线性系统的设计方法,培养独立工作能力。
加深理解时域采样定理的概念,掌握利用MATLAB分析系统频率响应的方法和掌握利用MATLAB实现连续信号采样、频谱分析和采样信号恢复的方法。计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。 三、实验原理
MATLAB是一套功能十分强大的工程计算及数据分析软件,广泛应用于各行各业。MATLAB是矩阵实验室之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 1、对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率为周期进行周期性的延拓形成的。
2、设连续信号的的最高频率为fc,如果采样频率fs,那么采样信号可以唯一的恢复出原连续信号,否则会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。 四、 实验步骤
1、画出连续时间信号的时域波形及其幅频特性曲线,信号为
(x)= sin(2*pi*60*t)+cos(2*pi*25*t)+cos(2*pi*30*t);
2、 对信号进行采样,得到采样序列 ,画出采样频率分别为80Hz,120 Hz,150 Hz时的采样序列波形;
3、对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,对比各频率下采样序列和的幅频曲线有无差别。
4、对信号进行谱分析,观察与3中结果有无差别。
5、由采样序列恢复出连续时间信号 ,画出其时域波形,对比与原连续时间信号的时域波形。
五、 MATLAB实现编程
%实现采样频谱分析绘图函数
function fz=caiyang(fy,fs)
%第一个输入变量是原信号函数,信号函数fy以字符串的格式输入 %第二个输入变量是采样频率 fs0=10000; tp=0.1; t=[-tp:1/fs0:tp];
k1=0:999; k2=-999:-1;
m1=length(k1); m2=length(k2);
f=[fs0*k2/m2,fs0*k1/m1]; %设置原信号的频率数组 w=[-2*pi*k2/m2,2*pi*k1/m1];
fx1=eval(fy);
FX1=fx1*exp(-j*[1:length(fx1)]'*w);%求原信号的离散时间傅里叶变换 figure % 画原信号波形
subplot(2,1,1),plot(t,fx1,'r')
title('原信号'), xlabel('时间t (s)')
axis([min(t),max(t),min(fx1),max(fx1)]) % 画原信号幅度频谱 subplot(2,1,2),plot(f,abs(FX1),'r')
title('原信号幅度频谱') , xlabel('频率f (Hz)')
axis([-100,100,0,max(abs(FX1))+5]) % 对信号进行采样 Ts=1/fs; %采样周期
t1=-tp:Ts:tp; %采样时间序列
f1=[fs*k2/m2,fs*k1/m1]; %设置采样信号的频率数组 t=t1; %变量替换
fz=eval(fy); %获取采样序列 FZ=fz*exp(-j*[1:length(fz)]'*w); %采样信号的离散时间傅里叶变换 figure % 画采样序列波形 subplot(2,1,1),stem(t,fz,'.'),
title('取样信号') , xlabel('时间t (s)')
line([min(t),max(t)],[0,0])% 画采样信号幅度频谱
subplot(2,1,2),plot(f1,abs(FZ),'m')
title('取样信号幅度频谱') , xlabel('频率f (Hz)')%信号的恢复及频谱函数 function fh=huifu(fz,fs) %第一个输入变量是采样序列 %第二个输入变量是得到采样序列所用的采样频率 T=1/fs; dt=T/10; tp=0.1;
t=-tp:dt:tp; n=-tp/T:tp/T;
TMN=ones(length(n),1)*t-n'*T*ones(1,length(t));
fh=fz*sinc(fs*TMN); % 由采样信号恢复原信号 k1=0:999; k2=-999:-1;
m1=length(k1); m2=length(k2); w=[-2*pi*k2/m2,2*pi*k1/m1];
FH=fh*exp(-j*[1:length(fh)]'*w); % 恢复后的信号的离散时间傅里叶变换 figure% 画恢复后的信号的波形 subplot(2,1,1),plot(t,fh,'g'),
st1=sprintf('由取样频率fs=%d',fs); st2='恢复后的信号';
st=[st1,st2]; title(st) , xlabel('时间t (s)') axis([min(t),max(t),min(fh),max(fh)])
line([min(t),max(t)],[0,0]) % 画重构信号的幅度频谱 f=[10*fs*k2/m2,10*fs*k1/m1]; %设置频率数组 subplot(2,1,2),plot(f,abs(FH),'g')
title('恢复后信号的频谱') , xlabel('频率f (Hz)') axis([-100,100,0,max(abs(FH))+2]);%主函数
f1='sin(2*pi*60*t)+cos(2*pi*25*t)+cos(2*pi*30*t)';%输入一个信号 fs0=caiyang(f1,80); %频率,即 欠采样 fr0=huifu(fs0,80);
fs1=caiyang(f1,120);%频率,临 界采样 fr1=huifu(fs1,120);
fs2=caiyang(f1,150);%频率,即 过采样 fr2=huifu(fs2,150);
原信号的波形及幅度频谱
结果分析
(1) 频率fs<2fc时,为原信号的欠采样信号和恢复,采样频率不满足时域采样定理,那么频移后的各相临频谱会发生相互重叠,这样就无法将他们分开,因而也不能再恢复原信号。频谱重叠的现象被称为混叠现象。欠采样信号的离散波形及频谱见下图2,恢复后信号见下图3。
图2 =80Hz时采样信号离散波形及频谱
图3 =80Hz恢复后信号波形及频谱
(2) 频率fs=2fc时,为原信号的临界采样信号和恢复,下图4为其采样的离散波形和频谱,从下图5恢复后信号和原信号先对比可知,只恢复了低频信号,高频信号未能恢复。
图4 =120Hz时采样信号离散波形及频谱
图5 =120Hz恢复后信号波形及频谱
(3) 频率fs>2fc时,为原信号的过采样信号和恢复,由图6采样信号离散波形和频谱,可以看出采样信号的频谱是原信号频谱进行周期延拓形成的,从图7采样恢复后的波形和频谱,可看出与原信号误差很小了,说明恢复信号的精度已经很高。
图6 =150Hz时采样信号离散波形及频谱
图7 =150Hz恢复后信号波形及频谱
共分享92篇相关文档