Python在信号与系统(1)——Hilbert兑换,Hilbert在国家统计局的包络检测应用,FIR_LPF滤波器设计,格鲁吉亚也迫使高FM(PM)调制...

谢谢董老师,董老师是个好老师。

心情久久不能平静,主要是高频这门课的分析方法实在是让我难以理解,公式也背只是,还是放放吧。

近期厌恶了Matlab臃肿的体积和频繁的读写对我的Mac的损害,所以学习了一下Python这一轻量级的脚本。发现“Python自诞生那天就跟科学计算分不开”这个事实。

无聊,写写心得。

配置环境什么的还是弄了几个晚上的。

在Mac下用PyCharm还是非常好滴。装上NumPy,SciPy等等一众免费的,非常不错的Python包。就能够灰了。

1.Hilbert变换及其在单边带(SSB)包络检波的应用

定义神马的,性质神马的自己百度去。我也懒得写公式了。大家将就着看。

先定义个东西,H(t)为Hilbert变换后的时域信号,f(t)为原始时域信号。那么其包络为:

Envelop = sqrt(H^2(t)+f^2(t))。

好了,写代码什么的都简单了。

import numpy as npimport pylab as plimport scipy.signal as signalfrom scipy import fftpackt = np.arange(0, 0.3, 1/20000.0)x = np.sin(2*np.pi*1000*t) * (np.sin(2*np.pi*20*t) + np.sin(2*np.pi*8*t) + 3.0)hx = fftpack.hilbert(x)pl.subplot(221)pl.plot(x, label=u"Carrier")pl.plot(np.sqrt(x**2 + hx**2), "r", linewidth=2, label=u"Envelop")pl.title(u"Hilbert Transform")pl.legend()

然后是它的结果。看,是不是逼格高高的不可一世。~~



2.FIR_LPF设计

用Python这样的动态语言写几百个參数的有限冲激响应数字低通滤波器(Finite Impulse Response-Low Pass Digital Filter)。实在是太难为人家了。还是用内置的函数或者内嵌C吧。看那一长串,我还想再打一遍,有限冲激响应数字低通滤波器,逼格高高的!

以下是代码。FIR滤波器在这里我预计參数不下100,所以内嵌吧,否则慢死。

import numpy as npimport pylab as plimport scipy.signal as signalfrom scipy import fftpackdef h_ideal(n, fc):return 2*fc*np.sinc(2*fc*np.arange(-n, n, 1.0))b = h_ideal(30, 0.25)b2 = signal.firwin(len(b), 0.6)w, h = signal.freqz(b)w2, h2 = signal.freqz(b2)#pl.figure(figsize=(8,6))pl.subplot(222)pl.plot(w/2/np.pi, 20*np.log10(np.abs(h)), label=u"h_ideal")pl.plot(w2/2/np.pi, 20*np.log10(np.abs(h2)), label=u"firwin")pl.xlabel(u"Normalized Frequency Rad/Sample")pl.ylabel(u"Magnitude (dB)")pl.title(u"FIR Low Pass Filter")pl.legend()pl.subplot(224)pl.plot(b, label=u"h_ideal")pl.plot(b2, label=u"firwin")pl.legend()pl.show()





看这逼格高高的,都不说了。。



3.以下是董老师指导我的,尽管非常easy。

FM调制


董老师说mf的參数调小了,我看果然是。课本不可信。给的參数都mv毫伏级,坑爹。

码代码这样的小事就简单多了

import numpy as np
import pylab as pl
import scipy as sp
from scipy import integrate
from scipy import fftpacksample_rate = 10000t = np.arange(0, 1.0, 1.0 / sample_rate)  # generate time samplingomega_base = 40
omega_carrier = 800mf = 1
v0 = 5
v_omega = 10base = np.cos(omega_base * t)pm = v0 * np.cos(omega_carrier * t + v_omega * base)
pl.plot(base)
pl.plot(pm)
pl.show()


绿的是最后的信号。蓝的是原始信号。


好了,说完了第一部分,第二部分写啥还没有想好,到时再说,嗯。

今天好娘快。晚上继续学高频。


董老师是个好人。好人一生平安。。。

。。

近期我这样的傻事怎么。。

。!

版权声明:本文博主原创文章。博客,未经同意不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在WP-Config中设置WordPress错误日志

https://baijiahao.baidu.com/s?id1622279671500148245&wfrspider&forpc 你想在wp-config文件中设置WordPress错误日志吗?WordPress中的wp-config文件不仅控制您的WordPress网站设置,它也是一个非常有用的调试工具,可帮助您查找和修…

wordpress启用侧边栏小工具

http://www.seo628.com/1872.html wordpress后台默认不显示小工具选项,开发者需要启用小工具功能并把小工具在相应的前台位置调用出来,这样才能在后台直接拖动生成侧边栏。 激活小工具 激活小工具需要在functions.php中注册至少一个侧边栏 register_s…

详解 Spotlight on MySQL监控MySQL服务器

前一章详解了Spotlight on Unix 监控Linux服务器 ,今天再来看看Spotlight on MySQL怎么监控MySQL服务器。 注:http://www.cnblogs.com/Javame/p/3685512.html 第一步: 下载并安装mysql-connector-3.5x Spotlight on MySQL 连接mysql必须使用mysql-connec…

lua------------------Unity3D研究院编辑器之打开unity不可识别的文件(十三)

