实验一 MATLAB基础及基本信号产生

上传人:cl****1 文档编号:511394967 上传时间:2023-09-07 格式:DOC 页数:7 大小:163.50KB
返回 下载 相关 举报
实验一 MATLAB基础及基本信号产生_第1页
第1页 / 共7页
实验一 MATLAB基础及基本信号产生_第2页
第2页 / 共7页
实验一 MATLAB基础及基本信号产生_第3页
第3页 / 共7页
实验一 MATLAB基础及基本信号产生_第4页
第4页 / 共7页
实验一 MATLAB基础及基本信号产生_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《实验一 MATLAB基础及基本信号产生》由会员分享,可在线阅读,更多相关《实验一 MATLAB基础及基本信号产生(7页珍藏版)》请在金锄头文库上搜索。

1、实验一 基于MATLAB的信号表示与运算一、 实训目的1掌握用Matlab软件产生基本信号(连续/离散的正弦、方波、锯齿波、Sinc函数)的方法2应用Matlab软件实现信号的加、减、乘、除运算3应用Matlab软件实现信号的时移、反折、尺度变换二、 实训仪器与设备电脑、MATLAB软件三、 实训内容1产生连续信号波形的方法(1)利用 Matlab 软件的 funtool 符号计算方式图式化函数计算器 在 Matlab 环境下输入指令 funtool,产生三个视窗:figure No.1:可轮流激活,显示 figure No.3 的计算结果 figure No.2:可轮流激活,显示 figur

2、e No.3 的计算结果 figure No.3:函数运算器。其中 figure No.3 函数运算器的功能:f,g可输入函数表达式。x是自变量,在缺省时是在-2pi,2pi范围。 自由参数是 a。分别输入完毕,按下面四排的任一运算操作键,则可在 figure No.1或 figure No.2 中看到产生的波形。figure No.3 函数运算器可实现的数学运算:Df求 f(x)对于 x 的导数 If求 f(x)对于 x 的积分Simp使 f(x)的表达式尽可能简化 Num取 f(x)的分子表达式Den取 f(x)的分母表达式 1/f求 f(x)的倒数finv求 f(x)的反函数函数 f(x

3、)和自由参数 a 的运算:f+a,f-a,f*a,f/a,fa, x+a , x*a函数 f(x)和 g(x)函数间的运算:f+g,f-g,f*g,f/g,f=g,g=f(2)利用 Matlab 软件的信号处理工具箱(Signal Processing Toolbox)中的函数 产生常见信号的函数如表 2.11 所示。表 2.11函数名功能常见调用格式说明sin正弦信号sin(x)返回 x 的正弦值cos预弦信号cos(x)返回 x 的余弦值randn随机数randn (n)返回 nn 维的随机数square周期方波square(x)在时间 x 内产生周期为 2 的方波sawtooth周期锯齿

