首页 > 其他分享 >[SCILAB]信号与系统实验2-连续时间信号的运算

[SCILAB]信号与系统实验2-连续时间信号的运算

时间:2023-02-26 00:33:05浏览次数:38  
标签:subplot plot 运算 title sin 信号 SCILAB sinc

信号与系统实验二:连续时间信号的运算

环境信息:SCILAB 6.1.1
安装插件:Scilab support for Visual Studio Code(mammothb)
安装工具箱:Scilab Wavelet Toolbox

实验目的

  1. 掌握连续时间信号时域运算的 SCILAB 实现方法。
  2. 掌握 SCILAB 内部函数的应用。

实验原理

信号的基本运算包括信号的相加(减)和相乘(除)。信号的时域变换包括信号的平移、 翻转、反折以及尺度变换、微分、积分等。

例题

[例2-1]信号的移位、反褶、尺度变换

//[例2-1]信号的移位、反褶、尺度变换

//原信号
function f=fct(t)
    //f=(u(t+2)-u(t))+(-t+1).*(u(t)-u(t-1));
    f=(sinc(t+2)-sinc(t))+(-t+1).*(sinc(t)-sinc(t-1));
end

t=-5:.01:5;

//原信号
ft1=fct(t);
subplot(2,2,1);
plot(t,ft1);
mtlb_axis([-6 6 -5 2]);
title("f(t)");
xlabel("时间(t)");
xgrid;//grid on

//信号移位
ft2=fct(t+2);
subplot(2,2,2);
plot(t,ft2);
mtlb_axis([-6 6 -5 2]);
title("f(t+2)");
xlabel("时间(t)");
xgrid;//grid on

//信号反褶
ft3=fct(-t);
subplot(2,2,3);
plot(t,ft3);
mtlb_axis([-6 6 -5 2]);
title("f(t)");
xlabel("时间(t)");
xgrid;//grid on

//信号尺度变换
ft4=fct(2*t);
subplot(2,2,4);
plot(t,ft4);
mtlb_axis([-6 6 -5 2]);
title("f(2t)");
xlabel("时间(t)");
xgrid;//grid on

[例2-2]信号的微分、积分(积分失败)

//[例2-2]信号的微分、积分

//定义变量
t=-5:.01:5;
w=2*%pi;

//第一张图
y=sin(w*t);
subplot(311);
title("sin(2πt)");
plot(y);

//第二张图
y1=diff(y);//信号微分
subplot(312);
title("2cos(2πt)π");
plot(y1);

//第三张图
y2=integrate(y1,'t',-5,5);//信号积分
subplot(313);
title("sin(2πt)");
plot(y2);

期望结果:

[例2-3]两信号的相加、相乘

//[例2-3]两信号的相加、相乘
t=-2:.01:2;
w=2*%pi;

//第一张图
f1=sin(w*t);
subplot(4,1,1);
plot(t,f1);
title("sin(wt)");
xlabel("t");

//第二张图
f2=sin(8*w*t);
subplot(4,1,2);
plot(t,f2);
title("sin(8wt)");
xlabel("t");

//第三张图
y1=f1+f2;//相加信号
subplot(4,1,3);
plot(t,y1);
title("sin(wt)+sin(8wt)");
xlabel("t");

//第四张图
y2=f1.*f2;//相乘信号
subplot(4,1,4);
plot(t,y2);
title("sin(wt)*sin(8wt)");
xlabel("t");

[例2-4]信号的奇偶分解

//[例2-4]信号的奇偶分解

t=-2:.02:2;

//第一张图
f=sin(%pi*t/2).*(sinc(t)-sinc(t-2));
subplot(311);
plot(t,f);
xgrid;//grid on
title("f(t)");
xlabel("时间t");

//第二张图
  //偶分量 fe=(f(t)+f(-t))/2
fe=(sin(%pi*t/2).*(sinc(t)-sinc(t-2))+sin(-%pi*t/2).*(sinc(-t)-sinc(-t-2)))/2;
subplot(312);
plot(t,fe);
title("偶分量");
xlabel("时间t");
xgrid;//grid on

//第三张图
//奇分量 fe=(f(t)-f(-t))/2
fo=(sin(%pi*t/2).*(sinc(t)-sinc(t-2))-sin(-%pi*t/2).*(sinc(-t)-sinc(-t-2)))/2;
subplot(313);
plot(t,fo);
title("奇分量");
xlabel("时间t");
xgrid;//grid on

附录:连续时间信号运算(MATLAB版)







标签:subplot,plot,运算,title,sin,信号,SCILAB,sinc
From: https://www.cnblogs.com/qsbye/p/17155772.html

相关文章

  • C语言关系运算符
    运算符意义==相等!=不相等>大于>=大于或等于<小于<=小于或等于 关系运算的结果:当两个值的关系符合关系运算符的预期时,关系运算的结果为......
  • 对比IRLS,OMP,MOMP,SP以及CoSaMP五种压缩感知算法的信号重构性能
    UP目录一、理论基础1.1IRLS1.2OMP1.3SP1.4CoSaMP二、核心程序三、测试结果一、理论基础压缩采样匹配追踪(CompressiveSamplingMP)是D.Needell继ROMP之后提出的......
  • [SCILAB]信号与系统实验1-绘制连续时间信号图片
    信号与系统实验一:连续时间信号的scilab表示环境信息:SCILAB6.1.1安装插件:ScilabsupportforVisualStudioCode(mammothb)安装工具箱:ScilabWaveletToolbox实......
  • #yyds干货盘点# LeetCode程序员面试金典:运算
    题目:请实现整数数字的乘法、减法和除法运算,运算结果均为整数数字,程序中只允许使用加法运算符和逻辑运算符,允许程序中出现正负常数,不允许使用位运算。你的实现应该支持如下操......
  • C++实现分数四则运算
    #include<iostream>usingnamespacestd;//辗转相除法求最大公约数(12和18的最大公约数:6)intgcd(inta,intb){a=(a<0)?(a=-a):(a=a);b=(......
  • 运算符
    算数运算符a=1b=2c=3print(a+b)<<<3赋值运算符=单变量赋值a=1print(a+1)<<<2多变量赋值num,float,str=10,10.5,"hc"print(num,float,str)<......
  • 第三章 计算机进行小数运算时出错的原因
    第三章观后感想:      计算机之所以会出现运算错误的原因是因为有一些十进制数的小数无法转换成二进制数,计算机是个功能有限的机器设备,无法处理无限循环的小数......
  • 运算符重载
    运算符重载分为两种形式,一种是成员函数重载,一种是全局函数重载。+重载采用成员和全局重载的方法是相同的结果的,但是请注意全局重载有两个参数第一个参数是加号左边......
  • 深入理解图像信号处理器 ISP
    https://zhuanlan.zhihu.com/p/139394687写在前面,本文为笔者参考了很多篇博客,传感器手册,芯片手册,汇总了ISP可能涉及到的步骤流程,整理所得万字长文,并针对ISP芯片流程图......
  • I2C的各种信号
    Start或者RepeatStart信号(RepeatStart是没有Stop之前继续Start)1.先拉高SDA2.后拉高SCLtick3.拉低SDAtick4.拉低SCLtick写数据时,8个bit的每个bit1.根......