最新抽样定理的仿真与分析.docx
- 文档编号:5791324
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:8
- 大小:70.03KB
最新抽样定理的仿真与分析.docx
《最新抽样定理的仿真与分析.docx》由会员分享,可在线阅读,更多相关《最新抽样定理的仿真与分析.docx(8页珍藏版)》请在冰豆网上搜索。
最新抽样定理的仿真与分析
抽样定理的仿真与分析
抽样定理的仿真与分析
一.仿真目的
1)熟悉抽样定理、信号的抽样过程;
2)通过实验观察欠采样时信号频谱的混叠现象;
3)掌握抽样前后信号的频谱的变化,加深对抽样定理的理解;
4)掌握抽样频率的确定方法。
二.仿真原理说明及设计内容
低通抽样定理:
一个频带限制在(0,
)赫内的时间连续信号
,如果以
秒的时间间隔对它进行等间隔(均匀抽样,则
将被所得到的抽样值完全确定。
此定理告诉我们:
若
的频谱在某一角频率上
以上为零,则
中的全部信息完全包含在其间隔不大于
秒的均匀抽样序列里。
抽样速率
(每秒钟的抽样点数)应不小于
,否则,若抽样速率
,则会产生失真,这种失真叫混叠失真。
三设计内容
(1)产生一个连续的时间连续信号,并对其进行频谱分析,绘制时域波形图和频域波形图。
(2)对产生的连续信号进行抽样,并绘制抽样后的时域波形图,和频域波形图。
(3)改变抽样频率,分别对原始连续信号抽样,绘制抽样后的时域和频域波形,最后对得到的波形进行分析。
从而验证抽样定理。
四仿真设计实现:
信号的产生和频域分析
用MATLAB产生一个连续的信号,
;根据抽样定理,在MATLAB中编写源程序代码,画出原信号时域波形和频域波形,再分别用不同的频率的抽样脉冲对其进行抽样,在MATLAB中实现不同频率抽样时,时域和频域波形的效果对比,验证抽样定理。
(1)原始信号
的时域波形和频域波形的源程序代码如下:
t0=10;%定义时间长度
ts=0.001;%抽样周期
fs=1/ts;
df=0.5;%频率的分辨率
t=[-t0/2:
ts:
t0/2];%定义时间序列
x=sin(200*t);m=x./(200*t);
w=t0/(2*ts)+1;
m(w)=1;%定义在t=0时刻的值为1
m=m.*m;m=50.*m;%定义函数sinc(200t)
subplot(2,1,1);plot(t,m);
xlabel('时间');title('原信号的时域波形')
axis([-0.15,0.15,-1,50]);
[M,mn,dfy]=fftseq(m,ts,df);%傅里叶变换,程序在后面
M=M/fs;
f=[0:
dfy:
dfy*length(mn)-dfy]-fs/2;%定义频率序列
subplot(2,1,2);plot(f,abs(fftshift(M)));
xlabel('频率');
axis([-500,500,0,1]);
title('原信号的频域波形');
(2)原始信号
在抽样频率为200HZ和400HZ的抽样脉冲下抽样波形(此时的满足抽样定理2fh %200hz抽样 t0=10;%定义时间长度 ts1=0.005;%充足抽样周期 fs1=1/ts1; df=0.5;%频率的分辨率 t1=[-t0/2: ts1: t0/2];%定义时间序列 x1=sin(200*t1);m1=x1./(200*t1); w1=t0/(2*ts1)+1; m1(w1)=1;%定义在t=0时刻的值为1 m1=m1.*m1;m1=50.*m1;%定义函数sinc(200t) subplot(2,1,1);stem(t1,m1); xlabel('时间');title('抽样频率2fh axis([-0.15,0.15,-1,50]); [M1,mn1,dfy1]=fftseq(m1,ts1,df);%傅里叶变换,程序在后面 M1=M1/fs1; N1=[M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1]; f1=[-7*dfy1*length(mn1): dfy1: 6*dfy1*length(mn1)-dfy1]-fs1/2;%定义频率序列 subplot(2,1,2); plot(f1,abs(fftshift(N1))) xlabel('频率'); axis([-500,500,0,1]); title('抽样频率fh<1/2fs时信号的频域波形'); (3)原始信号 在抽样频率为100HZ的抽样脉冲下的抽样波形(此时不满足抽样定理),其时域和频域波形如下所示: %100hz抽样 t0=10;%定义时间长度 ts1=0.01;%欠抽样周期 fs1=1/ts1; df=0.5;%频率的分辨率 t1=[-t0/2: ts1: t0/2];%定义时间序列 x1=sin(200*t1);m1=x1./(200*t1); w1=t0/(2*ts1)+1; m1(w1)=1;%定义在t=0时刻的值为1 m1=m1.*m1;m1=50.*m1;%定义函数sinc(200t) subplot(2,1,1);stem(t1,m1); xlabel('时间');title('抽样不足时时域波形') axis([-0.15,0.15,-1,50]); [M1,mn1,dfy1]=fftseq(m1,ts1,df);%傅里叶变换,程序在后面 M1=M1/fs1; N1=[M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1]; f1=[-7*dfy1*length(mn1): dfy1: 6*dfy1*length(mn1)-dfy1]-fs1/2;%定义频率序列 subplot(2,1,2); plot(f1,abs(fftshift(N1))) xlabel('频率'); axis([-500,500,0,1]); title('抽样不足(fh<2fs)时信号的频域波形'); (4)因为在MATLAB的库函数中没有傅里叶变换函数,而在分析抽样定理时需要观察频域的抽样波形,需要用到傅里叶变换,故编写了子函数fftseq(),实现其频域变换,供上述程序调用其代码如下: function[M,m,df]=fftseq(m,ts,df) %[M,m,df]=fftseq(m,ts,df) fs=1/ts; ifnargin==2 n1=0; else n1=fs/df; end n2=length(m); n=2^(max(nextpow2(n1),nextpow2(n2))); M=fft(m,n); m=[m,zeros(1,n-n2)]; df=fs/n; end 五.仿真结果分析 通过matlab的编程实现对连续信号进行抽样的仿真实验,进一步加深了对我们队抽样定理的理解。 首先通过以上仿真的波形图,我们可以很直观的看到,原始信号的频率约为64HZ,当抽样频率为原始信号频率的2倍及其以上(实验采用的是200HZ和400HZ)时,在抽样信号的频域图上,可以看出信号的频谱的相邻的周期内的波形不会发生混叠现象(即抽样只是实现了信号频谱在频域内周期的复制和搬移而已),通过一个合适的低通滤波器,就可以得到和原频谱一样的的波形,从而能够无失真的重建原始信号。 而当抽样频率小于原始信号频谱的2倍时,从仿真的频域波形可以看出相邻频谱之间发生混叠从而与原来信号的频谱波形不一样。 这样的波形通过低通滤波器也不能恢复原来的波形。 从而验证了抽样定理的正确性。 六.参考文献 《现代通信原理与技术》第二版,张辉曹丽娜主编。 《MATLAB电子仿真与应用教程》第二版,王华李友军刘建存主编。 《MATLAB7.0/Simulink6.0应用实例仿真与高效算法开发》黄永安李文成高小科主编。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 抽样 定理 仿真 分析