数字信号处理实验报告
实验一 时域采样与频域采样
一、实验目的
时域采样理论与频域采样理论是数字信号处理中的重要理论。要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要求掌握频率域采样会引起时域周期化
的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。
二、实验内容及步骤
(1)时域采样理论的验证。
给定模拟信号,xa(t)?Ae??tsin(?0t)u(t)
式中A=444.128,?=50特性曲线如图10.2.1
2π,?0=50
2πrad/s,它的幅频
图1 xa(t)的幅频特性曲线
现用DFT(FFT)求该模拟信号的幅频特性,以验证时域采样理论。
安照xa(t)的幅频特性曲线,选取三种采样频率,即Fs=1kHz,300Hz,200Hz。观测时间选T
p?50ms。
- 1 -
数字信号处理实验报告
为使用DFT,首先用下面公式产生时域离散信号,对三种采样频率,采样序列按顺序用x1(n),x2(n),x3(n)表示。 x(n)?xa(nT)?Ae??nTsin(?0nT)u(nT)
因为采样频率不同,得到的x1(n),x2(n),x3(n)的长度不同, 长度(点数)用公式N?Tp?Fs计算。选
FFT的变换点数为M=64,序
列长度不够64的尾部加零。
X(k)=FFT[x(n)] , k=0,1,2,3,-----,M-1
式中k代表的频率为 ?k?2?Mk。
要求: 编写实验程序,计算x1(n)、x2(n)和x3(n)的幅度特性,并绘图显示。观察分析频谱混叠失真。
(2)频域采样理论的验证。
给定信号如下:
?n?1? x(n)??27?n?0?0?n?1314?n?26其它
编写程序分别对频谱函数X(ej?)?FT[x(n)]在区间[0,2?]上等间隔采样32
和16点,得到X32(k)和X16(k): X32(k)? X16(k)?X(eX(ej?)??2?32k , k?0,1,2,?31
j?)??2?16 , k?0,1,2,?15k
再分别对X32(k)和X16(k)进行32点和16点IFFT,得到x32(n)和x16(n):
x32(n)?IFFT[X32(k)]32 , n?0,1,2,?,31
- 2 -
数字信号处理实验报告
x16(n)?IFFT[X16(k)]16 , n?0,1,2,?,15
分别画出
X(ej?)、
X32(k)和X16(k)的幅度谱,并绘图显示x(n)、
x32(n)和x16(n)的波形,进行对比和分析,验证总结频域采样理论。
三、实验程序清单
1 时域采样理论的验证程序清单
TSTEM:
function tstem(xnt,yn) %自制序列绘图函数
%yn代表xnt=y轴标示,x轴标示默认为‘n’; stem(xnt,'fill'); %只画一周期 xlabel('n'); ylabel(yn); ylim([-10 160]);
% 时域采样理论验证程序exp2a.m Tp=64/1000; %观察时间Tp=64微秒 %产生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)]
- 3 -
数字信号处理实验报告
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); 24点FFT[x(n)], 用于近似序列x(n)的TF
X32k=fft(xn,32) ;2点FFT[x(n)]
x32n=ifft(X32k); 2点IFFT[X32(k)]得到x32(n) X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K) x16n=ifft(X16k,N/2); 点IFFT[X16(k)]得到x16(n) subplot(3,2,2);stem(n,xn,'.');box on
- 4 -
数字信号处理实验报告
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)
- 5 -
32点