当前位置:文档之家› 时域采样与频域分析报告

时域采样与频域分析报告

实验二:时域采样与频域分析一、实验原理与方法1、时域采样定理:(a )对模拟信号)(t x a 以间隔T 进行时域等间隔理想采样,形成的采样信号的频谱)(Ωj X )是原模拟信号频谱)(ωj X a 以采样角频率)2(T s s π=ΩΩ为周期进行周期延拓。

公式为:[]∑∞-∞=Ω-Ω==Ωn s a a a jn j X T t x FT j X )(1)()()) (b )采样频率s Ω必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。

2、频域采样定理:公式为:[])()()()(n R iN n x k X IDFT n x N i N N N ⎥⎦⎤⎢⎣⎡+==∑∞-∞=。

由公式可知,频域采样点数N 必须大于等于时域离散信号的长度M(即N ≥M),才能使时域不产生混叠,则N 点[])(k X IDFT N 得到的序列()N x n 就是原序列)(n x ,即)()(n x n x N =。

二、实验内容1、时域采样理论的验证。

给定模拟信号)()sin()(0t u t Ae t x t a Ω=-α式中A =444.128,α=502π,0Ω=502πrad/s ,它的幅频特性曲线如图2.1图2.1 )(t x a 的幅频特性曲线现用DFT(FFT)求该模拟信号的幅频特性,以验证时域采样理论。

按照)(t x a 的幅频特性曲线,选取三种采样频率,即s F =1k Hz ,300Hz ,200Hz 。

观测时间选ms T p 50=。

为使用DFT ,首先用下面公式产生时域离散信号,对三种采样频率,采样序列按顺序用)(1n x ,)(2n x ,)(3n x 表示。

)()sin()()(0nT u nT Ae nT x n x nT a Ω==-α因为采样频率不同,得到的)(1n x ,)(2n x ,)(3n x 的长度不同, 长度(点数) 用公式s p F T N ⨯=计算。

选FFT 的变换点数为M=64,序列长度不够64的尾部加零。

[])()(n x FFT k X = 1,,3,2,1,0-=M k Λ式中k 代表的频率为 k Mk πω2=。

要求:编写实验程序,计算)(1n x 、)(2n x 和)(3n x 的幅度特性,并绘图显示。

观察分析频谱混叠失真。

程序见附录2.1、实验结果见图2.2。

2、频域采样理论的验证。

给定信号如下:⎪⎩⎪⎨⎧≤≤-≤≤+=其它02614271301)(n n n n n x编写程序分别对频谱函数()FT[()]j X e x n ω=在区间[]π2,0上等间隔采样32和16点,得到)()(1632k X k X 和32232()() , 0,1,2,31j k X k X e k ωπω===L16216()() , 0,1,2,15j k X k X e k ωπω===L再分别对)()(1632k X k X 和进行32点和16点IFFT ,得到)()(1632n x n x 和323232()IFFT[()] , 0,1,2,,31x n X k n ==L161616()IFFT[()] , 0,1,2,,15x n X k n ==L分别画出()j X e ω、)()(1632k X k X 和的幅度谱,并绘图显示x (n)、)()(1632n x n x 和的波形,进行对比和分析,验证总结频域采样理论。

程序见附录2.2、实验结果见图2.3提示:频域采样用以下方法容易编程实现。

(1) 直接调用MATLAB 函数fft 计算3232()FFT[()]X k x n =就得到()j X e ω在]2,0[π的32点频率域采样。

(2)抽取32()X k 的偶数点即可得到()j X e ω在]2,0[π的16点频率域采样16()X k ,即1632()(2) , 0,1,2,,15X k X k k ==L 。

(3)当然,也可以按照频域采样理论,先将信号x (n)以16为周期进行周期延拓,取其主值区(16点),再对其进行16点DFT(FFT),得到的就是()j X e ω在]2,0[π的16点频率域采样16()X k 。

三、实验结果和分析、讨论及结论1、实验结果:图2.2采样频率幅度特性曲线实验分析、讨论及结论:(1)通过图可以发现,时域采样,频域周期延拓,延拓周期为Fs。

当采样频率为1000 Hz时,频谱混叠很小:当采样频率为300 Hz时,频谱混叠很严重;当采样频率为200 Hz时,频谱混叠更加严重。

所以要满足Fs>2Fc。

(2)fft函数的调用格式:Xk=fft(xn,N)调用参数xn为被交换的时域序列向量,N是DFT变换的区间长度,当N 大于xn的长度时,fft函数自动在xn后面补零。

当N小于xn的长度时,fft 函数计算xn的前面N个元素构成的N长序列的N点DFT,忽略xn后面的元素。

2、实验结果:图2.3频谱函数采样及波形实验分析、讨论及结论:(1)此结果验证了频域采样理论和频域采样定理。

对信号)(n x 的频谱函数)(ωj e X 在[]π2,0上等间隔采样16=N 时,N 点[])(k x IDFT N 得到的序列正是原序列)(n x 以16为周期进行周期延拓后的主值区序列。

即频域采样定理证明,对)(n x N 点频域采样反映到时域内就是就是)(n x 进行以N 为周期延拓序列的主值区间。

当N=16时,由于N<M ,所以发生了时域混叠失真;当N=32时,由于N>M ,频域采样定理,所以不存在时域混叠失真。

上述条件说明,如果采样点数过少,那么进行IDFT 所得到的信号就会混叠失真,采样条件满足采样点数大于原序列点数,即N>M 。

(2)Ifft 函数用法同fft 函数。

四、思考题1、如果序列x(n)的长度为M ,希望得到其频谱()j X e ω在]2,0[π上的N 点等间隔采样,当N<M 时, 如何用一次最少点数的DFT 得到该频谱采样? 答:先对原序列x(n)以N 为周期进行周期延拓后取主值区序列,()[()]()N N i x n x n iN R n ∞=-∞=+∑再计算N 点DFT 则得到N 点频域采样:2()DFT[()] =() , 0,1,2,,1j N N N k N X k x n X e k N ωπω===-L五、总结与心得体会通过此次实验,对时域采样和频域采样的理论、定理的理解更加深入。

采样是模/数中最重要的一步,采样方法的正确与否,关系到信号处理过程的成功与否。

所以,无论是在时域还是频域,对信号采样必须仔细考虑采样的参数:采样频谱、采样周期、采样点数。

对一个域进行采样,必将引起另一个域的周期延拓,所以,我们要做,就是选取好采样的参数,避免另一个域周期延拓时发生混叠,否则,我们采样所得的数据肯定丢失一部分原信号的信息,我们便无法对原信号对原信号进行恢复和正确分析。

此次实验所遇到的问题:主要是时域非周期对应频域连续,频域周期对应着时域离散(DFT 隐含周期性),频域非周期对应时域连续。

对时域与频域的关系还没彻底弄懂,stem 和plot 绘图函数有时会用错。

有些程序里面缺少“;”,导致少了一个结果图,通过检查并修改程序,解决了问题。

总得来说,实验还是比较圆满的。

实验的心得体会见下:在此次试验中,温习了关于MATLAB软件的操作及应用,基本使用方法和它的运行环境。

又进一步地通过实验加深了对MATLAB软件的了解,体会到了MATLAB具有完备的图形处理功能,实现计算结果和编程的可视化等功能。

通过做实验的过程以及实验分析的结果,熟悉并了解了Ifft函数和fft函数的用法。

通过这次的实验。

极大地提升了自己对于程序编辑的熟练度,增加了对于书本里面知识点的应用,更深一层的加深了对MATLAB软件的使用。

这对自己以后的实验积累了丰富的经验。

六、附件:MATLAB原程序清单2.1用fft函数求模拟信号的幅频特性Tp=64/1000; %观察时间Tp=64毫秒%产生M长采样序列x(n)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);stem(xnt); %调用自编绘图函数stem绘制序列图box on;title('(a) Fs=1000Hz');k=0:M-1;fk=k/Tp;subplot(3,2,2);stem(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完全相同。

Tp=64/1000; %观察时间Tp=64毫秒%产生M长采样序列x(n)Fs=300; 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,3);stem(xnt); %调用自编绘图函数stem绘制序列图box on;title('(b) Fs=300Hz');k=0:M-1;fk=k/Tp;subplot(3,2,4);stem(fk,abs(Xk));title('(b) T*FT[xa(nT)],Fs=300Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]);Tp=64/1000; %观察时间Tp=64毫秒%产生M长采样序列x(n)Fs=200; 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,5);stem(xnt); %调用自编绘图函数stem绘制序列图box on;title('(c) Fs=200Hz');k=0:M-1;fk=k/Tp;subplot(3,2,6);stem(fk,abs(Xk));title('(c) T*FT[xa(nT)],Fs=200Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]);2.2调用fft函数进行频率采样及Ifft函数绘波形图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)的TFX32k=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 ontitle('(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 ontitle('(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 ontitle('(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 ontitle('(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 ontitle('(f)32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20])。

相关主题