通信工具箱课件

上传人:大米 文档编号:568604530 上传时间:2024-07-25 格式:PPT 页数:42 大小:175.50KB
返回 下载 相关 举报
通信工具箱课件_第1页
第1页 / 共42页
通信工具箱课件_第2页
第2页 / 共42页
通信工具箱课件_第3页
第3页 / 共42页
通信工具箱课件_第4页
第4页 / 共42页
通信工具箱课件_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《通信工具箱课件》由会员分享,可在线阅读,更多相关《通信工具箱课件(42页珍藏版)》请在金锄头文库上搜索。

1、第第8章章 通信工具箱通信工具箱 8.1 MATLAB信源编信源编/译码方法译码方法8.2 差错控制编差错控制编/译码方法译码方法 8.3 调制与解调调制与解调8.4 通信系统性能仿真通信系统性能仿真8.5 实验九实验九 通信系统仿真实验通信系统仿真实验通信工具箱课件 在MATLAB的Communication Toolbox(通信工具箱)中提供了许多仿真函数和模块,用于对通信系统进行仿真和分析。主要包括两部分内容:通信函数命令和Simulink的Communications Blockset(通信模块集)仿真模块。用户既可以在MATLAB的工作空间中直接调用工具箱中的函数,也可以使用Simu

2、link平台构造自己的仿真模块,以达到扩充工具箱的内容。通信工具箱中的函数名称和内容列表,其内容包含:Signal Sources(信号源函数);Signal Analysis function(信号分析函数);Source Coding(信源编码);Error Control Coding(差错控制编码函数);Lower Level Function for Error Control Coding(差错控制编码的底层函数);Modulation/Demodulation(调制/解调函数)Special Filters(特殊滤波器设计函数);Lower Level Function for

3、Specials Filters(设计特殊滤波器的底层函数);Channel Functions(信道函数);Galosi Field Computation(有限域估计函数);Utilities(实用工具函数)。通信工具箱课件 在MATLAB通信工具箱中提供了两种信源编译码的方法:标量量化和预测量化。 1.标量量化标量量化(1)信源编码中的信源编码中的 律或律或A律压扩计算函数律压扩计算函数compand( ) 格式:格式:out=compand(in, param, V, method)功能:实现 律或A律压扩,其中param为 值,V为峰值。压扩方式由method指定。 8.1 MATL

4、AB8.1 MATLAB信源编信源编/ /译码方法译码方法通信工具箱课件(2) 产生量化索引和量化输出值的函数产生量化索引和量化输出值的函数quantiz( ) 格式:格式:indx=quantiz(sig, partition) 功能:根据判断向量partition,对输入信号sig产生量化索引indx,indx的长度与sig矢量的长度相同。(3) 采用训练序列和采用训练序列和Lloyd算法优化标量算法的函数算法优化标量算法的函数lloyds( ) 格式:格式:parition, codebook=lloyds(training_set, ini_codebook)功能:用训练集矢量trai

5、ning_set优化标量量化参数partition和码本codebook。ini_codebook是码本codebook的初始值。例例8-1 用训练序列和Lloyd算法,对一个正弦信号数据进行标量化。MATLAB程序如下:N=23; %以3比特传输信道t=0:100*pi/20;u=cos(t);p,c=lloyds(u,N); %生成分界点矢量和编码手册index,quant,distor=quantiz(u,p,c); %量化信号plot(t,u,t,quant,*);该程序运行结果如图8.1所示。通信工具箱课件2.2.预测量化预测量化 根据过去发送的信号来估计下一个将要发送的信号值。(1

6、) (1) 差分脉冲调制编码函数差分脉冲调制编码函数dpcmenco( )格式:格式:indx=dpcmenco(sig, codebook, partition, predictor)功能:返回DPCM编码的编码索引indx。其中参数sig为输入信号,predictor为预测器传递函数,其形式为0, t1, tm。 预测误差的量化参数由partition和predictor指定。(2) 信源编码中的信源编码中的DPCM解码函数解码函数dpcmdeco( )格式:格式:sig=dpcmdeco(indx, codebook, predictor)功能:根据DPCM信号编码索引indx进行解码。

