现代通信系统仿真技术实验指导书.docx
- 文档编号:29839373
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:28
- 大小:147.69KB
现代通信系统仿真技术实验指导书.docx
《现代通信系统仿真技术实验指导书.docx》由会员分享,可在线阅读,更多相关《现代通信系统仿真技术实验指导书.docx(28页珍藏版)》请在冰豆网上搜索。
现代通信系统仿真技术实验指导书
大连海洋大学自编教材
现代通信系统仿真技术
实验指导书
李春晖主编
王化群审
大连海洋大学
二○一○年
目录
实验一均匀PCM1
实验二非均匀PCM4
实验三开关信号仿真8
实验四多幅度信号仿真10
实验五PAM仿真12
实验六正交信号仿真15
实验七FSK信号18
实验八二进制FSK仿真21
实验一均匀PCM
一、实验目的
脉冲编码调制(PCM)用于在数字传输媒体上传送模拟信号,在PCM中,首先对模拟信号以高于其带宽两倍的奈奎斯特率进行采样,然后对所得样本进行量化。
采用不同量化级别生成的PCM编码会影响接收器重建模拟信号的质量。
此程序设计练习将有助于观察和分析PCM不同量化级别的量化噪声(也称量化误差,定义为输入值与量化值之间的差),使学生对PCM有更深入的理解。
二、实验原理
在均匀PCM中,长度为2x的区间
被划分为N个相等的子区间,每个子区间长度为
。
如果N足够大,那么在每一个子区间内输入的密度函数就能认为是均匀的,产生的失真为
(这里不加证明)。
如果N是2的幂次,即
,那么就要求用比特来表示每个量化电平。
这就意味着,如果模拟信号的带宽为W,采样又是在奈奎斯特采样频率下完成的,则传输PCM信号所要求的带宽至少是
(实际
比较接近实际)。
此时失真由下式给出:
(1.1)
如果模拟信号的功率表示为
,则信号/量化噪声的比(SQNR)由下式给出:
(1.2)
式中
表示归一化输入,定义为:
(1.3)
以分贝计量的SQNR为:
(1.4)
量化以后,用
比特对这些已量化的电平中的每一个进行编码,编码方法通常使用自然二进制码(NBC),最低电平映射为全0序列,最高电平映射为全1序列,其余全部电平按已量化值的递增次序映射。
三、实验仪器
一台安装了windows或unix环境下matlab软件的计算机。
四、实验步骤
下面给出MATLAB函数u_pcm(a,n),其文件名为u_pcm.m。
该函数以样本序列和要求的量化电平数作为输入参数,求得已量化序列a_quan,编码序列code,以及SQNR。
function[sqnr,a_quan,code]=u_pcm(a,n)
amax=max(abs(a));
a_quan=a/amax;
b_quan=a_quan;
d=2/n;
q=d.*[0:
n-1];
q=q-((n-1)/2)*d;
fori=1:
n
a_quan(find((q(i)-d/2<=a_quan)&(a_quan<=q(i)+d/2)))=...
q(i).*ones(1,length(find((q(i)-d/2<=a_quan)&(a_quan<=q(i)+d/2))));
b_quan(find(a_quan==q(i)))=(i-1).*ones(1,length(find(a_quan==q(i))));
end
a_quan=a_quan*amax;
nu=ceil(log2(n));
code=zeros(length(a),nu);
fori=1:
length(a)
forj=nu:
-1:
0
if(fix(b_quan(i)/(2^j))==1)
code(i,(nu-j))=1;
b_quan(i)-2^j;
end
end
end
sqnr=20*log10(norm(a)/norm(a-a_quan));
下面给出利用MATLAB函数u_pcm(a,n)对一振幅为1和频率ω=1的正弦信号,用8电平和16电平进行量化,并画出量化误差的程序。
echoon
t=[0:
0.01:
10];
a=sin(t);
[sqnr8,aquan8,code8]=u_pcm(a,8);
[sqnr16,aquan16,code16]=u_pcm(a,16);
pause
sqnr8
pause
sqnr16
pause
plot(t,a,'-',t,aquan8,'-.',t,aquan16,'-',t,zeros(1,length(t)))
五、实验报告
1、从均匀PCM方法入手,产生一振幅为1和频率ω=1的正弦信号,分别用8电平和16电平进行量化,在同一坐标轴上绘出原信号和已量化信号,并比较这两种情况下的信号/量化噪声比(SQNR)。
2、对长度为500的高斯随机变量序列计算当量化电平数为64时所得的SQNR,并求出该序列的前5个值,相应的量化值以及相应的码字。
最后,画出量化误差。
3、分别以量化电平为16和128时重做练习2,并对二者以及练习2的结果进行比较。
实验二非均匀PCM
一、实验目的
1、理解非均匀PCM的实现方法
2、观察和分析不同量化级别的量化噪声。
二、实验原理
在非均匀PCM中,输入信号首先通过一个非线性环节,以减小输入的动态范围,再将输出加到某个均匀PCM系统上。
在接收端,输出再通过另一个非线性环节,该环节是在发送端所用的非线性环节的逆特性。
从数学上看,量化就是把一个连续幅值的无限数集合映射成一个离散幅值的有限数集合。
非均匀量化是根据信号的不同区间来确定量化间隔的。
实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。
压缩的概念是这样的:
在抽样电路后面加上一个叫做压缩器的信号处理电路,该电路的特点是对弱小信号有比较大的放大倍数(增益),而对大信号的增益却比较小。
抽样后的信号经过压缩器后就发生了“畸变”,大信号部分没有得到多少增益,而弱小信号部分却得到了“不正常”的放大(提升),相比之下,大信号好像被压缩了,压缩器由此得名。
对压缩后的信号再进行均匀量化,就相当于对抽样信号进行了非均匀量化。
压缩特性通常采用对数压缩特性,也就是压缩器的输出与输入之间近似呈对数关系。
而对数压缩特性又有A律和μ律之分。
A律特性输出y与输入信号x之间满足下式:
(2.1)
式中,y为归一化的压缩器输出电压,即实际输出电压与可能输出的最大电压之比;x为归一化的压缩器输入电压,即实际输入电压与可能输入的最大电压之比;A为压缩系数,表示压缩程度。
从式(2.1)可见,在0≤x≤1/A的范围内,压缩特性为一条直线,相当于均匀量化特性;在1/A 通常,国际上取A=87.6。 一个 律的非线性定义为: (2.2) 其中,x是归一化输入, 是一个参数,在标准 律的非线性中它等于255. 律非线性的逆为: (2.3) 三、实验仪器 一台安装了windows或unix环境下matlab软件的计算机。 四、实验步骤 1、下面给出了用13折线近似A律压缩特性曲线和用15折线近似u律压缩特性曲线的程序: clearall; closeall; dx=0.01;x=-1: dx: 1; u=255; A=87.6; yu=sign(x).*log(1+u*abs(x))/log(1+u); fori=1: length(x) ifabs(x(i))<1/A ya(i)=A*x(i)/(1+log(A)); else ya(i)=sign(x(i))*(1+log(A*abs(x(i))))/(1+log(A)); end end figure (1) plot(x,yu,'k.: '); title('uLaw'); xlabel('x'); ylabel('y'); gridon holdon xx=[-1,-127/255,-63/255,-31/255,-15/255,-7/255,-3/255,-1/255,1/255,3/255,7/255,15/255,31/255,63/255,127/255,1]; yy=[-1,-7/8,-6/8,-5/8,-4/8,-3/8,-2/8,-1/8,1/8,2/8,3/8,4/8,5/8,6/8,7/8,1]; plot(xx,yy,'r'); stem(xx,yy,'b-.'); legend('u-lawcompresscharacteristic','polyline'); figure (2) plot(x,ya,'k.: '); title('ALaw') xlabel('x'); ylabel('y'); gridon holdon xx=[-1,-1/2,-1/4,-1/8,-1/16,-1/32,-1/64,-1/128,1/128,1/64,1/32,1/16,1/8,1/4,1/2,1]; yy=[-1,-7/8,-6/8,-5/8,-4/8,-3/8,-2/8,-1/8,1/8,2/8,3/8,4/8,5/8,6/8,7/8,1]; plot(xx,yy,'r'); stem(xx,yy,'b-.'); legend('A-lawcompresscharacteristic','polyline'); 2、以下给出两个m文件mulaw.m和invmulaw.m用于实现 律非线性和它的逆。 function[y,a]=mulaw(x,mu) a=max(abs(x)); y=(log(1+mu*abs(x/a))./log(1+mu)).*sign(x); functionx=invmulaw(y,mu) x=(((1+mu).^(abs(y))-1)./mu).*sign(y); 当使用一个 律PCM方法时,m文件mula_pcm.m就等效于m文件u_pcm.m。 这个文件如下所示,用于 律PCM系统。 function[sqnr,a_quan,code]=mula_pcm(a,n,mu) [y,maximum]=mulaw(a,mu); [sqnr,y_q,code]=u_pcm(y,n); a_quan=invmulaw(y_q,mu); a_quan=maximum*a_quan; sqnr=20*log10(norm(a)/norm(a-a_quan)); 3、产生一个长度为500,按N(0,1)分布的随机变量序列。 用16,64和128量化点平数和 的 律非线性,计算每种情况下的已量化序列和SQNR。 a=randn(1,500); [dist,a_quan,code]=mula_pcm(a,16,255) 五、实验报告 1、从非均匀PCM方法入手,在同一坐标系里比较折线和曲线。 2、产生一个长度为500,按N(0,1)分布的随机变量序列。 用16,64和128量化电平数和 的 律非线性,比较其SQNR。 实验三开关信号仿真 一、实验目的 1、理解ASK的实现方法。 2、观察和分析信道中不同大小的噪声对接收信号的影响。 二、实验原理 数字调制就是将数字符号变成适合于信道传输的波形。 所用载波一般是余弦信号,调制信号为数字基带信号。 利用基带信号去控制载波的某个参数,就完成了调制。 调制的方法主要是通过改变余弦波的幅度、相位或频率来传送信息。 其基本原理是把数据信号寄生在载波的上述三个参数中的一个上,即用数据信号来进行幅度调制、频率调制或相位调制。 数字信号只有几个离散值,因此调制后的载波参数也只有有限个值,类似于用数字信息控制开关,从几个具有不同参量的独立振荡源中选择参量,为此把数字信号的调制方式称为“键控”。 数字调制分为调幅、调相和调频三类,分别对应“幅移键控”(ASK)、“相移键控”(PSK)和“频移键控”(FSK)三种数字调制方式。 “幅移键控”又称为“振幅键控”,记为ASK。 也有称为“开关键控”(通断键控)的,所以又记作OOK信号。 ASK是一种相对简单的调制方式。 幅移键控(ASK)相当于模拟信号中的调幅,只不过与载频信号相乘的是二进制数码而已。 幅移就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。 二进制振幅键控(2ASK),由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号为“1”时,传输载波;当调制的数字信号为“0”时,不传输载波。 一般载波信号用余弦信号,而调制信号是把数字序列转换成单极性的基带矩形脉冲序列,而这个通断键控的作用就是把这个输出与载波相乘,就可以把频谱搬移到载波频率附近,实现2ASK。 三、实验仪器 一台安装了windows或unix环境下matlab软件的计算机。 四、实验步骤 1、下面给出利用matlab进行带通数字调制解调的程序,请补足程序并运行。 M=2; Fc=10; Fd=1; Fs=50; x=randint(100,1,M); y=dmod(x,Fc,Fd,Fs,'ask',M); ynoise=y+.01*randn(Fs/Fd*100,1); z=;%解调信号 s=symerr(x,z); t=0.1: 0.1: 10; subplot(2,1,1); plot(t,x');title('原信号') subplot(2,1,2) plot(t,z');title('经调制解调后的信号') figure;modmap('ask',M) 观察符号误差率s的值,并记录在实验报告里。 比较调制解调前后的信号,将信号波形截图记录在实验报告里。 2、增大噪声为0.1倍,要求同上。 3、增大噪声为10倍,要求同上。 五、实验报告 利用matlab进行带通数字调制解调,观察原信号及调制解调之后的信号,调制方式采用通断键控信号。 实验四多幅度信号仿真 一、实验目的 1、初步掌握利用simulink仿真通信系统的方法。 2、理解PAM信号的抗噪声性能。 二、实验原理 通常人们谈论的调制技术是采用连续振荡波形(正弦型信号)作为载波的,然而,正弦型信号并非是唯一的载波形式。 在时间上离散的脉冲串,同样可以作为载波,这时的调制是用基带信号去改变脉冲的某些参数而达到的,人们常把这种调制称为脉冲调制。 通常,按基带信号改变脉冲参数(幅度、宽度、时间位置)的不同,把脉冲调制分为脉幅调制(PAM)、脉宽调制(PDM)和脉位调制(PPM)等。 所谓脉冲振幅调制,即是脉冲载波的幅度随基带信号变化的一种调制方式。 如果脉冲载波是由冲激脉冲组成的,则抽样定理就是脉冲振幅调制的原理。 三、实验仪器 一台安装了windows或unix环境下matlab软件的计算机。 四、实验步骤: 1、在软件中找到各元件,并按照下图连接。 图4.1多幅度信号仿真模型 2、设置各元件属性。 属性值如下: RandomIntegerGenerator: M-arynumber: xsignallevelInitialseed: xinitialseed Sampletime: xsampletime M-PAMModulatorBaseband M-arynumber: xsignallevelInputtype: Integer Normalizationmethod: Min.distancebetweensymbols Minimumdistance: 2Samplespersymbol: 1 AWGNChannel: Initialseed: 67Mode: Signaltonoiseratio(SNR) SNR(dB): xsnrInputsignalpower(watts): 1 ErrorRateCalculation: Receivedelay: 0Computationdelay: 0 Computationmode: EntireframeOutputdata: Workspace Variablename: xerrorrate 3、输入下列程序,查看结果。 >>xsignallevel=8; >>xsampletime=1/100000; >>xsimulationtime=10; >>xinitialseed=37; >>x=0: 10; >>y1=x; >>fori=1: length(x) xsnr=x(i); sim('pam1'); y1(i)=xerrorrate (1); end >>semilogy(x,y1,'b') 五、实验报告 利用matlab进行多幅度信号仿真,将实验结果截图,记录在实验报告里。 实验五PAM仿真 一、实验目的 1、理解傅里叶变换的实现方法。 2、掌握2ASK信号波形及其功率谱的实现方法。 二、实验原理 在基带数字PAM中,信号波形具有如下形式: (5.1) 其中,Am是第m个波形的幅度, 是某一种脉冲,它的形状决定了传输信号的谱特性。 在传输的脉冲形状 是矩形的特殊情况下,这个幅度已调的载波信号通常称为幅度键控。 (5.2) 其中,Ts为码元持续时间;g(t)为持续时间为Ts的基带脉冲波形。 为简便起见,通常假设g(t)是高度为1、宽度等于Ts的矩形脉冲; 是第n个符号的电平取值。 若取 ,则相应的2ASK信号就是OOK信号。 本次实验就是要求设计m文件,产生2ASK信号及其功率谱密度。 三、实验仪器 一台安装了windows或unix环境下matlab软件的计算机。 四、实验步骤 利用matlab产生独立等概的二进制信源,画出2ASK信号波形及其功率谱。 1、下面给出了计算信号的傅里叶变换的函数T2F.m function[f,sf]=T2F(t,st) dt=t (2)-t (1); T=t(end); df=1/T; N=length(st); f=-N/2*df: df: N/2*df-df; sf=fft(st); sf=T/N*fftshift(sf); 2、下面给出sigexpand.m函数 function[out]=sigexpand(d,M) N=length(d); out=zeros(M,N); out(1,: )=d; out=reshape(out,1,M*N); 3、产生2ASK信号及其功率谱 clearall; closeall; A=1; fc=2; N_sample=8; N=500; Ts=1; dt=Ts/fc/N_sample; t=0: dt: N*Ts-dt; Lt=length(t); d=sign(randn(1,N)); dd=sigexpand((d+1)/2,fc*N_sample); gt=ones(1,fc*N_sample); figure (1) subplot(221); d_NRZ=conv(dd,gt); plot(t,d_NRZ(1: length(t))); axis([01001.2]);ylabel('输入信号'); subplot(222); [f,d_NRZf]=T2F(t,d_NRZ(1: length(t))); plot(f,10*log10(abs(d_NRZf).^2/Ts)); axis([-22-5010]);ylabel('输入信号功率谱密度(dB/Hz)'); ht=A*cos(2*pi*fc*t); s_2ask=d_NRZ(1: Lt).*ht; subplot(223) plot(t,s_2ask); axis([010-1.21.2]);ylabel('OOK') [f,s_2askf]=T2F(t,s_2ask); subplot(224) plot(f,10*log10(abs(s_2askf).^2/Ts)); axis([-fc-4fc+4-5010]);ylabel('ook功率谱密度(dB/Hz)'); 五、实验报告 将观察到的结论写成实验报告,并将程序脚本作为报告的组成部分。 实验六正交信号仿真 一、实验目的 1、理解正交振幅调制QAM的实现方法。 2、观察和分析不同信噪比情况下输入和输出信号。 3、掌握利用matlab编写QAM调制解调过程的程序。 二、实验原理 QAM是数字信号的一种调制方式,在调制过程中,同时以载波信号的幅度和相位来代表不同的数字比特编码,把多进制与正交载波技术结合起来,进一步提高频带利用率。 正交调幅是一种将两种调幅信号汇合到一个信道的方法,因此会双倍扩展有效带宽。 正交调幅被用于脉冲调幅,特别是在无线网络应用。 正交调幅信号有两个相同频率的载波,但是相位相差90度。 一个信号叫I信号,另一个信号叫Q信号。 从数学角度将一个信号可以表示成正弦,另一个表示成余弦。 两种被调制的载波在发射时已被混合。 到达目的地后,载波被分离,数据被分别提取然后和原始调制信息相混合。 QAM是用两路独立的基带信号对两个相互正交的同频载波进行抑制载波双边带调幅,利用这种已调信号的频谱在同一带宽内的正交性,实现两路并行的数字信息的传输。 该调制方式通常有二进制QAM(4QAM)、四进制QAM(16QAM)、八进制QAM(64QAM)、…,对应的空间信号矢量端点分布图称为星座图,分别有4、16、64、…个矢量端点。 电平数m和信号状态M之间的关系是对于4QAM,当两路信号幅度相等时,其产生、解调、性能及相位矢量均与4PSK相同。 在QAM中,数据信号由相互正交的两个载波的幅度变化表示。 模拟信号的相位调制和数字信号的PSK可以认为是幅度不变、仅有相位变化的特殊的正交幅度调制。 QAM是一种矢量调制,将输入比特先映射(一般采用格雷码)到一个复平面(星座)上,形成复数调制符号,然后将符号的I、Q分量(对应复平面的实部和虚部,也就是水平和垂直方向)采用幅度调制,分别对应调制在相互正交(时域正交)的两个载波(coswt和sinwt)上。 这样与幅度调制(AM)相比,其频谱利用率将提高1倍。 QAM是幅度、相位联合调制的技术,它同时利用了载波的幅度和相位来传递信息比特,因此在最小距离相同的条件下可实现更高的频带利用率,QAM最高已达到1024-QAM(1024个样点)。 样点数目越多,其传输效率越高,例如具有16个样点的16-QAM信号,每个样点表示一种矢量状态,16-QAM有16态,每4位二进制数规定了16态中的一态,16-QAM中规定了16种载波和相位的组合,16-QAM的每个符号和周期传送4比特。 产生QAM通过载波某些参数的变化传输信息。 在QAM中,数据信号由相互正交的两个载波的幅度变化表示。 模拟信号的相位调制和数字信号的PSK可以被认为是幅度不变、仅有相位变化的特殊的正交幅度调制。 由此,模拟信号频率调制和数字信号FSK也可以被认为是QAM的特例,因为它们本质上就是相位调制。 这里主要讨论数字信号的QAM,虽然模拟信号QAM也有很多应用,例如NTSC和PAL制式的电视系统就利用正交的载波传输不同的颜色分量。 类似于其他数字调制方式,QAM发射的信号集可以用星座图方便地表示,星座图上每一个星座点对应发射信号集中的那一点。 星座点经常采用水平和垂直方向等间距的正方网格配置,当然也有其他的配置方式。 数字通信中数据常采用二进制数表示,这种情况下星座点的个数是2的幂。 常见的QAM形式有16-QAM、64-QAM、256-QAM等。 星座点数越多,每个符号能传输的信息量就越
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 通信 系统 仿真技术 实验 指导书