请选择 进入手机版 | 继续访问电脑版
点击联系客服
客服QQ:509006671 客服微信:mengfeiseo
查看: 6|回复: 0

MATLAB会建立信号的基本运算

[复制链接]

1

主题

1

帖子

-7

积分

限制会员

积分
-7
发表于 2021-6-10 07:02:39 | 显示全部楼层 |阅读模式
信号的基本运算

1.序列相加与相乘

与信号相加的表达式为x(n)=x1(n) x2(n),信号相乘,即两个序列的乘积(或点相乘),表达式为x  (n)=x1 (n) x2 (n),X*x2这里不放代码。大致步骤是创建两个序列,然后分别绘制,然后显示计算出的序列。

2.序列累加与序列值乘积

序列累积是序列x(n)两点n1和N2之间所有序列值的总和,序列累积可以使用sum函数完成。序列值的乘积是x(n)两点n1和N2之间所有序列值的乘积,可以用prod函数实现。

注意序列值相乘和序列相乘的区别3.序列翻转与序列移位

反转序列的表达式为y(n)=x(-n)。在MATLAB中,翻转操作由fliplr函数实现。

反转Y=fliplr(x)序列值

ny=-反向fliplr(nx)序列位置(坐标)

序列位移的表达式为y(n)=x  (n-n0)

Y=x值保持不变

Ny=NX  n0位置变更

4.连续时间信号的尺度变换

连续时间信号的尺度变换是指扩展或压缩信号的横坐标。即,用at替换信号f(t)的自变量T,a1中的信号f(at)相对于原点沿时间线压缩到原来的1/a。在A1,信号f(at)沿时间线扩大到1/a倍。

使用以下命令实现连续时间信号的尺寸转换和结果可视化。其中F是用符号表达式表示的连续时间信号,T是符号变量。Subs命令用a*t替换连续时间信号的时间变量T。

Y=subs(f,a  * t);
n">ezplot(y)

信号的奇偶分解原理:任何信号都可以分解为一个偶分量与一个奇分量之和的形式,因为任何信号总可以写成
f(t)= 1/2[f(t)+ f(t)+ f(-t)- f(-t)]=1/2[ f(t)+ f(-t)]+ 1/2[f(t)- f(- t)],这就分别对应信号的偶分量与奇分量。
代码如下:对函数f(t) = cos (t+1) +t 进行奇偶分解

f= cos(t+1)+t';
f1 = subs(f,t,-t);
g= 1/2* (f + f1);
h= 1/2* (f - f1);
subplot(311);ezplot(f,[-8,8]);title('原信号');
subplot(312);ezplot(g,[-8,8]);title('偶分量');
subp1ot(313);ezplot(h,[-8,8]);title('奇分量');

结果如下:



5.信号的积分和微分
信号的微分和积分:对于连续时间信号,其微分运算是用diff函数来完成的,其语句格式为:diff( function, 'variable', n),其中,function表示需要进行求导运算的信号,或者被赋值的符号表达式: variable 为求导运算的独立变量;n为求导的阶数,默认值为求一阶导数。

连续信号的积分运算用int函数来完成,语句格式为int( function, 'variable',a, b)其中,function表示需要进行被积信号,或者被赋值的符号表达式: variable 为求导运算的独立变量: a.b 为积分上.下限,a和b省略时为求不定积分。

6.卷积运算
卷积运算在信号处理中是十分重要的工具。MATLAB提供卷积计算的函数有CONV ,CONV2和CONVN。例如:

A= ones(1,3)
B=[1 8 8 5]
C= conv(A, B)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|无图版|手机版|小黑屋|汕头@IT精英团

Powered by Discuz! X3.4 © 2021 Comsenz Inc.

GMT+8, 2021-6-25 15:18 , Processed in 0.845202 second(s), 40 queries .

快速回复 返回顶部 返回列表