7、predictor为指定的预测器,codebook为码本。(3) 用训练数据优化差分脉冲调制参数的函数用训练数据优化差分脉冲调制参数的函数dpcmopt( )格式:格式:predictor=dpcmopt(training_set, ord) 功能:对给定训练集的预测器进行估计,训练集及其顺序由training_set和ord指定,预测器由predictor输出。通信工具箱课件例8.3 用训练数据优化DPCM方法,对一个锯齿波信号数据进行预测量化 通信工具箱课件MATLAB程序如下:clccleart = 0:pi/50:2*pi;x = sawtooth(3*t); Original sig

8、nalinitcodebook = -1:.1:1; Initial guess at codebook Optimize parameters, using initial codebook and order 1.predictor,codebook,partition = dpcmopt(x,1,initcodebook); Quantize x using DPCM.encodedx = dpcmenco(x,codebook,partition,predictor); Try to recover x from the modulated signal.decodedx, equan

9、t = dpcmdeco(encodedx,codebook,predictor);distor = sum(x-decodedx).2)/length(x) Mean square errorplot(t,x,t, equant,*);通信工具箱课件程序运行输出distor = 8.6801e-004结果如图8.3所示。通信工具箱课件图8.3 DPCM预测量化误差通信工具箱课件8.2 差错控制编/译码方法 在通信系统中,差错控制编/译码技术被广泛地用于检查和纠正信息在传递过程中发生的错误。在发送端,差错控制编码添加了一定的冗余码元到信源序列;接收时就利用这些冗余信息来检测和纠正错误。纠错编码

10、主要有分组码和卷积码两种类型。MATLAB通信工具箱提供了一系列函数用于有限域计算。概率解码中最常用的是Viterbi解码,用于卷积码解码。常用的纠错编码方法包括线性分组码、海明码、循环码、BCH码、Reed-Solomon码和卷积码。1. 纠错编码函数纠错编码函数encode( )及译码函数decode( )格式:格式:code=encode(msg, N, K, method, opt)功能:用method指的方法完成纠错编码。其中msg代表信息码元;method是允许的编码方法,包括hamming 、linear等, opt是一个可选择的优化参数。格式:格式:msg=decode(cod

11、e,n,k,method)功能:用指定的method方式进行译码。为了正确地复制出信源序列,编码和译码的调用方式必须相同。通信工具箱课件2. 卷积纠错编码函数卷积纠错编码函数convenc( )格式:格式:code=convenc(msg, trellis)功能:利用poly2trellis函数定义的格形trellis 结构,对二进制矢量信息msg进行卷积编码。编码器的初始状态为零状态。3. 将卷积编码多项式转换成格形将卷积编码多项式转换成格形(trellis)结构函数结构函数poly2trellis( )格式:格式:trellis = poly2trellis(constrainlength

12、, codegenerator)功能:将前向反馈卷积编码器的多项式转换成一格形(trellis)结构。4. 利用利用Viterbi 算法译卷积码函数算法译卷积码函数vitdec( )格式:格式:decoded = vitdec(code,trellis,tblen,opmode,dectype) 功能:利用Viterbi 算法译卷积码。Code为poly2trellis函数或istrellis函数定义的格形trellis结构的卷积码。参数tblen 取正整数,表示记忆(traceback)深度。参数opmode代表解码操作模型。 通信工具箱课件例8.4 使用hamming和cyclic方法对同

13、一个信号进行编码,并且采取线性选项进行Hamming编码,然后进行解码恢复原信号。MATLAB程序如下:n = 7; Codeword lengthk = 4; Message lengthm = log2(n+1); Express n as 2m-1.msg = randint(100,1,0,2k-1); Column of decimal integers Create various codes.codehamming = encode(msg,n,k,hamming/decimal);parmat,genmat = hammgen(m);通信工具箱课件codehamming2 =

14、encode(msg,n,k,linear/decimal,genmat);if codehamming=codehamming2 disp(The linear method can create Hamming code.)endcodecyclic = encode(msg,n,k,cyclic/decimal); Decode to recover the original message.decodedhamming = decode(codehamming,n,k,hamming/decimal);decodedcyclic = decode(codecyclic,n,k,cycl

15、ic/decimal);if (decodedhamming=msg & decodedcyclic=msg) disp(All decoding worked flawlessly in this noiseless world.)end通信工具箱课件程序运行结果如下:The linear method can create Hamming code.All decoding worked flawlessly in this noiseless world.通信工具箱课件8.3 调制与解调 根据调制信号的不同,可将调制分为模拟调制和数字调制。模拟调制的输入信号为连续变化的模拟量,数字调制的

