之前上学时我的信号学得最差了,主要原因还是我高数学得不怎么样。可能是人总敬畏自己最不会的,所以我觉得我学过诸多科目中,数学是最博大精深而最妙的,从最开始的一次函数到反比例函数,二次三次函数和双曲线,椭圆曲线,到倒数和积分的莱布尼茨的公式,我越来越明显地认识到到数学已经不只是干巴巴地计算下火车什么时候相遇的问题了,虽然是计算的问题好像并没有变化很多,但是我们能计算的情况却越来越多。开始时我只能求匀速直线运动,然后是匀变速直线运动,匀变速曲线运动,现在可以说只要是能用函数描述的运动,我们想得到它的大部分参数好像都没有多大问题,这迷之自信啊。

  作为一个自言自语习惯的个人学习类博客,我习惯以写散文的方法写那些不需要很正式的笔记。毕竟大部分笔记都是给我自己看的。

  我学习傅里叶变换时怎么都无法理解那个公式。这他么究竟在说什么啊,还能中途把自变量换掉,这操作这么骚气的吗?

  不过吐槽归吐槽,我还是很吃了不理解傅里叶变换的苦的。不过机缘巧合,我搞到一台玩具示波器,这里放几个图留作纪念。

  10兆赫兹的正弦波,及其FFT变换后的频谱图。

  我的信号发生器的波形也还过得去。从频谱图上也能看到它的波形就是一个落在10MHz的冲激函数,高度应该是正弦曲线的有效值。

  5兆赫兹方波的波形,及其FFT变换后的频谱图。

  5兆方波从示波器上看已经变形地挺严重了。不清楚是示波器的问题还是探头的问题抑或是信号发生器的问题。但看频谱还是挺直白的,有时间我再把它的傅里叶变换展开写出来。

  三角波和它的FFT变换.

  锯齿波及其TTF变换图。

  频率也只有100千赫兹。不过波形还算不错。放大看看细节。

  上升时间大概是173纳秒。应该不赖吧。

几种比较经典的波形及其FFT变换(正弦波,三角波,方波和锯齿波)的更多相关文章

  1. CAN总线几种正常的“异常”波形

    CAN总线几种正常的“异常”波形 [复制链接]       电梯直达 楼主    hubaba 发表于 2016-3-28 14:00 | 只看该作者  摘要 工程师们通常使用示波器观察CAN总线的信 ...

  2. 七种常见经典排序算法总结(C++实现)

    排序算法是非常常见也非常基础的算法,以至于大部分情况下它们都被集成到了语言的辅助库中.排序算法虽然已经可以很方便的使用,但是理解排序算法可以帮助我们找到解题的方向. 1. 冒泡排序 (Bubble S ...

  3. SSE图像算法优化系列十一:使用FFT变换实现图像卷积。

    本文重点主要不在于FFT的SSE优化,而在于使用FFT实现快速卷积的相关技巧和过程. 关于FFT变换,有很多参考的代码,特别是对于长度为2的整数次幂的序列,实现起来也是非常简易的,而对于非2次幂的序列 ...

  4. java实现FFT变换(转)

    源:java实现FFT变换 /************************************************************************* * Compilati ...

  5. 安装fftw到window(vs2010)及使用fftw库函数实现4096点fft变换计算

    Windows下FFTW库的安装: 1. 从网站http://www.fftw.org/install/windows.html上下载最新的预编译文件:    32-bit version: fftw ...

  6. 【算法随记五】使用FFT变换自动去除图像中严重的网纹。

    这个课题在很久以前就已经有所接触,不过一直没有用代码去实现过.最近买了一本<机器视觉算法与应用第二版>书,书中再次提到该方法:使用傅里叶变换进行滤波处理的真正好处是可以通过使用定制的滤波器 ...

  7. MySQL数据库优化的八种方式(经典必看)

      引言: 关于数据库优化,网上有不少资料和方法,但是不少质量参差不齐,有些总结的不够到位,内容冗杂 偶尔发现了这篇文章,总结得很经典,文章流量也很大,所以拿到自己的总结文集中,积累优质文章,提升个人 ...

  8. 七种常见经典排序算法总结(C++)

    最近想复习下C++,很久没怎么用了,毕业时的一些经典排序算法也忘差不多了,所以刚好一起再学习一遍. 除了冒泡.插入.选择这几个复杂度O(n^2)的基本排序算法,希尔.归并.快速.堆排序,多多少少还有些 ...

  9. 【一个idea】YesSql,一种在经典nosql数据库redis上实现SQL引擎的方案(我就要开历史的倒车)

    公众号链接 最高级的红酒,一定要掺上雪碧才好喝. 基于这样的品味,我设计出了一套在经典nosql数据库redis上实现SQL引擎的方法.既然redis号称nosql,而我偏要把SQL加到redis上, ...

随机推荐

  1. 『现学现忘』Docker基础 — 27、Docker镜像的commit操作

    目录 1.commit命令作用 2.commit命令说明 3.示例演示 1.commit命令作用 在运行的容器中,并在镜像的基础上做了一些修改,我们希望保存起来,封装成一个新的镜像,方便我们以后使用, ...

  2. Java基础-成员变量与局部变量

    Java基础-成员变量与局部变量 1.什么是成员变量与局部变量? public class Student {   String name;   int high;   public void stu ...

  3. Docker修改默认IP

    Docker修改默认IP 删除原有配置 sudo systemctl stop docker sudo ip link set dev docker0 down sudo brctl delbr do ...

  4. [HNOI2016]序列(莫队,RMQ)

    [HNOI2016]序列(莫队,RMQ) 洛谷  bzoj 一眼看不出来怎么用数据结构维护 然后还没修改 所以考虑莫队 以$(l,r-1) -> (l,r)$为例 对答案的贡献是$\Sigma_ ...

  5. SpringMVC 和SpringBoot中的注解是如何起作用的,如何实现的

    SpringMVC源码解读 - HandlerMapping - RequestMappingHandlerMapping初始化   https://www.cnblogs.com/leftthen/ ...

  6. 讲讲 kafka 维护消费状态跟踪的方法?

    大部分消息系统在 broker 端的维护消息被消费的记录:一个消息被分发到 consumer 后 broker 就马上进行标记或者等待 customer 的通知后进行标记.这 样也可以在消息在消费后立 ...

  7. String 和 StringBuilder、StringBuffer 的区别?

    Java 平台提供了两种类型的字符串:String 和 StringBuffer/StringBuilder,它 们可以储存和操作字符串.其中 String 是只读字符串,也就意味着 String 引 ...

  8. java中的ThreadLocal-learning

    为什么需要ThreadLocal 多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性. 而线程安全是指 当多个线程访问某个方法时 ...

  9. Spring ModelAttribute注解失效原因

    public String test(@RequestParam(value = "test") @ModelAttribute("test") String ...

  10. 如何通过HibernateDaoSupport将Spring和Hibernate?

    用 Spring 的 SessionFactory 调用 LocalSessionFactory.集成过程分三步: 配置 the Hibernate SessionFactory. 继承 Hibern ...