信号的采样与恢复采样定理的仿真.docx
《信号的采样与恢复采样定理的仿真.docx》由会员分享,可在线阅读,更多相关《信号的采样与恢复采样定理的仿真.docx(15页珍藏版)》请在冰豆网上搜索。
![信号的采样与恢复采样定理的仿真.docx](https://file1.bdocx.com/fileroot1/2023-4/18/6918f2a8-daa3-40b8-b921-4b33adb7d8f9/6918f2a8-daa3-40b8-b921-4b33adb7d8f91.gif)
信号的采样与恢复采样定理的仿真
目录
摘要2
1设计目的与要求3
2设计原理3
3设计内容及步骤4
3.1连续信号的产生及频谱分析4
3.2信号的采样5
3.3用低通滤波器对信号进行恢复8
4总结12
5致谢13
6参考文献14
摘要
数字信号处理是一门理论与实践紧密结合的课程。
做大量的习题和上机实验,有助于进一步理解和巩固理论知识,还有助于提高分析和解决实际问题的能力。
过去用其他算法语言,实验程序复杂,在有限的实验课时内所做的实验内容少。
MATLAB强大的运算和图形显示功能,可使数字信号处理上机实验效率大大提高。
特别是它的频谱分析和滤波器分析与设计功能很强,使数字信号处理工作变得十分简单、直观。
本实验设计的题目是:
信号的采样与恢复、采样定理的仿真。
通过产生一个连续时间信号并生成其频谱,然后对该连续信号抽样,并对采样后的频谱进行分析,最后通过设计低通滤波器滤出抽样所得频谱中多个周期中的一个周期频谱,并显示恢复后的时域连续信号。
实验中,原连续信号的频谱由于无法实现真正的连续,所以通过扩大采样点的数目来代替,理论上当采样点数无穷多的时候即可实现连续,基于此尽可能增加采样点数并以此来产生连续信号的频谱。
信号采样过程中,通过采样点的不同控制采样频率实现大于或小于二倍最高连续信号的频率,从而可以很好的验证采样定理。
信号恢复,滤波器的参数需要很好的设置,以实现将抽样后的信号进行滤波恢复原连续信号。
1、设计目的与要求
设计目的和要求
1.掌握利用MATLAB在数字信号处理中的基本应用,并会对结果用所学知识进行分析。
2.对连续信号进行采样,在满足采样定理和不满足采用定理两种情况下对连续信号和采样信号进行FFT频谱分析。
3.从采样信号中恢复原信号,对不同采样频率下的恢复信号进行比较分析。
4.基本要求:
每组一台电脑,电脑安装MATLAB6.5版本以上软件。
2、设计原理
模拟信号经过(A/D)变换转换为数字信号的过程称为采样,信号采样后其频谱产生了周期延拓,每隔一个采样频率fs,重复出现一次。
为保证采样后信号的频谱形状不失真,采样频率必须大于信号中最高频率成分的两倍,这称之为采样定理。
时域采样定理从采样信号
恢复原信号
必需满足两个条件:
(1)
必须是带限信号,其频谱函数在
>
各处为零;(对信号的要求,即只有带限信号才能适用采样定理。
)
(2)取样频率不能过低,必须
>2
(或
>2
)。
(对取样频率的要求,即取样频率要足够大,采得的样值要足够多,才能恢复原信号。
)如果采样频率
大于或等于
,即
(
为连续信号
的有限频谱),则采样离散信号
能无失真地恢复到原来的连续信号
。
一个频谱在区间(-
,
)以外为零的频带有限信号
,可唯一地由其在均匀间隔
(
<
)上的样点值
所确定。
根据时域与频域的对称性,可以由时域采样定理直接推出频域采样定理。
一个时间受限信号
,它集中在(
)的时间范围内,则该信号的频谱
在频域中以间隔为
的冲激序列进行采样,采样后的频谱
可以惟一表示原信号的条件为重复周期
,或频域间隔
(其中
)。
采样信号
的频谱是原信号频谱
的周期性重复,它每隔
重复出现一次。
当
>2
时,不会出现混叠现象,原信号的频谱的形状不会发生变化,从而能从采样信号
中恢复原信号
。
综合以上,得采样定理:
(1)对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱一采样频率为周期进行周期延拓得到的;
(2)设连续信号是带限信号,如果采样角频率大于等于2倍的最高截止频率,则采样信号通过一个增益为T,截止频率为Pi/T的理想低通滤波器可唯一恢复出原连续信号,否则会造成采样信号中的频谱混叠现象,不可无失真的恢复原连续信号。
以采样定理为依据设计本次实验,产生一个连续时间的余弦信号,并进行频谱分析,根据采样定理要求对所产生的连续时间信号进行采样和频谱分析,并将此频谱与连续信号的频谱进行比较。
验证采样定理,改变采样频率,重复以上过程。
设计低通滤波器,恢复原连续信号,对不同采样频率下的恢复信号进行比较,分析信号的失真情况。
3、设计内容与步骤
3.1用MATLAB产生连续信号y=sin(t)和其对应的频谱
x1=0:
pi/10:
(8*pi);
w=linspace(0,8*pi,length(x1));
figure
subplot(211)
plot(x1,sin(x1));%原时域连续信号y=sin(t)
xlabel('t');ylabel('x(t)');
title('原时域连续信号y=sin(t)');
grid
sin1=sin(x1);
n=0:
(length(x1)-1);
subplot(212)
plot(w,fft1(w,sin1,n));%其对应频域信号Y=FFT(sin(t))
xlabel('w');ylabel('x(w)');
title('其对应频域信号Y=FT(sin(t))');
grid
其中要用到子函数fft1,程序代码如下:
functionresult=fft1(w,hanshu,n)
a=cell(1,length(w));
fori=1:
length(w);
m=hanshu.*((exp(-j*(i-1)*pi/100)).^n);a{i}=sum(m);end
fori=1:
length(w)result(i)=a{i};end
子函数通过控制参数n的取值多少可分别计算离散和近似连续信号的频谱值并作为函数值进行返回。
产生图形如下:
3.2对连续信号y=sin(t)进行抽样并产生其频谱
n1=input('请输入采样点数n:
');
n=0:
n1;
zb=size(n);
figure
sinf=sin(8*pi*n/zb
(2));
subplot(211);
stem(n,sinf,'.');
xlabel('n');ylabel('x(n)');
title('采样后的时域信号y=x(n)');
w=0:
(pi/100):
4*pi;
subplot(212)
plot(w,fft1(w,sinf,n));
xlabel('w');ylabel('x(w)');
title('采样后的频域信号y=FT(sin(n))');
grid
当输入n=20时,所得结果如下:
当输入n=40时,所得结果如下:
当输入N=80时,所得结果如下:
当输入N=200时,所得结果如下:
由抽样定理可知,抽样后的信号频谱是原信号频谱以抽样频率为周期进行周期延拓形成的,周期性在上面两个图中都有很好的体现。
但是从10点和50点采样后的结果以及与员连续信号频谱对比可以看出,10点对应的频谱出现了频谱混叠而并非原信号频谱的周期延拓。
这是因为N取值过小导致采样角频率
,因此经周期延拓出现了频谱混叠。
而N取50时,其采样角频率
,从而可以实现原信号频谱以抽样频率为周期进行周期延拓,并不产生混叠,从而为下一步通过低通滤波器滤出其中的一个周期(即不失真的原连续信号)打下了基础。
3.3通过低通滤波恢复原连续信号
[B,A]=butter(8,350/500);
[H,w]=freqz(B,A,512,2000);
figure;
plot(w*2000/(2*pi),abs(H));
xlabel('Hz');ylabel('频率响应幅度');
title('低通滤波器');
grid;
低通滤波器的频谱图
n1=input('请输入采样点数n:
');
n=0:
n1;
zb=size(n);
figure
sinf=sin(8*pi*n/zb
(2));
y=filter(B,A,sinf);
subplot(2,1,1);plot(y);%恢复后的连续信号y=sin(t)
xlabel('t');ylabel('x(t)');
title('恢复后的连续信号y=sin(t)');
grid;
Y=fft(y,512);w=(0:
255)/256*500;
subplot(2,1,2);plot(w,abs([Y(1:
256)]));%绘制频谱图
xlabel('Hz');ylabel('频率响应幅度');
title('频谱图');
grid;
n=20时恢复后的信号和频谱
n=40时恢复后的信号和频谱
n=80时恢复后的信号和频谱
n=200时恢复后的信号和频谱
经上面的两个图可以看出,采样点数多的恢复波形明显比采样点数少的好。
但是由于滤波器设计的还有待于改进,所以波形并不是显示的很圆滑,但是已经可以基本达到实验目的,将原输入连续信号恢复。
4、总结
经过此次试验,感觉自己确实收获了很多,无论是对知识的理解和应用,还是实验过程中自我的遇到问题解决问题的信心、恒心以及同学间的相互鼓励、支持和帮助。
本实验用到的理论知识并不是很多,也很容易理解,理论知识是基础,学以致用才是关键。
实验中,MATLAB的使用很重要,一些关于矩阵的基础知识自己应该非常清楚,另外还要学会如何调用、查询MATLAB函数库中的函数,只有自己切实的懂,才会明白如何恰如其分的使用。
另外,要学会用自己掌握的理论知识对结果进行分析,以实现对程序代码进行不断改进,得出正确的结果。
经过此次实验,我认识到,知识只有会用才是真正意义上的学会,只有在不断的遭遇问题与解决问题间自己才能不断的进步,这进一步说明,自己并不能单纯的学习理论知识,应该加强实践,只有这样自己的专业能力才会有质的提高。
此次实验中,同学间的相互帮助也让自己受益颇多,同时也认识到,应该怎么与别人更好协作。
5、致谢
此次实验首先感谢老师的热心耐心指导,老师的热情帮助总能使我们的忙乱的思路得以清晰,而且还时不时对我们的进展提供建议和纠错,并时常鼓励我们,真诚感谢老师!
其次也感谢同学的热情帮助,由于自己水平所限,自己经常遇到各种各样的问题,而这些问题又不能经常麻烦老师,但在同学的帮助下也同样得以完美解决,自己才能够按时做完这次实验,也同样真诚感谢他们!
6、参考文献
[1]高西全、丁玉美编著.数字信号处理.西安:
西安电子科技大学出版社,2008.
[2]丁玉美、高西全编著.数字信号处理学习指导.西安:
西安电子科技大学出版社,2001.
[3]郑君里等编.信号与系统.北京:
高等教育出版社,2000.
[4]刘树棠译.数字信号处理——使用MATLAB.西安:
西安交通大学出版社,2002.
[5]导向科技编著.MATLAB程序设计与实例应用.北京:
中国铁道出版社,2001.
[6]罗军辉等编著.MATLAB7.0在数字信号处理中的应用.北京:
机械工业出版社,2005.
[7]陈怀琛等编著.MATLAB及在电子信息课中的应用.北京:
电子工业出版社,2002.
[8]胡广书编著.数字信号处理――理论、算法与实现.北京:
清华大学出版社,2002.
[9]梁虹等编.信号与线性系统分析――基于MATLAB的方法与实现.北京:
高等教育出版社,2006.
[10]刘卫国主编.MATLAB程序设计与应用(第二版).北京:
高等教育出版社,2006.