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 datetime时间格式化去掉前导0
Jul 31 Python
python中__call__方法示例分析
Oct 11 Python
Python基于动态规划算法计算单词距离
Jul 25 Python
深入解析Python中的线程同步方法
Jun 14 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
Jul 06 Python
Python各类图像库的图片读写方式总结(推荐)
Feb 23 Python
PyQt5每天必学之滑块控件QSlider
Apr 20 Python
使用python 3实现发送邮件功能
Jun 15 Python
深入分析python中整型不会溢出问题
Jun 18 Python
Python爬虫PyQuery库基本用法入门教程
Aug 04 Python
解决Django Static内容不能加载显示的问题
Jul 28 Python
Python中return函数返回值实例用法
Nov 19 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
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
AngularJS实现表单验证
2015/01/28 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
详解Chai.js断言库API中文文档
2018/01/31 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
Python代码解决RenderView窗口not found问题
2016/08/28 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
测试工程师岗位职责
2013/11/28 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
初中班主任评语大全
2014/04/24 职场文书
股票投资建议书
2014/05/19 职场文书
公司外出活动方案
2014/08/14 职场文书
庆六一宣传标语
2014/10/08 职场文书
三方协议书
2015/01/27 职场文书
单位介绍信格式范文
2015/05/04 职场文书
十八大观后感
2015/06/12 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书