通信系统仿真上机实验指导书_第1页
通信系统仿真上机实验指导书_第2页
通信系统仿真上机实验指导书_第3页
通信系统仿真上机实验指导书_第4页
通信系统仿真上机实验指导书_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通信系统仿真上机实验指导书指导教师:刘健2013年10月最终报告内容: 根据提供的例子,学习通信系统仿真基本知识,搭建包含:随机数生成、调制、编码、AWGN信道、解码、解调、差错统计等模块的通信系统仿真M文件或是Simulink仿真模型,最终得出评估通信系统性能的SNR/BER曲线、频谱利用率等曲线。目录 TOC o 1-3 h z u HYPERLINK l _Toc318054092 目录 PAGEREF _Toc318054092 h 1 HYPERLINK l _Toc318054093 设计一 随机信号分析 PAGEREF _Toc318054093 h 3 HYPERLINK l

2、_Toc318054094 设计二 模拟信号的数字化 PAGEREF _Toc318054094 h 7 HYPERLINK l _Toc318054095 设计三 数字基带传输系统 PAGEREF _Toc318054095 h 13 HYPERLINK l _Toc318054096 设计四 模拟线性调制解调系统 PAGEREF _Toc318054096 h 17 HYPERLINK l _Toc318054097 设计五 2FSK调制解调系统 PAGEREF _Toc318054097 h 25 HYPERLINK l _Toc318054098 设计六 2PSK和2DPSK调制解调系

3、统 PAGEREF _Toc318054098 h 31 HYPERLINK l _Toc318054099 设计七 数字通信系统的抗噪性能分析 PAGEREF _Toc318054099 h 36 HYPERLINK l _Toc318054100 设计八 载波同步 PAGEREF _Toc318054100 h 42 HYPERLINK l _Toc318054101 设计九 信道编码和译码 PAGEREF _Toc318054101 h 45 HYPERLINK l _Toc318054102 参考文献 PAGEREF _Toc318054102 h 49设计一 随机信号分析一、设计目的

4、利用MATLAB产生各种随机信号。利用MATLAB计算随机信号的自相关函数和功率谱密度。掌握随机信号的自相关函数与功率谱密度的关系及其推导。二、设计原理1随机信号的产生在MATLAB中,提供了大量的随机数发生函数,其中rand和randn是两类核心函数,rand函数产生在0,1区间服从均匀分布的随机信号;randn函数产生服从均值为0,方差为1的高斯分布的随机信号。其它类型的随机信号可以通过这两类随机信号变换而得到。(1) rand函数格式:X=rand(N) X=rand(M,N)(2) randn函数格式:X=randn(N)X=randn(M,N)随机信号的自相关函数在MATLAB中,x

5、corr函数用于估计随机序列的自相关函数,其调用格式如下:(1) c=xcorr(x)可计算出矢量的自相关函数,矢量表示序列。(2) c=xcorr(x,option)中的option可用来指定相关选项:当option=biased时,xcorr函数可计算自相关函数的有偏估计,即当option=unbiased时,xcorr函数可计算自相关函数的无偏估计,即当option=coeff时,xcorr函数对序列进行归一化处理,使零滞后的自相关函数为1.0,即的自相关函数值归一化为1。当option=none时,即为缺省情况,不做归一化处理。随机信号的功率谱密度随机信号的自相关函数与其功率谱密度之间

