您的当前位置:首页用matlab绘制各种数字信号中的函数-还有分段函数及翻褶-平移

用matlab绘制各种数字信号中的函数-还有分段函数及翻褶-平移

2022-03-08 来源:小侦探旅游网
《数字信号处理》

(一) 实验目的

使用stem绘图函数分别画出离散时间信号在指定范围内的图形。画图时使用xlabel,ylabel,title,legend等函数进行注释。复习MATLAB的基本应用,如:函数的定义、画图……并巩固理论知识中的多种离散时间信号及其图形,以及延迟与翻褶的函数变换等。

(二) 程序的运行与截图

1) 用stem绘制单位阶跃序列u(n)

clear all;close all;clc;%清除所有变量 n=0:50;%取值范围

y=(n>=0);%n>=0,y=1;n<0,y=0

stem(n,y);%显示出当0<=n<=50 时,函数u(n)的取值范围 xlabel('n');%对横轴进行注释 ylabel('y=u(n)');%对纵轴进行注释

title('y=u(n)的图形');%对图像的标题进行注释

legend('y=u(n)',2);%对图中曲线进行注释,标注在第二象限

2) 用stem绘制单位抽样(冲激)序列δ(n)

clear all;close all;clc; %清除所有变量

n=0:50; %取值范围

y=(n==0);%n=0,y=1;n!=0,y=1

stem(n,y);%显示出当0<=n<=50 时,函数δ(n)的取值范围 xlabel('n');%对横轴进行注释

ylabel('y=δ(n)');%对纵轴进行注释

title('y=δ(n)的图形');%对图像的标题进行注释

legend('y=δ(n)',2);%对图中曲线进行注释,标注在第二象限

3)用stem绘制矩形序列Rn(n)

clear all;close all;clc; %清除所有变量 n=0:50; %取值范围

R10=((n>=0)&(n-9)<=0);%0<=n<=10,y=1;n>10,y=0

stem(n,R10);%显示出当0<=n<=50 时,函数Rn(n)的取值范围 xlabel('n');%对横轴进行注释

ylabel(' y=R10(n)');%对纵轴进行注释

title('y=R10(n)的图形');%对图像的标题进行注释

legend('y=R10(n)',2);%对图中曲线进行注释,标注在第二象限

4)用stem绘制nu(n)序列

clear all;close all;clc; %清除所有变量 n=0:50; %取值范围 y=n;%函数关系

stem(n,y);%显示出当0<=n<=50 时,函数nu(n)的取值 xlabel('n');%对横轴进行注释

ylabel('y=nu(n)');%对纵轴进行注释

title('y=nu(n)的图形');%对图像的标题进行注释

legend('y=nu(n)',2);%对图中曲线进行注释,标注在第二象限

5)用stem绘制1.1^n*u(n)序列

clear all;close all;clc; %清除所有变量 n=0:50; %取值范围 y=1.1.^n;%函数关系

stem(n,y);%显示出当0<=n<=50 时,函数1.1^n*u(n)的取值范围 xlabel('n');%对横轴进行注释

ylabel('y=1.1.^n u(n)');%对纵轴进行注释

title('y=1.1.^nu(n)的图形');%对图像的标题进行注释

legend(‘y=1.1.^nu(n)’,2);%对图中曲线进行注释,标注在第二象限

6)用stem绘制sin(0.1*n)序列

clear all;close all;clc;%清除所有变量 n=0:100;%取值范围 y=sin(0.1*n);%函数关系

stem(n,y); %显示出当0<=n<=100 时,函数sin(0.1*n)的取值范围 xlabel('n');%对横轴进行注释

ylabel('y=sin(0.1*n)');%对纵轴进行注释

title('y=sin(0.1*n)的图形');%对图像的标题进行注释

legend('y=sin(0.1*n)',2);%对图中曲线进行注释,标注在第二象限

7)用stem绘制sin(0.1*pi*n)序列

clear all;close all;clc;%清除所有变量 n=0:100;%取值范围

y=sin(0.1*pi*n);%函数关系

stem(n,y);%显示出当0<=n<=100 时,函数sin(0.1*pi*n)的取值范围 xlabel('n');%对横轴进行注释

ylabel('y=sin(0.1*pi*n)');%对纵轴进行注释

title('y=sin(0.1*pi*n)的图形');%对图像的标题进行注释

legend('y=sin(0.1*pi*n)',2);%对图中曲线进行注释,标注在第二象限

由此题结果得到的结论:

(1)如实验6和实验7可以看出:当采样点间隔相同(如图都为1时),两者的周期不同;

(2)当函数的角频率由0.1变为0.1*π时,包络的形状压缩为原来的1/π,反之则拉伸为原来的π倍;

(3)y=sin(0.1*n)的周期并不是包络的周期; 而y=sin(0.1*π*n)则是周期函数,周期为20。

8)分段函数x(m)

1) 用stem绘图函数画出x(n):

clear all;close all;clc; %清除所有变量 n=-10:10; %取值范围

