您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数字信号处理-共轭对称共轭反对称
xxxx大学实验报告学生姓名_xxx_学号_xxxxxxx_年级班级_xxxxxxx_实验项目_xxxxxxxx_实验时间_xxxxxxxxx_实验二一、实验目的:1.充分熟悉复指数函数find、sigshift、sigfold函数的使用;2.熟悉序列的加、减、乘、除、移位、折叠的计算;3.能够画出结果的图形。二、实验步骤:1.用help查找find、sigshift、sigfold函数的使用情况;2.编辑并生成函数sigadd.m(序列相加)function[y,n]=sigadd(x1,n1,x2,n2)%实现y(n)=x1(n)+x2(n)%[y,n]=sigadd(x1,n1,x2,n2)%y=在包含n1和n2的n点上求序列和%x1=在n1上的第一序列%x2=在n2上的第二序列(n2可与n1不等)n=min(min(n1),min(n2)):max(max(n1),max(n2));%y(n)的长度y1=zeros(1,length(n));y2=y1;%初始化y1(find((n=min(n1))&(n=max(n1))==1))=x1;%具有y的长度的x1y2(find((n=min(n2))&(n=max(n2))==1))=x2;%具有y的长度的x2y=y1+y2;%序列相加.3.编辑并生成函数sigmult.m(序列相乘)function[y,n]=sigmult(x1,n1,x2,n2)%实现y(n)=x1(n)*x2(n)%[y,n]=sigmult(x1,n1,x2,n2)%y=在n区间上的乘积序列,n包含n1和n2%x1=在n1上的第一序列%x2=在n2上的第二序列(n2可与n1不等)n=min(min(n1),min(n2)):max(max(n1),max(n2));%y(n)的长度y1=zeros(1,length(n));y2=y1;%初始化y1(find((n=min(n1))&(n=max(n1))==1))=x1;%具有y的长度的x1y2(find((n=min(n2))&(n=max(n2))==1))=x2;%具有y的长度的x2y=y1.*y2;%序列相乘4.编辑并生成函数sigshift.m(序列移位)function[y,n]=sigshift(x,m,n0)%实现y(n)=x(n-n0)%[y,n]=sigshift(x,m,n0)n=m+n0;y=x;5.编辑并生成函数sigfold.m(序列折叠)function[y,n]=sigfold(x,n)%实现y(n)=x(-n)%[y,n]=sigfold(x,n)y=fliplr(x);n=-fliplr(n);6.编辑并生成实现两序列相乘和相加程序clc;clear;x1=[0,1,2,3,4,3,2,1,0];n1=-2:6;x2=[2,2,0,0,0,-2,-2];n2=2:8;[y1,n]=sigmult(x1,n1,x2,n2);[y2,n]=sigadd(x1,n1,x2,n2);subplot(2,2,1);stem(n1,x1);title('序列x1')xlabel('n');ylabel('x1(n)');subplot(2,2,2);stem(n2,x2);title('序列x2')xlabel('n');ylabel('x2(n)');subplot(2,2,3);stem(n,y1);title('两序列相乘')xlabel('n');ylabel('y1(n)');subplot(2,2,4);stem(n,y2);title('两序列相加')xlabel('n');ylabel('y2(n)');运行以上程序得到的图形:体会:相加或相乘时,两序列尺度要保持一致。7.改变坐标尺度重新画图,使图形更加直观;8.在命令窗口打出x1,x2,y1,y2的值,并贴近实验报告;9.编辑并生成实现序列移位和折叠程序x1=[0,1,2,3,4,3,2,1,0];n1=-2:6;[y1,n2]=sigshift(x1,n1,2);[y2,n3]=sigfold(x1,n1);subplot(3,1,1);stem(n1,x1);title('序列x1')xlabel('n');ylabel('x1(n)');subplot(3,1,2);stem(n2,y1);title('序列移位')xlabel('n');ylabel('y1(n)');subplot(3,1,3);stem(n3,y2);title('序列折叠')xlabel('n');ylabel('y2(n)');运行以上程序得到的图形:体会:折叠和移位要注意坐标尺度,注意移位和折叠的顺序对最终结果的影响。10.在命令窗口打出y1,y2,n2,n3的值,并贴近实验报告;11.画出y3=2x1(2-n),y4=x1(3n)的图形,在命令窗口打出y3,y4的值,并贴近实验报告;运行以下程序得到y3:x1=[0,1,2,3,4,3,2,1,0];n1=-2:6;[y1,n2]=sigfold(x1,n1);[y2,n3]=sigshift(x1,n2,-2);y3=2*y2;subplot(2,2,1);stem(n1,x1);title('序列x1')xlabel('n');ylabel('x1(n)');subplot(2,2,2);stem(n2,y1);title('序列折叠')xlabel('n');ylabel('y1(n)');subplot(2,2,3);stem(n3,y2);title('序列移位')xlabel('n');ylabel('y2(n)');subplot(2,2,4);stem(n3,y3);title('序列y3')xlabel('n');ylabel('y3(n)');体会:要能够灵活运用移位和折叠,先移位后折叠,先折叠后移位得到的结果会不同,这就要注意确定好采用变化的方式,是先移位还是先折叠,之后把握好移位或折叠后坐标尺度的变化即可。当然,此程序也可改为先移位后折叠的方式,只要把最关键的两句程序改为[y1,n2]=sigshift(x1,n1,2);[y2,n3]=sigfold(x1,n2);再改一下标题title即可。运行以下程序得到y4:x1=[0,1,2,3,4,3,2,1,0];n1=-2:6;n2=n1/3;n3=fix(-2/3):fix(6/3);n3m=find(n1/3==fix(n1/3));my4=x1(m)subplot(3,1,1);stem(n1,x1);title('序列x1')xlabel('n');ylabel('x1(n)');subplot(3,1,2);stem(n2,x1);title('变化后')xlabel('n');ylabel('x1(n)');subplot(3,1,3);stem(n3,y4);title('序列y4')xlabel('n');ylabel('y4(n)');体会:此段程序最关键在于n3=fix(-2/3):fix(6/3);n3m=find(n1/3==fix(n1/3));m这几句程序的掌握,即选出除三后为整的n3及第几项满足除后为整的条件的值。y3,y4的值:实验三一、实验目的:4.充分熟悉复指数函数exp的使用;5.熟悉复指数函数的实部、虚部、振幅、相位的计算;6.能够画出复指数函数实部、虚部、振幅、相位的图形。二、实验步骤:10.用help查找exp函数的使用情况;11.编辑并生成函数exp.m(单位脉冲序列)n=[0:1:20];alpha=-0.1+0.5j;x=exp(alpha*n);subplot(2,2,1);stem(n,real(x));title('实部');xlabel('n')subplot(2,2,3);stem(n,imag(x));title('虚部');xlabel('n')subplot(2,2,2);stem(n,abs(x));title('振幅');xlabel('n')subplot(2,2,4);stem(n,(180/pi)*angle(x));title('相位');xlabel('n')12.先运行exp.m,画出图形,分析图形的结果。13.当alpha=-0.1+0.5j时,计算x的共轭对称分量和共轭反对称分量,也分实部、虚部、振幅、相位分别画图。共轭对称分量共轭反对称分量14.再改变alpha=1.5,alpha=-2,画出图形,分析图形的结果。体会:当alpha不含虚部时,复指数序列的虚部为零,相位也为零,而实部与振幅相等。15.思考题:试用公式表示x=exp(alpha*n)的实部、虚部、振幅、相位。X=e(a+bj)n=eanebnj=ean(cos(bn)+jsin(bn))则eancos(bn)为实部,eanjsin(bn)为虚部,ean为振幅,bn为相位。
本文标题:数字信号处理-共轭对称共轭反对称
链接地址:https://www.777doc.com/doc-2387644 .html