深入浅出通信原理Python代码版

深入浅出通信原理是陈爱军的心血之作,于通信人家园连载,此处仅作python代码笔记训练所用

陈老师的连载从多项式乘法讲起,一步一步引出卷积、傅立叶级数展开、旋转向量、三维频谱、IQ调制、数字调制等一系列通信原理知识

连载1:从多项式乘法说起

\[

(x+1)(x^2+2x+5)=x^3+3x^2+7x+5

\]

import sympy

x = sympy.Symbol('x')

sympy.expand((x+1)*(x*x+2*x+5))

这种计算方法总结起来就是:

反褶:一般多项式都是按x的降幂排列,这里将其中一个多项式的各项按x的升幂排列。

平移:将按x的升幂排列的多项式每次向右平移一个项。

相乘:垂直对齐的项分别相乘。

求和:相乘的各结果相加。

反褶、平移、相乘、求和-这就是通信原理中最常用的一个概念“卷积”的计算过程。

连载2:卷积的表达式

将多项式转换成矩阵形式

\[

x+1 -> [1,1]\x^2+2x+5 -> [1,2,5]\x^3+3x^2+7x+5=[1,1]*[1,2,5]=[1,3,7,5]

\]

其中卷积(*)的运算如下:

\(c(n)=a(n)*b(n)=\sum_{k=0}^n{a(k)b(n-k)},n=0~(n1+n2)\)

其中n1是a(n)的系数总个数,n2是b(n)的系数总个数

Python计算卷积

import numpy as np

np.convolve([1,1],[1,2,5]) #上例,result:[1, 3, 7, 5]

# 杨辉三角,输入行数,输出对应行的值

def pascal_triangle(n):

if n == 0:

return 1

elif n == 1:

return [1,1]

else:

return np.convolve([1,1],pascal_triangle(n-1))

# test code

for i in range(0,7):

print(pascal_triangle(i))

# 杨辉三角,迭代器形式

def triangles():

nlist=[1]

while True:

yield nlist

nlist.append(0)

nlist = [nlist[i] + nlist[i-1] for i in range(len(nlist))]

# test code

tr = triangles()

for i in range(0,7):

print(next(tr))

python 通信_深入浅出通信原理(Python代码版)相关推荐

  1. 深入浅出 GAN·原理篇文字版(完整)

    深入浅出 GAN·原理篇文字版(完整)|干货 机翼技术 百家号 05-29 02:02 导语 这次的内容主要是想梳理 GAN 从 NIPS 2014 被提出,到 2017年5月,都有哪些重要的从原理和 ...

  2. python 通信系统仿真_深入浅出通信原理连载22-40(Python代码版)

    深入浅出通信原理Python代码版 深入浅出通信原理是陈爱军的心血之作,于通信人家园连载,此处仅作python代码笔记训练所用 陈老师的连载从多项式乘法讲起,一步一步引出卷积.傅立叶级数展开.旋转向量 ...

  3. python频域三维图_深入浅出通信原理连载1-21(Python代码版)

    深入浅出通信原理Python代码版 深入浅出通信原理是陈爱军的心血之作,于通信人家园连载,此处仅作python代码笔记训练所用 陈老师的连载从多项式乘法讲起,一步一步引出卷积.傅立叶级数展开.旋转向量 ...

  4. python和arduino串口通信_利用串行通信实现python与arduino的同步

    我有一个需要:使用arduino将伺服电机移动到某个位置并在该位置停止 让一个由python控制的相机在那个位置获取图像 当图像被采集到时,伺服机构应该移动到一个对称的位置 这个序列重复N次 所以我尝 ...

  5. python 优先队列_示例讲解:python队列原理及实现方法与操作思路

    今天为大家带来的内容是:示例讲解:python队列原理及实现方法与操作思路 本文内容主要介绍了python队列原理及实现方法,结合实例形式详细分析了Python队列的概念.原理.定义及基本操作技巧,需 ...

  6. anaconda3对应的python版本_利用SWIG实现Python调用C/C++!速度快就算了,代码量还特少!...

    SWIG简介 SWIG是Simplified Wrapper and Interface Generator的简称,它是一个能将C和C++的程序与其他各种高级语言诸如Perl,Python,Ruby和 ...

  7. 计算机导论python知识点_如何系统地自学 Python?

    我是自学的Python.从对Python一无所知,到在博客上写Python相关的系列文章(Python快速教程),前后有将近三年的时间.期间有不少门槛,但也充满乐趣.乐趣是自学的最大动力.Python ...

  8. 使用python数据分析_我如何使用Python分析《权力游戏》

    使用python数据分析 By Rocky Kev 洛基·凯夫(Rocky Kev) I wanted to learn Python for a long time, but I could nev ...

  9. 3 x 10的python表达式_这道数学题用PYTHON编程语言怎么写? 编程语言python是用

    我觉着,这个应该这样解决比较符合计算机解题思路. 下面的回答的,思考的东西太多. # -*- coding: utf-8 -*- __author__ = 'lpe234' __date__ = '2 ...

  10. 零基础学python 视频_全网最全Python视频教程真正零基础学习Python视频教程 490集...

    Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python Web开发进阶课程,手把手教你用Python开发完整的商业 ...

最新文章

  1. WF4 Beta,RC版文章总结
  2. JavaScript 技术篇-textContent获取dom节点text文本内容带空格,js获取带空格的dom节点内容
  3. 如何计算近似纳什均衡_明明合作可以“共赢”,为什么他会损人不利己?博弈论之纳什均衡...
  4. java utf-8格式,JAVA编写文件格式转换UTF-8
  5. [Windows Server 2012] Discuz X3安全设置
  6. CentOS通过yum安装高版本gcc
  7. A+B and C (64bit)
  8. Git不断询问我ssh密钥密码
  9. numpy.reshape
  10. samba服务端配置和客户端使用【含windows共享文件到linux】
  11. 云计算未来的5个发展趋势分析
  12. 成果展示 | 大数据应用开发平台DWF
  13. 5部靠身材和脸蛋撑起了整部电影,女主光环太刺眼,部部是经典!
  14. 推荐几个适合上班摸鱼的神操作!
  15. 微信小程序九宫格预览+单张图片预览
  16. JAVA简单手写数字识别
  17. MySQL数据库引擎、数据事务与隔离级别
  18. 机器学习(Machine learning: a probabilistic perspective) 第三章阅读笔记
  19. LAMP编程之Linux-1
  20. ApolloScape自动驾驶数据集

热门文章

  1. 一个九号mini平衡车电池修复过程
  2. VSS2005源代码管理
  3. ftp服务器文件查找,ftp服务器中查找文件
  4. php文字音频插件下载安装,Goodhertz音频插件下载
  5. python-Key Error问题
  6. 线性代数:特征向量和特征值
  7. 采用文件白名单方式构建主机安全环境
  8. The tough time set
  9. 开机未发现nvidia控制面板_nvidia控制面板在哪?nvidia控制面板打不开怎么办?
  10. 记事本编程开发以及IDEA编程开发