1、通信原理实验报告天津农学院计算机与信息工程学院通信原理教学实习报告 实习名称:单双极性归零码波形及功率谱仿真专 业: 物联网工程 班 级: 2014级 1 班 * * * * * 二0一六 年 一 月 十一 日1 教学实习的内容12教学实习的目的13教学实验的基本原理14仿真思路25程序框图36仿真源代码37结果及分析81 教学实习的内容单双极性归零码波形及功率谱仿真程序设计,调试及运行。通过仿真测量占空比为25%、50%、75%以及100%的单双极性归零码波形及其功率谱。2 教学实习的目的加深对单双极性归零码波形及功率谱的理解与认识,了解单双极性归零码波形及功率谱仿真方法。首先理解单双极性归
2、零码波形及功率谱的基本原理,根据实际问题,设计好仿真程序,并上机调试运行,写出实习报告。3 教学实验的基本原理3.1 单极性归零码当发码时,发出正电流,但持续时间短于一个码元的时间宽度,即发出一个窄脉冲;当发码时,仍然不发送电流。 单极性归零码在符号等概出现且互不相关的情况下,功率谱主瓣宽度为,其频谱含有连续谱、直流分量、离散始终分量及其奇次谐波分量。3.2 双极性归零码其中码发正的窄脉冲,码发负的窄脉冲,两个码元的时间间隔可以大于每一个窄脉冲的宽度,取样时间是对准脉冲的中心。双极性归零码在符号等概且不相关的情况下,功率谱仅含有连续谱,其主瓣宽度为。3.3 各种码的比较不归零码(None Re
3、turn Zero Code)在传输中难以确定一位的结束和另一位的开始,需要用某种方法使发送器和接收器之间进行定时或同步。归零码( Return Zero Code)的脉冲较窄,根据脉冲宽度与传输频带宽度成反比的关系,因而归零码在信道上占用的频带较宽。 单极性码会积累直流分量;双极性码的直流分量大大减少,这对数据传输是很有利的。4 仿真思路4.1 产生RZ码采用归零矩形脉冲波形的数字信号,可以用以下方法产生信号矢量。设是码元矢量,N是总取样点数,M是总码元数,L是每个码元内的点数,是要求的占空比,是仿真系统的时域采样间隔,则RZ信号的产生方法是4.2 仿真功率谱密度任意信号的功率谱的定义是其中
4、是截短后的傅氏变换,是的能量谱,是在截短时间内的功率谱。对于仿真系统,若是时域取样值矢量,X是对应的傅氏变换,那么的功率谱便为。针对随机过程,其平均功率谱密度定义为各样本功率谱密度的数学期望4.3 作出仿真图由于需要作出的图形较多,且图形间需要对比,故采用了两种视图进行绘图,一是各个占空比的RZ码波形图和其功率谱进行横向对比,二是分别作出各占空比下的单双极性归零码波形,以便于观察。另外,各个占空比的RZ码波形和其频谱变换后的结果使用多行的矩阵进行存储,方便最后作图,因而代码显得有些冗余。可改用定义函数,输入参数的方式给出不同占空比下的计算与绘图。5 程序框图对于单极性归零码:对于双极性归零码:
5、6 仿真源代码%This is exp11 of communication matlab experiment.%Simulate digital coding wave and its power spectrum%duty ratio 25%,50%,75%,100% %both bipolar and unipolar RZ code %Prepare workspaceclear allclose all%-%common definitionsratio = 0.25,0.5,0.75,1;L = 128; % sample points every bit intervalN =
6、 214; % total sample pointsM = N/L; % total bitsRs = 10; %kbit/sTs = 1/Rs; %bits time intervalT = M*Ts; % periodfs = N/T; % sampling ratet = -T/2:1/fs:T/2-1/fs; % time domaindf = 1/T; % minimum frequency-domain resolutionf = -fs/2:df:fs/2-df; %frequecy domain%-%generate unipolar RZ code%prelocate sp
7、ace for speedratiolen = length(ratio);Frz_unipolar = zeros(ratiolen,length(f);Frz_bipolar = zeros(ratiolen,length(f);rz_unipolar = zeros(ratiolen,L*M);rz_bipolar = zeros(ratiolen,L*M);%loop to generate RZ code in different duty ratioEP1=zeros(size(f)+eps;EP2=zeros(size(f)+eps;for ii = 1:ratiolen for
8、 loop = 1:200 %generate unipolar data unip = (randn(1,M)0); %generate bipolar data bip = sign(randn(1,M); tmp1 = zeros(L,M); % zero matrix : L by M tmp2 = zeros(L,M); Lii = L*ratio(ii); % apply duty ratio tmp1(1:Lii,:) = ones(Lii,1)*unip; % unipolar RZ code matrix tmp2(1:Lii,:) = ones(Lii,1)*bip; %
9、bipolar RZ code matrix rz_tmp1 = tmp1(:); % unipolar rz code array rz_tmp2 = tmp2(:); % bipolar rz code array Frz_tmp1 = t2f(rz_tmp1,fs); % Fourier Transform Frz_tmp2 = t2f(rz_tmp2,fs); %P1 = abs(Frz_tmp1).2/T; P1 = Frz_tmp1.*conj(Frz_tmp1)/T; %Power Spectrum P2 = Frz_tmp2.*conj(Frz_tmp2)/T; EP1 = (
10、EP1*(loop-1)+P1+eps)/loop; EP2 = (EP2*(loop-1)+P2+eps)/loop; end % different duty ratio code in different row EP11=10*log10(EP1); EP22=10*log10(EP2); rz_unipolar(ii,:) = rz_tmp1; % time domain Frz_unipolar(ii,:) = EP11; % frequecy domain rz_bipolar(ii,:) = rz_tmp2; Frz_bipolar(ii,:) = EP22; end%-%vi
11、sualize unipolar RZ codepicnum = 1;%first view%all in one fugure,subplot 4 by 2figure(1)for jj = 1:ratiolen %plot wave in time-domain subplot(ratiolen,2,picnum),plot(t,rz_unipolar(jj,:), xlabel(t),ylabel(s(t),grid on,axis(-1,+1,0,+1.1),title(Unipolar RZ code : duty ratio , num2str(ratio(jj)*100),%),
12、 picnum = picnum+1; %plot power spectrum in frequency-domainsubplot(ratiolen,2,picnum),plot(f,Frz_unipolar(jj,:),axis(-100,+100,-80,+10),title(Unipolar RZ power spectrum : duty ratio , num2str(ratio(jj)*100),%), xlabel(f),ylabel(S(f),grid on picnum = picnum+1;end%second view%four figures with each d
13、uty ratio,both wave and spectrumfor kk = 1:ratiolen figure(kk+1) %plot wave in time-domain subplot(2,1,1),plot(t,rz_unipolar(kk,:), xlabel(t),ylabel(s(t),grid on,axis(-1,+1,0,+1.1),title(Unipolar RZ code : duty ratio , num2str(ratio(kk)*100),%), %plot power spectrum in frequency-domainsubplot(2,1,2)
14、,plot(f,Frz_unipolar(kk,:),axis(-100,+100,-80,+10),title(Unipolar RZ power spectrum : duty ratio , num2str(ratio(kk)*100),%), xlabel(f),ylabel(S(f),grid onend%-%visualize bipolar RZ codefigure(6)picnum1 = 1;%first view%all in one fugure,subplot 4 by 2for gg = 1:ratiolen %plot wave in time-domain sub
15、plot(ratiolen,2,picnum1),plot(t,rz_bipolar(gg,:), xlabel(t),ylabel(s(t),grid on,axis(-1,+1,-1.1,+1.1),title(Biploar RZ code : duty ratio , num2str(ratio(gg)*100),%), picnum1 = picnum1+1; %plot power spectrum in frequency-domainsubplot(ratiolen,2,picnum1),plot(f,Frz_bipolar(gg,:),axis(-100,+100,-80,+
16、10),title(Bipolar RZ power spectrum : duty ratio , num2str(ratio(gg)*100),%), xlabel(f),ylabel(S(f),grid on picnum1 = picnum1+1;end%second view%four figures with each duty ratio,both wave and spectrumfor mm = 1:ratiolen figure(mm+6) %plot wave in time-domain subplot(2,1,1),plot(t,rz_bipolar(mm,:), x
17、label(t),ylabel(s(t),grid on,axis(-1,+1,-1.1,+1.1),title(Bipolar RZ code : duty ratio , num2str(ratio(mm)*100),%), %plot power spectrum in frequency-domainsubplot(2,1,2),plot(f,Frz_bipolar(mm,:),axis(-100,+100,-80,+10),title(Bipolar RZ power spectrum : duty ratio , num2str(ratio(mm)*100),%), xlabel(f),ylabel(S(f),grid onend%-7 结果及分析图 1 不同占空比单极性归零码波形和功率谱全图图 2 不同占空比双极性归零码波形和功率谱全图从仿真图1和图2可以清楚地看到,仿真结果与原理部分介绍的波形和功率谱相吻合。比较明显的特点是双极性码不含离散分量,单极性码含有。这是因为在符号等概且不相关的情况,双极性码均值为零,即不含直流成分。