y=(2*n+10).*(-10<=n&n<=-1)+6.*(0<=n&n<=10)

stem(n,y);%显示出当0<=n<=50 时,函数δ(n)的取值范围 xlabel('n');%对横轴进行注释 ylabel('y=x(n)');%对纵轴进行注释

title('y=x(n)的图形');%对图像的标题进行注释

legend('y=x(n)',2);%对图中曲线进行注释,标注在第二象限 程序运行结果图

结果分析:

当-10<=n<=-1时,y=2*n+10的图像如图所示; 当0<=n<=10时,y=6;其它的为0。

令y1(n)2x(n1),画出y1(n)的图形,并说明由此题结果得到什么结论?

2)用stem绘图函数画出y1(n):

clear all;close all;clc; %清除所有变量 n=-10:10; %取值范围

y1=2*(2*(n-1)+10).*(-10<=(n-1)&(n-1)<=-1)+6.*(0<=(n-1)&(n-1)<=10) stem(n,y1);%显示出当0<=n<=50 时,函数δ(n)的取值范围 xlabel('n');%对横轴进行注释

ylabel('y1=2*x(n-1)');%对纵轴进行注释 title(' 2*x(n-1)');%对图像的标题进行注释

legend('y1=2*x(n-1)',2);%对图中曲线进行注释,标注在第二象限

结论:在-10<=n<=10相同的范围内,本题是将y=x(n)的图象右移一个单位,变为y=x(n-1),再把幅度变为原来的2倍y=2*x(n-1)。图形基本没有变化,只是x,y轴的坐标变为:x轴坐标向左平移一个单位,y轴坐标扩大一倍。

令y2(n)3x(n2),画出y2(n)的图形,并说明由此题结果得到什么结论?

3) 用stem绘图函数画y2(n):

clear all;close all;clc; %清除所有变量 n=-10:10; %取值范围

y2=3*((2*(n+2)+10).*(-10<=(n+2)&(n+2)<=-1)+6.*(0<=(n+2)&(n+2)<=10)); stem(n,y2);%显示出当0<=n<=50 时,函数δ(n)的取值范围 xlabel('n');%对横轴进行注释

ylabel('y2=3*x(n+2)');%对纵轴进行注释 title('3*x(n+2)');%对图像的标题进行注释

legend('y2=3*x(n+2)',2);%对图中曲线进行注释,标注在第二象限

结论:在-10<=n<=10相同的范围内,本题是将y=x(n)的图象左移两个单位,即y=x(n+2),再把幅度变为原来的3倍即y=3*x(n+2)。可容易看出图形的大体形状没有变化,只是x,y轴的坐标变为:x轴坐标向右平移2个单位,y轴坐标扩大为原来3倍。

将x(n)延迟4个单位再以y轴翻转,得到题结果得到什么结论?

y3(n),画出

y3(n)的图形,并说明由此

4) 用stem绘图函数画y3(n):

clear all;close all;clc; %清除所有变量

n=-10:10; %取值范围

y3=(2*(-(n+4))+10).*(-10<=(-(n+4))&(-(n+4))<=-1)+6.*(0<=(-(n+4))&(-(n+4))<=10); stem(n,y3);%显示出当0<=n<=50 时,函数δ(n)的取值范围 xlabel('n');%对横轴进行注释

ylabel('y3=x(-(n+4))');%对纵轴进行注释 title('x(-(n+4))');%对图像的标题进行注释

legend('y3=x(-(n+4))',2);%对图中曲线进行注释,标注在第二象限

结论:

本题是先将y=x(n) 左延迟4个单位变为y=x(n+4),然后再把(n+4)当做一个整体以 y轴翻转,即在(n+4)前加一个负号,变为 y=x(-(n+4))。可以看出图形大体形状没有发生变化,只是x,y轴的坐标发生变化:x轴坐标右移4个单位然后再以y轴翻转,y轴坐标没有改变。

将x(n)以y轴翻转再延迟4个单位再得到y4(n),画出y4(n)的图形,并说明由此题结果得到什么结论?

5) 用stem绘图函数画y4(n):

clear all;close all;clc; %清除所有变量 n=-10:10; %取值范围

y4=(2*(-n+4)+10).*(-10<=(-n+4)&(-n+4)<=-1)+6.*(0<=(-n+4)&(-n+4)<=10); stem(n,y4);%显示出当0<=n<=50 时,函数δ(n)的取值范围 xlabel('n');%对横轴进行注释

ylabel('y4=x(-n+4)');%对纵轴进行注释 title('x(-n+4)');%对图像的标题进行注释

legend('y4=x(-n+4)',2);%对图中曲线进行注释,标注在第二象限

结论:

本题先将y=x(n)右延迟4个单位,然后将n-4作为一个整体以 y轴翻转,即将(n-4)变为(4-n),则变成变为x(-n+4)。可以认为图形大体形状没有变化,变化的只是x,y轴的坐标:x轴坐标以 轴翻转再右移4个单位然后再以以 y 轴翻转,y轴幅度不变。

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