16、调制信号是离散的数字量。在对调制进行仿真模拟有带通的和基带的两种选择。带通仿真的载波信号包含于传输模型中。由于载波信号的频率远高于输入信号,根据抽样定理,抽样频率必须至少大于两倍的载波频率才能正确地恢复信号,因此对高频信号的模拟仿真效率低、速度慢。为了加速模拟仿真,一般使用基带仿真,也称为低通对等方法。基带仿真使用带通信号的复包络。通信工具箱课件(1) 带通模拟调制函数带通模拟调制函数amod( )格式:格式:y=ammod(x,Fc,Fs,method)功能:用载波为Fc(Hz)的信号来调制模拟信号x,采样频率为Fs(Hz),Fc Fs。变量Fs可以是标量也可以为一个二维的矢量。二维矢量中第

17、一个值为采样频率,第二个值为调制载波的初相,初相以弧度表示,默认值为0。根据采样定理,采样频率必须大于或等于调制信号最高频率的两倍。字符串变量method指定所用的调制方式,见表8.3。 (2) 带通模拟解调函数带通模拟解调函数ademod( )格式:格式:z=amdemod(y,Fc,Fs,method.)功能:对载波为Fc的调制信号y进行解,采样频率Fs,FcFs。它是amod函数的逆过程,amod与ademod选择的调制方式必须相同,否则不容易正确复制出源信号。该函数在解调中用到一个低通滤波器,低通滤波器传输函数的分子、分母由输入参数num、den指定,低通滤波器的采样时间等于1/Fs。

18、当num=0或缺省时,函数使用一个默认的巴特沃斯低通滤波器,可由num,den=butter(5,Fc*2/Fs)生成。字符串变量method指定所用的调制方式, 见表8.3。 通信工具箱课件例例8.7 使用使用MATLAB对一信号进行幅度调制。 MATLAB程序如下: Fs=100; 采样频率 Fc=15; 载波频率 t=0:0.025:2; 采样时间 x=sin(pi*t,2*pi*t); 信号 y=ammod(x,Fc,Fs); z=amdemod(y,Fc,Fs); plot(t,x(:,1),-,t,z(:,1),-) 绘制调制信号 hold; plot(t,x(:,2),-o,t,

19、z(:,2),-*) 绘制调制信号图程序运行结果如图8.4所示。 通信工具箱课件3 模 拟 频 率 调 制 函 数 fmmod和 解 调 函 数fmdemody=fmmod(x, Fc, Fs, freqdev),使用频率调制对信号x进行调制,载波信号频率为Fc(Hz),采样速率为Fs(Hz),Fs必须大于或等于2*Fc,freqdev为调制信号的频率偏离常数。y=fmmod(x, Fc, Fs, freqdev, ini_phase),指定调制信号的初始相位,以弧度为单位。z=fmdemod(y, Fc, Fs, freqdev),使用频率解调从载波信号中对信号y解调,载波信号频率为Fc(H

20、z),采样速率为Fs(Hz), Fs必须大于或等于2*Fc,freqdev为调制信号的频率偏离常数。z=fmdemod(y, Fc, Fs, freqdev, ini_phase),指定调制信号的初始相位,以弧度为单位。 通信工具箱课件例8.8 以下代码对两信道输出信号进行频率调制和解调 Fs = 8000; Sampling rate of signalFc = 3000; Carrier frequencyt = 0:Fs/Fs; Sampling timess1 = sin(2*pi*300*t)+2*sin(2*pi*600*t); Channel 1s2 = sin(2*pi*150

21、*t)+2*sin(2*pi*900*t); Channel 2x = s1,s2; Two-channel signaldev = 50; Frequency deviation in modulated signaly = fmmod(x,Fc,Fs,dev); Modulate both channels.z = fmdemod(y,Fc,Fs,dev); Demodulate both channels.通信工具箱课件4相位调制函数pmmod和解调函数pmdemody=pmmod(x, Fc, Fs, phasedev),使用相位调制对信号x进行调制,载波信号频率为Fc(Hz),采样速

22、率为Fs(Hz), Fs必须大于或等于2*Fc,freqdev为调制信号的相位偏离常数。y=pmdemod(x, Fc, Fs, phasedev, ini_phase),指定调制信号的初始相位,以弧度为单位。z=pmdemod(y, Fc, Fs, phasedev),使用相位解调对相位调制信号y解调,载波信号频率为Fc(Hz),采样速率为Fs(Hz), Fs必须大于或等于2*Fc,freqdev为调制信号的相位偏离弧度数。z=pmmod(y, Fc, Fs, phasedev, ini_phase),指定调制信号的初始相位,以弧度为单位。 通信工具箱课件例8.9 对一模拟信号进行相位调制,

