数字信号处理实验总结

2018-11-10 20:43

1用DFT计算线性卷积:(了解) 算法流程如下:

x1(n)(0?n?N1?1)补零到N点N?N1?N2?1N点DFTX1(k)T(k)N点IDFTt(n)?g(n)x2(n)(0?n?N2?1)补零到N点N点DFTX2(k)

数字信号处理的优势是“实时实现”,即信号进来经处理后马上输出去。然而:

y(n)?x(n)?h(n)?k????x(k)h(n?k)

?引入两个问题:

? x(n)没有全部进入,如何实现卷积? ? 全部进入再卷积,又如何保证实时实现?

解决方法通常是将较长序列进行分段,然后计算每段子序列和较短序列的线性卷积,最后再将各段线性卷积结果序列进行相加得到结果。这类方法包括:重叠相加法和重叠

保留法。 2用DFT对模拟信号进行谱分析

编程实现:给定模拟信号x(t)?2sin(4?t)?5cos(8?t),以t?0.01n(n?0:N?1)毫秒进行取样, 用DFT进行信号频谱分析:

① 若要能区别该信号中的两个频率分量,试问取样信号的长度至少为多少?共取多少采样点?②所用DFT的点数N分别等于128、256、1024,画出信号的N点DFT的幅度谱。③讨论幅度谱结果,N为多少时能分辨出信号中的所有频率分量? clear;

N1=64;n1=0:N1-1; N2=256;n2=0:N2-1; N3=1024;n3=0:N3-1; t=0.01*n1;

x=2*sin(4*pi*t)+5*cos(8*pi*t); X=dft(x,N1); subplot(321);plot(t,x);title(' x(t)---N=64');

subplot(322);plot(t,abs(X));title(' abs(X)---N=64'); t=0.01*n2;

x=2*sin(4*pi*t)+5*cos(8*pi*t); X=dft(x,N2); subplot(323);plot(t,x);title('x(t)---N=256');

subplot(324);plot(t,abs(X));title(' abs(X)---N=256'); t=0.01*n3;

x=2*sin(4*pi*t)+5*cos(8*pi*t); X=dft(x,N3); subplot(325);plot(t,x);title('x(t)---N=1024');

subplot(326);plot(t,abs(X));title(' abs(X)---N=1024');

x(t)---N=64100-10100-10100-10200100010005000400020000 abs(X)---N=6400.20.4x(t)---N=2560.60.800.20.40.60.8 abs(X)---N=256012x(t)---N=10243012 abs(X)---N=10243051015051015

八、 思考题

1. 圆周卷积与线性卷积的关系,二者是否相同?在什么条件下相同? 2. 离散信号的卷积运算有何用途?

3. DFT变换中补零对信号频谱的分辨率有影响吗?补零后频谱图有何变化?

4. 实验内容3中,若要能区别该信号中的两个频率分量,取样信号的长度至少为多少? N分别为60、500时能否分辨出信号中所有频率分量?与(2)的结果比较。

实验五 离散傅立叶变换和快速FFT

一.实验目的

1.在理论学习的基础上,通过本实验,进一步加深对DFT的算法原理及性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的结果必然满足DFT的基本性质); 2.熟悉并掌握按时间/频率抽取FFT算法原理和子程序的应用; 3.学习用FFT对连续信号和时域离散信号进行谱分析的方法;

4.了解应用FFT进行信号频谱分析过程中可能出现的问题(如:混叠、泄露、栅栏效应等),

分析其原因,以便在实际中正确应用FFT。 二.实验原理

1. FFT 原理:DFT如果直接计算的话,计算量非常大,而且不利于信号的实时处理,在实际应用中遇到很大的困难,由此出现了很多快速的计算DFT的方法,在此我们以基2的时间抽取快速傅立叶算法为例。

2. 混叠:序列的频谱是被采样信号的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱,避免混叠现象的唯一方法是保证采样速率足够高。

