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 相关文章推荐
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 Python
pandas计算最大连续间隔的方法
Jul 04 Python
OpenCV模板匹配matchTemplate的实现
Oct 18 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
浅析Python3 pip换源问题
Jan 06 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
Mar 06 Python
使用keras实现densenet和Xception的模型融合
May 23 Python
详解Pytorch显存动态分配规律探索
Nov 17 Python
详解Python调用系统命令的六种方法
Jan 28 Python
Pandas加速代码之避免使用for循环
May 30 Python
Python 中 Shutil 模块详情
Nov 11 Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 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
PHP Mysql编程之高级技巧
2008/08/27 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
Node.js学习入门
2017/01/03 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
Vue自定义指令封装节流函数的方法示例
2018/07/09 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
电气专业应届生求职信
2013/11/01 职场文书
土木建筑学生自我评价
2014/01/14 职场文书
调解员先进事迹材料
2014/02/07 职场文书
2014年外联部工作总结
2014/11/17 职场文书
大学宣传委员竞选稿
2015/11/19 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
MySQL中连接查询和子查询的问题
2021/09/04 MySQL
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers