1、信息与通信工程学院通信原理软件实验报告班 级: 2008211113姓 名: 学 号: 序 号: 日 期: 2010 年 11 月通信原理软件实验报告第 I 页目 录实验一 调幅信号波形频谱仿真 1一、实验题目 1二、基本原理 11、AM 调制原理 12、DSB-SC 调制原理 .13、SSB 调制原理 1三、仿真思路 2四、程序框图 2五、仿真源代码 2六、实验结果及分析 5实验二 调频信号波形频谱仿真 6一、实验题目 6二、基本原理 6三、仿真思路 7四、程序框图 7五、仿真源代码 7六、实验结果及分析 8实验三 单双极性归零码波形及功率谱仿真 .10一、实验题目 10二、基本原理 101
2、、单极性归零码 102、双极性归零码 103、各种码的比较 10三、仿真思路 111、产生 RZ 码 .11通信原理软件实验报告第 II 页2、仿真功率谱密度 113、作出仿真图 11四、程序框图 12五、仿真源代码 12六、实验结果及分析 15实验四 根升余弦滚降功率谱密度及眼图仿真 .17一、实验题目 17二、基本原理 171、升余弦滚降 172、眼图 17三、仿真思路 18四、程序框图 18五、仿真源代码 18六、实验结果及分析 19选做题 数字基带系统仿真 .21一、实验题目 21二、基本原理 211、PAM 信号的产生 212、常用码型 223、信道建模 224、眼图特性 235、取
3、样判决 23三、仿真思路 24四、程序框图 24五、仿真源码 25六、实验结果及分析 25附 录:心得体会 .31通信原理软件实验报告第 1 页实验一 调幅信号波形频谱仿真一、实验题目假设基带信号为 ,载波频率为 ,请()sin20)cos(10)mttt20kHz仿真出 AM、DSB-SC 、SSB 信号,观察已调信号的波形及频谱。二、基本原理1、AM 调制原理对于单音频信号 ()sin(2)mtAft进行 AM 调制的结果为 ()sin(2)si(1sin2)siAMcmc mcstftftAaftft其中调幅系数 ,要求 以免过调引起包络失真。a1a由 和 分别表示 AM 信号波形包络最
4、大值和最小值,则 AM 信号maxAin的调幅系数为 maxinA2、DSB-SC 调制原理DSB 信号的时域表达式为 ()cosDSBstmt频域表达式为 1()()()2DSBccM3、SSB 调制原理SSB 信号只发送单边带,比 DSB 节省一半带宽,其表达式为:通信原理软件实验报告第 2 页11()cossin22sBmmctAtwtAt三、仿真思路定义时域采样率、截断时间和采样点数,可得到载波和调制信号,容易根据调制原理写出各调制信号表达式,由此可以画出时域波形图。另外,对时域信号进行 FFT 变换,此处使用预先定义的 t2f.m 函数替代,进行傅立叶变换,得到频谱,在频域作图即可。
5、四、程序框图产生载波和调制信号 m(t)SSB、DSB、AM信号表达式FFT 变换得各调制信号频谱作图五、仿真源代码%Assume baseband signal:m(t)=sin(2000*pi*t)+2*cos(1000*pi*t)%carrier frequency is fc=20kHz,that is cos(2*pi*fc*t)%prepare workspaceClear allclose all%-%Common definitionsfs = 800; % sampling frequencyT = 200; % Time-domain truncation N = T*fs
6、; % sample pointsdt = 1/fs; % time resolutiont = -T/2:dt:T/2-dt; df = 1/T; % minimum frequency-domain resolutionf = -fs/2:df:fs/2-df;%- fm1 = 1; %kHzfm2 = 0.5; %kHzmt = sin(2*pi*fm1*t)+2*cos(2*pi*fm2*t);通信原理软件实验报告第 3 页mt1 = mt/3; % normalizationfc = 20; %kHzct = cos(2*pi*fc*t);Ac = 1;%-%Simulate AMa
7、 = 0.8;st1 = Ac*(1+a*mt1).*ct; % AM Equation Sf1 = t2f(st1,fs); % Fourier Transformsurf1 = abs(hilbert(st1); % envelopefigure(1)%plot Modulating Signalsubplot(2,2,1),plot(t,mt),grid on,axis(0,+4,-3,+3),title(Modulating Signal),xlabel(t),ylabel(m(t)%plot Carrier Signalsubplot(2,2,2),plot(t,ct),grid o
8、n,axis(0,2/fc,-1,1),title(Carrier Signal),xlabel(t),ylabel(c(t)%plot Modulated Signal and its envelopesubplot(2,2,3),plot(t,st1,t,surf1,r:),grid on,axis(0,60/fc,-2*Ac,+2*Ac),title(Modulated Signal),xlabel(t),ylabel(s(t)%plot Frequency Spectrumsubplot(2,2,4),plot(f,abs(Sf1),axis(-30,+30,0,max(abs(Sf1
9、),grid on,title(Frequency Spectrum),xlabel(f),ylabel(S(f)%-%Simulate DSB-SCst2 = Ac*mt.*ct;Sf2 = t2f(st2,fs); % Fourier Transformsurf2 = abs(hilbert(st2); % envelopefigure(2)%plot Modulating Signalsubplot(2,2,1),plot(t,mt),grid on,axis(0,+4,-3,+3),title(Modulating Signal),xlabel(t),ylabel(m(t)%plot
10、Carrier Signalsubplot(2,2,2),plot(t,ct),grid on,axis(0,2/fc,-1,1),title(Carrier Signal),xlabel(t),ylabel(c(t)%plot Modulated Signalsubplot(2,2,3),plot(t,st2),grid on,axis(0,60/fc,-3*Ac,+3*Ac),title(Modulated Signal),xlabel(t),ylabel(s(t)通信原理软件实验报告第 4 页%plot Frequency Spectrumsubplot(2,2,4),plot(f,ab
11、s(Sf2),axis(-30,+30,0,max(abs(Sf2),grid on,title(Frequency Spectrum),xlabel(f),ylabel(S(f)%-%Simulate SSB%use t2f and f2t function to do hilbert transform%or may use mh = hilbert(mt);Mt = t2f(mt,fs);Mh = -1j*sign(f);mh = real(f2t(Mh,fs);%Gernerate SSB Signal (right side)st3 = mt.*cos(2*pi*fc*t)-mh.*
12、sin(2*pi*fc*t);Sf3 = t2f(st3,fs);figure(3)%plot Modulating Signalsubplot(2,2,1),plot(t,mt),grid on,axis(0,+4,-3,+3),title(Modulating Signal),xlabel(t),ylabel(m(t)%plot Carrier Signalsubplot(2,2,2),plot(t,ct),grid on,axis(0,2/fc,-1,1),title(Carrier Signal),xlabel(t),ylabel(c(t)%plot Modulated Signals
13、ubplot(2,2,3),plot(t,st3),grid on,axis(0,60/fc,-6*Ac,+6*Ac),title(Modulated Signal),xlabel(t),ylabel(s(t)%plot Frequency Spectrumsubplot(2,2,4),plot(f,abs(Sf3),axis(-30,+30,0,max(abs(Sf3),grid on,title(Frequency Spectrum),xlabel(f),ylabel(S(f)%-%End of program附注 t2f.m 函数代码,此函数在后续实验中也有使用:%傅里叶正变换funct
14、ion S= t2f(s,fs) % s代表输入信号,S 代表s 的频谱,fs 是采样频率N= length(s); %样点总数T= 1/fs*N; %观察时间f= -N/2:(N/2-1)/T; % 频率采样点tmp1= fft(s)/fs;tmp2= N*ifft(s)/fs;S(1:N/2)= tmp2(N/2+1: -1:2);通信原理软件实验报告第 5 页S(N/2+1:N)= tmp1(1:N/2);S= S.*exp(j*pi*f*T);end六、实验结果及分析图 1.1 仿真 AM 波形和频谱图 1.1 为 AM 调制的波形和频谱图,从仿真的结果看出,AM 调制系数定义为 时信
15、号包络清晰,包络已显式绘出,可利用包络检波恢复原信号,接0.8a收设备较为简单。其频谱含有离散大载波,从理论分析可知,此载波占用了较多发送功率,使得发送设备功耗较大。图 1.2 仿真 DSB-SC 波形和频谱图 1.2 为双边带抑制载波调幅信号波形和频谱,其时域波形有相位翻转,频谱不含离散大载波。通信原理软件实验报告第 6 页必须使用相干解调,可用多种方法提取载波,常用方式为在发端加入离散导频分量,在收端利用调谐于载频 的窄带滤波器滤出导频分量。cf图 1.3 仿真 SSB 波形和频谱图 1.3 为 SSB 信号波形和频谱仿真图。 SSB 信号比 DSB 信号节省一半带宽,适合于语声信号的调制
16、,因为其没有直流分量,也没有很低频的成分。解调时可采用相干解调或者在发端加入离散大载波进行包络检波。实验二 调频信号波形频谱仿真一、实验题目假设基带信号 ,载波频()sin20)cos(10)4sin(50/3)mtttt率为 40kHz,仿真产生 FM 信号,观察波形与频谱,并与卡松公式做对照。FM的频率偏移常数为 5kHz/V。二、基本原理单音频信号 ()cos(2)mtaft经 FM 调制后的表达式为 ()s()FMccstAft其中 ()sin2sin2fmmaKtftft通信原理软件实验报告第 7 页调制指数 。由卡松公式可知 FM 信号的带宽为fmaK2(1)mBf三、仿真思路同实
17、验一中相仿,定义必要的仿真参数,在此基础上可得到载波信号和调制信号。根据 可得到频偏,由此可写出最终的 FM 信号的()2()tftKmdt表达式进行仿真计算。对 FM 信号进行傅里叶变换可得频谱特性,变换依旧使用实验一中给出的 t2f.m 函数。四、程序框图产生载波和调制信号 m(t)计算频率偏移量得 FM 信号FFT 变换得FM 信号频谱作时域波形图和频谱图五、仿真源代码%Assume baseband signal:% m(t)=sin(2000*pi*t)+2*cos(1000*pi*t)+4*sin(500*pi*t+pi/3)%carrier frequency is fc=40k
18、Hz,that is cos(2*pi*fc*t)%prepare workspaceclear allclose all%-%Common definitionsfs = 800; % sampling frequency (kHz)T = 16; % Time-domain truncation (ms)N = T*fs; % sample pointsdt = 1/fs; % time resolutiont = -T/2:dt:T/2-dt; df = 1/T; % minimum frequency-domain resolution通信原理软件实验报告第 8 页f = -fs/2:
19、df:fs/2-df;%-fm1 = 1; % kHzfm2 = 0.5; % kHzfm3 = 0.25; % kHzfc = 40; % kHz%Baseband signalmt = sin(2*pi*fm1*t)+2*cos(2*pi*fm2*t)+4*sin(2*pi*fm3*t+pi/3);%Carrier signalct = cos(2*pi*fc*t);Kf = 5; % kHz/Vphi = 2*pi*Kf*cumsum(mt)*dt; % phase deviation%-%Generate FM signalst = cos(2*pi*fc*t+phi); % FM s
20、ignalSf = t2f(st,fs); % Fourier Transform%-%Plot figuresfigure(1)%plot Modulating Signalsubplot(1,2,1),plot(t,mt),grid on,axis(0,+8,-7,+7),title(Modulating Signal),xlabel(t),ylabel(m(t)%plot Carrier Signalsubplot(1,2,2),plot(t,ct),grid on,axis(0,2/fc,-1,1),title(Carrier Signal),xlabel(t),ylabel(c(t)
21、figure(2)%plot Modulated Signal and its envelopeplot(t,st),grid on,axis(0,180/fc,-1.5,+1.5),title(Modulated Signal),xlabel(t),ylabel(s(t)figure(3)%plot Frequency Spectrumplot(f,abs(Sf),axis(-90,+90,0,max(abs(Sf),grid on,title(Frequency Spectrum),xlabel(f),ylabel(S(f)%-通信原理软件实验报告第 9 页六、实验结果及分析图 2.1 基
22、带信号和载波信号波形如图 2.2 为仿真 FM 信号波形,其形状为疏密波,最大频偏 5kHz/V。图 2.2 仿真 FM 信号波形如图 2.3 所示为仿真 FM 信号频谱图,由图可以读出并计算带宽为。W78kHz-=70kz由图 2.1 读出 ,频偏为 。利用卡松公4mfkzmax65/30fVkHz示进行理论计算为: ax2(1)()2(4)68mmBff kz仿真与理论计算值基本相符。验证了卡松公式的有效性。通信原理软件实验报告第 10 页图 2.3 仿真 FM 信号频谱通信原理软件实验报告第 11 页实验三 单双极性归零码波形及功率谱仿真一、实验题目通过仿真测量占空比为 25%、50%、
23、75%以及 100%的单双极性归零码波形及其功率谱。二、基本原理1、单极性归零码当发 码时,发出正电流,但持续时间短于一个码元的时间宽度,即发出“一个窄脉冲;当发 码时,仍然不发送电流。 0“单极性归零码在符号等概出现且互不相关的情况下,功率谱主瓣宽度为,其频谱含有连续谱、直流分量、离散始终分量及其奇次谐波分量。2bR2、双极性归零码其中 码发正的窄脉冲, 码发负的窄脉冲,两个码元的时间间隔可以“1“0大于每一个窄脉冲的宽度,取样时间是对准脉冲的中心。双极性归零码在符号等概且不相关的情况下,功率谱仅含有连续谱,其主瓣宽度为 。2bR3、各种码的比较不归零码(None Return Zero C
24、ode)在传输中难以确定一位的结束和另一位的开始,需要用某种方法使发送器和接收器之间进行定时或同步。归零码(None Return Zero Code)的脉冲较窄,根据脉冲宽度与传输频带宽度成反比的关系,因而归零码在信道上占用的频带较宽。 单极性码会积累直流分量;双极性码的直流分量大大减少,这对数据传输是很有利的。通信原理软件实验报告第 12 页三、仿真思路1、产生 RZ 码采用归零矩形脉冲波形的数字信号,可以用以下方法产生信号矢量 。设s是码元矢量,N 是总取样点数,M 是总码元数,L 是每个码元内的点数,a是要求的占空比, 是仿真系统的时域采样间隔,则 RZ 信号的产生方法是Rtdt(1,
25、);szeroNfr i1:Rt/d,si0:M1*La;end2、仿真功率谱密度任意信号 的功率谱的定义是()st 2|()|()limTsSfPf其中 是 截短后的傅氏变换, 是 的能量谱,()TSfst 2|()|Tf()Tf是 在截短时间内的功率谱。2|Tf对于仿真系统,若 是时域取样值矢量,X 是对应的傅氏变换,那么 的功x x率谱便为 。针对随机过程 ,其平均功率谱密度定义为P.*conj/T()Xt各样本功率谱密度的数学期望 1()()KxkPff3、作出仿真图由于需要作出的图形较多,且图形间需要对比,故采用了两种视图进行绘图,一是各个占空比的 RZ 码波形图和其功率谱进行横向对
26、比,二是分别作出各占空比下的单双极性归零码波形,以便于观察。另外,各个占空比的 RZ 码波形和其频谱变换后的结果使用多行的矩阵进行存储,方便最后作图,因而代码显得有些冗余。可改用定义函数,输入参数的方式给出不同占空比下的计算与绘图。通信原理软件实验报告第 13 页四、程序框图对于单极性归零码:产生 M 个0、1 等概随机码产生各占空比单极性归零码波形单极性归零码的功率谱密度作图对于双极性归零码:产生 M 个-1、1 等概随机码产生各占空比双极性归零码波形双极性归零码的功率谱密度作图五、仿真源代码%This is exp11 of communication matlab experiment.
27、%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 = 214; % total sample pointsM = N/L; % total bitsRs = 10; %
28、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 space for speedratiolen = length(ratio);通信原理软件实验报告第 14 页Frz_
29、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:ratiolenfor loop = 1:200%generate unipolar dataunip =
30、(randn(1,M)0);%generate bipolar databip = sign(randn(1,M);tmp1 = zeros(L,M); % zero matrix : L by Mtmp2 = zeros(L,M);Lii = L*ratio(ii); % apply duty ratiotmp1(1:Lii,:) = ones(Lii,1)*unip; % unipolar RZ code matrixtmp2(1:Lii,:) = ones(Lii,1)*bip; % bipolar RZ code matrixrz_tmp1 = tmp1(:); % unipolar
31、rz code arrayrz_tmp2 = tmp2(:); % bipolar rz code arrayFrz_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 SpectrumP2 = Frz_tmp2.*conj(Frz_tmp2)/T;EP1 = (EP1*(loop-1)+P1+eps)/loop;EP2 = (EP2*(loop-1)+P2+eps)/loop
32、;end% different duty ratio code in different rowEP11=10*log10(EP1);EP22=10*log10(EP2);rz_unipolar(ii,:) = rz_tmp1; % time domainFrz_unipolar(ii,:) = EP11; % frequecy domainrz_bipolar(ii,:) = rz_tmp2; Frz_bipolar(ii,:) = EP22; end%-%visualize unipolar RZ codepicnum = 1;%first view通信原理软件实验报告第 15 页%all
33、 in one fugure,subplot 4 by 2figure(1)for jj = 1:ratiolen%plot wave in time-domainsubplot(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),%),picnum = picnum+1;%plot power spectrum in frequency-do
34、mainsubplot(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 onpicnum = picnum+1;end%second view%four figures with each duty ratio,both wave and spectrumfor kk = 1:ratiolenfigure(k
35、k+1)%plot wave in time-domainsubplot(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),plot(f,Frz_unipolar(kk,:),axis(-100,+100,-80,+10),title(Unipolar
36、 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通信原理软件实验报告第 16 页%plot wave in time-domainsubplot(ratiolen,2,picnum1),plot(t,rz_bipolar(gg,:),xlab
37、el(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,+10),title(Bipolar RZ power spectrum : duty ratio ,num2str
38、(ratio(gg)*100),%),xlabel(f),ylabel(S(f),grid onpicnum1 = picnum1+1;end%second view%four figures with each duty ratio,both wave and spectrumfor mm = 1:ratiolenfigure(mm+6)%plot wave in time-domainsubplot(2,1,1),plot(t,rz_bipolar(mm,:),xlabel(t),ylabel(s(t),grid on,axis(-1,+1,-1.1,+1.1),title(Bipolar
39、 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%-六、实验结果及分析以下分析只给出第一种视图仿真图,所有仿真图见单独打印验收的截图。
40、从仿真图 3.1 和 3.2 可以清楚地看到,仿真结果与原理部分介绍的波形和功率谱相吻合。通信原理软件实验报告第 17 页图 3.1 不同占空比单极性归零码波形和功率谱全图比较明显的特点是双极性码不含离散分量,单极性码含有。这是因为在符号等概且不相关的情况,双极性码均值为零,即不含直流成分。图 3.2 不同占空比双极性归零码波形和功率谱全图通信原理软件实验报告第 18 页实验四 根升余弦滚降功率谱密度及眼图仿真一、实验题目仿真测量滚降系数为 的根升余弦滚降系统的发送功率谱密度及眼图。0.25二、基本原理1、升余弦滚降当 取一般值时,余弦滚降传输特性 可表示为()H它所对应的冲激响应为 2sin
41、(/)cos(/)1bbtTthtA显见,其在码元传输速率为 时无码间串扰。/bf2、眼图实际通信系统中,数字信号经过非理想的传输系统产生畸变,总是在不同程度上存在码间干扰的,系统性能很难进行定量的分析,常常甚至得不到近似结果。而眼图可以直观地估价系统码间干扰和噪声的影响,是常用的测试手段。眼图分析中常用结论:1) 最佳取样时刻应选择在眼睛张开最大的时刻;2) 眼睛闭合的速率,即眼图斜边的斜率,表示系统对定时误差灵敏的程度,斜边愈陡,对定位误差愈敏感;3) 在取样时刻上,阴影区的垂直宽度表示最大信号失真量;4) 在取样时刻上,上下两阴影区的间隔垂直距离之半是最小噪声容限,噪声瞬时值超过它就有可
42、能发生错误判决;通信原理软件实验报告第 19 页5) 阴影区与横轴相交的区间表示零点位置变动范围,它对于从信号平均零点位置提取定时信息的解调器有重要影响。三、仿真思路本仿真实验中首先产生随机序列,然后让序列经过升余弦滤波器,从而可以计算功率谱密度,并由傅里叶反变换得到时域波形,作出眼图。产生随机序列的方法与与实验三中方法一致。此处不再赘述。功率谱的仿真计算方法依然同实验三,即对于仿真系统,若 是时域取样值矢量,X 是对x应的傅氏变换,那么 的功率谱便为矢量 。xP.*conj/T眼图作图的方法是让不同的序列值经过系统,记录下其波形,利用图像的累叠模拟人眼的视觉暂留,形成眼图。另外也可以使 Ma
43、tlab 自带的画眼图的函数 eyediagram()进行绘图。四、程序框图产生M 个0、2 等概随机码定义升余弦滚降系统系统函数序列经过升余弦滚降滤波器作出功率谱和眼图傅里叶反变换得时域波形五、仿真源代码%Exp12%Plot the power spectrum density and eye pattern of%roll off square raise cosine filter%coefficient Alpha is 0.25%Prepare workspaceglobal dt t df Nclose allclear all%-%Common definationsN=210
44、; %total sample pointsL = 26; %sample points per elementM = N/L; Alpha = 0.25; %coefficientNa = 3; %3 elements on oscilloscope screenRb = 2; %bit rate 2Mb/sTs = 1/Rb; %element intervaldt = Ts/L; %time-domain sample intervaldf = 1/(N*dt); %frequency-domain sample interval通信原理软件实验报告第 20 页T = N*dt; BW = N*df/2; %band widthfs = N/T; %sampling ratef = -BW+df/2:df:BW; %frequency-domaint = -T/2+dt/2:dt:T/2; %time-domain%-%Square raise cosine functionh = sin(pi