4、波sawtooth(x)在时间 x 内产生周期为 2 的锯齿波tripuls等腰三角形tripuls (x)产生以 x0 为中点的等腰三角形sincSinc 函数sinc(x)返回 sin(pi*x)/(pi*x) 的值log自然对数函数log(x)返回 log(x)的值exp指数函数exp(x)返回ex的值a、产生正弦波 例如:t=(0:0.001:50); y=sin(2*pi*50*t);plot(t(1:50),y(1:50)b、产生叠加随机噪声的正弦波例如:t=(0:0.001:50); y=sin(2*pi*50*t); s=y+randn(size(t);plot(t(1:50)

5、,s(1:50) 2连续信号的运算(1)相加连续信号的相加,是指两信号的对应时刻值相加,即f(t)= f1(t)+f2(t)。下面用MATLAB的符号运算命令来表示两连续信号的相加,然后用ezplot命令绘制出其结果波形图。其中f1,f2是两个用符号表达式表示的连续信号,s为相加得到的和信号的符号表达式。s=symadd(f1,f2)或s=f1+f2ezplot(s)(2)相乘连续信号的相乘,是指两信号的对应时刻值相乘,即 f(t)= f1(t)*f2(t)。与相加运算类似,我们用下面的MATLAB命令来实现连续信号的相乘及其结果的可视化,其中f1,f2为两个用符号表达式表示的信号,w为相乘得

6、到的积信号的符号表达式。w=symmul(f1,f2) 或w=f1*f2ezplot(w)(3)移位连续信号的移位也称平移。对于连续信号f(t),若有常数t00,延时信号f(t-t0)是将原信号沿正t轴方向平移时间,而f(t+t0)是将原信号沿负t轴方向移动时间t0。我们可用下面的命令来实现连续信号的平移及其结果的可视化,其中f是用符号表达式表示的连续时间信号,t 是符号变量,subs命令则将连续信号中的时间变量t用t-t0替换:y=subs(f,t,t-t0);ezplot(y)(4)反折连续信号的反折,是指将信号以纵坐标为轴反折,即将信号f (t)中的自变量t换为- t。与连续信号的平移类

7、似,我们用下面的命令实现连续信号的反折及其结果的可视化,其中f是用符号表达式表示的连续时间信号,t是符号变量:y=subs(f,t,-t)ezplot(y)(5)尺度变换连续信号的尺度变换,是指将信号的横坐标进行展宽或压缩变换,即将信号f (t)中的自变量t换为at ,当a 1时,信号f (at)以原点为基准,沿横轴压缩到原来的1/ a;当0 a 0)步骤:调用函数:subs(S,OLD,NEW) 表示用NEW中的符合变量替换表达式S中的OLD的符合变量。 例:已知f(t)=sin(t)/t,试通过反褶、移位、尺度变换由f(t)的波形得到f(-2t+3)的波形。syms t;f=sym(sin

8、(t)/t); %定义符号函数f(t)=sin(t)/tf1=subs(f,t,t+3); %对f进行移位f2=subs(f1,t,2*t); %对f1进行尺度变换f3=subs(f2,t,-t); %对f2进行反褶subplot(2,2,1);ezplot(f,-8,8);grid on;%ezplot是符号函数绘图命令subplot(2,2,2);ezplot(f1,-8,8);grid on;subplot(2,2,3);ezplot(f2,-8,8);grid on;subplot(2,2,4);ezplot(f3,-8,8);grid on;注:也可用一条指令:subs(f,t,-2

9、*t+3)实现f(t)到f(-2t+3)3离散信号的产生与运算(1)单位抽样序列先定义delta函数,并保存。functionx,n=delta(n0,n1,n2)n=n1:1:n2;x=(n-n0)=0;end然后执行下面程序。(以(n-3)为例)x,n=delta(5,-1,10)stem(n,x);(2)单位阶跃序列先定义step_seq函数,并保存。functionx,n=step_seq(n0,n1,n2)n=n1:n2;x=(n-n0)=0;然后执行下面程序。以(为例)x,n=step_seq(3,-1,10);stem(n,x)(3)矩形序列先定义aaa函数,并保存。functi

10、onx,n=aaa(N,n1,n2)n=n1:n2;x=(N=0);然后执行下面程序。(以R3为例)x,n=aaa(3,-1,10);stem(n,x)(4)单位斜坡序列先定义ramp函数,并保存。functionx,n=ramp(n1,n2)n=n1:n2;x=n;然后执行下面程序。x,n=ramp(0,10);stem(n,x)(5)正弦序列例:n=-pi:0.1:pi;x=5*sin(0.5*pi*n+pi/4);stem(n,x)(6)指数序列例:x(n)=5exp(-0.5 n)n=-1:0.1:1;x=5* exp(-0.5 *n);stem(n,x)(7)任意序列例:x=1,5,

11、-4,2,5,-1,5;x=1,5,-4,2,5,-1,5;n=1:length(x);stem(n,x)4、离散信号的运算对于离散序列来说,序列相加、相乘是将两序列对应时间序号的值逐项相加或相乘,平移、反折、及倒相变换与连续信号的定义完全相同,这里就不再累述。但需要注意,与连续信号不同的是,在MATLAB中,离散序列的时域运算和变换不能用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的相加、相乘,因而参加运算的两序列向量必须具有相同的维数。下面是实现离散序列相加、相乘的实用子程序及实例。例:二序列相加、乘x1=1,5,-4,2,5,-1,5;x2=1,2,3,4,5,6,7;n=1:length(x);subplot(2,2,1);stem(n,x1);subplot(2,2,2);stem(n,x2);subplot(2,2,3);stem(n,x1+x2);subplot(2,2,4);stem(n,x1.*x2);四、小结

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号