《通信系统MATLAB仿真》由会员分享,可在线阅读,更多相关《通信系统MATLAB仿真(44页珍藏版)》请在金锄头文库上搜索。
1、第 6 章 通信系统仿真第6章 通信系统仿真 6.1 通信工具箱函数6.2 信息的度量和编码 6.3 差错控制编/译码方法 6.4 模拟调制和解调6.5 数字调制和解调6.6 通信系统的性能仿真6.7 扩频通信系统的仿真 第 6 章 通信系统仿真6.1通信工具箱的函数在MATLAB的Communication Toolbox(通信工具箱)中提供了许多仿真函数和模 块,用于对通信系统进行仿真和分析。主要包括两部分内容:通信函数命令和Simulink 的Communications Blockset(通信模块集)仿真模块。用户既可以在MATLAB的工作空 间中直接调用工具箱中的函数,也可以使用Si
2、mulink平台构造自己的仿真模块,以达到扩充工具箱的内容。通信工具箱中的函数名称和内容列表,其内容包含:Signal Sources(信号源函数); Signal Analysis function(信号分析函数); Source Coding(信源编码); Error Control Coding(差错控制编码函数); Lower Level Function for Error Control Coding(差错控制编码的底层函数); Modulation/Demodulation(调制/解调函数) Special Filters(特殊滤波器设计函数); Lower Level Func
3、tion for Specials Filters(设计特殊滤波器的底层函数); Channel Functions(信道函数); Galosi Field Computation(有限域估计函数); Utilities(实用工具函数)。第 6 章 通信系统仿真6.2 信息的量度与编码信源熵的输出可以用随机过程来表达。对于一个离散无记忆平稳随机过程,其信息量 (熵)定义为:其中X表示信源取值集合,p(x)是信源取值x的概率。6.2.1 Huffman编码信源编码可分为两类:无失真编码和限失真编码。Huffman编码的基本原理就是为概率较小的信源输出分配较长的码字,而对那些出现可能性较大的信源输
4、出分配较短 的码字。 Huffman编码算法及步骤如下: 将信源消息按照概率大小顺序排队。 按照一定的规则,从最小概率的两个消息开始编码。 将经过编码的两个消息的概率合并,并重新按照概率大小排序,重复步骤。 重复上面步骤,一直到合并的概率达到1时停止。这样便可以得到编码树状图 。 按照后出先编码的方式编程,即从数的根部开始,将0和1分别放到合并成同一 节点的任意两个支路上,这样就产生了这组Huffman码。第 6 章 通信系统仿真6.2.2 MATLAB信源编/译码方法大多数信源(比如语音、图像)最开始都是模拟信号,为了将信源输出数字化,信源必须量化为确定数目的级数。量化方案可划分为标量量化和
5、矢量量化两种。 在标量量化中每个信源输出都分别被量化,标量量化可进一步分为均匀量化和非均 匀量化。在均匀量化中量化区域是等长的;在非均匀量化中量化区域可以是不等长 的。矢量量化是对信源输出组合进行整体量化。在标量量化中,随机标量X的定义域被划分成N个互不重叠的区域Ri,1 i Fs。变量Fs可以是标量也可以为一个二维的矢量。二维矢量中第一个值为采样频率,第二个值为 调制载波的初相,初相以弧度表示,默认值为0。根据采样定理,采样频率必须大于或等于调制信号最高频率的两倍。字符串变量method指定所用的调制方式,见表6.4。 (2) 带通模拟解调函数ademod( )格式:z=ademod(y,F
6、c,Fs,method.)功能:对载波为Fc的调制信号y进行解,采样频率Fs,FcFs。它是amod函数的逆过程,amod与ademod选择的调制方式必须相同,否则不容易正确复制出源信号。该函数在解调中用到一个低通滤波器,低通滤波器传输函数的分子、分母由输入参数 num、den指定,低通滤波器的采样时间等于1/Fs。当num=0或缺省时,函数使用一个默认的巴特沃斯低通滤波器,可由num,den=butter(5,Fc*2/Fs)生成。字符串变量method指定所用的调制方式, 见表6.4。 第 6 章 通信系统仿真例6-13 使用MATLAB对一信号进行正交幅度调制。 MATLAB程序如下:F
7、s=100; %采样频率Fc=15; %载波频率t=0:0.025:2; %采样时间x=sin(pi*t,2*pi*t); %信号y=amod(x,Fc,Fs,qam); %正交幅度调制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.4.2 基带模拟调制/解调基带仿真,也称低通对等方法,使用带通信号的复包络作为输入信号。设B为原始信号带宽,基带仿
8、真要求仿真抽样率大于或等于2B ,而一般的有 BFcFd。method 为调制方法,见表6.6。2数字带通解调函数ddemod( ) 格式:z=ddemod(y, Fc, Fd, Fs, method ) 功能:解调载波为Fc(Hz)的数字调制信号y,其抽样频率为Fd(Hz),计算抽样频率为 Fs(Hz)。该函数为dmod的逆过程,对频率与函数为dmod 中求要相同。当Fd为一个二维 矢量时,Fd中的第二个值即为输出抽样点的时间偏移量(必须是整数,默认为0)。该函数测出接收码到编码中所有可能的码的距离,然后以离接收码最近的码作为输出数字码。 除method =msk和method =fsk解调
9、外,该函数可使用一个指定的低通滤波器,该滤波 器的传输函数由分子num和分母den指定,滤波器的抽样时间为1/Fs,缺省滤波器时,在解调时无积分器。第 6 章 通信系统仿真(a) 调制解调前后的信号(b)星座图图6.27 16-QASK调制 例6-16 利用MATLAB进行带通数字调制解调M元正交幅度键控调制。 第 6 章 通信系统仿真6.5.2 基带数字调制/解调1基带数字调制函数dmodce( ) 格式:y=dmodce(x, Fd, Fs, method, ) 功能:调制一个带复包络的数字信号,主要用于基带数字调制。输出y为复数,其采 样频率为Fs,输入x的采样频率为Fd,Fs/Fd必须
10、是一个正整数。当输入x是一个矩阵时 ,x中每列是相互独立的,输出矩阵y的行数是Fs/Fd*x的行数。当变量Fs为两维矢量, 矢量中第一个值是抽样频率,第二个值是调制载波的初始相位(弧度),默认值为0。 method 为调制方法,见表6.6。 2数字基带解调函数ddemodce( ) 格式:z=ddemodce(y,Fd,Fs,method) 功能:解调数字基带调制信号y,其抽样频率为Fd (Hz), 计算抽样频率为Fs(Hz)。 Fs/Fd必须为正整数,变量Fd可以是一个标量或两维矢量,矢量中第一个值是抽样频, 第二个值为抽样时间偏移量(必须为整数),默认值为0。 3AWGN信道函数awgn
11、格式:y=awgn(x,snr) 功能:向功率为0dB的信号x添加高斯白噪声,输出信号y的信噪比SNR为参数snr ( 单位dB)。如果信号x为复信号,该函数添加复高斯白噪声。第 6 章 通信系统仿真例6-17 利用MATLAB对信号进行基带数字调制解调。MATLAB程序如下: M=4; %设置M的数目 Fd=1; %信号采样速率 Fs=32; %采样频率 SNRperBit=5; %信噪比 adjSNR=SNRperBit-10*log10(Fs/Fd)+10*log10(log2(M); x=randint(5000,1,M); %源信号 %正交FSK调制 tone=0.5; %频隙间隙f
12、=Fd/2 randn(state,1945724); %设置RANDN产生器的状态 w1=dmodce(x,Fd,Fs,fsk,M,tone); %调制 y1=awgn(w1,adjSNR,measured,dB); % 对调制信号添加噪声 z1=ddemodce(y1,Fd,Fs,fsk,M,tone); %调制 ser1=symerr(x,z1) %输出符号误差率 %非正交FSK调制 tone=0.25; randn(state,1945724); %设置RANDN产生器的状态 w2=dmodce(x,Fd,Fs,fsk,M,tone); %调制 y2=awgn(w2,adjSNR,me
13、asured,dB); % 对调制信号添加噪声 z2=ddemodce(y2,Fd,Fs,fsk,M,tone); %解调 ser2=symerr(x,z2) %输出符号误差率第 6 章 通信系统仿真6.6 通信系统的性能仿真6.6.1通信系统的误码率仿真 通信系统误码率的大小是衡量通信系统性能的好坏。无论是仿真带通系统还是基带通信系统,通信系统模型的误码率的计算过程主要由设置相关参数、创建信号及信 源编码、调制、对调制信号添加高斯噪声、解调、计算系统的误码率等步骤组成。 6.6.2 误码率仿真界面MATLAB提供了一种有效的分析误码率的工具误码率仿真界面,它可用来计算和比较不同调制方式、不同
14、差错控制编码方式和不同信道噪声模型条件下的通 信系统的误码率。在MATLAB命令窗中输入命令:commgui 即可打开一个图形用户界面窗口误码率仿真界面。误码率仿真界面包含了通信系统中信号处理的全部过程:信号源信号的生成;信号经过差错控制编码和调制后 发送;叠加在信道噪声后送到接收设备;经过解调和解码恢复出原始数据、进行误码率的计算过程等。 第 6 章 通信系统仿真图6.29 误码率仿真窗口 误码率仿真窗口上半部分功能区域,分为以下四个部分:Source(信号源); Err-Ctr-Code(差错控制编码);Modulation(信号调制编码); Channel(信道)。第 6 章 通信系统仿真6.6.3 眼图/散射图 1眼图在研究数字传输码间干扰及其它信道噪声的时候,眼图是一个很方便的工具。眼图 是一个接收信号相对于时间的关系曲线。当到达x轴的时间上限时,信号回到时间初始 点,这样便产生了一幅重叠画。产生眼图的常用方法是使用示波器,将示波器的扫描频 率设为1/T,其中T是信号周期。 格式:eyediagram(x, N) 功能:绘制信号x的眼图,该信号在一个扫描周期中有N个抽样点。N必须大于1。图6.31 眼图(无偏移) 例6-22 试绘制QASK 调制信号