胡说八道(24.6.8)——拉普拉斯变换

  上回书说道,傅里叶变换的定义、性质以及表现形式。今天咱们先脱离一下信号与系统。看看C语言程序的一个实例——计算字符串的大小以及实现判断一个字符串是否为另一个字符串的子串。这里我才用的是函数的方式。接下来,有请我拙劣的代码。

# include <stdio.h>

int getlength(char s[]){

    int i = 1;

    int n = 0;

    while(s[i-1]!='\0')

    {

        i++;

        n++;

    }

    return n;

int belong(char str1[],char str2[])

{

    int i = 0 ,j = 0;

    int n1 = getlength(str1),n2 = getlength(str2);

    while(i < n1 && j < n2)

    {

        if(str1[i] == str2[j])

        {

            i++;

            j++; 

        }

        else

        {

            j = j-i+1;

            i = 0;

        }

    }

    if(i >= n1)

        return j-n1+1;

    else

        return -1;

}

int main(){

    char a[] = "BEI";

    char b[] = "BEIJING";

    char c[] = "BEIJING";

    char d[] = "BEI JING";

    char m[] = " ";

    printf("b的长度为%d\n",getlength(b));

    int flag = belong(m,d);

  if (flag!= -1) {

    printf("在%d 处\n", flag);

  } else {

    printf("未找到\n");

  }    

    这里编写了两个函数getlength()和belong()。getlength()函数利用字符串的结尾都含有'\0'这一结束符的方式实现计数。belong()则是采用的一种暴力匹配算法的方式,挨个比较下去,直到找到完全匹配的字符串,实现一种查找的功能。最后,就是flag标志位的设立,这个虽然不常用,但是在一些特定的场景下,它能以一种开关的方式存在,非常实用。

    接下来,回到今天的主题——三大变换之一的拉普拉斯变换,拉普拉斯变换是一种数学变换方法。它将时域中的函数转换为复频域中的函数。通过拉普拉斯变换,可以将一些用微分方程描述的线性时不变系统的问题,转化为在复频域中更容易分析和处理的代数方程问题。例如,在分析电路系统的响应时,通过对电路元件的方程进行拉普拉斯变换,可以更方便地求解系统的响应。具体地表达式如下,

    大家看这个式子是不是和傅里叶变换有点相像,其实,它是傅里叶变换的一个推广,令s=jw。傅里叶变换要求信号绝对可积。而拉氏变换就没那么严格,一些不满足绝对可积条件但增长速度不太快的函数也可以进行拉普拉斯变换。

    拉普拉斯的收敛域问题,说笼统一点就是f(t)e^(-σt)要绝对可积,在它的收敛域中呈现一种衰减的趋势就行了。如果要非得有个判断公式,那就是下式。

    接下来看看一些常用的拉氏变换的,对于拉氏变换,我觉得它在变换这一方面比较简单,因为它通常会涉及到e^(-∞)这个为0的数。

    以及它的性质,与傅里叶变换的性质差不多。

    接下来,看看拉氏逆变换,大家千万不要用原本的公式法求(除非题目强调)。因为绝大数的拉氏变换,都能写成一个分式。因此我们在求逆变换的时候,可以把已经合成的分式给才开。可以通过待定系数法来求系数列方程组计算。当然还一个快速求系数的方法,如下图。

    上文谈到拉氏变换在分析电路系统的响应中用的比较多,这里我们来看看电阻、电容和电感在s域的模型。通常系统的阶数与电容和电感的阶数有关。

    只要利用好KCL和KVL,求得电路的电压或者是电流是没问题的。系统函数H(s),就记个公式输出比上输入R(s)/E(s)。还有两个概念,一个是零点,把分子令为零,在零极点图上用⚪表示。还有一个是极点,把分母令为0,通常有六种不同的极点分布方式,包括原点处、x、y轴上以及象限内部,用×表示。

    延伸:今天用了一下simulink仿真了一下阶跃信号、冲激信号和冲击偶信号。先说说看,我为什么要用simulink?就是穷,人家都用dsp、各种物理模型,但是,经济水平不够,于是就决定用simulink来仿真一下,因为终究理论学习配合一些简单仿真实验才能把一个知识点给学好。还有个原因就是simulink所涉及的方面非常的多,包括通信邻域、电子设计领域等等。来看一下在MATLAB里面怎么启动?可以在命令窗口输入simlink,这种方式会运用到许多library的引用;或者是到主页里面直接找都可以。更深的就不讲了。比如模式的配置,库的导入,文件目录的修改。这些大家都可在网上找到答案。

    我们来看看本次的实验图。

    连接电路图,如上图。我们知道阶跃信号微分是冲激信号,冲激信号微分过后是冲激偶信号,于是我们这里用了两个微分器。运行一下看一下结果。

    阶跃信号如下图:

   冲激信号如下图:

   冲激偶信号如下图:

   大家可以看看,其实理论和实践还是有差别的。O.o

   好了,今天就说到这里,还会继续更进simulink仿真。

   欲知后事如何,且听下回分解。 

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值