资源描述
实验1 常见离散信号产生和实现
一、实验目的:
1、加深对常用离散信号的理解;
2、掌握matlab中一些基本函数的建立方法。
二:matlab使用
1)创建M文件
File-àNew-àM-file
2)运行
Debug->run
注:在试验过程中若有某些函数不懂,可以通过Help->search->输入要查询的函数名即可
二、实验原理:
1.单位抽样序列
在MATLAB中可以利用zeros()函数实现。
如果在时间轴上延迟了k个单位,得到即:
2.单位阶跃序列
在MATLAB中可以利用ones()函数实现。
%一个长度为N的1矩阵
3.正弦序列
在MATLAB中
4.复指数序列
在MATLAB中
5.指数序列
在MATLAB中
三、实验内容实现和图形生成
1、五种基本函数的生成
程序如下:
(1)、单位抽样序列
做出单位抽样序列以及延时了5的单位抽样序列,并对图进行标记说明
注意使用绘图的函数为stem;标记xlabel、ylabel、title
clc
clear
n=0:10;
x1=[1 zeros(1,10)];x2=[zeros(1,5) 1 zeros(1,5)];
subplot(1,2,1);
stem(n,x1);
xlabel ('time n');
ylabel('zhenfu');
title('danweichouyangx1');
subplot(1,2,2);
stem(n,x2);
xlabel('time n');
ylabel('zhenfu');
title('yanshi 5');
(2) 、单位阶跃序列
clc
clear
n=0:10;
u=[ones(1,11)];
stem(n,u);
xlabel('time n');
ylabel('zhenfu');
title('jieyue');
(3)正弦函数
x=2*sin(pi*n/6+pi/3); 并对图进行标记说明
clc
clear
n=1:30;
x=2*sin(pi*n/6+pi/3);
stem(n,x);
xlabel('time n');
ylabel('zhenfu');
title('x=2*sin(pi*n/6+pi/3)');
(4)、复指数序列
x=2*exp(j*3*n); 并对图进行标记说明
clc
clear
n=1:30;
x=2*exp(j*3*n);
stem(n,x);
xlabel('time n');
ylabel('zhenfu');
title('x=2*exp(j*3*n)');
(5)指数序列
x=1.2.^n;并对图进行标记说明
clc
clear
n=1:30;
x=1.2.^n;
stem(n,x);
xlabel('time n');
ylabel('zhenfu');
title('x=1.2.^n');
2、绘出信号,当、时、、、时的信号实部和虚部图;并对图标记说明,将以上几个图合在一个图里进行显示。
clc
clear
z1=-1/12+j*pi/6;
z2=1/12+j*pi/6;
z3=1/12;z4=2+j*pi/6;
z5=j*pi/6;
n=0:20;
x1=exp(z1*n);
x2=exp(z2*n);
x3=exp(z3*n);
x4=exp(z4*n);
x5=exp(z5*n);
subplot(5,2,1);
stem(n,real(x1));
xlabel ('time n');
ylabel('shibu');
title('z1=-1/12+j*pi/6 shibu');
subplot(5,2,2);
stem(n,imag(x1));
xlabel ('time n');
ylabel('xubu');
title('z1=-1/12+j*pi/6 xubu');
subplot(5,2,3);
stem(n,real(x2));
xlabel ('time n');
ylabel('shibu');
title('z2=1/12+j*pi/6 shibu');
subplot(5,2,4);
stem(n,imag(x2));
xlabel ('time n');
ylabel('xubu');
title('z2=1/12+j*pi/6xubu');
subplot(5,2,5);
stem(n,real(x3));
xlabel ('time n');
ylabel('shibu');
title('z3=1/12 shibu');
subplot(5,2,6);
stem(n,imag(x3));
xlabel ('time n');
ylabel('xubu');
title('z3=1/12 xubu');
subplot(5,2,7);
stem(n,real(x4));
xlabel ('time n')
;ylabel('shibu');
title('z4=2+j*pi/6 shibu');
subplot(5,2,8);
stem(n,imag(x4));
xlabel ('time n');
ylabel('xubu');
title('z4=2+j*pi/6xubu');
subplot(5,2,9);
stem(n,real(x5));
xlabel ('time n');
ylabel('shibu');
title('z5=j*pi/6 shibu');
subplot(5,2,10);
stem(n,imag(x5));
xlabel ('time n');
ylabel('xubu');
title('z5=j*pi/6 xubu');
3、 绘出信号的频率是多少?周期是多少?产生一个数字频率为0.9的正弦序列,并显示该信号,说明其周期? 并将以上几个图合在一个图里进行显示。
clc
clear
n=0:40;
x1=1.5*sin(2*pi*0.1*n);x2=sin(0.9*n);
subplot(1,2,1);
stem(n,x1);
xlabel ('time n');
ylabel('zhenfu');
title('x1=1.5*sin(2*pi*0.1*n)');
subplot(1,2,2);
stem(n,x2);
xlabel ('time n');
ylabel('zhenfu');
title('x2=sin(0.9*n)');
4、使用帮助功能学习 square(方波), sawtooth(锯齿波)和sinc 函数,并绘图。
(1)、方波绘图程序如下:
clc
clear
t=-2*pi:0.001:2*pi;
x=square(t);
plot(t,x);
xlabel('t'),ylabel(' x=square(t)');
(2) 、三角波绘图程序如下:
clc
clear
t=-2*pi:0.001:2*pi;
y=sawtooth(t);
plot(t,y);
xlabel('t'),ylabel(' y=sawtooth(t);');
(3)sinc函数绘图程序如下:
clc
clear
t=-pi:0.001:pi; x=sinc(t);
plot(t,x);
xlabel('t'),ylabel('sinc(t)');
展开阅读全文