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 不关闭控制台的实现方法
Oct 23 Python
python模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 Python
Python实现LRU算法的2种方法
Jun 24 Python
python装饰器初探(推荐)
Jul 21 Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 Python
Python反射的用法实例分析
Feb 11 Python
matplotlib 输出保存指定尺寸的图片方法
May 24 Python
Python 互换字典的键值对实例
Feb 12 Python
Python面向对象程序设计之类的定义与继承简单示例
Mar 18 Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 Python
python如何变换环境
Jul 21 Python
pandas处理csv文件的方法步骤
Oct 16 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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
php 静态变量的初始化
2009/11/15 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
php查找字符串出现次数的方法
2014/12/01 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
Yii2汉字转拼音类的实例代码
2017/04/18 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
PHP使用函数用法详解
2018/09/30 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
Javascript中八种遍历方法的执行速度深度对比
2017/04/25 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
python实现人脸识别代码
2017/11/08 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
python内打印变量之%和f的实例
2020/02/19 Python
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
税务专业毕业生自荐信
2013/11/10 职场文书
化妆品店促销方案
2014/02/24 职场文书
文秘大学生求职信
2014/02/25 职场文书
厕所文明标语
2014/06/11 职场文书
公司授权委托书范文
2014/08/02 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
2015年药店店长工作总结
2015/04/29 职场文书
情感电台广播稿
2015/08/18 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
MySQL数据库实验之 触发器和存储过程
2022/06/21 MySQL