很多原理一旦上升为理论,常常伴随着繁杂的数学推导,很简单的本质反而被一大堆公式淹没,通信原理因此让很多人望而却步。非常复杂的公式背后很可能隐藏了简单的道理。真正学好通信原理,关键是要透过公式看本质。以复傅立叶系数为例,很多人都只是会套公式计算,真正理解其含义的人不多。对于经常出现的“负频率”,真正理解的人就更少了。连载1:从多项式乘法说起多项式乘法相信我们每个人都会做:再合并同类项的方法得到的,要得到结果多项式中的某个系数,需要两步操作才行,有没有办法一步操作就可以得到一个系数呢?下面的计算方法就可以做到:这种计算方法总结起来就是:反褶:一般多项式都是按x的降幂排列,这里将其中一个多项式的各项按x的升幂排列。平移:将按x的升幂排列的多项式每次向右平移一个项。相乘:垂直对齐的项分别相乘。求和:相乘的各结果相加。反褶、平移、相乘、求和-这就是通信原理中最常用的一个概念“卷积”的计算过程。连载2:卷积的表达式利用上面的计算方法,我们很容易得到:c(0)=a(0)b(0)c(1)=a(0)b(1)+a(1)b(0)c(2)=a(0)b(2)+a(1)b(1)+a(2)b(0)c(3)=a(0)b(3)+a(1)b(2)+a(2)b(1)+a(3)b(0)其中:a(3)=a(2)=b(3)=0在上面的基础上推广一下:假定两个多项式的系数分别为a(n),n=0~n1和b(n),n=0~n2,这两个多项式相乘所得的多项式系数为c(n),则:c(0)=a(0)b(0)c(1)=a(0)b(1)+a(1)b(0)c(2)=a(0)b(2)+a(1)b(1)+a(2)b(0)c(3)=a(0)b(3)+a(1)b(2)+a(2)b(1)+a(3)b(0)c(4)=a(0)b(4)+a(1)b(3)+a(2)b(2)+a(3)b(1)+a(4)b(0)以此类推可以得到:上面这个式子就是a(n)和b(n)的卷积表达式。通常我们把a(n)和b(n)的卷积记为:a(n)*b(n),其中的*表示卷积运算符。连载3:利用matlab计算卷积表面上看,卷积的计算公式很复杂,计算过程也很麻烦(反褶,平移,相乘,求和),实际上使用Matlab很容易计算。以上面的a(n)=[11],b(n)=[125]的卷积计算为例:a=[11];b=[125];c=conv(a,b);cc=1375后面很多地方的讲解都会用到matlab,没用过matlab的同学,请到网上下载个matlab7.0,安装后,将上面前4行内容拷贝到命令窗口中执行,即可得到上面的执行结果。为了更好地理解卷积(多项式相乘,相当于系数卷积),我们用matlab画一下高中学过的杨辉三角。杨辉三角是一个由数字排列成的三角形数表,一般形式如下:111121133114641151010511615201561其中每一横行都表示(a+b)^n(此处n=1,2,3,4,5,6,∙∙∙∙∙∙)展开式中的系数。杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。x=[11];y=[11];yy=11y=conv(x,y)y=121y=conv(x,y)y=1331y=conv(x,y)y=14641y=conv(x,y)y=15101051y=conv(x,y)y=1615201561连载4:将信号表示成多项式的形式多项式乘法给了我们启发:如果信号可以分解为类似多项式的这种形式:存不存在满足这个条件的x呢?前人早就给出了答案,那就是:附:前面推导过程中用到的几个三角公式:连载5:著名的欧拉公式这就是著名的欧拉公式。对于欧拉公式,大家知道结论就可以了,想知道怎么得来的同学请参考下面的证明。欧拉公式的证明(利用泰勒级数展开):连载6:利用卷积计算两个信号的乘积下面我们举个具体的例子来体会一下“如果信号可以分解为类似多项式的这种形式:会涉及一系列的三角函数公式,计算过程非常麻烦。具体的计算过程这里就不列了,大家可以试一下,看看有多麻烦。连载7:信号的傅立叶级数展开上面这种把信号表示成形式类似于多项式的方法,本质上就是傅里叶级数展开,多项式中各项的系数实际就是傅里叶系数:以频率为横轴,傅里叶系数为纵轴,画出的图就是频谱图。前面我们已经知道:[3,17,28,12]=[1,5,6]*[3,2]因此很容易得出:时域相乘,相当于频域卷积。连载8:时域信号相乘相当于频域卷积连载9:用余弦信号合成方波信号前面为了利用卷积,我们将信号表示成了多项式的形式,用多个复指数信号合成我们所需的信号。为了更好地理解多个复指数信号合成所需信号,我们先来看一下用多个余弦信号合成方波信号的过程。直流分量叠加一个cos(x)余弦分量:y=0.5+0.637.*cos(x);再叠加一个cos(3x)余弦分量:y=0.5+0.637.*cos(x)-0.212.*cos(3*x);再叠加一个cos(5x)余弦分量:y=0.5+0.637.*cos(x)-0.212.*cos(3*x)+0.127.*cos(5*x);随着合成的余弦信号越来越多,波形越来越逼近一个方波,这从一个侧面验证了傅立叶级数展开的正确性:可以将方波分解成一个直流分量和无数个余弦波分量之和。连载10:傅立叶级数展开的定义连载11:如何把信号展开成复指数信号之和?前面我们已经把信号展开成了直流分量、余弦分量和正弦分量之和,可是如何把信号展开成复指数信号之和呢?将上述公式代入前面的傅立叶级数展开式中,我们就可以得到一个很简洁的复指数形式的傅立叶展开式。建议大家动手推导推导,这样可以加深印象。其中:连载12:复傅立叶系数连载13:实信号频谱的共轭对称性连载14:复指数信号的物理意义-旋转向量加上时间轴t,我们来看旋转向量的三维图:注:x轴为实轴,y轴为虚轴旋转向量在x-y平面的投影:旋转向量在x-t平面的投影:旋转向量在y-t平面的投影:连载15:余弦信号的三维频谱图正弦信号的三维频谱图连载17:两个旋转向量合成余弦信号的动画附件动画演示的是:两个旋转方向相反的向量合成余弦信号。这个动画是利用MATLAB制作并转成.avi文件的。方法没掌握好,动画的生成(转存为avi文件)花了不少于半小时的时间。请matlab高手指点一下。谢谢!横轴是实轴,纵轴是虚轴。连杆代表向量,连杆首尾相连代表向量相加,连杆的末端所经过的轨迹就是合成的信号。初始位置的连杆代表的向量就是信号的复傅立叶系数。连载18:周期信号的三维频谱图连载19:复数乘法的几何意义连载20:用成对的旋转向量合成实信号注:图中蓝色的向量即代表复傅立叶系数,即t=0时刻旋转向量所在的位置。注意两点:1、由于初始相位关于实轴对称,旋转角速度相同,旋转方向相反,合并后的旋转向量只在实轴上有分量,在虚轴上没有分量。得到这样的结论是因为:我们分析的信号本身是实信号。2、正负频率对应的复傅立叶系数合并,是向量相加,不是简单的幅度相加。从前面的分析来看,虽然我们通过复傅立叶级数展开将实信号分解为了一系列的旋转向量之和(由此引出了复数,使得实信号的表达式中出现了复数),但由于逆时针和顺时针旋转的向量成对出现,而且成对出现的旋转向量的初始相位关于实轴对称,旋转的角速度相同,旋转方向相反,所以这些旋转向量合成的结果最终还是一个实信号(只在实轴上有分量,虚轴上的分量相互抵消掉了)。连载21:利用李萨育图形认识复信号通过前面的讲解,我们对实周期信号及其频谱有了一定的认识。很多人会想到这个问题:如何理解复信号?我们来回忆一下物理中学过的李萨育图形:当我们使用互相成谐波频率关系的两个信号分别作为X和Y偏转信号送入示波器时,这两个信号分别在X轴、Y轴方向同时作用于电子束而描绘出稳定的图形,这些稳定的图形就叫“李萨育图形”,如下图所示:附:画出李萨育图形的matlab程序forf=1:5;t=0:0.001:1000;x=cos(2*pi*t);y=sin(2*pi*f*t);subplot(1,5,f);plot(x,y);axisoff;end连载22:实信号和复信号的波形对比在下面两张图中:x轴(实轴)、y轴(虚轴)所在的平面是复平面,t轴(时间轴)垂直于复平面。上图为实信号f(t)=cos(2πt)的波形图。下图为复信号f(t)=cos(2πt)+jsin(2πt)的波形图。对比这两张图,很容易得出:实信号在复平面上投影时只有实轴方向有分量,而复信号在复平面上投影时实轴和虚轴方向都有分量。t=0:0.001:10;x=cos(2*pi*t);subplot(2,1,1);plot3(x,t,0*t);set(gca,'YDir','reverse');gridon;x=cos(2*pi*t);y=sin(2*pi*t);subplot(2,1,2);plot3(x,t,y);set(gca,'YDir','reverse');gridon;再看一个复信号,该信号在复平面上的投影就是前面介绍过的李萨育图形中的第2张图。t=0:0.001:10;x=cos(2*pi*t);y=sin(4*pi*t);plot3(x,t,y);set(gca,'YDir','reverse');gridon;利用欧拉公式理解虚数用到复数的地方都会涉及到虚数“j”。数学中的虚数一般用“i”表示,而物理中一般用“j”表示,物理中之所以不用“i”表示虚数,主要是因为物理中经常用“i”表示电流。如果追溯起来,在高中的时候我们就学过虚数了。具体说来,我们第一次接触虚数应该是在解一元三次方程的时候。连载24:IQ信号是不是复信号?连载25:IQ解调原理IQ解调原理如下图所示:t=-1:0.001:1;f=1;y=cos(2*pi*2*f*t);subplot(1,2,1);plot(t,y);y=sin(2*pi*2*f*t);subplot(1,2,2);plot(t,y);连载26:用复数运算实现正交解调回到前面的正交调制解调原理框图,如果我们把调制、信道传输、解调过程看作一个黑箱,那么在发送端送入黑箱的复信号被原封不动地传送到了接收端,表面上我们实现了复信号的发送和接收,实质上在信道上传输的是实信号s(t)=acosω0t–bsinω0t。连载27:为什么要对信号进行调制?连载28:IQ调制为什么被称为正交调制?讲了半天IQ调制,还没说为什么这种调制方法又被称为“正交”调制呢?答案是:因为IQ信号被调制到了一对正交的载波上。前面我们已经看到了,IQ调制用的载波一个是余弦波,另一个是正弦波。为什么说余弦波和正弦波是正交的呢?这是因为正弦波和余弦波满足如下两个条件:1)正弦波和余弦波的乘积在一个周期内的积分等于0。即:连载29:三角函数的正交性连载30:OFDM正交频分复用调制后的数据到了接收端才能被解调出来。连载31:OFDM解调你是对这两个概念不清楚吗?还是对具体的编码算法不清楚。如果是后者,范围太大了,也比较复杂,不是三句两句能讲清楚的。如果是前者,我可以试着解释一下。信源编码:说白了就是对信源发出的信号进行的编码,一般的语音编码就属于信源编码,例如:PCM编码(将语音信号编码成64kbps的码流)、CDMA中的EVRC和QCELP_8K(将语音信号编码成8kbps的码流)等编码。信道编码:说白了就是为了提高信号的抗干扰能力,在送入信道进行传输之前对信号所做的编码,例如:常见的FEC编码(前向纠错码,例如卷积码、Turbo码),FEC编码的实质就是在发送端加入冗余信息,在接收端利用这些冗余信息进行纠错。二者的关系如下:连载32:CDMA中的正交码不只是正交调制中用到的三角函数之间具备正交性,有一些码(矩形脉冲串)也具有这种特性,例如:CDMA中所用的walsh码。下面我们来看看walsh码,这是一种正交码。Walsh码在码分多址系统(CDMA、WCDMA等)中一般被用于区分不同的信道,不同的用户将分配不同的信道(使用不同的walsh码)来传业务,“码分多址”中的“码”就包括walsh码。连载33