6、互为傅立叶变换关系。即 【例1-1】在(-1/2,1/2)内产生一均匀分布的随机数N=1000的离散时间序列,计算该序列的自相关,定义为 同时,用计算的离散傅里叶变换(DFT)求序列的功率谱。DFT定义为解 产生序列,计算自相关和功率谱的MATLAB源程序在下面给出。应该值得注意的是,自相关函数和功率谱都呈现出显著的波动,因此有必要在几次实现上对样本的自相关求平均。本程序在随机过程的10次实现上采用平均自相关得到自相关函数和功率谱。源程序如下:echo onN=1000;M=50;t=0:1:50;s=-0.5:0.02:0.5;Rx_av=zeros(1,M+1);Sx_av=zeros(1

7、,M+1);for j=1:10; % 取10次实现的整体平均 X=rand(1,N)-1/2; % X在 -1/2 和 1/2之间取值 Rx=Rx_est(X,M); % 本次实现的自相关函数Sx=fftshift(abs(fft(Rx); % 本次实现的功率谱密度Rx_av=Rx_av+Rx; % 自相关函数之和Sx_av=Sx_av+Sx; % 功率谱密度之和end;Rx_av=Rx_av/10; % 自相关函数的整体平均Sx_av=Sx_av/10; % 功率谱密度的整体平均subplot(2,1,1);plot(t,Rx_av)xlabel( (a) 自相关函数 );subplot(

8、2,1,2);plot(s,Sx_av)xlabel( (b) 功率谱密度 );%function Rx=Rx_est(X,M)% 估计随机序列X的自相关函数% 计算出Rx(0),Rx(1),.,Rx(M)% Rx(m)代表实际中的Rx(m-1).N=length(X);Rx=zeros(1,M+1);for m=1:M+1 for n=1:N-m+1Rx(m)=Rx(m)+X(n)*X(n+m-1);end;Rx(m)=Rx(m)/(N-m+1);end;程序运行结果如图所示。图1.1 例1-1的运行结果三、设计内容1已知瑞利分布随机信号的概率密度函数为用randn函数产生的瑞利分布随机变量

9、。提示:两个独立分布、均值为0、方差为的高斯随机变量的平方和开根号所得的随机变量服从功率为的瑞利分布。2产生均值为0,方差为1的高斯随机信号,长度为0.5s,计算该信号的自相关函数,并绘制高斯信号及自相关函数的图形。提示:计算机只能产生各种离散信号序列,对于模拟连续信号,本质上都是产生信号的采样序列。只要采样频率足够高,模拟就可以非常准确。在这里,假定信号的采样频率Hz。3在(-1,1)内产生一均匀分布的随机数N=500的离散时间序列,计算该序列的自相关函数和功率谱密度,并绘制图形。4一个带限随机过程的功率谱为计算它的自相关函数,并绘制自相关函数与功率谱密度的图形。提示:的自相关函数。设计二

10、模拟信号的数字化一、设计目的1掌握脉冲编码调制的基本原理。2理解均匀PCM与非均匀PCM。3利用MATLAB对抽样值进行A律13折线编码。二、设计原理在模拟信号数字化方式中,出现最早且应用最广泛的是脉冲编码调制,即PCM编码,它经过抽样(时间离散化)、量化(幅值离散化)和编码(多电平转换为二电平)3个步骤,将一个时间和幅值都连续变换的模拟信号变成二进制数字信号。1抽样抽样是将模拟信号在时间上离散化。对于低通型信号,当抽样频率时,属于正常抽样,不会发生频谱混叠;当时,属于欠抽样,已抽样信号频谱发生混叠。下面通过举例来看如何利用MATLAB分析已抽样信号的频谱。【例2-1】有一信号,当抽样频率=1

11、00Hz时,绘出原始信号和抽样后信号的波形及其频谱。解 由题意可知,原始信号的最高频率64Hz,因此用=100Hz抽样时,会发生频谱混叠,MATLAB实现的源程序如下:cleart0=10; % 定义时间长度ts=0.001; % 抽样周期ts1=0.01; % 欠抽样周期fs=1/ts; fs1=1/ts1; % 抽样频率df=0.5; % 定义频率分辨力t=-t0/2:ts:t0/2; % 定义时间序列x=sin(200*t); % 定义信号序列m=x./(200*t); w=t0/(2*ts)+1; % 确定t=0的点m(w)=1; % 确定t=0的点对应的信号值为1m=m.*m; m=

12、50.*m;M,mn,dfy=fftseq(m,ts,df); % 傅里叶变换M=M/fs;f=0:dfy:dfy*length(mn)-dfy-fs/2; % 定义频率序列% 欠抽样过程t1=-t0/2:ts1:t0/2; % 定义抽样时间序列x1=sin(200*t1); % 计算对应抽样序列的信号序列m1=x1./(200*t1); % 计算Sa函数序列w1=t0/(2*ts1)+1; % 由于除0产生了错误值,计算该值的标号m1(w1)=1; % 将错误值修正m1=m1.*m1;m1=50.*m1;M1,mn1,df1=fftseq(m1,ts1,df); % 对已抽样信号进行傅里叶变

13、换M1=M1/fs1;% 将一个周期的图像扩展到多个周期N1=M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1;f1=-7*df1*length(mn1):df1:6*df1*length(mn1)-df1-fs1/2;% 绘图subplot(2,2,1)plot(t,m)axis(-0.15,0.15,-1,50);xlabel(a) 原始信号的时域波形);subplot(2,2,2)plot(f,abs(fftshift(M);axis(-500,500,0,1);xlabel(b) 原始信号的频谱);subplot(2,2,3)stem(t1,m1)axis(

14、-0.15,0.15,-1,50);xlabel(c) 欠抽样信号的时域波形);subplot(2,2,4)plot(f1,abs(fftshift(N1);axis(-500,500,0,1);xlabel(d) 欠抽样信号的频谱);%function M,m,df=fftseq(m,ts,df)fs=1/ts;if nargin=2 % 判断输入参数的个数是否符合要求 n1=0;else n1=fs/df; % 根据参数个数决定是否使用频率缩放endn2=length(m);n=2(max(nextpow2(n1),nextpow2(n2);M=fft(m,n); % 进行离散傅里叶变换m

15、=m,zeros(1,n-n2);df=fs/n;程序运行结果如图2.1所示。图2.1 例2-1运行结果2量化在MATLAB中,quantiz函数可以实现信号的均匀量化,compand函数可以实现信号的压缩与扩张,二者结合起来,可以实现信号的非均匀量化。它们的调用格式如下。(1) quantiz函数 index=quantiz(sig,partition),参数sig表示输入信号,参数partition表示分区向量,分区向量给出了量化间隔端点的向量,长度为,将信号分成个区域。根据向量partition对输入信号sig产生量化索引index,index的长度与矢量sig的长度相同。向量parti

16、tion是由若干个边界判断点且各边界点的大小严格按升序排列组成的实矢量。若partition的矢量长度小于,则索引向量index中的每个元素的大小为0,范围内的一个整数。量化方法如下:当sigpartition(1)时,输出0;当partition()partition()时,输出。 index,quants=quantiz(sig,partition,codebook),参数codebook表示码本向量,存放每个partition的量化值。根据码本codebook产生量化索引index和信号的量化值quants。如果partition的矢量长度为,那么codebook的矢量长度为。 inde

17、x,quants,distor=quantiz(sig,partition,codebook),产生量化索引index、信号的量化值quants和量化误差distor。(2) compand函数 out=compand(in,Mu,v,mu/compressor),对输入向量in进行律压缩,Mu为压缩参数,v为输入信号的峰值。 out=compand(in,Mu,v,mu/expander),对输入向量in进行律扩张。 out=compand(in,A,v,A/compressor),对输入向量in进行A律压缩,A为压缩参数,v为输入信号的峰值。 out=compand(in,A,v,A/ex

18、pander),对输入向量in进行A律扩张。【例2-2】比较均匀量化与非均匀量化的量化误差。解 在计算均匀量化的量化误差时,直接调用quantiz函数求解;在计算非均匀量化的量化误差时,先对原始信号进行压缩,再进行均匀量化,最后把经过扩张得到的恢复信号与与原始信号比较,计算其量化误差。源程序如下:Mu=255; % 定义压缩参数t=-4:0.1:4; % 定义时间序列sig=exp(t); % 定义原始信号v=max(sig); % 原始信号的最大幅值index1,quants1,distor1=quantiz(sig,0:floor(v),0:ceil(v); % 对原始信号进行均匀量化co

19、mpsig=compand(sig,Mu,v,mu/compressor); % 对原始信号进行压缩index,quants=quantiz(compsig,0:floor(v),0:ceil(v); % 对压缩信号进行均匀量化newsig=compand(quants,Mu,max(quants),mu/expander); % 对非均匀量化信号扩张distor2=sum(newsig-sig).2)/length(sig); % 非均匀量化的量化误差distor1distor2程序运行结果为distor1 =distor2 =3A律13折线编码下面将通过MATLAB程序实现律13折线编码,

20、并输出8位码。【例2-3】设输入信号抽样值为+1270个量化单位,按照律13折线特性编成8位码。解 按照律13折线的编码规则,用MATLAB实现的源程序如下:clear allx=+1270;if x0 out(1)=1;else out(1)=0;endif abs(x)=0 & abs(x)16 out(2)=0;out(3)=0;out(4)=0;step=1;st=0;elseif 16=abs(x) & abs(x)32 out(2)=0;out(3)=0;out(4)=1;step=1;st=16;elseif 32=abs(x) & abs(x)64 out(2)=0;out(3

21、)=1;out(4)=0;step=2;st=32; elseif 64=abs(x) & abs(x)128 out(2)=0;out(3)=1;out(4)=1;step=4;st=64; elseif 128=abs(x) & abs(x)256 out(2)=1;out(3)=0;out(4)=0;step=8;st=128;elseif 256=abs(x) & abs(x)512 out(2)=1;out(3)=0;out(4)=1;step=16;st=256;elseif 512=abs(x) & abs(x)1024 out(2)=1;out(3)=1;out(4)=0;st

22、ep=32;st=512;elseif 1024=abs(x) & abs(x)=2048 out(2:8)=1 1 1 1 1 1 1;else tmp=floor(abs(x)-st)/step); t=dec2bin(tmp,4)-48; %函数dec2bin输出的是ASICC字符串,48对应0 out(5:8)=t(1:4);endout=reshape(out,1,8)程序运行结果为out = 1 1 1 1 0 0 1 1三、设计内容1原始信号为,现分别用3种频率对其进行抽样,=100Hz,=200Hz,=300Hz,绘出原始信号和抽样后信号的波形及其频谱。2利用MATLAB中的S

23、imulink模块进行抽样与恢复过程的仿真,当输入信号为一频率为10Hz的正弦波时,观察对于同一输入信号有不同输入频率时,已抽样信号及恢复信号的不同形态。提示:仿真中用到的主要模块有“Sine Wave”模块、“Pulse Generator”模块、“Analog Filter Design”模块和“Gain”模块。3对一个正弦信号进行均匀量化,在图上同时显示出原始信号和量化后信号,当增大量化级时,观察量化级与量化误差之间的关系。4量化间隔端点的向量partition取值为0、1、3,每个区间的取值为-1、0.5、2、3,输入量化的离散信号为-2.5,-1,-0.4,0,0.3,1,1.3,1

24、.9,2,2.6,3,3.5,4.5,先按照规则进行计算,再用MATLAB中的quantiz函数进行验证,最后再用“Scalar Quantizer”模块构造一个量化模型,观察量化前后取值变化。5输入向量in为110,输入信号的峰值为10,进行=255的律压缩与扩张,输出压缩后的向量和扩张后的向量。6画出律13折线近似的压缩特性曲线和=87.6时的压缩特性曲线,并将二者进行比较。7设输入信号抽样值为-350个量化单位,按照律13折线特性编成8位码。设计三 数字基带传输系统一、设计目的1利用MATLAB画出数字基带信号的波形图。2利用MATLAB画眼图。3利用MATLAB分析无码间干扰基带系统的

25、抗噪性能。4掌握无码间干扰系统的频谱特性。二、设计原理1数字基带信号数字基带信号就是消息代码的电波形,它是用不同的电平或脉冲来表示相应的消息代码。数字基带信号的波形和码型很多,最常用的由矩形脉冲组成的基带信号有:单极性归零及不归零波形,双极性归零及不归零波形,差分波形和多电平波形等。【例3-1解 MATLAB源程序如下:t=1 0 0 1 1 0 0 0 0 1 0 1;srz(t);%function y=srz(x)% 本函数实现将输入的一段二进制代码变为相应的单极性归零码输出% 输入x为二进制码,输出y为编好的码grid=300;t=0:1/grid:length(x); % 定义对应的

26、时间序列for i=1:length(x) % 进行码型变换 if(x(i)=1) % 如果输入信息为1 for j=1:grid/2 y(grid/2*(2*i-2)+j)=1; % 定义前半时间值为1 y(grid/2*(2*i-1)+j)=0; % 定义后半时间值为0 end else for j=1:grid/2 % 反之,输入信息为0 y(i-1)*grid+j)=0; % 定义所有时间值为0 end endend y=y,x(i); % 给序列y加上最后一位M=max(y);m=min(y);plot(t,y);axis(0,i,m-0.1,M+0.1);程序运行结果如图3.1所示

27、。图3.1 单极性归零信号波形2无码间干扰系统满足无码间干扰时、频域条件的基带系统有3类,分别是理想LPF系统、滚降系统和部分响应系统。前两个系统的理论基础是奈奎斯特第一准则,第三个系统的理论基础是奈奎斯特第二准则。理想LPF系统可达到理论最大频带利用率,但是难以实现,且对位定时精度要求高。滚降系统可实现,且对位定时精度要求降低,但频带利用率降低。部分响应系统兼具了前两个系统的优点,即频带利用率高和低位定时精度,但其可靠性降低。3基带信号的眼图眼图是指利用实验的方法估计和改善基带系统性能时,在示波器上所观察到的像人的眼睛一样的图形。 MATLAB函数在MATLAB中,eyediagram函数用

28、来绘制眼图,其调用格式如下:eyediagram(x,n,period,offset,plotstring)其中是信号;是每个轨迹包括的采样点数;period是指水平轴的坐标范围,即-period/2,period/2;offset是偏置因子,信号的第(offset+1)个采样点之后每个值为一周期,且该周期为period的整数倍,offset必须是非负整数,其范围是0,-1;plotstring是绘制眼图时采用的符号、线形和颜色,其格式与plot函数相同,如不设置,采用系统缺省值。【例3-2】产生一个二进制随机方波信号,绘出通过升余弦滤波器后,方波的高频分量被滤掉后的眼图。解 源程序如下:x=

29、randint(3000,1,2); % 产生长度为3000的二进制随机序列y=0;rcosflt(x,1,10); % x通过一个升余弦滤波器得到yt=1:length(y); % 定义时间序列figure(1)plot(t,y); % 绘出y的时域波形axis(1,300,-0.5,1.5)grid oneyediagram(y,20,4); % 绘出y的眼图程序运行结果如图3.2所示。(a) 时域波形图 (b) 眼图图 通过升余弦滤波后的二进制数据流图形 Simulink模块在Simulink模块库中,显示眼图的模块为“Discrete-Time Eye Diagram Scope”,图

30、形及参数设置界面如图3.3所示。 图3.3 眼图模块及其参数设置4无码间干扰基带系统的抗噪性能在0、1等概的条件下,双极性信号和单极性信号的误码率计算公式分别如下:可以看出,在相同条件下,双极性误码率比单极性低,抗噪性能好。三、设计内容1当输入二元信息序列为时,画出单极性不归零码和双极性不归零码的波形示意图,当占空比分别为1/2、1/3时,画出单极性归零码和双极性归零码的波形示意图。2当输入的二元信息序列为100101011时,画出差分码的波形示意图。3当输入的二元信息序列为时,画出数字双相码的波形示意图。4画出=0,0.5,1的升余弦滚降系统的频谱图,并画出其各自对应的时域波形。5在例3-2

31、中,利用Simulink建模,画出眼图。6根据单极性信号和双极性信号的误码率计算公式,作图比较两种信号的抗噪性能。7设有双极性不归零数字基带信号,码元周期为,设加性高斯白噪声的双边功率谱密度为,画出眼图。(1) 经过理想低通后的眼图。(2) 经过理想低通后的眼图。设计四 模拟线性调制解调系统一、设计目的1掌握模拟线性调制解调原理及MATLAB编程实现方法。2利用Simulink设计模拟线性调制解调系统,观察模拟线性调制信号的时域波形和频谱图。二、设计原理1模拟线性调制原理模拟线性调制是指调制后的信号频谱为调制信号频谱的平移或线性变换,而非线性调制则没有这个性质。下面介绍的模拟信号的连续波线性调

32、制,主要指幅度调制,它包括常规幅度调制、抑制双边带调幅、单边带调幅和残留边带调幅。幅度调制器的一般模型如图4.1所示。其输出已调信号的时域和频域一般表达式为 (4.1) (4.2)图4.1 幅度调制器的一般模型式中,为基带调制信号的频谱;为载波频率。在该模型中,根据选择的滤波器特性及的频谱成分不同,便可以产生各种幅度调制信号。(1) 调幅信号(AM)在图4.1中,若调制信号外加直流,滤波器=1为全通网络,则输出为调幅(AM)信号: (4.3) (4.4)从波形上看:当满足条件时,AM信号的包络与输入基带信号成正比,故AM信号的解调可采用包络检波。从频谱上看:AM的频谱由频频分量和上、下对称的两

33、个边带组成,因此 (4.5)其中,是调制信号的最高频率。(2) 双边带信号(DSB-SC)若中无直流分量,为全通网络,则输出为抑制载波的双边带调幅信号: (4.6) )从波形上看:DSB信号的包络不与成正比,故不能进行包络检波,需采用相干解调。从频谱上看:DSB信号虽节省了载波发射功率,但仍具有上、下两个边带,频带宽度与AM信号相同。由于这两个边带是完全对称的,它们携带了调制信号的全部信息,故传输其中一个边带即可,这种方式就是单边带调制。(3) 单边带信号(SSB)的理想低通或理想高通特性。SSB信号的时域表示式为 (4.8)式中,“+”为下边带,“-”为上边带。是的希尔伯特变换。若为的傅氏变

34、换,则的傅氏变换为 (4.9)式中,为符号函数。综上所述:SSB调制方式可节省载波发射功率,占用的频带宽度为,只有AM、DSB的一半,即频带利用率提高一倍;SSB信号的解调仍需采用相干解调。(4) 残留边带信号(VSB)残留边带调制从频域上来看是介于SSB与DSB之间的一种调制方式,它保留了一个边带和另一个边带的一部分。它既克服了DSB信号占用频带宽,又解决了单边带滤波器不易实现的难题。重要结论:为了保证相干解调时无失真恢复基带信号。必须要求残留边带滤波器的传输函数在载频处具有互补对称性。即 , (4.10)【例4-1】一有限长度信号,其表达式为:将其调制在载波上,假设,调制系数,求出已调制信

35、号的时域波形,未调信号和已调信号的频谱关系图,计算出已调信号和未调信号的功率,并且考虑有噪声的情况下,假设信噪比为10dB,求出噪声功率。解 已调信号的时域表达式为:因为调制时要进行归一化,所以用除以最大值。未调信号的归一化功率为:,为未调信号的功率。调制效率为:已调信号的功率为:在给定信噪比条件下,可计算噪声功率为:。源程序如下:t0=0.5; % 定义信号的持续时间ts=0.001; % 定义采样时间fs=1/ts; % 定义采样频率df=0.2; % 频率分辨力snr=10; % 定义信噪比,用dB表示snr_lin=10(snr/10); % 信噪比的数值fc=50; % 定义载波频率

36、a=0.8; % 定义调制系数(Am/Ao)t=0:ts:t0; % 定义出采样点数据% 定义信号mm=zeros(1,501);for i=1:1:125 m(i)=i; endfor i=126:1:375 m(i)=m(125)-i+125; endfor i=376:1:501 m(i)=m(375)+i-375; endm=m/1000;c=cos(2*pi*fc.*t); % 载波信号m_n=m/max(abs(m); % 归一化M,m,df1=fftseq(m,ts,df); % 傅里叶变换M=M/fs; % 频率缩放,便于作图f=0:df1:df1*(length(m)-1)-

37、fs/2; % 定义频率向量 u=(1+a*m_n).*c; % 将调制信号调制到载波上U,u,df1=fftseq(u,ts,df); % 对已调信号进行傅里叶变化U=U/fs; % 频率缩放signal_power=spower(u(1:length(t); % 计算信号功率pmn=spower(m(1:length(t)/(max(abs(m)2; % 计算调制信号功率eta=(a2*pmn)/(1+a2*pmn); % 计算调制效率noise_power=eta*signal_power/snr_lin; % 计算噪声功率noise_std=sqrt(noise_power); % 噪

38、声标准差noise=noise_std*randn(1,length(u); % 产生高斯分布的噪声r=u+noise; % 总接收信号,即加噪信号R,r,df1=fftseq(r,ts,df); % 对总信号进行傅里叶变换R=R/fs; % 频率缩放% 以下为结果显示signal_powerpmnnoise_poweretafigure(1)subplot(2,2,1); plot(t,m(1:length(t); xlabel(时间); title(调制信号);subplot(2,2,3); plot(t,u(1:length(t); xlabel(时间); title(已调信号); su

39、bplot(2,2,2); plot(f,abs(fftshift(M); xlabel(频率); title(调制信号的频谱);subplot(2,2,4); plot(f,abs(fftshift(U); xlabel(频率); title(已调信号的频谱);figure(2)subplot(2,2,1); plot(t,noise(1:length(t); xlabel(时间); title(噪声);subplot(2,2,3); plot(t,r(1:length(t); xlabel(时间); title(加噪信号);subplot(2,2,2); plot(f,abs(fftshi

40、ft(U); xlabel(频率); title(信号频谱); subplot(2,2,4); plot(f,abs(fftshift(R); xlabel(频率); title(加噪信号频谱);%function M,m,df=fftseq(m,ts,df)fs=1/ts;if nargin=2 % 判断输入参数的个数是否符合要求 n1=0;else n1=fs/df; % 根据参数个数决定是否使用频率缩放endn2=length(m);n=2(max(nextpow2(n1),nextpow2(n2);M=fft(m,n); % 进行离散傅里叶变换m=m,zeros(1,n-n2);df=

41、fs/n;%function p=spower(x)% 计算信号的功率p=(norm(x)2)/length(x);程序运行结果如下signal_power =pmn =noise_power =eta = 0.1755图4.2 调幅信号及其频谱图4.3 加噪调幅信号及其频谱2模拟线性解调原理(1) 包络检波法对AM信号,当满足时,不会发生过调制现象,此时用包络检波的方法很容易恢复原始基带信号。如图4.4所示。图4.4 包络检波法(2) 同步解调法双边带信号不能用包络检波来解调,只能采用同步解调法,即相干解调,其原理如图4.5所示。图4.5 同步解调法相干解调的关键是必须产生一个同频同相的本地

42、载波,如果同频同相的条件得不到保证,则会破坏基带信号的恢复。所以,所需的设备比包络检波法复杂。同理,单边带(SSB)信号和残留边带(VSB)信号也可采用同步解调的方法恢复出基带信号。3MATLAB函数在MATLAB中,modulate函数实现对信号的调制,demod函数是modulate函数的反过程,即实现对信号的解调。(1) modulate函数格式:y=modulate(x,Fc,Fs,method) y=modulate(x,Fc,Fs,method,opt) y,t=modulate(x,Fc,Fs,method,opt)其中,x是要调制的信号序列,Fc是载波频率,Fs是采样频率(采样

43、频率Fs至少是载波频率Fc的2倍),method是采用的调制方法,opt是method指定的调制方法所需的参数(并不是每种方法都需要附加参数),t可以输出计算时间。表4.1列出method对应的调制方式。表4.1 modulate中method所对应的调制方式method调制方式amdsb-sc双边带抑制载波调制amdsb-tc或am双边带带载波调制amssb单边带调制fm频率调制pm相位调制pwm脉冲宽度调制ppm脉冲相位调制qam正交幅度调制(2) demod函数格式:x=demod(y,Fc,Fs,method) x=demod(x,Fc,Fs,method,opt)其中,y是已调制信号

44、,其余参数与modulate函数中的一样。三、设计内容1已知未调制信号为若取2s,载波为,用抑制载波调幅来调制信号,画出调制信号和已调信号的时域波形及频谱图。2已知未调制信号为若取2s,载波为,画出单边带调幅波的时域波形及频谱图。3若消息信号定义为将其调制在载波上,假设,调制系数,分别采用AM、DSB和SSB三种调制方式,画出调制信号和已调信号的时域波形及频谱图。4对于第3题中的DSB信号采用同步解调法解调,画出解调信号的时域波形及频谱图,并与原始消息信号进行比较。5对于第3题中的AM信号采用包络检波法解调,画出解调信号的时域波形,并与原始消息信号进行比较。6对抑制载波的双边带调制解调系统进行

45、仿真。设传输的基带信号为正弦波,幅度为1,频率范围为110Hz,载波频率为100Hz,传输信道为高斯白噪声信道,其信噪比为10dB,系统仿真采样频率设置为1000Hz。提示:仿真中用到的主要模块有“Signal Generator”模块、“DSBSC AM Modulator Passband”模块、“DSBSC AM Demodulator Passband”模块和“AWGN Channel”模块。设计五 2FSK调制解调系统一、设计目的1掌握2FSK信号的调制解调原理及MATLAB编程实现方法。2利用Simulink设计2FSK信号的调制解调系统。3画出2FSK信号的时域波形和频谱图。二、

46、设计原理12FSK信号的调制解调原理数字移频键控是用载波的频率来传送数字消息,或者说用所传送的数字消息控制载波的频率。2FSK信号便是符号“1”对应于载频,而符号“0”对应于载频(与不同的另一载频)的已调波形,而且与之间的改变是瞬间完成的。从原理上讲,数字调频可用模拟调频法来实现,也可用键控法来实现,如图5.1所示。 图5.1 2FSK信号的调制根据以上对2FSK信号的调制原理的分析,已调信号的数字表达式可以表示为 (5.1)其中,是单个矩形脉冲,脉宽为,且 2FSK信号的常用解调方法采用如图5.2所示的非相干检测法和相干检测法。这里的取样判决器是判定哪一个输入样值大,此时可以不专门设置门限电

47、平。 (a) 非相干方式 (b) 相干方式图5.2 2FSK信号的解调2FSK调制属于非线性调制,其频谱特性的研究常用把2FSK信号看成是两个2ASK信号相叠加的方法。2FSK信号的功率谱密度为: (5.2)传输2FSK信号所需频带约为 (5.3)【例5-1】用MATLAB产生独立等概的二进制信源,画出2FSK信号的波形及其功率谱。解 首先产生随机的二进制数字基带信号,然后根据2FSK信号的表达式产生二进制数字调制信号,最后通过FFT变换求解调制信号的功率谱。源程序如下:A=1; % 调制信号幅度fc=2; % 载波频率N_sample=8; % 每码元的采样点数N=500; % 码元数目Ts

48、=1; % 采样间隔dt=Ts/fc/N_sample; % 波形采样间隔t=0:dt:N*Ts-dt; % 定义时间序列L=length(t); % 计算时间序列长度% 产生二进制信源d=sign(randn(1,N);dd=sigexpand(d+1)/2,fc*N_sample);gt=ones(1,fc*N_sample);d_NRZ=conv(dd,gt); f,d_NRZf=T2F(t,d_NRZ(1:L); % 数字基带信号的傅里叶变换sd_2fsk=2*d_NRZ-1; % 双极性基带信号s_2fsk=A*cos(2*pi*fc*t+2*pi*sd_2fsk(1:L).*t);

49、 % 产生2FSK信号f,s_2fskf=T2F(t,s_2fsk); % 2FSK信号的傅里叶变换figure(1)subplot(2,2,1); plot(t,d_NRZ(1:L);axis(0,10,0,1.2); xlabel(a) 输入信号);subplot(2,2,2); plot(f,10*log10(abs(d_NRZf).2/Ts);axis(-2,2,-40,40); xlabel(b) 输入信号功率谱密度);subplot(2,2,3); plot(t,s_2fsk);axis(0,10,-1.2,1.2); xlabel(c) 2FSK信号);subplot(2,2,4

50、); plot(f,10*log10(abs(s_2fskf).2/Ts);axis(-fc-4,fc+4,-40,40); xlabel(d) 2FSK信号功率谱密度);%function out=sigexpand(d,M)% 将输入的序列扩展成间隔为N-1个0的序列N=length(d);out=zeros(M,N);out(1,:)=d;out=reshape(out,1,M*N);%function f,sf=T2F(t,st)% 利用FFT对信号进行傅里叶变换% t,st分别为输入时间和信号% f,sf分别为输出频率和信号频谱dt=t(2)-t(1);T=t(end);df=1/T

51、;N=length(st);f=-N/2*df:df:N/2*df-df;sf=fft(st);sf=T/N*fftshift(sf);程序运行结果如图5.3所示。图 2FSK信号的波形及其频谱2MATLAB函数在MATLAB中,fskmod函数和fskdemod函数分别实现FSK信号的调制和FSK信号的非相干解调,awgn函数实现在信号中加入高斯白噪声,symerr函数实现错误符号数的统计和误符号率的计算。(1) fskmod函数格式:y=fskmod(x,M,freq_sep,nsamp) y=fskmod(x,M,freq_sep,nsamp,Fs)其中,x是消息信号;M是消息的符号数,

52、必须是2的整数次幂,消息信号是0M-1之间的整数;freq_sep是两载波频率之间的频率间隔,单位为Hz;nsamp是输出信号y中每符号的采样数,必须是大于1的正整数;Fs是采样频率,freq_sep和M必须满足(M-1)*freq_sep=Fs。(2) fskdemod函数格式:z=fskdemod(y,M,freq_sep,nsamp) z=fskdemod(y,M,freq_sep,nsamp,Fs)其中,y是已调信号;其余参数与fskmod函数中的一样。(3) awgn函数格式:y=awgn(x,snr) y=awgn(x,snr,sigpower)y=awgn(,powertype)

53、其中,x是信号;snr是信噪比,单位为dB;sigpower是信号功率;powertype指定信噪比snr的单位。 (4) symerr函数格式:number,ratio=synerr(x,y)其中,x、y是待比较信号,二元序列;number是x、y对应元素比较后不相同的符号个数;ratio是误符号率。3Simulink模块在Simulink模块库中,用于实现FSK信号调制解调的模块分别是“M-FSK Modulator Baseband”和“M-FSK Demodulator Baseband”,图形及参数设置如图5.4所示。图5.4 FSK信号调制解调模块及参数设置三、设计内容1对二元序列

54、01101010,画出2FSK信号的波形,其中发“0”码时,载频与码元速率相等;发“1”码时,载频是码元速率的2倍。2利用MATLAB提供的fskmod函数实现2FSK调制,消息信号是1000个二进制的随机数序列,两载波频率之间的频率间隔为8Hz,已调制信号中每符号的采样数为8,采样频率为32Hz,画出2FSK信号的时域波形和频谱图。3利用MATLAB提供的FSK调制、解调、误码率分析函数实现2FSK信号的解调与检测,消息信号是5000个二进制的随机数序列,两载波间的频率间隔为8Hz,已调制信号中每符号的采样数为17,采样频率为16Hz,信道中的噪声为加性高斯白噪声,当系统信噪比为5dB时,求

55、误符号率。4利用Simulink中的“M-FSK Modulator Baseband”模块和“M-FSK Demodulator Baseband”模块建立2FSK调制解调系统模型,并观察调制、解调前后的波形,计算差错率。5根据图5.1分别建立模拟调频法和键控法产生2FSK信号的系统模型,观察调制前后的信号波形。6根据图5.2分别建立2FSK信号的相干解调和非相干解调解调系统模型,观察解调前后的信号波形。设计六 2PSK和2DPSK调制解调系统一、设计目的1掌握2PSK和2DPSK调制解调原理及MATLAB编程实现方法。2利用Simulink设计2PSK和2DPSK信号的调制解调系统。3画出

56、2PSK和2DPSK信号的时域波形和频谱图。二、设计原理12PSK和2DPSK调制解调原理2PSK(二进制绝对移相键控)信号是利用载波相位直接表示数字信号,2DPSK(相对移相键控)信号是利用前后相邻载波的相位差来表示数字信号,2DPSK信号可以看作是将绝对码变成相对码后再进行绝对移相而得到的。2PSK和2DPSK信号的产生方法如图6.1所示。(a) 模拟调相法产生2DPSK信号(b) 相位选择法产生2PSK信号图 2PSK和2DPSK调制2PSK和2DPSK信号的解调方法如图6.2所示。 图6.2 2PSK和2DPSK信号的解调当0、1等概出现时,2PSK信号和2DPSK信号的功率谱密度为

57、(6.1)2PSK信号的带宽为 (6.2)【例6-1】用MATLAB产生独立等概的二进制信源,画出2PSK信号的波形及其功率谱。解 首先产生随机的二进制数字基带信号,然后根据2PSK信号的表达式产生二进制数字调制信号,最后通过FFT变换求解各种调制信号的功率谱。源程序如下,用到的子函数sigexpand.m和T2F.m见例5-1。A=1; fc=2; N_sample=8; N=500;Ts=1; dt=Ts/fc/N_sample; t=0:dt:N*Ts-dt; L=length(t); % 产生二进制信源d=sign(randn(1,N);dd=sigexpand(d+1)/2,fc*N

58、_sample);gt=ones(1,fc*N_sample);d_NRZ=conv(dd,gt); f,d_NRZf=T2F(t,d_NRZ(1:L); % 数字基带信号的傅里叶变换ht=A*cos(2*pi*fc*t); % 调制信号d_2psk=2*d_NRZ-1; % 双极性基带信号s_2psk=d_2psk(1:L).*ht; % 产生2PSK信号f,s_2pskf=T2F(t,s_2psk); % 2PSK信号的傅里叶变换figure(1)subplot(2,2,1); plot(t,d_NRZ(1:L);axis(0,10,0,1.2); xlabel(a) 输入信号);subp

59、lot(2,2,2); plot(f,10*log10(abs(d_NRZf).2/Ts);axis(-2,2,-40,40); xlabel(b) 输入信号功率谱密度);subplot(2,2,3); plot(t,s_2psk);axis(0,10,-1.2,1.2); xlabel(c) 2PSK信号);subplot(2,2,4); plot(f,10*log10(abs(s_2pskf).2/Ts);axis(-fc-4,fc+4,-40,40); xlabel(d) 2PSK信号功率谱密度);程序运行结果如图6.3所示。图 2PSK调制波形及其频谱2MATLAB函数在MATLAB中

60、,pskmod函数和pskdemod函数分别实现PSK信号的调制和解调,scatterplot函数用于画数字调制信号的星座图。(1) pskmod函数格式:y=pskmod(x,M) y=pskmod(x,M,ini_phase)其中,x是消息信号;M是消息的符号数,必须是2的整数次幂,消息信号是0M-1之间的整数;ini_phase是初始相位,单位为rad。(2) pskdemod函数格式:z=pskdemod(y,M) z=pskdemod(y,M,ini_phase)其中,y是已调信号;z是还原信号,其余参数与pskmod函数中的一样。(3) scatterplot函数scatterpl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论