《数字信号处理-共轭对称共轭反对称.doc》由会员分享,可在线阅读,更多相关《数字信号处理-共轭对称共轭反对称.doc(13页珍藏版)》请在课桌文档上搜索。
1、wordxxxx大学实验报告学生某某 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 = sigad
2、d(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=min(n2)&(n=min(n1)&(n=min(n2)&(n=max(n2)=1)=x2; % 具有y的长度的 x2 y = y1 .* y2; % 序列相乘4. 编辑并生成函数sigshift.m
3、(序列移位)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,
4、-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
5、);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(序列移位)
6、 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(x
7、1,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);体会:要能够灵活运用移位和折叠,先移位后折叠,先折叠后移位得
8、到的结果会不同,这就要注意确定好采用变化的方式,是先移位还是先折叠,之后把握好移位或折叠后坐标尺度的变化即可。当然,此程序也可改为先移位后折叠的方式,只要把最关键的两句程序改为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); n3 m=find(n1/3=fix(n1/3); m y4=x1(m) subplot(3,1,1);stem(n1,x1);title(序列x1) xl
9、abel(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. 熟悉复指数函数的实部、虚部、振幅
10、、相位的计算;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,
11、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为相位。13 / 13