1、第 6 章 通信系统仿真第 6章 通信系统仿真 6.1 通信工具箱函数6.2 信息的度量和编码 6.3 差错控制编 /译码方法 6.4 模拟调制和解调6.5 数字调制和解调6.6 通信系统的性能仿真6.7 扩频通信系统的仿真 扛匹拍担葵跃轿蝎疙蛀蛔篙羽坡稳侗煽挫手蚌断塔夯碾叼膀六喉摈夺嘘稽第6章通信系统仿真第6章第 6 章 通信系统仿真6.1通信工具箱的函数 在 MATLAB的 Communication Toolbox(通信工具箱 )中提供了许多仿真函数和模块,用于对通信系统进行仿真和分析。主要包括两部分内容:通信函数命令和 Simulink的 Communications Blockset
2、(通信模块集)仿真模块。用户既可以在 MATLAB的工作空间中直接调用工具箱中的函数,也可以使用 Simulink平台构造自己的仿真模块,以达到扩充工具箱的内容。通信工具箱中的函数名称和内容列表,其内容包含:Signal Sources(信号源函数 );Signal Analysis function(信号分析函数 );Source Coding(信源编码 );Error Control Coding(差错控制编码函数 );Lower Level Function for Error Control Coding(差错控制编码的底层函数 );Modulation/Demodulation(调制
3、 /解调函数 )Special Filters(特殊滤波器设计函数 );Lower Level Function for Specials Filters(设计特殊滤波器的底层函数 );Channel Functions(信道函数 );Galosi Field Computation(有限域估计函数 );Utilities(实用工具函数 )。湘盛尽萝笑详哟举借铬兰外步五揽衬镐赣任镰棵材低诊浦渐颇菩作枝规刮第6章通信系统仿真第6章第 6 章 通信系统仿真6.2 信息的量度与编码信源熵的输出可以用随机过程来表达。对于一个离散无记忆平稳随机过程,其信息量(熵 )定义为:其中 X表示信源取值集合, p
4、(x)是信源取值 x的概率。6.2.1 Huffman编码信源编码可分为两类:无失真编码和限失真编码。 Huffman编码的基本原理就是为概率较小的信源输出分配较长的码字,而对那些出现可能性较大的信源输出分配较短的码字。Huffman编码算法及步骤如下: 将信源消息按照概率大小顺序排队。 按照一定的规则,从最小概率的两个消息开始编码。 将经过编码的两个消息的概率合并,并重新按照概率大小排序,重复步骤 。 重复上面步骤 ,一直到合并的概率达到 1时停止。这样便可以得到编码树状图。 按照后出先编码的方式编程,即从数的根部开始,将 0和 1分别放到合并成同一节点的任意两个支路上,这样就产生了这组 H
5、uffman码。秩票邦醉建摩孤抛诀讹驻酗垛呸琶愚底厘澡彦俏滔倚很滥丝破镍儒敖焕禁第6章通信系统仿真第6章第 6 章 通信系统仿真6.2.2 MATLAB信源编 /译码方法 大多数信源(比如语音、图像)最开始都是模拟信号,为了将信源输出数字化,信源必须量化为确定数目的级数。量化方案可划分为标量量化和矢量量化两种。在标量量化中每个信源输出都分别被量化,标量量化可进一步分为均匀量化和非均匀量化。在均匀量化中量化区域是等长的;在非均匀量化中量化区域可以是不等长的。矢量量化是对信源输出组合进行整体量化。 在标量量化中,随机标量 X的定义域被划分成 N个互不重叠的区域 Ri, 1 i Fs。变量 Fs可以
6、是标量也可以为一个二维的矢量。二维矢量中第一个值为采样频率,第二个值为调制载波的初相,初相以弧度表示,默认值为 0。根据采样定理,采样频率必须大于或等于调制信号最高频率的两倍。字符串变量 method指定所用的调制方式,见表 6.4。 (2) 带通模拟解调函数 ademod( )格式: z=ademod(y,Fc,Fs,method.)功能:对载波为 Fc的调制信号 y进行解,采样频率 Fs, FcFs。它是 amod函数的逆过程, amod与 ademod选择的调制方式必须相同,否则不容易正确复制出源信号。该函数在解调中用到一个低通滤波器,低通滤波器传输函数的分子、分母由输入参数num、 d
7、en指定,低通滤波器的采样时间等于 1/Fs。当 num=0或缺省时,函数使用一个默认的巴特沃斯低通滤波器,可由num,den=butter(5,Fc*2/Fs)生成。字符串变量 method指定所用的调制方式, 见表 6.4。 底勘划熄澄林络昨镐郡焕轩溶轴诞疆讹捶前籍查秤蝇罗铲秩彝组翁七藩著第6章通信系统仿真第6章第 6 章 通信系统仿真例 6-13 使用 MATLAB对一信号进行正交幅度调制。MATLAB程序如下:Fs=100; %采样频率Fc=15; %载波频率t=0:0.025:2; %采样时间x=sin(pi*t,2*pi*t); %信号y=amod(x,Fc,Fs,qam); %正
8、交幅度调制z=ademod(y,Fc,Fs,qam); %正交幅度解调plot(t,x(:,1),-,t,z(:,1),-) %绘制调制信号hold; plot(t,x(:,2),-o,t,z(:,2),-*) %绘制调制信号程序运行得到的信号和解调信号的波形如图 6.20所示。 逝瘩琐梭卵冰蹿懊疤耙莹筏窥耐钥笆把察稳邪吠噎酱扛季沧枚甲法络看脂第6章通信系统仿真第6章第 6 章 通信系统仿真6.4.2 基带模拟调制 /解调基带仿真,也称低通对等方法,使用带通信号的复包络作为输入信号。设 B为原始信号带宽,基带仿真要求仿真抽样率大于或等于 2B ,而一般的有 Bfc 。基带调制器的输出为复数信号
9、,作为基带解调器的输入。 其中 fc和 分别是载波信号的频率和相位。利用 z(t)的估值可以恢复信号 u(t) 相干解调接收信号 z(t)的同相和正交分量为: 非相干解调非相干解调可以应用于 DSB-SC AM 、 DSB-TC AM 、 FM 和 PM 。对于 AM调制,非相干解调可以使用包络检测法。图 6.23 基带调制 /解调 馁兆频融蜀饺甫吮乒敦菏株竿揉乍锡逆慑喉拴烫攒郁经考翻蹦姚莎鲸腮首第6章通信系统仿真第6章第 6 章 通信系统仿真1基带模拟调制函数 amodce( )格式: y=amodce(x,Fs,method,)功能:对输入信号 x进行调制,输出复包络信号。输入输出的采样频
10、率为 Fs(Hz)。输出 y为一个复矩阵。 Fs可以是标量也可以为二维的矢量。二维矢量中第一个值为采样频率,第二个值为载波信号的初相,初相以弧度表示,默认值为 0。字符串变量method指定所用的调制方式,见表 6.3。 2基带模拟解调函数 ademodce( )格式: z =ademodce(y,Fs,method)功能:对接收的复包络信号 y进行解调, y的采样频率为 Fs(Hz)。 Fs可为标量也可以为二维矢量。矢量中第一个值为采样频率,第二个值为调制载波的初相,初相为弧度表示,且默认值为 0。采样频率必须与调制中所用的采样频率一致,但初相可以不一致。函数在解调中可使用低通滤波器,低通滤
11、波器传输函数的分子、分母分别由输入参数 num和 den指定 ,低通滤波器的采样时间为 1/Fs 秒。当 num=0或缺省时,该函数将不使用低通滤波器。字符串变量 method指定所用的调制方式, 见表 6.3。 。侥惦沁甸氟形垃肉棠虹兰伐谓陕点董挤怕箍钞国吩千快序峦咀郡法被遍晌第6章通信系统仿真第6章第 6 章 通信系统仿真例 6-15 利用 MATLAB对一信号进行基带调制解调。MATLAB程序如下: Fs=100; %信号采样频率t=0:1/Fs:5; %信号采样时间x=sin(2*pi*t),.5*cos(5*pi*t),sawtooth(4*t); %输入信号原y=amodce(x,
12、Fs,fm); %调制z=ademodce(y,Fs,fm); %解调subplot(2,1,1);plot(x); %绘制源信号subplot(2,1,2);plot(z); %绘制调制解调后的信号程序运行得到的信号源和解调信号的波形如图 6.24所示。 沉酝利早僻与睦永赐惠榆窄抑倡鳞描狭旁罪倘渴汽猫啪氦汁散怂篱瑞译贱第6章通信系统仿真第6章第 6 章 通信系统仿真6.5 数字调制与解调1 M元幅度键控调制 (M-ASK)M元幅度键控调制包含两部分, M-ASK映射和模拟幅度调制。 M-ASK映射将输入的数字码符映射到区间 -x, x,数字码符取值范围是 0, M-1区间内的整数。输出信号的幅值分别为 -x, x的 M-1等分点。 按数字调制的方法分类可以分为多进制幅度键控 (M-ASK)、正交幅度键控 (QASK)、多进制频率键控 (M-FSK)以及多进制相位键控 (M-PSK)。数字调制包括数模转换和模拟调制两部分,如图 6.25所示。 图 6.25 数字调制过程 乾装狭径误菏昌孰标亚柿搓施荡或咆第韭衬镍隋块胃咳错些拄桓按拟府瞩第6章通信系统仿真第6章