MATLAB中的一些基本信号表示

连续信号的MATLAB表示

MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。

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

数值法

例如指数信号,调用格式为  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;           %在图上画方格

输出结果为:

符号法

例如正弦信号的符号算法,代码如下:

syms t                         %定义符号变量t
y=sin(pi/4*t)                    %符号函数表达式
ezplot(y,[-16,16])                %符号函数画图命令
%或者
f=sym('sin(pi/4*t)')               %定义符号函数表达式
ezplot(f,[-16,16])

运行结果如下:

离散信号的MATLAB表示

表示离散时间信号一般使用stem函数,介绍如下。       

stem(X,Y) 表示在 X 指定的值的位置绘制数据序列 Y。X 和 Y 输入必须是大小相同的向量或矩阵。

注:1.X 可以是行或列向量,Y 必须是包含 length(X) 行的矩阵。

2.如果 X 和 Y 都是向量,则 stem 将根据 X 中的对应项绘制 Y 中的各项。

3.如果 X 是向量,Y 是矩阵,则 stem 将根据 X 指定的值集绘制 Y 的每列,这样 Y 的一行中的所有元素都是根据相同的值而绘制。

4.如果 X 和 Y 都是矩阵,则 stem 将根据 X 的对应列绘制 Y 的列。

stem(___,'filled') 填充圆。可以将此选项与前面语法中的任何输入参数组合一起使用。

例如单位脉冲序列的表示,代码如下:

t=-1:5;
X=(t==0);% 判断括号里面的表达式是否成立,如果成立则函数有效,且值为1,有数值,否侧函数无效,没有数值为0,类比单位阶跃信号的使用ft(t>=0)
stem(t,X,); %使用stem函数画图
grid on; %画出网格线
axis([-1,5,-0.2,1.2])%定义画图范围

输入结果如下:

再例复指数序列的,代码如下:

k=-10:30;
a=-1/3;b=pi/4;
X=0.*(k<0)+exp((a+b*j)*k).*(k>=0);%分段表示,结合前面的t(>=0)的意义理解,另外这里b*j即为题目给的w
%subplot(m,n,i)是建立m行n列的画图窗口,并指定画图位置i
subplot(2,2,1),stem(k,real(X),'fill'),title('实部');
subplot(2,2,2),stem(k,imag(X),'fill'),title('虚部');
subplot(2,2,3),stem(k,abs(X),'fill'),title('模');
subplot(2,2,4),stem(k,angle(X),'fill'),title('相角');
%real是取实部,imag是取虚部,abs是取模,angle是取角
grid on;
axis([-10,30,-3,3])

运行结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值