您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页数字信号处理-共轭对称、共轭反对称

数字信号处理-共轭对称、共轭反对称

来源:飒榕旅游知识分享网


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的长度的 x1

y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % 具有y的长度的x2

y = 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的长度的 x1

y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % 具有y的长度的 x2

y = 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);

n3

m=find(n1/3==fix(n1/3));

m

y4=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); n3 m=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为相位。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务