傅里叶、拉普拉斯、Z变换这一串

📶 三大变换的数学推导过程 $\mathscr{F,L,Z}$傅里叶变换、拉普拉斯变换、Z 变换这三大变换讨论广泛1。个人理解,这三个变换都是为了简化一些难以在时间域分析的问题而引入的。 拉普拉斯变换是对傅里叶变换的推广,忽略了时域信号时间为负的部分,使得变换也可以适用于$t\rightarrow +\infty$不为零的信号 Z 变换是拉普拉斯变换针对离散信号的简化,使得表达式更加便于分析 傅里叶变换 拉普拉斯变换 $Z$变换 表达式 $F(\omega)=\int_{-\infty}^{\infty}f(t)e^{-j\omega t}\mathrm{d} t$ $F(s)=\int_0^\infty f(t)e^{-st}\mathrm{d}t$ $F(z)=\sum\limits_{k=0}^{\infty}f(kT)z^{-k}$ 适用范围 狄利克雷条件 狄利克雷条件的前两条 前者+(时间)离散 变换域 频域 复(频)域 $Z$域 对应系统模型 频率特性 传递函数 脉冲传递函数 数学演变过程 周期函数的傅里叶级数 周期为 T 的任一周期函数$f(t)$,若满足下列狄利克雷条件(Dirichlet conditions2): 在一个周期内只有有限个不连续点 在一个周期内只有有限个极值点(注:函数连续是条件 1、2 的充分非必要条件) 周期内绝对可积:积分$\int^{\frac{T}{2}}_{-\frac{T}{2}} |f(t)| \mathrm{d}t$ 存在 则$f(t)$可展开为如下的傅里叶级数: $$ f(t)=\frac{1}{2} a_0 + \sum\limits_{n=1}^{\infty} (a_n \cos{n\omega_0 t}+b_n\sin{n \omega_0 t}) $$式中,系数$a_n$和$b_n$由欧拉—傅里叶系数公式给出,其中$\omega_0=\frac{2\pi}{T}$称为角频率。 $$ a_n=\frac{2}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) \cos{n \omega_0 t}\mathrm{d} t, n=0,1,2,\dots,\infty $$$$ b_n=\frac{2}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) \sin{n \omega_0 t}\mathrm{d} t, n=1,2,\dots,\infty $$推导3:分别对$f(x),f(x)\cos kx, f(x)\sin kx$在周期$[-\frac{T}{2},\frac{T}{2}]$上积分。 ...

August 30, 2021 · 2 min · Leo

控制系统中对信号求导的注意事项

线性定常系统的重要特性引发的思考 女朋友在阅读胡寿松第六版《自动控制原理》时有一个困惑。为什么书中 P71 页表 3-2 中的阶跃信号1,求导之后消失了,而不是作为单位脉冲信号$\delta(t)$处理。难道这里的1视为常数,这样就与零初始条件矛盾了。 书中的表 3-2 一阶系统对典型输入信号的输出响应如下: 输入信号 输出响应 $1(t)$ $1-e^{-t/T}, t \ge 0$ $\delta(t)$ $\frac{1}{T}e^{-t/T}, t\ge 0$ 书中由此得出线性定常系统的一个重要特性:系统对输入信号导数的响应,就等于系统对输入信号响应的导数。 也就是说第二行脉冲响应应该是第一行阶跃响应的导数,但是这里为什么1对应的导数$\delta(t)$没有了呢? 答:因为后面的指数项$e^{-t/T},t \ge 0$,在零初始条件下还需要乘以一个$u(t)$,根据求导的乘法公式求导之后会出现一个$\delta(t)$,从而相互抵消。 将阶跃响应写成如下形式: $$ 1-e^{-t/T}(t \ge 0)=1(t)-e^{-t/T}\times 1(t) $$对阶跃响应求导: $$ \begin{aligned} \frac{\mathrm{d}}{\mathrm{d}t} [&1(t)-e^{-t/T}\times 1(t)] \\ =&\delta(t)- \frac{\mathrm{d}}{\mathrm{d}t}[e^{-t/T}1(t)] \\ =&\delta(t)- [\frac{\mathrm{d}}{\mathrm{d}t}e^{-t/T}\times1(t)+e^{-t/T}\times \frac{\mathrm{d}}{\mathrm{d}t} 1(t)] \\ =&\delta(t) -[-\frac{1}{T}e^{-t/T}\times 1(t)+e^{-t/T}\times \delta(t)] \\ =&\delta(t)- [-\frac{1}{T}e^{-t/T}\times 1(t)+\delta(t)] \\ =&\frac{1}{T}e^{-t/T}\times1(t) \end{aligned} $$结果即为$\frac{1}{T}e^{-t/T}, t\ge 0$。 一般化 已知线性定常系统的零初始条件下的阶跃响应为$h(t), t\ge 0$,求解系统传递函数. 拉式变换法 输入和输出的拉氏变换后的象函数分别为 $$ R(s)=\frac{1}{s},C(s)=H(s) $$于是传递函数可以写成: ...

August 28, 2021 · 1 min · Leo

Git常用拓展知识

Some Tips for git links git commit 提交规范 Conventional Commits 约定式提交: 本文 gitmoji 使用表情来规范 commit 消息: one fork LGTM : code review 行话:本文 Tip1: Commit 规范中常用 commit 类型解释 feat: 新功能、新特性 fix: 修改 bug perf: 更改代码,以提高性能(在不影响代码内部行为的前提下,对程序性能进行优化) refactor: 代码重构(重构,在不影响代码内部行为、功能下的代码修改) docs: 文档修改 style: 代码格式修改, 注意不是 css 修改(例如分号修改) test: 测试用例新增、修改 build: 影响项目构建或依赖项修改 revert: 恢复上一次提交 ci: 持续集成相关文件修改 chore: 其他修改(不在上述类型中的修改) release: 发布新版本 workflow: 工作流相关文件修改 typo:拼写错误等小错误 Tip2:code Review 行话 PR: Pull Request. 拉取请求,给其他项目提交代码 LGTM: Looks Good To Me. 朕知道了 代码已经过 review,可以合并 SGTM: Sounds Good To Me. 和上面那句意思差不多,也是已经通过了 review 的意思 WIP: Work In Progress. 传说中提 PR 的最佳实践是,如果你有个改动很大的 PR,可以在写了一部分的情况下先提交,但是在标题里写- `上 WIP,以告诉项目维护者这个功能还未完成,方便维护者提前 review 部分提交的代码。 PTAL: Please Take A Look. 你来瞅瞅?用来提示别人来看一下 TBR: To Be Reviewed. 提示维护者进行 review TL;DR: Too Long; Didn’t Read. 太长懒得看。也有很多文档在做简略描述之前会写这么一句 TBD: To Be Done(or Defined/Discussed/Decided/Determined).根据语境不同意义有所区别,但一般都是还没搞定的意思 Tips3: 一些个人感悟 变量名直观一点,不要害怕太长 人类创造编程语言,就是为了方便人类编写与理解,大部分语言编译器都会做相关的优化的 git 仓库也真的不在乎多那么几个字节,github 大小也没有限制,浅克隆问题也不大 主分支不用,其他分支少用git push -f,提交历史没有必要太好看 同上 2,多几个 commit 没什么大不了的 个人项目单分支模型就可以了,用太多分支往往徒增烦恼(这条不绝对,要看具体情况)

July 25, 2021 · 1 min · xsro

Markdown 常用拓展语法参考

Markdown 常用拓展语法参考 常用链接 基本语法 GitHub Flavored Markdown Spec: gfm 比较细致的 markdown 参考资料: https://www.markdownguide.org/ github 上的 markdown 语法速查表: markdown-cheatsheet,Markdown typora中提供的帮助 数学公式$\TeX$:通常 markdown 使用以下两种工具渲染公示 mathjax:typora、知乎等 katex:hugo 等 emoji 参考✌️ emoji 表来自caiyongji/emoji-list emoji-cheat-sheet Mermaid 图表:一般都是使用的 mermaid.js 来渲染的,注意版本 mermaid.js 官方文档:mermaid typora 的相关帮助文档:Draw Diagrams With Markdown (typora.io) Badge 徽章: https://shields.io/ https://forthebadge.com/ 在 gitee 中使用徽标:在 git 仓库主页一次点击管理、仓库挂件即可看到 常用 html 代码 行内 html Raw Markdown Source Output in Live Preview <span style='color:red'>This is red</span> This is red <ruby> 漢 <rt> ㄏㄢˋ </rt> </ruby> 漢 ㄏㄢ ˋ <kbd>Ctrl</kbd>+<kbd>F9</kbd> Ctrl+F9 <span style="font-size:2rem; background:yellow;">**Bigger**</span> Bigger HTML entities like &reg; &#182; HTML entities like ® ¶ 文本注释、隐藏与折叠 注释内容 <!--这是注释--> 隐藏段落 <p hidden>这是需要隐藏的段落 不可以有空行</p> 折叠 <details> <summary> I have keys but no locks. I have space but no room. You can enter but can't leave. What am I? </summary> A keyboard. </details> 效果: ...

July 25, 2021 · 2 min · xsro

大三学期末总结

CMIC 苏州归来 此次苏州之行,主要任务是CMIC,可以简单地称为 PLC 比赛,我报名这个比赛的时候,主要是想补充一些我对硬件方面的不足,同时也想借此提高个人能力分。 我知道科协经历很少的我,实在没有机会学习太多的硬件知识,竞赛经历少得可怜,同时也没有什么科研经历。 虽然课程学习中也会学习一些专业知识,但是平时课程中所需要学习的一些知识比较偏向理论,并没有科协的一些授课“有用”。 由于课程编排的原因,课堂学习与实验往往是没有直接联系的。 课程设计中,我真的很想做成自己的作品,但是我发现非常吃力,而科协的同学往往可以很快完成,并且验收通过。 望着都是良好的课程设计,我想要锻炼一下自己,让理论所学落实到实际操作之中。 锻炼一下自己,多么冠冕堂皇的理由,和两个队友我们一起踏上了苏州之旅。 16-23 正好首尾都有计算机设计大赛的比赛,让我这 6 天 5 晚都在煎熬之中,我发现我好像没有办法帮上什么忙,队友都在焦急地比赛,而我却却似乎感觉现在才开始准备已经来不及了,我有些破罐子破摔。 最后当然也没有取得什么奖项,但在奋起直追的过程总我也学到了很多的知识,确实也挺有意思的。 加油,工控人。

July 23, 2021 · 1 min · Leo