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最基本的数据类型以及对元组的介绍
Apr 14 Python
Python实现快速排序算法及去重的快速排序的简单示例
Jun 26 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
Python对象中__del__方法起作用的条件详解
Nov 01 Python
pygame游戏之旅 调用按钮实现游戏开始功能
Nov 21 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
Python数据类型之Number数字操作实例详解
May 08 Python
Python完成哈夫曼树编码过程及原理详解
Jul 29 Python
python tkinter canvas使用实例
Nov 04 Python
python构建指数平滑预测模型示例
Nov 21 Python
python实现图像全景拼接
Mar 27 Python
python制作一个简单的gui 数据库查询界面
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
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
PHP重载基础知识回顾
2020/09/10 PHP
JavaScript Date对象使用总结
2009/05/14 Javascript
整理一些JavaScript的IE和火狐的兼容性注意事项
2011/03/17 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
django form和field具体方法和属性说明
2020/07/09 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
美体小铺奥地利官方网站:The Body Shop奥地利
2019/04/11 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
安全月活动总结
2014/05/05 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
初三毕业感言
2015/07/31 职场文书
Mysql案例刨析事务隔离级别
2021/09/25 MySQL