Unity3D研究院编辑器之打开unity不可识别的文件(十三) 雨松MOMO 【Unity3D拓展编辑器】 围观8597次 9 条评论 编辑日期:2017-03-02 字体:大 中 小 有些特殊后缀名的文件在unity里是不可识别的。如下图所示,这里我把文本…

一起Polyfill系列:Function.prototype.bind的四个阶段

昨天边参考es5-shim边自己实现Function.prototype.bind,发现有不少以前忽视了的地方,这里就作为一个小总结吧。 一、Function.prototype.bind的作用 其实它就是用来静态绑定函数执行上下文的this属性,并且不随函数的调用方式而变化。 示例&am…

盘点18个免费的WordPress主题后台选项开发框架

https://yusi123.com/3205.html/3 13.Warp Framework Warp框架不仅支持WordPress和Joomla,还可以可扩展到其他的适用Web程序。使用Warp框架你可以轻松的定制你需要的功能。 该框架是来自Yootheme团队。看看他们出的主题,你就知道这个绝对是精品了。精心设计的界面和…

lua----------------使用VS2015搭建lua开发环境的一些侥幸成功经验,

所以本篇博文介绍在Windows平台下,使用VS2015搭建lua开发环境的一些侥幸成功经验,安装过程参考网上教程,安装过程如下(参考http://www.byjth.com/lua/33.html) 一 生成lua5.3.lib 1、下载并编译lua源码 首先进入lua官…

WordPress中使主题支持小工具以及添加插件启用函数

https://www.jb51.net/article/76810.htm 这篇文章主要介绍了WordPress中使主题支持widget以及添加插件启用函数的方法,使WP可以使用小工具widget与通过register_activation_hook()来添加启用插件的函数,需要的朋友可以参考下 让主题支持小工具 WordPress 的小工具(…

Thunder团队第三周 - Scrum会议6

Scrum会议6 小组名称:Thunder 项目名称:i阅app Scrum Master:宋雨 工作照片: 代秋彤照相,所以图片中没有该同学。 参会成员: 王航:http://www.cnblogs.com/wangh013/ 李传康:http://…

如何使WordPress博客添加多个sidebar侧边栏

https://www.cnblogs.com/lydbk/p/4609736.html 如何使WordPress博客添加多个sidebar侧边栏 在制作wordpress模版的时候,也许你会遇到一个sidebar侧栏不能完全满足你的需求,或者侧栏内容过多导致页面过长,那么我们可以考虑使用两个或者更多侧栏。 考虑…

glove中文词向量_Summary系列glove模型解读

一、Glove模型简介语义文本向量表示可以应用在信息抽取,文档分类,问答系统,NER(Named Entity Recognition)和语义解析等领域中,大都需要计算单词或者文本之间的距离或者相似度,因此,…

lynx---CentOS终端访问IP

1、官网 http://lynx.isc.org 2、稳定版本 http://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.8rel.2.tar.gz 3、下载 cd /usr/local/ wget http://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.8rel.2.tar.gz 4、解压 tar xzf lynx2.8.8rel.2.tar.gz 5…

OnLongClickListener长按事件设置墙纸

在AndroidApp应用中,OnLongClick事件表示长按2秒以上触发的事件,本章我们通过长按图像设置为墙纸来理解其具体用法。知识点:OnLongClickListener  OnLongClickListener接口与之前介绍的OnClickListener接口原理基本相同,只是该接…

foursquare nyc数据集_炫酷的python地理数据可视化

介绍在本文中,我依靠纽约市提供的这一数据集,详细列出了从2010年1月到2017年9月的所有大鼠目击事件。在此期间,已有101,914例报告的老鼠目击事件。虽然这已经是一个非常高的数字,但实际观察的鼠标数量可能要高得多。在纽约市独自一…

crawler_微信采集方案

仅供参考 转载于:https://www.cnblogs.com/cphmvp/p/3729295.html

jsp文件通常用common_springboot还能这样用redis

点击蓝字 关注我们 作者:xfkhttps://www.cnblogs.com/xfk1999/p/11347793.html一直想在springboot上集成带缓存的redis,终于成功了。网上有1000种写法,想找到一篇合适的还真不容易?。走下流程,加深下印象。环境:springboot版本&a…

takePic and Videos

2019独角兽企业重金招聘Python工程师标准>>> //// ViewController.m// UIImagePickerController// Created by Kenshin Cui on 14/04/05.// Copyright (c) 2014年 cmjstudio. All rights reserved.//AVFoundation.framework//MediaPlayer.framework//MobileCore…

uap--studio设置文本字体

转载于:https://www.cnblogs.com/zzzzw/p/4920460.html

可变悬挂调节软硬_【5040地推合作品牌】荷兰高性能减震器及悬挂系统品牌—KONI...

GT Show“5040计划”,深入全国各地省市地区,全方位覆盖全国改装门店、一二类维修厂、五大车型(奥迪、宝马、奔驰、保时捷、雷克萨斯)原厂升级店、高端综合店,深挖长三角六大城市后市场门店。GT Show不仅关注传统改装门店,而且全方…

【Alpha 冲刺】 2/12

今日任务总结 人员今日原定任务完成情况遇到问题贡献值胡武成完成API文档编写由于外出比赛,故推迟无0孙浩楷1.完成VUE框架搭建 2.寻找在线编辑图片插件已完成WEB在线编辑图片插件加载速度慢,需要再想办法解决2 0.5胡冰完成MVP框架搭建已完成由于之前有做…