还剩5页未读,继续阅读
文本内容:
数字信号处理实验指导实验一用于信号处理的基本操作MATLAB
1.实验目的:
①学习和掌握MATLAB最基本的矩阵运算与绘图工具
②学习用MATLAB实现信号处理的基本操作
2.实验步骤1熟悉MATLAB的使用环境和方法2练习使用基本的向量生成、矩阵运算、绘图等语句A利用冒号生成向量Xl=[l2345]X2=[
1.
0001.
5002.
0002.500]X3=
[54321]B分别生成3*3,3*4的全0矩阵,全1矩阵和随机矩阵C分别输入矩阵
1.
01.
11.2A=B=
2.
02.
12.
23.
03.
13.2D分别计算A+B,A-B,A+3,A-4,A*B,A.*B,C=inv A,A/B,A./BE分别计算sinxl,cosxl,expxl,lgx2,sqrt x
23.实验说明
1.向量的生成利用冒号生成向量a.X=j:k jk生成X=[j,j+1,j+2,...,k-l,k]b.X=j:I:k如果I0且jk或I0且jk,则生成向量x=[j,j+I,j+2I,如果I〈0且j〉k,则生成向量X=[j,j+I,j+2I,…,k]例Xl=l5Xl=[l2345]X2=l
0.53X2=[
1.
0001.
5002.
0002.
5003.000X3=5-11X3=
[54321]
2.矩阵的生成1Zeros生成全0阵生成n*n的全0矩阵B=Zerosn生成的全0矩阵B=Zeros m,n生成与与矩阵A大小相同的全0矩阵B=Zeros SizeA注必须是一个非负数2ones生成全1阵3rand生成均匀分布的随机阵二矩阵的算术运算
1.加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量一个数的加减运算,指令为A+3A-
92.乘法和除法运算A*B是数学中的矩阵乘法,遵循矩阵乘法规则A.*B是同维矩阵对应位置元素做乘法B=inv A是求矩阵的逆A/B是数学中的矩阵除法,遵循矩阵除法规则A./B是同维矩阵对应位置元素相除另A表示矩阵的转置运算三.数组函数下面列举一些基本函数,他们的用法和格式都相同SinA,cos A,exp A,log A相当于InSgrt A开平方abs A求模real A求实部imag A求虚部式中A可以是标量也可以是矩阵例利用等差向量产生一个正弦值向量t=0:0,1:10;A=sin t;plot t,A,b*这时候即可看到一个绘有正弦曲线的窗口弹出另每条语句后面加表示不要显示当前语句的执行结果不加“;”表示要显示当前语句的执行结果练习t=0:
0.01:1;y=sin2*pi*t;plot t,y;xlabel C0-T;ylabel JTT;text
0.6,0,,y=sin2*pi*t;H=legend sin;四.绘图二维绘图利用前例如果要使向量的横纵坐标一一对应,则应写为plot t,A如不要横坐标对应时,可只写plotA如果A是一个矩阵不是向量,则在同一窗口中可绘出与矩阵行数相同的曲线且颜色不同同时也可指定曲线的颜色和格式如plot t,A,b.则原来的连续曲线就变成了蓝色的点线下面给出常用选项r红g绿b蓝y黄m洋红c青w白k黑一实线------------------------------------虚线*用星号标数据点用点标字母用圆圈标x字母x D用叉标-.点划线下面给出窗口分割语句subplot(x,y,n)将一个窗口分割成X行,y列共x*y个窗口12YY+l NY+Y取第n个窗口为当前窗口n个排列行例subplot(3,2,2)分割3*2个窗口o取第二个窗口,如果下面有绘图语句,表示要在第二个窗口中绘图五.实验报告要求a)简述实验目的与步骤b)用MATLAB计算产生x(n)=sin(pi*n/5),n=~5:5,并绘出波形图实验
二、离散时间系统的时域分析
(一)实验要求1)学会离散时间信号的运算;2)掌握离散卷积计算方法;
(二)实验内容
1、信号的加数学描述x(〃)=玉(川)+%2(〃)MATLAB实现X=X\+X2设[xlO=[l
0.
70.
40.10];x20=[
0.
10.
30.
50.91];]
0.7参考程序:nl=l:5;xl0=[l
0.
70.
40.10];n2=3:8;x20=[
0.
10.
30.
50.
70.91];n=l:8;xl=[xl0zeros1,8-lengthnl];x2=[zeros1,8-lengthn2x20];x=xl+x2;Subplot3,1,1;Stemn,xl;Subplot3,1,2;Stemn,x2;Subplot3,1,3;Stemn,x;
2、信号的乘数学描述xn=玉〃*%〃MATLAB实现X=XL*X2设[xlO=]
10.
70.
40.10];x20=[
0.
10.
30.
50.
70.91];]参考程序nl=l:5;xl0=[l
0.
70.
40.10];n2=3:8;x20=[
0.
10.30,
50.
70.91];n=l:8;xl=[xl0zeros1,8-lengthnl];x2=[zeros1,8-lengthn2x20];x=xl.*x2;Subplot3,1,1;Stemn,xl;Subplot3,1,2;Stemn,x2;Subplot3,1,3;Stemn,x;nl=l:5;xl0=[l
0.
70.
40.10];n2=3:8;x20=[
0.
10.
30.
50.
70.91];n=l:8;xl=[xl0zeros1,8-lengthnl];x2=[zeros1,8-lengthn2x20];x=xl.*x
23、计算卷积用MATLAB计算序列{-201-13}和序列{120T}的离散卷积首先用手工计算,然后用MATLAB编程验证MATLAB参考程序如下a=[-201-13];b=[l20-1];c=conv a,b;M=lengthc-1;n=0:1:M;stemn,c;⑴幅度;xlabel;ylabelC三实验报告要求
1、简述实验目的和实验原理,先人工计算求出你选定的序列xS人力行的卷积结果并与计算机计算结果相比较
2、编写教材P35L12t的y〃运算的MATLAB程序卷积计算练习时域离散序列的卷积计算与图形显示已知求丫乂X n,111111=n*hnh〃%1n=
0.9”-20,I9=R1O H]〃〃〃,玉〃〃一2%=
0.972=Rio5实现%MATLAB设定和位移值Nh=20;Nx=10;m=5;%Nh=20;Nx=10m=5n=O:Nh-l;hl=
0.
9.An;%产生hl nh2=hl;%产生nx=O:Nx-1;xl=onesl,Nx;xln,x2=zeros Nx+m;%产生for k=m+l:m+Nx;x2n=xln-mx2k=xlk-m;%产生end x2n%计算yl=convxl,hl;yln=xln*hln%计算y2=convx2,h2;y2n=x2n*h2nsubplot3,2,lstemnx,xl//axis[0300L2]itleCxlnsubplot3,2,3%绘图stemn,hlaxis[O300L2],titlehlnsubplot3,2,5stemyl,titleCy ln,subplot3,2,2stemx2//axis[
04001.2],titleCx2n9subplot3,2,4stemn,h2,.axis[0400L2],titleh2n subplot3,2,6stemy2,title6y2n9Nh=20;Nx=10;m=5;%EeSINh=20;Nx=10°11»Offidpm=5n=0:Nh-1;hl=
0.
9.An;%2uEuhl£,-n£©h2=hl;2nx=0:Nx-1;xl=ones1Nx;%uEuxl nx2=zeros1Nx+m;z r2for k=m+l:m+Nx;%uEux2n=xln-m x2k=xlk-m;2end%iiEux2n yl=conv xl,hl;%M5Eayl n=xl n*hl ny2=conv x2,h2;%MffiEay2n=x2n*h211f1n subplot3,2,1stemnx,xl,.axis[
03001.2],titlexl n%出仇subplot3,2,311stemn,hl axis[
03001.2],titlehlnsubplot3,2,511stemyl,title yln subplot3,2,211stemx2,.1axis[
04001.2],title*x2nsubplot3,2,4h
21.1stemn,faxis[
04001.2],titlefh2n!subplot3,2,61!stemy2,title y2n。