我是靠谱客的博主 清新香烟,最近开发中收集的这篇文章主要介绍matlab表示时域乘积,用MATLAB实现常用的连续时间信号及其时域运算.doc,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

用MATLAB实现常用的连续时间信号及其时域运算

信息与通信工程学院

引言

1.1连续时间信号

如果在所讨论的时间间隔内,除若干个不连续点之外,对于任意时间值都可以给出确定的函数值,此信号就称为连续信号。

从严格意义上来讲,MATLAB不能处理连续时间信号。在MATLAB中,使用连续时间信号在等时间间隔点的样值来近似表示连续时间信号的。当取样时间间隔足够小时,这些离散的样值就能较好的近似出连续时间信号。由于在MATLAB中,矩阵的元素个数是有限的,因此MATLAB无法表示无限序列。

MATLAB的绘图命令有很多种,其中比较常用的绘制连续时间信号的绘图命令有“plot”,“stairs”,“ezplot”等。“plot”适用于绘制平滑的曲线,而“stairs”适合于绘制具有阶跃形式的图形,“ezplot”只能用于符号函数的绘图。

1.2单位阶跃信号

单位阶跃信号的波形图如图1所示,通常以符号u(t)表示在跳变点t=0处,函数未定义,或在t=0处规定函数值u(0)=。

图1

用MATLAB实现单位阶跃信号

%t1:起始时刻;t2:终止时刻;t0:跳变时刻

function u(t1,t0,t2)

t=t1:0.01:t2;%步长值越小,图形越精确

n=length(t);

tt=t0:0.01:t2;

n1=length(tt);

x=[zeros(1,n-n1),ones(1,n1)];%产生单位阶跃信号

stairs(t,x),grid on

title('单位阶跃信号')

axis([t1 t2 -0.2 1.1])%为方便波形顶部避开图框,改变图框坐标

1.3单位冲激信号

单位冲激信号是持续时间无穷小、瞬间幅度无穷大、涵盖面积恒1的理想信号。记为,其表达式为

严格说来,MATLAB是不能表示单位冲击信号的,但我们可以用时间宽度为dt、高度为1/dt的矩形脉冲来近似地表示冲激信号。当dt趋近零时,就较好地近似出冲激信号的实际波形。

用MATLAB实现单位冲激信号:

clear

t1=input('输入起始时刻t1=');

t0=input('输入跳变时刻t0=');

t2=input('输入终止时刻t2=');

t=t1:0.001:t2;

n=length(t);

tt=t1:0.001:t0;

n1=length(tt);

x=zeros(1,n);

x(n1)=1/0.001;

plot(t,x),grid on

title('单位冲激信号')

axis([t1 t2 -0.2 1.1])

1.4连续时间信号的时域运算

如前所述,MATLAB可以用向量或符号两种方法来表示连续信号,而只能用向量表示离散信号,单用符号运算的方法进行连续信号的时域运算较为方便。

用MATLAB的符号运算命令来表示连续信号的时域运算,然后用“ezplot”命令绘制出其结果波形图。在下面的命令中,f,f1,f2都是用符号表达式表达的连续信号,s为运算结果信号的符号表达式,t0和a均为常数。

1.4.1 相加

1.4.2 相乘

1.4.3 平移若f(t)表达式的自变量t更换为(t+)(为正或负实数),则f(t+)相当于f(t)波形在t轴上的整体移动,当>0时,波形左移,当<0时,波形右移。

1.4.4 反褶信号反褶表示将f(t)的自变量t更换为-t,此时f(-t)的波形相当于将f(t)以t=0为轴反褶过来。

1.4.5 尺度如果将信号f(t)的自变量t乘以正实系数a,则信号波形f(at)将是f(t)波形的压缩(a>1)或扩展(a<1)。

相加:s=f1+f2,ezplot(s)

相乘:s=f1*f2,ezplot(s)

平移:s=subs(f,t,t-t0) ,ezplot(s)

反褶:s=subs(f,t,-t) ,ezplot(s)

尺度:s=subs(f,t,a*t) ,ezplot(s)

实现方法论述具体实现方法及编程思路,以及具体程序的编制。

t1=input('输入起始时刻t1=');

t0=input('输入跳变时刻t0=');

t2=input('输入终止时刻t2=');

t=t1:0.001:t2;

n=length(t);

tt=t1:0.001:t0;

n1=length(tt);

x=zeros(1,n);

x(n1)=1/0.001;

plot(t,x),grid on

title('单位冲激信号')

axis([t1 t2 -0.2 1.1])

f(t) =Au(t- );

编程思路:建立一个单位阶跃信号,对该信号进行平移运算并乘以一个幅度值。

代码如下:

function f=u(t)

f=(t>0);

clear

close all

A=input('输入

最后

以上就是清新香烟为你收集整理的matlab表示时域乘积,用MATLAB实现常用的连续时间信号及其时域运算.doc的全部内容,希望文章能够帮你解决matlab表示时域乘积,用MATLAB实现常用的连续时间信号及其时域运算.doc所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部