23、经信道AWGN(即叠加高斯白噪声),解调并绘制原始信号与解调后信号波形。MATLAB程序如下: Prepare to sample a signal for two seconds, at a rate of 100 samples per second.Fs = 100; Sampling ratet = 0:2*Fs+1/Fs; Time points for sampling Create the signal, a sum of sinusoids.x = sin(2*pi*t) + sin(4*pi*t);通信工具箱课件Fc = 10; Carrier frequency in mo

24、dulationphasedev = pi/2; Phase deviation for phase modulationy = pmmod(x,Fc,Fs,phasedev); Modulate.y = awgn(y,10,measured,103); Add noise.z = pmdemod(y,Fc,Fs,phasedev); Demodulate. Plot the original and recovered signals.figure; plot(t,x,k-,t,z,g-);legend(Original signal,Recovered signal);程序运行结果如图8.

25、5所示。 通信工具箱课件图8.5 相位调制解调信号通信工具箱课件5模拟单边带幅度调制函数ssbmod和解调函数ssbdemody=ssbmod(x, Fc, Fs),采取单边带幅度调制方法,信号x以频率Fc(Hz)调制一载波信号,以下边带为期望的频带,载波信号和x的采样频率为Fs(Hz),调制信号具备零初始相位。 y=ssbmod(x, Fc, Fs, ini_phase),指定了初始相位,以弧度为单位。y=ssbmod(x, fc, fs, ini_phase, upper),以上边带为期望的频带。z=ssbdemod(y, Fc, Fs),单边带幅度解调,其他定义同ssbmod。z=ssb

26、demod(y, Fc, Fs, ini_phase)z=ssbdemod(y, Fc, Fs, ini_phase, num, den)通信工具箱课件例8.10 以下代码解调一个上边带和下边带信号。 MATLAB程序如下:Fc = 12000; Fs = 270000;t = 0:1/Fs:0.01;s = sin(2*pi*300*t)+2*sin(2*pi*600*t);y1 = ssbmod(s,Fc,Fs,0); Lower-sideband modulated signaly2 = ssbmod(s,Fc,Fs,0,upper); Upper-sideband modulated

27、signals1 = ssbdemod(y1,Fc,Fs); Demodulate lower sidebands2 = ssbdemod(y2,Fc,Fs); Demodulate upper sideband通信工具箱课件 Plot results to show that the curves overlap.figure; plot(t,s1,r-,t,s2,k-);legend(Demodulation of upper sideband,Demodulation of lower sideband)程序运行结果如图8.6所示。图8.6 单边带幅度调制和解调信号 通信工具箱课件6 数

28、 字 调 制 和 解 调 函 数 fskmod, fskdemod, modnormy=fskmod(x, M, freq_sep, nsamp),M元频率键控调制,输出y为调制信号x的复包络,M必须是2的整数次幂。数字码符取值范围是0, M-1区间内的整数。freq_sep为频率步长,nsamp表示输出y的每个符号的采样个数,必须为大于1的正整数。根据Nyquist采样理论,freq_sep和M必须满足(M-1)*freq_sep bertool即可打开一个图形用户界面窗口误码率分析界面,如图8.9所示。通信工具箱课件图8.9 误码率仿真窗口通信工具箱课件8.4.2 通信模块集Simulin

29、k模块库中专门提供了通信模块集(Communications Blockset),如图8.22所示。简要介绍各模块组的作用如下。通信工具箱课件图8.22 通信模块集通信工具箱课件(1) 通信信源模块组(Comm Sources):包含各种通信信号输入模块和I/O演示模块。(2) 通信输入模块组(Comm Sinks):包含触发写模块、眼图和散射图模块、误码率计算模块及其相应的演示模块。(3) 信源编码组(Source Coding):包含标量量化编码/解码模块、DPCM编码/解码模块、规则压缩/解压模块,以及相应的演示模块。(4) 信道组(Channels):包含加零均值高斯白噪声信道模块、加二进制误差信道模块、Rayleigh衰减信道模块、Rician噪声信道模块及其相应的演示模块。(5) 调制组(Modulation):包含数字模拟调制模块。(6) 同步组(Synchronization):包含锁相环PLL模块、基带PLL模块、演示模块、线性化基带PLL模块等。 通信工具箱课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号