资源描述:
《数字信号处理matlab报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验一熟悉matlab一、实验内容练习matlab的使用,熟悉离散卷积运算,产生复指数序列二、实验目的1、掌握离散卷积计算机实现。2、进一步对离散信号卷积算法的理解。三、原理及算法概要算法:把冲激响应h(n)与输入序列x(n)分别输入到程序中,然后调用离散卷积函数y=conv(x.,h)即可得到所要求的结果。原理:离散卷积定义为当序列为有限长时,则四、程序与运行结果%实现复指数序列程序n=0:30;x=exp(.05+i*pi/6).^n;xr=real(x);xi=imag(x);xm=abs(x);xa=angle(x);figure;subplot(221)
2、;stem(n,xr);title('实部');subplot(222);stem(n,xi);title('虚部');subplot(223);stem(n,xm);title('模');subplot(224);stem(n,xa);title('相角');程序运行结果如图1所示。从图中可以看出,复指数序列的实部和虚部都是幅度按指数增长的正弦序列。图1复指数序列波形x1=[1111];nx1=0:3;%实现卷积程序h1=[10.80.640.8^30.8^4];nh1=0:4;
y1=conv(x1,h1);
subplot(2,3,1);stem(nx1,x
3、1);title('序列x1');
xlabel('n');ylabel('x1(n)');
subplot(2,3,2);stem(nh1,h1);title('序列h1');
xlabel('n');ylabel('h1(n)');
subplot(2,3,3);stem(y1);title('序列y1');
xlabel('n');ylabel('y1(n)');
x2=[1111];nx2=0:3;
nh2=0:1:20;
h2=(0.8).^nh2;
y2=conv(x2,h2);
subplot(2,3,4);stem(x2);title('序列x2'
4、);
xlabel('n');ylabel('x2(n)');
subplot(2,3,5);stem(h2);title('序列h2');
xlabel('n');ylabel('h2(n)');
subplot(2,3,6);stem(y2);title('序列y2');
xlabel('n');ylabel('y2(n)')
图2卷积程序波形五、结果分析有限长序列的离散卷积计算结果与理论值一致,而存在无限长序列做卷积时,由于在程序处理时是用比较长有限长序列代替的,所以与理论值基本相同。六、实习心得主要进行的是有matlab实现离散卷积的计算,分为三个类型:冲
5、激响应h(n)与输入序列x(n)都为有限长,一个序列为有限长一个序列为无限长和两个序列均为无限长。这部分实习内容不难,是原来做过的,主要是为了拾拣起原来所学的知识。第一种类型是最简单,也是最基本的,直接调用函数y=conv(x.,h)即可。在第二种和第三种类型的计算中遇到了一些困难,在输入序列时,由于存在无限长的序列,不知道该怎么输入,查过了相关的题目才弄明白。通过本专题的实习,让我对数字信号处理中的一些基础知识有了一些回顾,对原来所学过的知识也熟悉了一些。实验二FFT一、实验内容设有离散序列x(n)=0.51sin(2πn/32)+sin(4πn/32)-0.1
6、sin(6πn/32);采集数据长度N=32,分析32点的频谱,并画出幅频特性。二、实验目的1、了解DFT及FFT的性质和特点2、利用FFT算法计算信号的频谱。三、关键算法算法:读入离散序列x(n)=0.51sin(2πn/32)+sin(4πn/32)-0.1sin(6πn/32),采集长度为N=32的数据,调用matlab中的函数fft(x)对其作离散傅里叶变换得到32点的频谱。原理概要:当抽样数N=2M时,以下为算法蝶形图。一般规律如下:1、当N=2M时,则要进行M次分解,即进行M级蝶形单元的计算2、按自然顺序输入,输出是码位倒置。3、每一级包含N/2个基本
7、蝶形运算4、第L级有2L-1个蝶群,蝶群间隔为N/2L-1如果是Matlab实现的话,可用以下两种方法计算信号频谱1、调用库函数为:fft(),直接计算X(k)2、进行矩阵运算四、程序及运行结果n=0:31;x=0.51*sin(2*pi*n/32)+sin(4*pi*n/32)-0.1*sin(6*pi*n/32);y=fft(x);y1=abs(y);y2=angle(y);subplot(2,1,1);stem(y1);subplot(2,1,2);stem(y2);title('Hzhao');typedefstruct{floatreal;floatim
8、ag;}C