python实现周期方波信号频谱图


Posted in Python onJuly 21, 2018

在学习傅里叶变换的时候遇到了求周期方波信号频谱图的例子,在书上和网上查阅了一些资料,发现大都是讨论的都是下图左边的周期信号的频谱,课程老师的PPT中也只列出了另一种周期信号频谱图的结论,没有在进行傅里叶变换,自己便根据定义推导了一遍,贴在这里作记录和分享之用。

关于傅立叶级数展开的另一讨论在我的另一篇文章https://3water.com/article/144194.htm

python实现周期方波信号频谱图

2016年11月21号更新

在第二个周期方波信号的傅里叶变换里,注意是

python实现周期方波信号频谱图

转换为sin函数下为

python实现周期方波信号频谱图

之前写错了,今天更正。

对于这两种方波信号,我们也可以编程验证一下,就是用正弦函数去逼近方波信号,Python的实现代码如下:

# 分析傅里叶级数分解之后cos和sin的和项的图像输出

from numpy import mgrid,sin,cos,array,pi
from matplotlib.pyplot import plot,show,title,legend,xlabel,ylabel

x = mgrid[0:10:0.02] # 这里类似于MATLAB用冒号产生步长为0.02的序列,但是语法和MATLAB不同



# 下面的这段循环实现y=sin(x)+sin(3x)+...+sin(19x)

def cos_square():
  y1 = 0;
  for i in range(0,20,1):
    b = (-1)**(i)*cos((2*i+1)*x)/(2*i+1)
    y1=b+y1    # 这种求和的方法是从C语言移植过来的
  plot(x,y1,'orange',linewidth=0.6)
  title('cos_square')
  xlabel('Time')
  ylabel('Amplitude')
  show()

def sin_square():
  y2 = 0
  for i in range(0,20,1):
    b = sin((2*i+1)*x)/(2*i+1)
    y2=b+y2    # 这种求和的方法是从C语言移植过来的
  plot(x,y2,'g',linewidth=0.6)
  title('sin_square')
  xlabel('Time')
  ylabel('Amplitude')
  show()

cos_square() 

sin_square()

输出结果如下:

python实现周期方波信号频谱图

python实现周期方波信号频谱图

由结果可以看两种不同的方波级数展开是正确的

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
通过python下载FTP上的文件夹的实现代码
Feb 10 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
Python Dataframe 指定多列去重、求差集的方法
Jul 10 Python
浅谈Python里面小数点精度的控制
Jul 16 Python
django解决订单并发问题【推荐】
Jul 31 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
用sqlalchemy构建Django连接池的实例
Aug 29 Python
python绘制随机网络图形示例
Nov 21 Python
关于python中plt.hist参数的使用详解
Nov 28 Python
numpy创建单位矩阵和对角矩阵的实例
Nov 29 Python
大数据分析用java还是Python
Jul 06 Python
python 根据列表批量下载网易云音乐的免费音乐
Dec 03 Python
Flask-Mail用法实例分析
Jul 21 #Python
python实现傅里叶级数展开的实现
Jul 21 #Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 #Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 #Python
opencv python 傅里叶变换的使用
Jul 21 #Python
Numpy中的mask的使用
Jul 21 #Python
Flask框架使用DBUtils模块连接数据库操作示例
Jul 20 #Python
You might like
PHP5新特性: 更加面向对象化的PHP
2006/11/18 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
JavaScript 注册事件代码
2011/01/27 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
Python装饰器的函数式编程详解
2015/02/27 Python
轻松掌握python设计模式之访问者模式
2016/11/18 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
pycharm安装图文教程
2017/05/02 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
python中删除某个元素的方法解析
2019/11/05 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
什么是表空间(tablespace)和系统表空间(System tablespace)
2013/02/25 面试题
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
初中三好学生自我鉴定
2014/04/07 职场文书
乡镇爱国卫生月活动总结
2014/06/25 职场文书
小学生植树节活动总结
2014/07/04 职场文书
岗位说明书怎么写
2014/07/30 职场文书
七夕活动策划方案
2014/08/16 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
Java获取字符串编码格式实现思路
2022/09/23 Java/Android