2022年通信原理MATLAB仿真 .pdf
小 学 期 报 告实习题目通信原理 Matlab 仿真专业通信与信息工程班级学号学生姓名实习成绩指导教师201 0 年名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告1 通信原理 Matlab 仿真目录一、实验目的 -2 二、 实验题目 -2 三、正弦信号波形及频谱仿真-2 (一)通信原理知识-2 (二)仿真原理及思路-2 (三)程序流程图 - 3 (四)仿真程序及运行结果-3 (五)实验结果分析-5 四、 单极性归零波形及其功率谱密度仿真-5 (一)通信原理知识-6 (二)仿真原理及思路- -6 (三)程序流程图-6 (四)仿真程序及运行结果-6 (五)实验结果分析- -6 五、升余弦滚降波形的眼图及功率谱密度仿真-8 (一)通信原理知识-8 (二)仿真原理及思路- -9 (三)程序流程图- -9 (四)仿真程序及运行结果-10 (五)实验结果分析-11 六、PCM 编码及解码仿真-12 (一)通信原理知识- -12 (二)仿真原理及思路- - 13 (三)程序流程图- -14 (四)仿真程序及运行结果-15 (五)实验结果分析-18 七、实验心得- - -18 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告2 一、实验目的1、学会 MATLAB 软件的最基本运用。 MATLAB 是一种很实用的数学软件,它易学易用。MATLAB 对于许多的通信仿真类问题来说是很合适的。2、了解计算机仿真的基本原理及方法,知道怎样通过仿真的方法去研究通信问题。3、加深对通信原理课有关内容的理解。二实验要求1. 正弦信号波形及频谱的仿真;2. 单极性归零( RZ )波形及其功率谱,占空比为50% 的仿真;3. 升余弦滚降波形的眼图及其功率谱的仿真。滚降系数为0.5 。发送码取值为 0、2;4. PCM编码及解码的仿真。三正弦信号波形及频谱仿真(一)通信原理知识f tF傅里叶变换表达式:j tFft edt傅里叶变换:1( )()2jtf tFed傅里叶逆变换:000Sin(2)2jf tffff正弦信号傅里叶变换:(二)仿真原理及思路MATLAB 中关于傅里叶变换的有关函数,利用MATLAB 提供的函数编写两个函数t2f及 f2t 。t2f的功能是作傅氏变换, f2t的功能是作傅氏反变换,它们的引用格式分别名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告3 为 X=t2f(x)及 x=f2t(X),其中 x 是时域信号x t ( )截短并采样所得的取样值矢量,X是对x t ( )的傅氏变换Xf()截短并采样所得的取样值矢量。(三)程序流程图(四)仿真程序及运行结果主程序: sinx.mglobal dt df N t f T %全局变量close all k=input(取样点数 =2k,k=10); if k=,k=10;end N=2k; %采样点数dt=0.01; %时域采样间隔df=1/(N*dt);%频域采样间隔T=N*dt; %截短时间Bs=N*df/2; % 系统带宽t=linspace(-T/2,T/2,N); f=linspace(-Bs,Bs,N); f0=1; s=cos(2/3*pi*f0*t); S=t2f(s); a=f2t(S); figure(1) set(1,position,10,50,500,200)%设定窗口位置及大小figure(2) set(2,position,350,50,500,200);%设定窗口位置及大小figure(1) as=abs(S); % 求模plot(f,as,r-) grid; axis(-2*f0,+2*f0,min(as),max(as); 正弦信号傅里叶变换傅里叶逆变换作图孔名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告4 xlabel(f(kHZ); ylabel(S(f)(V/kHZ); figure(2) plot(t,a,b-) grid axis(-4,+4,-1.5,1.5); xlabel(t(ms); ylabel(s(t)(V); 傅式变换程序: t2f.mfunction X=t2f(x) global dt df N t f T %X=t2f(x) %x为时域的取样值矢量%X 为 x 的傅氏变换%X 与 x 长度相同 , 并为 2 的整幂。% 本函数需要一个全局变量dt( 时域取样间隔 ) H=fft(x); X=H(N/2+1:N),H(1:N/2).*dt; End 傅式反变换程序: f2t.mfunction x=f2t(X) global dt df t f T N %x=f2t(X) %x为时域的取样值矢量%X 为 x 的傅氏变换%X 与 x 长度相同并为 2 的整幂% 本函数需要一个全局变量dt( 时域取样间隔 ) X=X(N/2+1:N),X(1:N/2); x=ifft(X)/dt; %x=tmp(N/2+1:N),tmp(1:N/2); End 运行结果:-4-3-2-101234-1.5-1-0.500.511.5t(ms)s(t)(V)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告5 -2-1.5-1-0.500.511.521234f(kHZ)S(f)(V/kHZ)(五)实验结果分析打开 MATLAB 运行程序 sinx.m 后窗口出现:取样点数 =2k,k=10 。输入 10 后,画出正弦信号波形图以及频谱图。000Sin(2)2jf tffff正弦信号傅里叶变换:通过傅里叶变换语句S=t2f(s) 及傅里叶反变换语句a=f2t(S) ,得到正弦信号频谱并作图。四单极性归零(RZ)波形及其功率谱仿真(一)通信原理知识用矩形不归零脉冲作为发射波形(载波):2PAM 信号波形的幅度:占空比:TgtbA2bTT00121发发aAaai码元持续时间持续时间一个码元时间内正脉冲名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告6 (二)仿真原理及思路采用归零( RZ )矩形脉冲波形的数字信号,可以用简单的方法信号矢量s。设 a 是码元矢量, N是总取样点数, M是总码元数, L 是每个码元内的点数, Rt 是要求的占空比,dt 是仿真系统的时域采样间隔,则RZ信号的产生方法是s=zeros(1,N); for ii=1:Rt/dt, s(ii+0:M-1*L)=a;,end 任意信号s t ( )的功率谱的定义是PfSfTsTT()lim2, 其中SfT()是s t ( )截短后的傅氏变换, SfT()2是stT( )的能量谱,SfTT2是stT( )在截短时间内的功率谱。对于仿真系统,若x 是时域取样值矢量, X 是对应的傅氏变换,那么x 的功率谱便为矢量P=(X.*conj(X)/T。(三)程序流程图(四)仿真程序及运行结果程序如下:rz.mglobal dt t df N close all k=input(取样点数 =2k,k=14); if k=,k=14; end 产生 M个取值 0,1 等概的随机码产生占空比为0.5的单极性归波形单极性归零码的功率谱密度作图101101OTstfOPs( f )Rb2Rb(a)(b)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告7 N=2k; % 采样点数L=64; % 每码元的采样点数M=N/L; % 码元数Rb=2; % 码速率为 2Mb/s Ts=1/Rb; % 码元间隔dt=Ts/L; % 时域采样间隔Rt=0.5; %占空比df=1/(N*dt); %频域采样间隔T=N*dt; %截短时间t=linspace(-T/2,T/2,N); % 时域横坐标Bs=N*df/2; % 系统带宽f=linspace(-Bs,Bs,N); % 频域横坐标EP=zeros(1,N); for jj=1:100 a=round(rand(1,M);%产生 M个取值 0,1 等概的随机码s=zeros(1,N); %产生一个 N个元素的零序列for ii=1:Rt*Ts/dt s(ii+0:M-1*L)=a; % 产生单极性归零码end Q=t2f(s); % 付氏变换P=Q.*conj(Q)/T; %P 为单极性归零码的功率EP=(EP*(ii-1)+P)/ii; %累计平均aa=30+10*log10(EP+eps); % 加 eps 以避免除以零,标量eps 相当于无穷小。end figure(1) set(1,position,10,50,500,200) %设定窗口位置及大小figure(2) set(2,position,350,50,500,200)%设定窗口位置及大小figure(1) plot(f,aa,r) xlabel(f(MHZ) ylabel(Ps(f)(MHZ) axis(-15,+15,-50,50) grid figure(2) plot(t,s,b) xlabel(t(ms) ylabel(s(t)(V) axis(-10,10,-0.5,1.5) grid 运行结果:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告8 -10-50510-0.500.511.5t(ms)s(t)(V)-15-10-5051015-50050f(MHZ)Ps(f)(MHZ)(五)实验结果分析打开 MATLAB 运行程序 rz.m 后窗口出现:取样点数 =2k,k=14 。输入 14 后,画出占空比为 50% 的单极性归零( RZ )码的波形图及其功率谱图。本题通过 rand(1,M) 函数产生 M个取值 0,1 等概的随机码,然后根据0.5 占空比,生成单极性归零码。最后对其傅里叶变换,用语句P=Q.*conj(Q)/T生成单极性归零码的功率。五升余弦滚降波形的眼图及功率谱密度仿真(一)通信原理知识011/ 22/1sRBaudHz滚降系数为,则频谱宽度为多占用了倍的带宽,频带利用率降为最小 Nyquist 带宽因滚降多花费了100% 的带宽名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告9 接收二进制波形时,在一个码元周期Ts 内只能看到一只眼睛;若接收的是M进制波形,则在一个码元周期内可以看到纵向显示的(M-1) 只眼睛;另外,若扫描周期为 nTs时,可以看到并排的n 只眼睛。(二) 仿真原理及思路升 余 弦 滚 降 信 号 的 基 本 脉 冲 波 形 为 :222/41)/cos(/)/sin()(ssssTtTtTtTtth。 用sin/st T和cos/st T产生升余弦滚降信号。通过运行此程序,我们可以观察到不同滚降系数时升余弦滚降信号的眼图及功率谱。在通信原理的模型中,加入到升余弦滚降滤波器输入端的信号是冲激序列,而实际当中原始的数字信号一般是NRZ (不归零)信号,为了使升余弦滚降滤波器的输出仍为我们期望得到的信号,此时需要在滚降滤波器之前加入一个网 孔 均 衡 滤 波 器 (如下图所示)NRZ 信号升余弦滚降信号网孔均衡滚降滤波眼图是数字信号在示波器上重复扫描得到的显示图形。若示波器的扫描范围是Na个码元,那么画眼图的方法是:tt=0:dt:Na*L*dt; hold on for ii=1:Na*L:N-N*L plot(tt,s(ii+1:Na*L); end (三)程序流程图sin/st T滚将系数为0.5 的升余弦脉冲波形升余弦信号的功率谱作图升余弦信号的眼图cos/st T名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告10 (四)仿真程序及运行结果程序如下: scosx.mglobal dt t df N close all N=214; %采样点数L=32; %每码元的采样点数M=N/L %码元数Rb=2; %码速率是 2Mb/s Ts=1/Rb; %码元间隔dt=Ts/L; %时域采样间隔df=1/(N*dt) %频域采样间隔T=N*dt %截短时间Bs=N*df/2 %系统带宽Na=4; %示波器扫描宽度为4 个码元alpha=input(滚降系数 =0.5); if alpha=,alpha=0.5; end t=-T/2+dt/2:dt:T/2;%时域横坐标f=-Bs+df/2:df:Bs; %频域横坐标g1=sin(pi*t/Ts)./(pi*t/Ts); g2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).2); g=g1.*g2*2; %升余弦脉冲波形G=t2f(g); figure(1) set(1,position,10,50,500,200) %设定窗口位置及大小figure(2) set(2,position,350,50,500,200)%设定窗口位置及大小hold on grid xlabel(t in us) ylabel(s(t) in V) EP=zeros(size(f)+eps; for ii=1:100 a=sign(randn(1,M); imp=zeros(1,N); %产生冲激序列imp(L/2:L:N)=a/dt; S=t2f(imp).*G; %升余弦信号的傅氏变换s=f2t(t2f(imp).*G); %升余弦信号的时域波形s=real(s); P=S.*conj(S)/T; %升余弦信号的功率谱EP=(EP*(ii-1)+P+eps)/ii; figure(1) plot(f,30+10*log10(EP),r); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告11 grid axis(-3,+3,-200,50) xlabel(f (MHz) ylabel(Ps(f) (dBm/MHz) figure(2) tt=0:dt:Na*L*dt; for jj=1:Na*L:N-Na*L plot(tt,s(jj:jj+Na*L); end end 运行结果:00.511.52-4-2024t in uss(t)inV-3-2-10123-200-150-100-50050f (MHz)Ps(f)(dBm/MHz)(五)实验结果分析打开 MATLAB 运行程序 scosx.m 后窗口出现: M =512,df =0.0039,T =256,Bs =32滚降系数 =0.5 。输入 0.5 后,画出升余弦滚降系数为0.5 的波形的眼图及其功率谱密度图。升余弦滚降信号的基本脉冲波形为:222/41)/cos(/)/sin()(ssssTtTtTtTtth。本题用sin/st T和cos/st T产生滚降系数为0.5 的升余弦滚降信号。然后对其进行傅里叶变换,得到功率谱密度与眼图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告12 六 PCM 编码及解码仿真(一)通信原理知识PCM 采用 A律编码规则:A律压扩特性曲线在 (-1,+1)上,这种压扩特性可用13 折线逼近。注意:本来是分成了 16 段,但 0 附近的 4 个线段斜率相同,可视为1 条对量化后的有限个取值进行编码,常见的二进制码: 自然码,折叠码,格雷码。PCM中使用的是折叠码:用第一位表示量化电平极性(正为1,负为 0) ,后面几位表示信号量化电平绝对值的大小。量化:先用对数 A律特性将量化范围分成16 个段落(对数量化),在段落内则使用均匀量化(即将每个段落均匀分成16 个小段) 。编码:每个值用 8 比特进行量化。将整个量化范围均分成8192 等份,正负部分各 4096份且相互对称。下面以正极性部分进行说明:段落 0(000) :032 份。段内 16 小段,每小段 2 份段落 1(001) :3264 份。段内 16 小段,每小段 2 份段落 2(010) :64128 份。段内 16 小段,每小段 4 份段落 3(011) :128256 份。段内 16 小段,每小段 8 份段落 4(100) :256512 份。段内 16 小段,每小段 16 份段落 5(101) :5121024 份。段内 16 小段,每小段 32 份段落 6(110) :10242048 份。段内 16 小段,每小段 64 份段落 7(111) :20484096 份。段内 16 小段,每小段 128 份注意:每小段的量化电平为该小段中点(均匀量化)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告13 (二)仿真原理及思路PCM 编码原理:在 PCM 中,对模拟信号进行抽样、量化,将量化的信号电平值转化为对应的二进制码组的过程称为编码,其逆过程称为译码或解码。在PCM 中使用的是折叠二进制码。(1)折叠二进制码从理论上看,任何一个可逆的二进制码组均可用于PCM 。目前最常见的二进制码组有三类:二进制自然码( NBC ) 、折叠二进制码组( FBC ) 、格雷二进制码( RBC ) 。表 3-1 列出三种码的编码规律。表 3-1 二进制码型电平序号自然二进制码折叠二进制码格雷码0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 8 9 10 11 12 13 14 15 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 由表 3-1 可见,如果把 16 个量化级分成两部分: 07 的 8 个量化级对于于负极性样值, 815 的 8 个量化级对应于正极性样值。自然二进制码就是一般的十进制正整数的二进制表示。如电平序号13 用自然码表示就是b)1101(202213023(3.3-3 )其中下标b表示是二进制数。在折叠码中,左边第一位表示正负号(信号极性),第二位开始至最后一位表示信号幅度。第一位用1 表示正,用 0 表示负。绝对值相同的折叠码,其码组除第一位外都相同,并且相对于零电平(第7 电平和第 8 电平之间)呈对称折叠关系,因此这种码组形象地称为折叠码。PCM 编码规则:电话语音信号的频带为3003400Hz ,抽样速率为 8000Hz ,对每个抽样值进行A律或者律非均匀量化,在编码时每个样值用8 位二进制码表示。这样,每路标准话路的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告14 比特率为 64kbps。编码时是按照 CCITT建议的 PCM 编码规则进行的。在A律 13 折线编码中,正负方向共16 个段落,在每一个段落内有16 个均匀分布的量化电平,因此总的量化电平数256L。编码位数8N,每个样值用 8 比特代码1C 8C 来表示,分为三部分。第一位1C为极性码,用1 和 0 分别表示信号的正、负极性。第二到第四位码432CCC为段落码,表示信号绝对值处于那个段落,3 位码可表示 8 个段落,代表了 8 个段落的起始电平值。上述编码方法是把非线性压缩、 均匀量化、编码结合为一体的方法。 在上述方法中,虽然各段内的16 个量化级是均匀的,但因段落长度不等,故不同段落间的量化间隔是不同的。当输入信号小时,段落小,量化级间隔小;当输入信号大时,段落大,量化级间隔大。 第一、 二段最短,归一化长度为128/1, 再将它等分 16段, 每一小段长度为2048/1,这就是最小的量化级间隔。根据 13 折线的定义,以最小的量化级间隔为最小计量单位,可以计算出 13 折线A律每个量化段的电平范围、 起始电平siI、段内码对应电平、各段落内量化间隔i。具体计算结果如表3-2 所示。表 3-2 13折线 A 律有关参数表段落号i=18 电平范围)(段落码432CCC段落起始电平)(siI量化间隔)(i段内码对应权值()8765CCCC8 10242048 1 1 1 1024 64 512 256 128 64 7 5121024 1 1 0 512 32 256 128 64 32 6 256512 1 0 1 256 16 128 64 32 16 5 128256 1 0 0 128 8 64 32 16 8 4 64128 0 1 1 64 4 32 16 8 4 3 3264 0 1 0 32 2 16 8 4 2 2 1632 0 0 1 16 1 8 4 2 1 1 016 0 0 0 0 1 8 4 2 1 假设以非均匀量化时的最小量化间隔=1/2048 作为均匀量化的量化间隔, 那么从13 折线的第一段到第八段所包含的均匀量化级数共有2048 个均匀量化级,而非均匀量化只有 128 个量化级。均匀量化需要编11 位码,而非均匀量化只要编7 位码。通常把按非均匀量化特性的编码称为非线性编码;按均匀量化特性的编码称为线性编码。可见, 在保证小信号时的量化间隔相同的条件下,7 位非线性编码与 11 位线性编码等效。(三)程序流程图正弦信号A律 PCM 编码A律 PCM 译码作图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告15 (四)仿真程序及运行结果主程序: pcm.m%show the pcm encode and decode clear all; close all; t = 0:0.01:10; x = sin(t); v = max(x); xx = x/v; %normalize sxx = floor(xx*4096); y = pcm_encode(sxx); yy = pcm_decode(y,v); drawnow figure(1) set(1,position,10,50,500,200)%设定窗口位置及大小figure(2) set(2,position,350,50,500,200);%设定窗口位置及大小figure(1) plot(t,x,r); title(sample sequence); figure(2) plot(t,yy,b) title(pcm decode sequence); 编码程序: pcm_encode.mfunction out=pcm_encode(x) %x encode to pcm code n=length(x); %-4096x0 out(i,1)=1; else out(i,1)=0; end if abs(x(i) =0 & abs(x(i)32 out(i,2)=0;out(i,3)=0;out(i,4)=0;step=2;st=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告16 elseif 32=abs(x(i)&abs(x(i)64 out(i,2)=0;out(i,3)=0;out(i,4)=1;step=2;st=32; elseif 64=abs(x(i)&abs(x(i)128 out(i,2)=0;out(i,3)=1;out(i,4)=0;step=4;st=64; elseif 128=abs(x(i)&abs(x(i)256 out(i,2)=0;out(i,3)=1;out(i,4)=1;step=8;st=128 elseif 256=abs(x(i)&abs(x(i)512 out(i,2)=1;out(i,3)=0;out(i,4)=0;step=16;st=256; elseif 512=abs(x(i)&abs(x(i)1024 out(i,2)=1;out(i,3)=0;out(i,4)=1;step=32;st=512; elseif 1024=abs(x(i)&abs(x(i)2048 out(i,2)=1;out(i,3)=1;out(i,4)=0;step=64;st=1024; elseif 2048=abs(x(i)&abs(x(i)4096 out(i,2)=1;out(i,3)=1;out(i,4)=1;step=128;st=2048; else out(i,2)=1;out(i,3)=1;out(i,4)=1;step=128;st=2048; end if abs(x(i)=4096 out(i,2:8)=1 1 1 1 1 1 1; else tmp=floor(abs(x(i)-st)/step); t=dec2bin(tmp,4)-48;%函数 dec2bin 输出的是 ASCII 字符串, 48 对应 0 out(i,5:8)=t(1:4); end end out=reshape(out,1,8*n); 译码程序: pcm_decode.mfunction out= pcm_decode(in,v)%decode the input pcm code %in : input the pcm code 8 bits sample %v:quantized level n=length(in); in=reshape(in,8,n/8); slot(1)=0; slot(2)=32; slot(3)=64; slot(4)=128; slot(5)=256; slot(6)=512; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告17 slot(7)=1024; slot(8)=2048; step(1)=2; step(2)=2; step(3)=4; step(4)=8; step(5)=16; step(6)=32; step(7)=64; step(8)=128; for i=1:n/8 ss=2*in(i,1)-1; tmp = in(i,2)*4+in(i,3)*2+in(i,4)+1; st = slot(tmp); dt = (in(i,5)*8+in(i,6)*4+in(i,7)*2+in(i,8)*step(tmp)+0.5*step(tmp); out(i)=ss*(st+dt)/4096*v; end 运行结果:0246810-1-0.500.51sample sequence0246810-1-0.500.51pcm decode sequence名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 19 页 - - - - - - - - - 通信原理基于Matlab 的计算机仿真报告18 (五)实验结果分析打开 MATLAB 运行程序 pcm.m后窗口出现: st =128。并画出正弦信号未编码波形与PCM 编码,译码后波形。有图可知,未编码与PCM 编码,译码后波形一致。说明A律 PCM 编码能不失真地回复出原信号,具有较强的实用性。七实验心得通信中的许多问题都可以通过计算机仿真的办法来进行研究。计算机仿真实质上就是把硬件实验搬进了计算机,可以把它看成是一种软件实验。在软件实验中我们用程序来实现通信原理中的理论模型。所有通信模块及通信仪表的功能都是用程序来实现,通信系统的全过程在计算机中仿真运行。通过本次实验,我了解了MATLAB 基本使用方法以及通信原理计算机仿真的一般方法。通信原理是通信工程专业的一门重要专业基础课,这门课的某些内容对我们初学者来说往往不大好把握。通过自己动手,用MATLAB 对某些知识进行仿真,然后对结果进行研究和观察,使我对这些内容掌握地更加透彻。实习指导教师签字:年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 19 页 - - - - - - - - -