《深入浅出通信原理》学习(1-8)
来源:互联网 发布:日语手写输入软件 编辑:程序博客网 时间:2024/06/11 17:07
本文主要整理深入浅出通信原理的1-8帖,从“多项式乘法”到“利用卷积计算信号乘积”,链接如下:
http://bbs.c114.net/thread-394879-1-1.html#pid4546802
一、多项式乘法
一般的求多项式乘积的方法是,逐项相乘再合并同类项,如下:
卷积求多项式乘积,则分为四步:反褶,平移,相乘,求和
以上图为例,具体步骤是:
1)将一个多项式升幂排列,一个降幂排列,并且刚好不重叠。(反褶)
2)平移下面一行的多项式(降幂排列),对重叠项交叉相乘。
3)每次平移一位,求一个系数值。
注:我们可以换成两个同幂的多项式自行验证。
二、卷积(Convolution)的表达式
从上面多项式乘法可以看出,卷积的优点是:
1)是可以各个系数可以分开求解;
2)是各个系数的求解过程类似,方便编程实现。
从算法的角度分析:
1)普通多项式乘法的效率是O(n^2),无论是逐项相乘还是合并同类项,都需要两重循环。
2)卷积的效率是O(nlogn)。
事实上,通过归纳法,可以得到多项式系数的卷积公式:
注:上述公式是系数矩阵的卷积表达式。
三、利用matlab计算卷积
1,将上述多项式系数表示为两个矩阵a和b,积的系数矩阵表示为c。matlab求卷积代码如下:
c = conv(a,b)
2,杨辉三角
注:通过matlab,可以很形象的看出,杨辉三角就是“上下相邻两行”卷积,得出第三行的反复计算过程。
初始值为x=[1 1]; y = [1 1];去除顶点。
四、将信号表示为多项式
比如,将信号如下表示:
注:本节主要找寻“幂与三角函数”之间的对应关系,为降幂探索一种方法。
五、欧拉公式
上一节探讨了将信号表示为三角函数形式的多项式的方法,本节将介绍欧拉公式来简化这个多项式。
欧拉公式的推导和证明,可以自行google。它的主要用处是,将复杂的三角函数表达式,转为简洁的复数指数表达式。
注:将参数取反,代入欧拉公式,可以得到另一个表达式,这个表达式与原始的欧拉公式一起可以转换任意三角函数表达式。
六、利用卷积计算两个信号的乘积
前面作了那么多铺垫,主要是为了“利用卷积计算两个信号的乘积”。将欧拉公式代入信号多项式,如下:
注:上面用到了两个化简的方法
1)欧拉公式将复杂的三角函数运算变为简单的复数域加减;
2)卷积简化多项式乘法。
七、信号的傅立叶级数展开
把信号表示为多项式的形式,实际上就是“信号的傅立叶级数展开”,多项式中各项的系数就是傅立叶系数。
下面之前的两个信号为例,作频谱图,如下:
我们已经验证了[1 5 6] * [3 2] = [3 17 28 12]。因此,我们可以很容易理解“时域相乘,相当于频域卷积”。
八、时域信号相乘相当于频域卷积
“时域相乘,相当于频域卷积”,它为简化运算提供了一个全新的途径。为了获得两个信号f(t)和g(t)在时域相乘的结果y(t)=f(t)g(t),我们可以先分析这两个信号的频谱f[n]和g[n],再对这两个信号的频谱做卷积,得到乘积信号的频谱y[n]=f[n]*g[n],然后将频谱分量y[n]乘以对应的e^(jnwt),再相加即得到时域的乘积信号
注意:当我们说频域的时候,我们说的只是频谱,也就是e^(jnwt)前的系数,不包括e^(jnwt)本身。各频谱分量乘以对应的e^(jnwt)再相加才能得到时域的信号。
- 《深入浅出通信原理》学习(1-8)
- 《深入浅出通信原理》学习笔记(目录)
- 《深入浅出通信原理》学习(9-13)
- 《深入浅出通信原理》学习(14-20)
- <深入浅出通信原理>参考书籍及资料
- 《深入浅出MFC》学习笔记之Win32程序设计原理(一)
- hjr学习-通信原理(六):信道
- 《现代通信原理》学习(一)绪论
- hjr学习-通信原理(一):通信基础
- 深入浅出数据库索引原理1
- 大数据学习篇:hadoop深入浅出系列之HDFS(八) ——RPC通信
- Java学习-Tcp_Socket通信原理
- 九.ARM裸机学习之串口通信详解1(串口通信接口及原理框图详解)
- 《深入浅出MFC》学习笔记(1)
- hjr学习-通信原理(四):数字信号模拟载波调制
- hjr学习-通信原理(五):随机过程
- 《现代通信原理学习》(二)随机信号分析
- LoRa学习:LoRa进行跳频扩频通信(FHSS)的原理
- JQUERY的选择器
- Reachability 和AFNetWorking 第三方框架对网络的监测
- 让你完全理解base64是怎么回事
- 栈
- Chrome通过ARChon插件加载运行Android应用
- 《深入浅出通信原理》学习(1-8)
- 纯JavaScript实现HTML5 Canvas六种特效滤镜
- [乐意黎转载]PHP mysql_affected_rows() 函数
- labels适应文字高度
- 让我印象深刻并很喜欢的一个bug
- iOS 基于GCDAsyncSocket快速开发Socket通信(1)
- Android studio启动后卡在refreshing gradle project(包解决)
- [乐意黎转载]PHP mysql_real_escape_string() 函数
- Goolge服务包内置