1、数字信号处理实验作业分解实验5 抽样定理一、实验目的:1、了解用MATLAB语言进行时域、频域抽样及信号重建的方法。2、进一步加深对时域、频域抽样定理的基本原理的理解。3、观察信号抽样与恢复的图形,掌握采样频率的确定方法和内插公式的编程方法。二、实验原理:1、时域抽样与信号的重建(1)对连续信号进行采样例5-1 已知一个连续时间信号,取最高有限带宽频率fm=5f0,分别显示原连续时间信号波形和Fs2fm、Fs=2fm、Fs2fm、Fs=2fm、Fs2fm)下的抽样信号的幅度谱。程序清单如下:dt=0.1;f0=1;T0=1/f0;fm=5*f0;Tm=1/fm;t=-2:dt:2;N=leng
2、th(t);f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t);wm=2*pi*fm;k=0:N-1;w1=k*wm/N;F1=f*exp(-j*t*w1)*dt;subplot(4,1,1);plot(w1/(2*pi),abs(F1);axis(0,max(4*fm),1.1*min(abs(F1),1.1*max(abs(F1);for i=1:3; if i=2 c=0;else c=1;end fs=(i+c)*fm;Ts=1/fs; n=-2:Ts:2;N=length(n); f=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); wm=2*
3、pi*fs;k=0:N-1; w=k*wm/N;F=f*exp(-j*n*w)*Ts; subplot(4,1,i+1);plot(w/(2*pi),abs(F); axis(0,max(4*fm),1.1*min(abs(F),1.1*max(abs(F);end程序运行结果如图5-2所示。由图可见,当满足Fs2fm条件时,抽样信号的频谱没有混叠现象;当不满足Fs2fm条件时,抽样信号的频谱发生了混叠,即图5-2的第二行Fs2fm的频谱图,在fm=5f0的范围内,频谱出现了镜像对称的部分。图5-2(3)由内插公式重建信号信号重建一般采用两种方法:一是用时域信号与理想滤波器系统的单位冲激响应进
4、行卷积积分;二是用低通滤波器对信号进行滤波。本实验只讨论第一种方法。由理论分析可知,理想低通滤波器的单位冲激响应为抽样信号通过滤波器输出,其结果应为与h(t)的卷积积分:该式称为内插公式。由式可见,xa(t)信号可以由其抽样值xa(nT)及内插函数重构。MATLAB中提供了sinc函数,可以很方便地使用内插公式。例5-3 用上面推导出的内插公式重建例5-1给定的信号。程序清单如下:dt=0.01;f0=1;T0=1/f0;fm=5*f0;Tm=1/fm;t=0:dt:3*T0;x=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t);subplot(4,1,1);plot(t,x
5、);axis(min(t),max(t),1.1*min(x),1.1*max(x);title(用时域卷积重建抽样信号);for i=1:3; fs=i*fm;Ts=1/fs; n=0:(3*T0)/Ts; t1=0:Ts:3*T0; x1=sin(2*pi*f0*n/fs)+1/3*sin(6*pi*f0*n/fs); T_N=ones(length(n),1)*t1-n*Ts*ones(1,length(t1); xa=x1*sinc(fs*pi*T_N); subplot(4,1,i+1);plot(t1,xa); axis(min(t1),max(t1),1.1*min(xa),1.
6、1*max(xa);end程序运行结果如图5-3所示:图5-32、频域抽样与信号恢复(1)频域抽样定理从理论学习可知,在单位圆上对任意序列的Z变换等间隔采样N点得到:k=0,1,N-1该式实现了序列在频域的抽样。那么由频域的抽样得到的频谱的序列能否不失真地恢复原时域信号呢?由理论学习又知,频域抽样定理由下列公式表述:表明对一个频谱采样后经IDFT生成的周期序列是原非周期序列x(n)的周期延拓序列,其时域周期等于频域抽样点数N。假定有限长序列x(n)的长度为M,频域抽样点数为N,原时域信号不失真地由频域抽样恢复的条件如下: 如果x(n)不是有限长序列,则必然造成混叠现象,产生误差; 如果x(n)
7、是有限长序列,且频域抽样点数N小于序列长度M(即NM),则x(n)以N为周期进行延拓也将造成混叠,从中不能无失真地恢复出原信号x(n)。 如果x(n)是有限长序列,且频域抽样点数N大于或等于序列长度M(即NM),则从中能无失真地恢复出原信号x(n),即(2)从频谱抽样恢复离散时间序列例5-4 已知一个时间序列的频谱为用IFFT计算并求出其时间序列x(n),并绘图显示时间序列。分析:该题使用了数字频率,没有给出采样周期,则默认Ts=1S,另外,从的解析式可以直接看出时域序列xn=3,2,1,2,3。但为说明问题,仍编写程序求解如下:程序清单如下:Ts=1;N0=3,5,10;for r=1:3;
8、 N=N0(r); D=2*pi/(Ts*N); kn=floor(-(N-1)/2:-1/2); kp=floor(0:(N-1)/2); w=kp,kn*D; X=3+2*exp(-j*w)+1*exp(-j*2*w)+2*exp(-j*3*w)+3*exp(-j*4*w); n=0:N-1; x=ifft(X,N) subplot(1,3,r);stem(n*Ts,abs(x); boxend程序运行结果如图5-4所示:图5-4注意:程序中数字频率的排序进行了处理,这是因为的排列顺序是从0开始,而不是从-(N-1)/2开始。程序运行后将显示数据:x=5.0000 5.0000 1.000
9、0x=3.0000 2.0000 1.0000 2.0000 3.0000x=3.0000 - 0.0000i 2.0000 + 0.0000i 1.0000 - 0.0000i 2.0000 + 0.0000i 3.0000 - 0.0000 -0.0000 + 0.0000i 0 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i由的频谱表达式可知,有限长时间序列x(n)的长度M=5,现分别取频域抽样点数为N=3,5,10,由图5-4显示的结果可以验证: 当N=5和N=10时,NM,能够不失真地恢复出原信号x(n);
10、 当N=3时,NM,时间序列有泄漏,形成了混叠,不能无失真地恢复出原信号x(n)。混叠的原因是上一周期的后2点与本周期的前两点发生重叠,如下所示:3 2 1 2 33 2 1 2 3 例5-5 已知一个频率范围在-62.8,62.8rad/s间的频谱,用IFFT计算并求出时间序列x(n),用图形显示时间序列。 分析:本题给出了模拟频率,其中m=62.8,需将其归一化为数字频率。根据奈奎斯特定理可知,(1/Ts)=Fs(2m/2),可以推导出Ts(/m),取Ts=0.05s,即采样频率Fs为20Hz或40。程序清单如下:wm=62.8;Ts=pi/wm;N0=8,20;for r=1:2 N=N
11、0(r); D=2*pi/(Ts*N); k=0:N-1+eps; omg=k*D; X=sin(0.275*omg)./sin(0.025*omg); n=0:N-1; x=abs(ifft(X,N); subplot(1,2,r);stem(n*Ts,abs(x); boxend 程序运行结果如图5-5所示:图5-5 由N=20的结果可知,时间序列x(n)是一个矩形窗。根据DFT的循环移位性质可知,非零数据存在于n=-5:5的区域,有限长序列的长度为11。而N=8小于有限长序列的长度,其结果发生了混叠,不能无失真地恢复出原信号x(n)。 3、从频谱恢复连续时间信号 实际应用中,离散信号往往
12、来源于对连续信号的采样,因此,这里要讨论从频谱如何计算连续时间信号。 从本质上讲,计算机处理的都是离散信号。当使用计算机处理连续信号时,实际上是用采样周期极小的序列信号来近似为连续信号。因此在处理时,原来对于离散序列处理的理论依然有效。 (1)选择一个符合奈奎斯特定理的很小的采样周期T,将主要的模拟频谱限制在奈奎斯特频率范围内,;(2)在的频率区间取N个频率点k,求出对应的数字频谱: (3)对作IDFT,求xa(t)。假定没有发生时间混叠,则 (4)作图。用plot自动进行插值,获得连续信号。 例5-6 已知图5-6所示的理想低通滤波器的模拟频率c=3,在|c范围内幅度为1,|c时幅度为0。要
13、求计算连续脉冲响应xa(t)。图5-6 分析:由奈奎斯特定理可知采样频率s2c,即采样周期Tsc恢复原信号时不会发生混叠。选的再小一些可以增加样点数,因此可以选Ts=0.1/c=0.1047s。同时,为使时间信号尽量接近连续信号,需提高N点的个数。可以由模拟频率的分辨率公式推导:D=2/NTs0.1c,使频率分辨率小于有效带宽的1/10,得到:N20/cTs 程序清单如下:wc=3;Tmax=0.1*pi/wc;Ts=input(TsNmin)N=);D=2*pi/(Ts*N);M=floor(wc/D);Xa=ones(1,M+1),zeros(1,N-2*M-1),ones(1,M);n=
14、-(N-1)/2:(N-1)/2;xa=abs(fftshift(ifft(Xa/Ts);plot(n*Ts,xa);程序执行过程中,在MATLAB命令窗口将给出提示:输入Ts和N的值,再给出绘图结果。图5-7是分别输入Ts=0.1s,N=300和Ts=0.1s,N=1000两组数据的运行结果。 图5-7三、实验内容:1、阅读并输入实验原理中介绍的例题程序,观察输出的数据和图形,结合基本原理理解每一条语句的含义。2、已知一个连续时间信号f(t)=sinc(t),取最高有限带宽频率fm=1Hz。(1)分别显示原连续信号波形和Fs=fm、Fs=2fm、Fs=3fm三种情况下抽样信号的波形;dt=0
15、.1;fm=1;Tm=1/fm;t=-6:dt:6;f=sinc(t);subplot(4,1,1);plot(t,f);axis(min(t),max(t),1.1*min(f),1.1*max(f);title();for i=1:3; fs=i*fm;Ts=1/fs; n=-6:Ts:6; f=sinc(n); subplot(4,1,i+1);stem(n,f,filled); axis(min(n),max(n),1.1*min(f),1.1*max(f);end(2)求解原连续信号和抽样信号的幅度谱;dt=0.1;f0=1;T0=1/f0;fm=1;Tm=1/fm;t=-2:dt:
16、2;N=length(t);f=sinc(f0*t);wm=2*pi*fm;k=0:N-1;w1=k*wm/N;F1=f*exp(-j*t*w1)*dt;subplot(4,1,1);plot(w1/(2*pi),abs(F1);axis(0,max(4*fm),1.1*min(abs(F1),1.1*max(abs(F1);for i=1:3; if i=2 c=0;else c=1;end fs=(i+c)*fm;Ts=1/fs; n=-2:Ts:2;N=length(n); f=sinc(f0*n); wm=2*pi*fs;k=0:N-1; w=k*wm/N;F=f*exp(-j*n*w
17、)*Ts; subplot(4,1,i+1);plot(w/(2*pi),abs(F); axis(0,max(4*fm),1.1*min(abs(F),1.1*max(abs(F);end(3)用时域卷积的方法(内插公式)重建信号。dt=0.01;f0=1;T0=1/f0;fm=1;Tm=1/fm;t=-7*T0:dt:7*T0;x=sinc(t);subplot(4,1,1);plot(t,x);axis(min(t),max(t),1.1*min(x),1.1*max(x);title();for i=1:3; fs=i*fm;Ts=1/fs; n=0:(3*T0)/Ts; t1=-7*
18、T0:Ts:7*T0; x1=sinc(f0*n/fs); T_N=ones(length(n),1)*t1-n*Ts*ones(1,length(t1); xa=x1*sinc(fs*pi*T_N); subplot(4,1,i+1);plot(t1,xa); axis(min(t1),max(t1),1.1*min(xa),1.1*max(xa);end3、已知一个时间序列的频谱为: 分别取频域抽样点数N为3、5和10,用IFFT计算并求出其时间序列x(n),绘图显示个时间序列。由此讨论由频域抽样不失真地恢复原时域信号的条件。Ts=1;N0=3,5,10;for r=1:3; N=N0(r
19、); D=2*pi/(Ts*N); kn=floor(-(N-1)/2:-1/2); kp=floor(0:(N-1)/2); w=kp,kn*D; X=2+4*exp(-j*w)+6*exp(-j*2*w)+4*exp(-j*3*w)+2*exp(-j*4*w); n=0:N-1; x=ifft(X,N) subplot(1,3,r);stem(n*Ts,abs(x); boxend4、已知一个频率范围在-6.28,6.28rad/s的频谱,在模拟频率|c|=3.14处幅度为1,其它范围幅度为0.计算其连续信号xa(t),并绘图显示信号曲线。wc=3.14;Tmax=0.1*pi/wc;Ts
20、=input(TsNmin)N=);D=2*pi/(Ts*N);M=floor(wc/D);Xa=zeros(1,M),1,zeros(1,N-2*M-1),1,zeros(1,M-1);n=-(N-1)/2:(N-1)/2;xa=abs(fftshift(ifft(Xa/Ts);plot(n*Ts,xa);输入Ts=0.1 N=100四、实验预习:1、认真阅读实验原理部分,明确实验目的,读懂例题程序,了解实验方法。2、根据实验任务预先编写实验程序。3、预习思考题: 什么是内插公式?在MATLAB中内插公式可用什么函数来编写? 从频域抽样序列不失真地恢复离散时域信号的条件是什么?五、实验报告:1、列写调试通过的实验程序,打印实验程序产生的曲线图形。2、给出预习思考题答案。 3、思考题: 试归纳用IFFT数值计算方法从频谱恢复离散时间序列的方法和步骤。 从频谱恢复连续时间信号与恢复离散时间序列有何不同?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1