数字信号处理实验报告 3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字信号处理实验报告
姓名:
班级:通信
学号:
实验名称:频域抽样定理验证
实验类型:验证试验
指导教师:
实习日期:2013.
频域采样定理验证实验
一. 实验目的:
1. 加深对离散序列频域抽样定理的理解
2.了解由频谱通过IFFT 计算连续时间信号的方法
3.掌握用MATLAB 语言进行频域抽样与恢复时程序的编写方法 4、用MATLAB 语言将X(k)恢复为X(z)及X(e jw )。

二. 实验原理:
1、
1、频域采样定理: 如果序列x(n)的长度为M ,频域抽样点数为N ,则只有当频域采样点数N ≥M 时,才有x N (n)=IDFT[X(k)]=x(n),即可由频域采样X(k)无失真的恢复原序列 x(n)。

2、用X(k)表示X(z)的内插公式:∑-=-----=10
1
11)(1
)(N k k
N
N
z
W
z k X N
z X
内插函数: z
W
z
k
N
N
N z 1
k
111
)(----
-=
ϕ
频域内插公式:
∑-=-
=
10
)
2()()(N K j k N
k X e X π
ωϕω
频域内插函数:e N j N N )
21()2sin()2sin(1)(--=
ωωωωϕ
三. 实验任务与步骤:
实验一:长度为26的三角形序列x(n)如图(b)所示,编写MATLAB 程
序验证频域抽样定理。

实验二:已知一个时间序列的频谱为
X(e jw )=2+4e -jw +6e -j2w +4e -j3w +2e -j4w
分别取频域抽样点数N为3、5和10,用IPPT计算并求出其
时间序列x(n),用图形显示各时间序列。

由此讨论原时域信
号不失真地由频域抽样恢复的条件。

实验三:由X32(k)恢复X(z)和X(e jw)。

四.实验结论与分析:
实验一:
源程序:
M=26;N=32;n=0:M; %产生M长三角波序列x(n)
xa=0:floor(M/2);
xb= ceil(M/2)-1:-1:0; xn=[xa,xb];
Xk=fft(xn,512); %1024点FFT[x(n)], 用于近似序列x(n)的TF
X32k=fft(xn,32); %32点FFT[x(n)]
x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n)
X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K)
x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n)
subplot(3,2,2);stem(n,xn,'.');box on
title('(b) 三角波序列x(n)');xlabel('n');
ylabel('x(n)');axis([0,32,0,20])
k=0:511;wk=2*k/512;
subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]');
xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200])
k=0:N/2-1;
subplot(3,2,3);stem(k,abs(X16k),'.');box on
title('(c) 16点频域');xlabel('k');
ylabel('|X_1_6(k)|');axis([0,8,0,200])
n1=0:N/2-1;
subplot(3,2,4);stem(n1,x16n,'.');box on
title('(d) 16点IDFT[X_1_6(k)]');
xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20])
k=0:N-1;
subplot(3,2,5);stem(k,abs(X32k),'.');box on
title('(e) 32点频域采样');xlabel('k');
ylabel('|X_3_2(k)|');axis([0,16,0,200])
n1=0:N-1;
subplot(3,2,6);stem(n1,x32n,'.');box on
title('(f) 32点IDFT[X_3_2(k)]');xlabel('n');
ylabel('x_3_2(n)');axis([0,32,0,20])
结果如下所示:
实验一分析:
序列x(n)的长度M=26,由图中可以看出,当采样点数N=16<M时,x
16
(n)确实等于原三角序列x(n)以16为周期的周期延拓序列的主值序列。

由于存
在时域混叠失真,因而x
16
(n)≠x(n);当采样点数N=32>M时,无时域混叠失
真,x
32(n)=IDFT[X
32
(k)]
32
=x(n)。

实验二:程序源:
Ts=1;NO=[3,5,10];
for r=1:3;
N=NO(r);
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));
end
实验二分析:
从题中得出:时域序列x(n)=[2,4,6,4,2],该序列长度为M=5,分别取频域抽样点数为N=3、5、10,由图2显示的结果可知:
(1)当N=5和N=10时,N≥M,能够不失真的恢复原信号x(n);
(2)当N=3时,N<M,时间序列有泄漏,形成了混叠,不能无失真的恢复原
信号x(n)。

出现这种混叠的原因是上一周期的后两点与本周期的前两点发
生重叠。

因此显示x N(n)=[6,6,6]。

实验三:
程序源:
M=26;N=32;n=0:M;
xa=0:M/2;
xb=ceil(M/2)-1:-1:0;
xn=[xa,xb]; %产生M长三角波序列x(n)
X32k=fft(xn,32); %32点FFT[x(n)]
k0=0:N-1; %绘制X
(k)
32
subplot(3,1,1);stem(k0,abs(X32k),'.');
box on;
xlabel('k');ylabel('|X_3_2(k)|');
title('(a)32点频域采样');
axis([0,16,0,200]);
%由X(k)恢复X(z)
Xz=X32k.*(1-z.^(-N))./(1-exp(2*pi*j*[0:N-1]/N)).*z.^(-1)/N
z=exp(j*2*pi*[0:N-1]/N);
subplot(3,1,2);stem(z,abs(Xz),'.');
box on;
xlabel('z');ylabel('|X(z)|');
title('(b)X_3_2k恢复X(z)');
w=0:0.001:2*pi; %由X(k)恢复X(e jw)
Xw=1/N.*X32k.*sin((w-2*pi/N.*[0:N]).*N/2)./sin((w-2*pi/N.*[0:N]) /2).*exp(-j*(w-2*pi/N.*[0:N]).*((N-1)/2))
w=0:0.001:2*pi;
subplot(3,1,3);plot(w,abs(Xw),'.');
box on;
xlabel('w/pi');ylabel('|X(e^j^\omega)|');
title('(c)X_3_2k恢复X(e^j^\omega))');
axis([0,1,0,200]);
运行结果如下:
图 3 X(k)
恢复X(z)和X(e jw)
Xz =1.0e-012 *
Columns 1 through 6
NaN + NaNi -0.0039 + 0.0129i -0.0010 - 0.0006i -0.0006 -
0.0002i 0.0003 + 0.0008i 0.0000 - 0.0000i
Columns 7 through 12
-0.0002 + 0.0002i 0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0001i 0.0000 + 0.0000i 0.0002 - 0.0000i
Columns 13 through 18
-0.0000 - 0.0000i -0.0000 + 0.0000i -0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0001i -0.0000 - 0.0000i Columns 19 through 24
0.0000 - 0.0000i -0.0001 + 0.0001i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -0.0003 - 0.0001i Columns 25 through 30
0.0001 + 0.0001i 0.0000 + 0.0000i -0.0002 - 0.0008i 0.0000 - 0.0000i -0.0006 + 0.0016i -0.0006 + 0.0002i Columns 31 through 32
-0.0115 + 0.0077i 0.2072 - 0.0840i
实验三分析:
该程序的思路就是通过由频域采样X(k)表示的X(z)和
X(e jw )的内插公式和内插函数进行由X(k)恢复X(z)和X(e jw )。

五. 思考题
(1)上述三个实验可以验证频域采样定理,即从频域抽样序列不失真地恢复
离散时域信号的条件是离散时域信号必须是有限长且频域采样点数N 要大于等于离散时域信号长度M ,即N ≥M 。

(2)序列x(n)的N 点DFT 是x(n)的Z 变换在单位圆上的N 点等间隔采样,即 1
-N ,0,1,k )()(|
2 ===
e
z X k X k
N
j
z π
序列x(n)的N 点DFT 是x(n)的傅里叶变换X(e jw )在区间[0,2π]上的等间
隔采样,即1-N ,0,1,k )()(|
e k
2 ===
N
j X k X π
ωω。

相关文档
最新文档