实验一-基本信号在MATLAB中的表示和运算

发布时间:2020-04-24 11:55:02   来源:文档文库   
字号:

实验一-基本信号在MATLAB中的表示和运算



实验一 基本信号在MATLAB中的表示和运算

一、实验目的

1. 学会用MATLAB表示常用连续信号的方法;

2. 学会用MATLAB进行信号基本运算的方法;

二、实验原理

1. 连续信号的MATLAB表示

MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。表示连续时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。

1-1指数信号 指数信号在MATLAB中用exp函数表示。

,调用格式为 ft=A*exp(a*t) 程序是

A=1; a=-0.4;

t=0:0.01:10; %定义时间点

ft=A*exp(a*t); %计算这些点的函数值

plot(t,ft); %画图命令,用直线段连接函数值表示曲线

grid on; %在图上画方格

1-2 正弦信号 正弦信号在MATLAB中用 sin 函数表示。

调用格式为 ft=A*sin(w*t+phi)

A=1; w=2*pi; phi=pi/6;

t=0:0.01:8; %定义时间点

ft=A*sin(w*t+phi); %计算这些点的函数值

plot(t,ft); %画图命令

grid on; %在图上画方格

1-3 抽样信号 抽样信号Sa(t)=sin(t)/tMATLAB中用 sinc 函数表示。定义为

t=-3*pi:pi/100:3*pi;

ft=sinc(t/pi);

plot(t,ft);

grid on;

axis([-10,10,-0.5,1.2]); %定义画图范围,横轴,纵轴

title('抽样信号') %定义图的标题名字

1-4 三角信号 三角信号在MATLAB中用 tripuls 函数表示。

调用格式为 ft=tripuls(t,width,skew),产生幅度为1,宽度为width,且以0为中心左右各展开width/2大小,斜度为skew的三角波。width的默认值是1skew的取值范围是-1~+1之间。一般最大幅度1出现在t=(width/2)*skew的横坐标位置。

t=-3:0.01:3;

ft=tripuls(t,4,0.5);

plot(t,ft); grid on;

axis([-3,3,-0.5,1.5]);

例1-5 虚指数信号 调用格式是f=exp((j*w)*t)

t=0:0.01:15;

w=pi/4;

X=exp(j*w*t);

Xr=real(X); %取实部

Xi=imag(X); %取虚部

Xa=abs(X); %取模

Xn=angle(X); %取相位

subplot(2,2,1),plot(t,Xr),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),

title('实部');

subplot(2,2,3),plot(t,Xi),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),

title('虚部');

subplot(2,2,2), plot(t,Xa),axis([0,15,0,max(Xa)+1]),title('');

subplot(2,2,4),plot(t,Xn),axis([0,15,-(max(Xn)+1),max(Xn)+1]),title('相角');

%subplot(m,n,i) 命令是建立mn列画图窗口,并指定画图位置i

例1-6 复指数信号 调用格式是f=exp((a+j*b)*t)

t=0:0.01:3;

a=-1;b=10;

f=exp((a+j*b)*t);

subplot(2,2,1),plot(t,real(f)),title('实部')

subplot(2,2,3),plot(t,imag(f)),title('虚部')

subplot(2,2,2),plot(t,abs(f)),title('')

subplot(2,2,4),plot(t,angle(f)),title('相角')

1-7 矩形脉冲信号 矩形脉冲信号可用rectpuls函数产生,

调用格式为y=rectpuls(t,width),幅度是1,宽度是width,以t=0为对称中心。

t=-2:0.01:2;

width=1;

ft=2*rectpuls(t,width);

plot(t,ft)

grid on;

1-8 单位阶跃信号 单位阶跃信号u(t)“t>=0”产生,调用格式为ft=(t>=0)

t=-1:0.01:5;

ft=(t>=0);

plot(t,ft); grid on;

axis([-1,5,-0.5,1.5]);

1-9 正弦信号符号算法

syms t %定义符号变量t

y=sin(pi/4*t) %符号函数表达式

ezplot(y,[-16,16]) %符号函数画图命令

或者

f=sym('sin(pi/4*t)') %定义符号函数表达式

ezplot(f,[-16,16])

例1-10 单位阶跃信号 MATTLAB符号数学函数Heaviside表示阶跃信号,但要画图需在工作目录创建HeavisideM文件

function f=Heaviside(t)

f=(t>0);

保存,文件名是Heaviside ,调用该函数即可画图,例

t=-1:0.01:3;

f=Heaviside(t);

plot(t,f)

axis([-1,3,-0.2,1.2])

或者

y=sym('Heaviside(t)');

ezplot(y,[-1,5]);grid on

2. 信号基本运算的MATLAB实现

信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法和符号法

1-11 f(t)为三角信号为例,求f(2t) , f(2-2t)

t=-3:0.001:3;

ft=tripuls(t,4,0.5);

subplot(3,1,1);

plot(t,ft); grid on;

title ('f(t)');

ft1= tripuls(2*t,4,0.5);

subplot(3,1,2);

plot(t,ft1); grid on;

title ('f(2t)');

ft2= tripuls(2-2*t,4,0.5);

subplot(3,1,3);

plot(t,ft2); grid on;

title ('f(2-2t)');

1-12 已知f1(t)=sinwt , f2(t)=sin8wt , w=2pi , f1(t)+f2(t)f1(t)f2(t) 的波形图

w=2*pi;

t=0:0.01:3;

f1=sin(w*t);

f2=sin(8*w*t);

subplot(211)

plot(t,f1+1,':',t,f1-1,':',t,f1+f2)

grid on,title('f1(t)+f2(t))')

subplot(212)

plot(t,f1,':',t,-f1,':',t,f1.*f2)

grid on,title('f1(t)*f2(t)')

符号算法也可实现上述运算,以信号的微积分运算为例说明符号算法应用

微分的调用格式为 diff(function,’variable’,n)

积分的调用格式为 int(function,’variable’,a,b)

式中function表示要微分或积分的函数,variable表示运算变量,n表示求导阶数,默认值是求一阶导数,a是积分下限,b是积分上限,a b默认是求不定积分。

1-13 求一阶导数的例题,已知

clear

syms a x y1 y2 %定义符号变量a x y1 y2

y1=sin(a*x^2); %符号函数y1

y2=x*sin(x)*log(x); %符号函数y2

dy1=diff(y1,’x’) %无分号直接显示结果

dy2=diff(y2) %无分号直接显示结果

1-14 求积分的例题,

clear

syms a x y3 y4

y3=x^5-a*x^2+sqrt(x)/2;

y4=(x*exp(x))/(1+x)^2;

iy3=int(y3,'x')

iy4=int(y4,0,1)

三、上机实验内容

1. 验证实验原理中程序

2. 画出信号波形

1 2

3.信号,求波形

四、实验要求

1. MATLAB中输入程序,验证实验结果,并将实验结果存入指定存储区域。

2. 对于程序设计实验,要求通过对验证性实验的练习,自行编制完整的实验程序实现对信号的模拟,并得出实验结果。

3. 在实验报告中写出完整的自编程序,并给出实验结果。

五、思考题

1. 冲击信号与阶跃信号各有什么特点?

2. 如何利用基本信号表示方波、三角波等信号?

本文来源:https://www.2haoxitong.net/k/doc/5f296d5ca56e58fafab069dc5022aaea988f4145.html

《实验一-基本信号在MATLAB中的表示和运算.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式