资源描述:
《信号与系统实验报告3.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、学号:pb11203155姓名:解鑫第三次实验实验一实验题目:离散信号的时域基本运算实验目的:1)、学会用MATLAB进行相关运算;2)、进一步熟悉MATLAB的基本操作;3)、学会MATLAB中编写自定义函数的方法。实验要求:1、自编函数,完成自定义相加函数的编写,相关函数的编写;2、理解和掌握函数randn的使用方法、函数文件的编写方法、信号的基本运算。写实验报告,说明编程思路。实验原理:1、离散序列的和:设两离散序列f1(n)=x(n),(0≦n≦k);f2(n)=y(n),(0≦n≦k)
2、;则:序列的和:f1+f2={x(1)+y(1),x(2)+y(2),…,x(n)+y(n)};2、离散序列的相关性:设离散序列x[n],y[n];它们的相关系数为:+∞rxym=xn×h(n−m)n=−∞3、涉及的MATLAB函数:1)、randn():产生标准正态分布的随机变量;2)、mean():求平均值;3)、sqrt():求平方根;4)、stem(n,y,‘s’):绘制离散点序列函数,绘制y(n)的图像,s用于控制图形的属性;5)、subplot(n,p,q):打印子图函数,表示绘成一
3、个包含n×p个子图框的图框,横向有n行,纵向有p列,q表示要在哪个子图中绘图。6)、xlabel(‘x’):标注横轴;1学号:pb11203155姓名:解鑫第三次实验7)、ylabel(‘y’):标注纵轴;8)、title():加注图的标题;9)、axis(xi,xf,yi,yf):设定图像x轴范围为[xi,xf],y轴范围为[yi,yf];10)、length():获取序列的长度;11)、min():求最小值;12)、max():求最大值;13)、seqshift():自定义的带位置返回的移位
4、函数;(已在第二次实验中定义)14)、relation_xy():自定义的带位置返回的相关函数;(已在第二次实验中定义)实验内容:1、根据上周题1给出的参考程序整理出序列相加函数:function[y,n]=seqadd(x1,n1,x2,n2),再根据上周题2的思考题所要求的两个自编函数:移位函数seqshift实现yx(nk):function[y,ny]=seqshift(x,nx,k)折叠函数seqfold实现yx(n):function[y,ny]=seqfold(x,nx)然
5、后求解两个序列的互相关:已知x(n)[3,5,7,2,1,3,2],3n3,y(n)x(n2)w(n),其中w(n)是均值为0方差为1的高斯噪声序列,可以用MATLAB函数randn来产生。计算x(n)和y(n)之间的互相关公式为r(m)x(n)y(nm),并给出位置向量,最后画出图形。xyn编程思想:1、采用function自定义seqadd()函数,将上次实验的相加函数整理成独立通用函数即可;2、第二个实验,先创建x[n],然后用自定义seqshift()右
6、移2得到x[n-2];w[n]采用randn()生成,然后用seqadd()相加得到y[n];最后利用自定义函数relation_xy()得到相关系数rxy,用stem()画图。实验程序与数据:相加函数程序function[y,n]=seqadd(x1,n1,x2,n2)%相加函数,y=x1+x2,n、n1、n2分别为y、x1、x2的位置向量n=min(n1(1),n2(1)):max(n1(end),n2(end));y1=zeros(1,length(n));y2=y1;y1((n>=n1(
7、1))&(n<=n1(end))==1)=x1y2((n>=n2(1))&(n<=n2(end))==1)=x2y=y1+y2;end2学号:pb11203155姓名:解鑫第三次实验function[z,n]=relation_xy(x,nx,y,ny);%定义带位置返回的相关函数,z为xy的相关系数,n为返回位置ns=nx(1)-ny(end);nf=nx(end)-ny(1);n=ns:nf;y1=fliplr(y);z=conv(x,y1);endx=[3,5,-7,2,-1,-3,2];
8、nx=-3:3;p=1;N=10;u=randn(1,N);u=u-mean(u);a=sqrt(p);w=u*a;nw=-4:5;[x1,n1]=seqshift(x,nx,2);[y,ny]=seqadd(x1,n1,w,nw);程[rxy,m]=relation_xy(x,nx,y,ny);序subplot(3,1,1);stem(nx,x,'.r');axis([-8,8,-8,6]);xlabel('nx');ylabel('x');title('序列x[n]的图像');subplot