数字信号处理共轭对称共轭反对称.docx
《数字信号处理共轭对称共轭反对称.docx》由会员分享,可在线阅读,更多相关《数字信号处理共轭对称共轭反对称.docx(13页珍藏版)》请在冰豆网上搜索。
![数字信号处理共轭对称共轭反对称.docx](https://file1.bdocx.com/fileroot1/2023-1/24/51cb4fdd-3271-4bd9-aecb-58195d33d0bf/51cb4fdd-3271-4bd9-aecb-58195d33d0bf1.gif)
数字信号处理共轭对称共轭反对称
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);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为相位。