10.2.1 实验指导
1. 实验目的
时域采样理论与频域采样理论是数字信号处理中的重要理论。要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要求掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。
2. 实验原理与方法
时域采样定理的要点是:
a) 对模拟信号 以间隔T进行时域等间隔理想采样,形成的采样信号的频谱 是原模拟信号频谱 以采样角频率()为周期进行周期延拓。公式为:
b) 采样频率 必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的
频谱不产生频谱混叠。
利用计算机计算上式并不方便,下面我们导出另外一个公式,以便用计算机上进行实验。
理想采样信号 和模拟信号 之间的关系为:
对上式进行傅立叶变换,得到:
在上式的积分号内只有当 时,才有非零值,因此:
上式中,在数值上 = ,再将 代入,得到:
上式的右边就是序列的傅立叶变换 ,即
上式说明理想采样信号的傅立叶变换可用相应的采样序列的傅立叶变换得到,只要将自变量ω用 代替即可。
频域采样定理的要点是:
a) 对信号x(n)的频谱函数X(ejω)在[0,2π]上等间隔采样N点,得到
则N点IDFT[ ]得到的序列就是原序列x(n)以N为周期进行周期延拓后的主值区序列,公式为:
b) 由上式可知,频域采样点数N必须大于等于时域离散信号的长度M(即N≥M),才能使时域不产生混叠,则N点IDFT[ ]得到的序列 就是原序列x(n),即 =x(n)。如果N>M,比原序列尾部多N-M个零点;如果N 对比上面叙述的时域采样原理和频域采样原理,得到一个有用的结论,这两个采样理论具有对偶性:“时域采样频谱周期延拓,频域采样时域信号周期延拓”。因此放在一起进行实验。 3. 实验内容及步骤 (1)时域采样理论的验证。 给定模拟信号, 式中A=444.128, =50 π, =50 πrad/s,它的幅频特性曲线如图10.2.1 图10.2.1 的幅频特性曲线 现用DFT(FFT)求该模拟信号的幅频特性,以验证时域采样理论。 安照的幅频特性曲线,选取三种采样频率,即 =1kHz,300Hz,200Hz。观测时间选。 为使用DFT,首先用下面公式产生时域离散信号,对三种采样频率,采样序列按顺序用 , , 表示。 因为采样频率不同,得到的 , , 的长度不同,长度(点数)用公式计算。选FFT的变换点数为M=,序列长度不够的尾部加零。 X(k)=FFT[x(n)] , k=0,1,2,3,-----,M-1 式中k代表的频率为 。 要求: 编写实验程序,计算 、 和 的幅度特性,并绘图显示。观察分析频谱混叠失真。 (2)频域采样理论的验证。 给定信号如下: 编写程序分别对频谱函数 在区间 上等间隔采样32 和16点,得到 : 再分别对 进行32点和16点IFFT,得到 : 分别画出 、 的幅度谱,并绘图显示x(n)、 的波形,进行对比和分析,验证总结频域采样理论。 提示:频域采样用以下方法容易变程序实现。 ① 直接调用MATLAB函数fft计算 就得到 在 的32点频率域采样 ② 抽取 的偶数点即可得到 在 的16点频率域采样 ,即 。 3 当然也可以按照频域采样理论,先将信号x(n)以16为周期进行周期延拓,取其主值区(16点),再对其进行16点DFT(FFT),得到的就是在的16点频率域采样 。 4.思考题: 如果序列x(n)的长度为M,希望得到其频谱在上的N点等间隔采样,当N a) 运行程序打印要求显示的图形。 b) 分析比较实验结果,简述由实验得到的主要结论 c) 简要回答思考题 d) 附上程序清单和有关曲线。 =============================================================================== 1 时域采样理论的验证程序清单 % 时域采样理论验证程序exp2a.m Tp=/1000; %观察时间Tp=微秒 %产生M长采样序列x(n) % Fs=1000;T=1/Fs; Fs=1000;T=1/Fs; M=Tp*Fs;n=0:M-1; A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; xnt=A*exp(-alph*n*T).*sin(omega*n*T); Xk=T*fft(xnt,M); %M点FFT[xnt)] yn='xa(nT)';subplot(3,2,1); tstem(xnt,yn); %调用自编绘图函数tstem绘制序列图 box on;title('(a) Fs=1000Hz'); k=0:M-1;fk=k/Tp; subplot(3,2,2);plot(fk,abs(Xk));title('(a) T*FT[xa(nT)],Fs=1000Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]) %================================================= % Fs=300Hz和 Fs=200Hz的程序与上面Fs=1000Hz完全相同。 2 频域采样理论的验证程序清单 %频域采样理论验证程序exp2b.m M=27;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,1024); %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:1023;wk=2*k/1024; % 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)以N为周期进行周期延拓后取主值区序列, 再计算N点DFT则得到N点频域采样:下载本文