3. 泄露:用截短的序列来近似很长甚至是无限长的序列,这样可以使用较短的DFT对信号进行频谱分析,所得的频谱是原序列频谱的扩展。为了减少泄露的影响,可以选择适当的窗函数使频谱的扩散减至最小。

4. 栅栏效应:DFT是对单位圆上Z变化的均匀采样,所以它不可能将频谱视为一个连续函数,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样一些频谱的峰点或谷点被“栅栏”所拦住,不能被观察到。减小栅栏效应的方法就是借助于在原序列的末端填补一些零值,从而变动DFT的点数,这实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根“栅栏”的位置,使频谱的峰点或谷点暴露出来。 三.实验内容

1.求序列x=[5 2 7 4 1 1 3 9]的快速傅立叶变换,并绘出幅频特性曲线; 提示:采用fft(x,N)函数,N为FFT的点数,当序列长度小于N时,系统自动在序列末尾补零;当序列长度大于N时,系统自动截断序列多余的部分。 x=[5 2 7 4 1 1 3 9];

N=length(x); xk=fft(x,N); n=0:N-1; stem(n,abs(xk));

3530252015105001234567

2.设一序列中含有两种频率成分,f1=2 Hz,f2=2.05Hz,采样率取为fs=10Hz,即 x(n)=sin(2?f1n/fs)+sin(2?f2n/fs),根据公式2fs<

Nf1?f2,要区分出这两种频率成分,N必

须满足多少?

⑴取x(n)(0?n<128)时,计算128点FFT,并绘出幅频特性曲线;

⑵取x(n)(0?n<128)时,补384个0,计算512点FFT,并绘出幅频特性曲线; ⑶取x(n)(0?n<512)时,计算512点FFT,并绘出幅频特性曲线;

⑷分别改变FFT变换的点数和采样时间,对结果进行分析,对比看有何不同。

提示:补零时可采用zeros函数;(4)中,N,t的取值为N=512,t=0.1n;N=1024,t=0.1n;N=512,t=0.05n;N=1024,t=0.05n四种情况。 f1=2; f2=2.05; fs=10; N1=128; N2=512; n1=0:N1-1; n2=0:N2-1;

n3=n1*fs/N1; n4=n2*fs/N2; n5=n2*fs/N2; xn1=sin(2*pi*f1.*n1/fs)+sin(2*pi*f2.*n1/fs);

xn2=sin(2*pi*f1.*n2/fs)+sin(2*pi*f2.*n2/fs); xk1=fft(xn1,N1);xk2=fft(xn1,N2);xk3=fft(xn2,N2); subplot(311);plot(n3,abs(xk1));title('128点'); subplot(312);plot(n4,abs(xk2));title('512点补零'); subplot(313);plot(n5,abs(xk3));title('512点');

128点1005001005004002000012345512点补零678910012345512点678910012345678910

f1=2; f2=2.05; fs1=10; fs2=20; N1=512; N2=1024;

n1=0:N1-1; n2=0:N2-1; n3=n1*fs1/N1; n4=n1*fs2/N1; n5=n2*fs1/N2; n6=n2*fs2/N2; xn1=sin(2*pi*f1.*n1/fs1)+sin(2*pi*f2.*n1/fs1); xn2=sin(2*pi*f1.*n2/fs1)+sin(2*pi*f2.*n2/fs1); xn3=sin(2*pi*f1.*n1/fs2)+sin(2*pi*f2.*n1/fs2); xn4=sin(2*pi*f1.*n2/fs2)+sin(2*pi*f2.*n2/fs2); xk1=fft(xn1,N1);xk2=fft(xn2,N1); xk3=fft(xn3,N2);xk4=fft(xn4,N2);

subplot(411);plot(n3,abs(xk1));title('512点 t=0.1n'); subplot(412);plot(n4,abs(xk2));title('512点 t=0.05n'); subplot(413);plot(n5,abs(xk3));title('1024点 t=0.1n');


数字信号处理实验总结.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电子测量调研报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: