您好,欢迎访问三七文档
离散信号的MATLAB产生和图形显示实验报告目录实验一..............................................................................................................................................21、实验内容.............................................................................................................................22、编程原理、思路和公式.....................................................................................................23、程序脚本,并注释.............................................................................................................24、仿真结果、图形.................................................................................................................35、结果分析和结论.................................................................................................................46、遇到的问题、解决方法及收获.........................................................................................4实验二..............................................................................................................................................51、实验内容.............................................................................................................................52、编程原理、思路和公式.....................................................................................................53、程序脚本,并注释.............................................................................................................54、仿真结果、图形.................................................................................................................75、遇到的问题、解决方法及收获.........................................................................................7实验三..............................................................................................................................................81、实验内容.............................................................................................................................82、编程原理、思路和公式.....................................................................................................83、程序脚本,并注释.............................................................................................................84、仿真结果、图形...............................................................................................................115、遇到的问题、解决方法及收获.......................................................................................13实验一1、实验内容编写程序产生序列990,cos)(x0nnn其中2,81547,24800,,,,,画出序列的图形,说明信号时域振荡程度的变化,理解数字信号的“低频”和“高频”的概念。2、编程原理、思路和公式1、Matlab自带余弦函数,只需调用函数n0cos即可,即nn0cos)(x。2、因为有不同的的0值,为了简便,用一个一行八列的矩阵来表示0的所有的取值,然后用一个for循环来调用。3、程序脚本,并注释clc;clear%清除原有的东西n=0:1:99;%定义n的范围w0=[0,pi/8,pi/4,pi/2,pi,7*pi/4,15*pi/8,2*pi];%表示w0的矩阵for(i=1:4)%for循环语句来调用不同的w0x=cos(w0(i)*n);%定义序列subplot(4,1,i);%一行四列方便观察stem(n,x,'k.'),gridon;%画图xlabel('n');%横轴为nylabel('x(n)');%纵轴为x(n)title('x(n)=cos(w0*n)');%图片的名字为x(n)=cos(w0*n)endfigure%另作一幅图for(i=5:8)%for循环语句来调用不同的w0x=cos(w0(i)*n);%定义序列subplot(4,1,(i-4));%一行四列方便观察stem(n,x,'k.'),gridon;%画图xlabel('n');%横轴为nylabel('x(n)');%纵轴为x(n)title('x(n)=cos(w0*n)');%图片的名字为x(n)=cos(w0*n)end4、仿真结果、图形010203040506070809010000.51nx(n)x(n)=cos(w0*n)0102030405060708090100-101nx(n)x(n)=cos(w0*n)0102030405060708090100-101nx(n)x(n)=cos(w0*n)0102030405060708090100-101nx(n)x(n)=cos(w0*n)0102030405060708090100-101nx(n)x(n)=cos(w0*n)0102030405060708090100-101nx(n)x(n)=cos(w0*n)0102030405060708090100-101nx(n)x(n)=cos(w0*n)010203040506070809010000.51nx(n)x(n)=cos(w0*n)图一:NO1nn0cos)(x仿真图5、结果分析和结论从图中可以看出,从0~频率越来越高,2~频率越来越低,在0时频率最高。6、遇到的问题、解决方法及收获问题及解决:1、最开始挨个给0赋值,但是那样程序很长很冗杂,然后我就想到用for循环来做2、最初解决循环时,直接用0去乘n,但是0是1*7的矩阵,n是1*100的,两者没法相乘,后来用for循环,挨个调用0,这样就可以了。3、作在同一个图里,纵轴很短,不好看,所以用figure指令,把图画在了两张图上。收获:1、调用一个数组的各个元素,需要用for循环2、同一个程序里画多张图,用figure指令3、把默认的画图里的圈圈换成点用’.’指令,换颜色也可以,如’k.’是黑色,’r.’是红色实验二1、实验内容画出下列序列的图形,进行计算并用图形显示结果。255,4cos33sin)(nnnnx)16()2()(10nnnyR计算y(n)x(n)z(n)2、编程原理、思路和公式x(n)是三角函数,可以直接调用,但是y(n)是矩形序列和单位冲击序列的和,没有现成的序列,所以先用子函数写好y(n)的两个函数,然后调用函数。y的取值范围是-11到16,但是要求x是从-5到25的,两序列相加是需要统一长度,需要长度统一和补零3、程序脚本,并注释function[R_N]=s2z(ny1,N,m,ny,L)R_N=zeros(1,L);%给R_N赋初值R_N(-ny1+1-N+1-m:-ny1+1-m)=1;%定义R_10(-n-m)endfunction[delta]=sy2z(ny1,L,m,ny)delta=zeros(1,L);%给delta赋初值delta(-ny1+17)=1;%定义单位冲击函数endclearall;%清除全部nx1=-5;nx2=25;nx=nx1:nx2;%规定nx的范围x=sin(pi/3*nx)+3*cos(nx*pi/4);%x的函数subplot(3,1,1);%三行一列x(n)在第一个stem(nx,x,'k.');%画图xlabel('n');ylabel('x(n)');title('x(n)=sin(\pi/3*n)+3*cos(n*\pi/4)');%x(n)的横纵轴及图片的名字ny1=-12;ny2=25;ny=ny1:ny2;%规定ny的范围m=2;%R_N(-n-m)m的取值L=length(ny);%ny的长度N=10;%R_N的长度[R_N]=s2z(ny1,N,m,ny,L);%调用矩形序列[delta]=sy2z(ny1,L,m,ny);%调用冲击序列y=R_N+delta;%y的函数subplot(3,1,2);%三行一列y(n)在第2个stem(ny,y,'k.');%画图xlabel('n');ylabel('y(n)');title('y(n)=R_1_0(-n-2)+\delta(n-16)');%y(n)的横纵轴及图片的名字nz1=min(nx1,ny1);%nz的起点为ny和的最小值nz2=max(nx2,ny2);%nz的终点为ny和的最大值nz=nz1:nz2;%统一x和y的长度为nzxa=[zeros(1,abs(nz1-nx1))xzeros(1,abs(nz2-nx2))];%补零定义新的函数xaya=[zeros(1,abs(nz1-ny1))yzeros(1,abs(nz2-ny2))];%补零定义新的函数yaz=xa+ya;%两函数相加subplot(3,1,3);%三行一列z(n)在第3个stem(nz,z,'k.');%画图xlabel('n');ylabel('z(n)');title('z(n)=x
本文标题:实验一报告
链接地址:https://www.777doc.com/doc-4558215 .html