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实现简单购物商城
May 21 Python
深入理解Python 关于supper 的 用法和原理
Feb 28 Python
Python实现的多项式拟合功能示例【基于matplotlib】
May 15 Python
python实现嵌套列表平铺的两种方法
Nov 08 Python
在Python 不同级目录之间模块的调用方法
Jan 19 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
May 08 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
Aug 15 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
Oct 24 Python
python如何通过pyqt5实现进度条
Jan 20 Python
pytorch SENet实现案例
Jun 24 Python
Python 中如何使用 virtualenv 管理虚拟环境
Jan 21 Python
Python制作动态字符画的源码
Aug 04 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简单命令代码集锦
2007/09/24 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
php实现httpRequest的方法
2015/03/13 PHP
PHP导入导出Excel代码
2015/07/07 PHP
php中static和const关键字用法分析
2016/12/07 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
2019/09/30 PHP
php模拟实现斗地主发牌
2020/04/22 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
js中判断控件是否存在
2010/08/25 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
一个js控制的导航菜单实例代码
2013/12/03 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
EditPlus中的正则表达式 实战(4)
2016/12/15 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
python3使用flask编写注册post接口的方法
2018/12/28 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
自定义django admin model表单提交的例子
2019/08/23 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
项目经理的岗位职责
2013/11/23 职场文书
十岁生日同学答谢词
2014/01/19 职场文书
高一政治教学反思
2014/01/28 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
Python实现智慧校园自动评教全新版
2021/06/18 Python