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抓取网页图片示例(python爬虫)
Apr 27 Python
Python入门篇之字典
Oct 17 Python
给Python IDLE加上自动补全和历史功能
Nov 30 Python
python模拟鼠标拖动操作的方法
Mar 11 Python
python编写朴素贝叶斯用于文本分类
Dec 21 Python
Python多重继承的方法解析执行顺序实例分析
May 26 Python
python实现从本地摄像头和网络摄像头截取图片功能
Jul 11 Python
浅析Python 引号、注释、字符串
Jul 25 Python
pytorch三层全连接层实现手写字母识别方式
Jan 14 Python
Python文件读写w+和r+区别解析
Mar 26 Python
Python实现敏感词过滤的4种方法
Sep 12 Python
python绘图模块之利用turtle画图
Feb 12 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制作静态网站的模板框架(四)
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
自己在做项目过程中学到的PHP知识收集
2012/08/20 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
thinkPHP模型初始化实例分析
2015/12/03 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
基于jquery循环map功能的代码
2011/02/26 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python中交换两个元素的实现方法
2018/06/29 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
新加坡交友网站:be2新加坡
2019/04/10 全球购物
表扬信格式
2014/01/12 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
2014年基层党建工作总结
2014/11/11 职场文书
springboot读取resources下文件的方式详解
2022/06/21 Java/Android
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android