计算机科学与工程学院
《数字信号处理》实验报告[2]
第二篇:实验二 时域采样与频域采样
实验二 时域采样与频域采样
一 实验目的
1 掌握时域连续信号经理想采样前后的频谱变化,加深对时域采样定理的理解
2 理解频率域采样定理,掌握频率域采样点数的选取原则
二 实验原理
1 时域采样定理
对模拟信号以T进行时域等间隔采样,形成的采样信号的频谱会以采样角频率为周期进行周期延拓,公式为:
利用计算机计算上式并不容易,下面导出另外一个公式。
理想采样信号和模拟信号之间的关系为:
对上式进行傅里叶变换,得到:
在上式的积分号内只有当时,才有非零值,因此:
上式中,在数值上,再将代入,得到:
上式说明采样信号的傅里叶变换可用相应序列的傅里叶变换得到,只要将自变量用代替即可。
2 频域采样定理
对信号的频谱函数在[0,2]上等间隔采样N点,得到
则有:
即N点得到的序列就是原序列以N为周期进行周期延拓后的主值序列,
因此,频率域采样要使时域不发生混叠,则频域采样点数N必须大于等于时域离散信号的长度M(即)。在满足频率域采样定理的条件下,就是原序列。如果,则比原序列尾部多个零点,反之,时域发生混叠,与不等。
对比时域采样定理与频域采样定理,可以得到这样的结论:两个定理具有对偶性,即“时域采样,频谱周期延拓;频域采样,时域信号周期延拓”。在数字信号处理中,都必须服从这二个定理。
三 实验内容
1 时域采样定理的验证
给定模拟信号,式中,A=444.128,,,其幅频特性曲线如下图示:
选取三种采样频率,即,300Hz,200Hz,对进行理想采样,得到采
样序列:。观测时间长度为。N=Fs*Fa=64,n=0:63.个样值。分别绘出三种采样频率得到的序列的幅频特性曲线图,并进行比较。
clc;
A=444.128;
alph=50*2^(0.5)*pi;
w=50*2^(0.5)*pi;
tp=0.064;
fs=1/1000; %²ÉÑùÖÜÆÚÊÇ1000HZ
T=1/fs;
m=tp*T;
n=0:m-1;
xn1=A*exp(-alph*n*fs).*sin(w*n*fs);
subplot(3,2,1);
stem(n,xn1,'.');
title('xn1')
xlabel('n');ylabel('xn1');
xk1=fft(xn1,m).*T;
k=0:2*pi/m:2*pi/m*(m-1);
subplot(3,2,2);
plot(k,abs(xk1)); %»³ö·ùƵÌØÐÔ
title('xk1')
xlabel('w');ylabel('xk1');
fs=1/300; %²ÉÑùÖÜÆÚÊÇ300HZ
T=1/fs;
m=tp*T;
n=0:m-1;
xn2=A*exp(-alph*n*fs).*sin(w*n*fs);
subplot(3,2,3);
stem(n,xn2,'.');
title('xn2')
xlabel('n');ylabel('xn2');
xk2=fft(xn2,m).*T;
k=0:2*pi/m:2*pi/m*(m-1); %¹éÒ»»¯´¦Àí
subplot(3,2,4);
plot(k,abs(xk2)); %»³ö·ùƵÌØÐÔ
title('xk2');
xlabel('w');ylabel('xk2');
fs=1/200; %²ÉÑùÖÜÆÚÊÇ200HZ
T=1/fs;
m=tp*T;
n=0:m-1;
xn3=A*exp(-alph*n*fs).*sin(w*n*fs);
subplot(3,2,5);
stem(n,xn3,'.');
title('xn3')
xlabel('n');ylabel('xn3');
xk3=fft(xn3,m).*T
k=0:2*pi/m:2*pi/m*(m-1);
subplot(3,2,6);
plot(k,abs(xk3)); %»³ö·ùƵÌØÐÔ
title('xk3')
xlabel('w');ylabel('xk3');
2 频域采样定理的验证
给定信号:,对的频谱函数在
[0,2]上分别等间隔采样16点和32点,得到和,再分别对和进行IDFT,得到和。分别画出、和的幅度谱,并绘图显示、和的波形,进行对比和分析。
clc;
xn1=1:14;
n=0:13;
subplot(4,2,1);
stem(n,xn1,'.');
title('xn1')
xlabel('n');ylabel('xn1');
xn2=13:-1:1;
n=14:26;
subplot(4,2,2);
stem(n,xn2,'.');
title('xn2')
xlabel('n');ylabel('xn2');
xn=[xn1,xn2];
n=0:31;
subplot(4,2,3);
stem(n,xn,'.');
title('xn')
xlabel('n');ylabel('xn');
xk32=fft(xn,32);
xk16=xk32(1:2:32);
xn3=ifft(xk32)
四 思考题
如果序列的长度为M,希望得到其频谱在[0,2]上N点等间隔采样,当时,如何用一次最少点数的DFT得到该频谱采样?
五 实验报告及要求
1 编写程序,实现上述要求,打印要求显示的图形
2 分析比较实验结果,简述由实验得到的主要结论
3 简要回答思考题
4 附上程序清单和有关曲线