哈工程通信原理软件实验单人

时间:2024.4.7

    

实   验   报   告

哈尔滨工程大学教务处


          软件单人实验  AMI码与HDB3波形及功率谱密度实验

一、实验目的

1、掌握AMI和HDB3码有关概念及设计原则;

2、了解AMI和HDB3码波形特点;

3、掌握AMI和HDB3码的编码规则;

4、掌握AMI和HDB3码功率谱特性。

二、基本原理

1AMI

我们用“0”和“1”代表传号和空号。AMI码的编码规则是“0”码不变,“1”码则交替地转换为+1和-1。当码序列是100100011101时,AMI码就变为:+100-1000+1-1+10-1。这种码型交替出现正、负极脉冲,所以没直流分量,低频分量也很少,它的频谱如图5-1所示,AMI码的能量集中于f0/2处(f0为码速率)。

信息代码:1 0 0 1 1 0 0 0 1 1 1……

AMI码: +1 0 0-1+1 0 0 0-1+1-1……

由于AMI码的传号交替反转,故由于它决定的基带信号将出现正负脉冲交替,而0电位保持不变的规律。这种基带信号无直流成分,且只有很小的低频成分,因而它特别适宜在不允许这些成分通过的信道中传输。

除了上述特点以外,AMI码还有编译码电路简单以及便于观察误码情况等优点,它是以种基本的线路码,在高密度信息流得数据传输中,得到广泛采用。但是,AMI码有一个重要缺点,即当它用来获取定时信息时,由于它可能出现长的连0串,因而会造成提取定时信号的困难。

2HDB3

HDB3码是对AMI码的一种改进码,它的全称是三阶高密度双极性码。其编码规则如下:用B脉冲来保证任意两个相连取代节的V脉冲间“1”的个数为奇数。当相邻V脉冲间“1”码数为奇数时,则用“000V”取代,为偶数个时就用“B00V”取代。在V脉冲后面的“1”码和B码都依V脉冲的极性而正负交替改变。为了讨论方便,我们不管“0”码,而把相邻的信码“1”和取代节中的B码用B1B2 ......Bn表示,Bn后面为V,选取“000V”或“B00V”来满足Bn的n为奇数。当信码中的“1”码依次出现的序列为VB1B2B3...BnVB1时,HDB3码为+-+-...——+或为-+-+...++—。由此看出,V脉冲是可以辩认的,这是因为Bn和其后出现的V有相同的极性,破坏了相邻码交替变号原则,我们称V脉冲为破坏点,必要时加取代节BOOV,保证n永远为奇数,使相邻两个V码的极性作交替变化。由此可见,在HDB3码中。相邻两个V码之间或是其余的“1”码之间都符合交替变号原则,而取代码在整修码流中不符合交替变号原则。经过这样的变换,既消除了直流成分,又避免了长连“0”时位定时不易恢复的情况,同时也提供了取代信息。图5-2给出了HDB3码的频谱,此码符合前述的对频谱的要求。

例如:

代码:     1 0 0 0   0   1 0 0 0   0   1   1   000   0   1   1

AMI码:  -1 0 0 0   0  +1 0 0 0   0  -1  +1   000   0  -1  +1

HDB3码:-1 0 0 0  -V  +1 0 0 0  +V  -1  +1  -B00  -V  +1  -1

HDB3码的特点是明显的,它除了保持AMI码的优点外,还增加了使连0串减少到至多3个的优点,而不管信息源的统计特性如何。这对于定时信号的恢复是十分有利的。HDB3码是CCITT推荐使用的码型之一。

三:实验内容

1、利用MATLAB软件,编写.M文件,随机产生一组双极性归零码与双极性非归零码,并计算出功率谱

2、通过AMI和HDB3编码规则,利用.M文件产生AMI码与HDB3码。

3.、然后得出AMI码与HDB3的功率谱

四、实验代码

function 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

function 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

global dt df t f N

close all

N=2^14;   %采样点数

L=64;     %每码元的采样点数

M=N/L;     %码元数

Rb=2;

Ts=0.5;           %码元宽度是0.5us

dt=Ts/L;

df=1/(N*dt);     %MHz

RT=0.5;          %占空比

T=N*dt  ;        %截短时间

Bs=N*df/2;       %系统带宽

t=[-T/2+dt/2:dt:T/2]; %时域横坐标

f=[-Bs+df/2:df:Bs];   %频域横坐标

EPAMI=zeros(size(f));

EPHDB=zeros(size(f));

for ii=1:8

ami=zeros(1,M);

hdb=zeros(1,M);

a=round(rand(1,M));

b=3;%表示0000之间循环个数

c=-1;%记载相邻V之间的1元素个数

sign1=-1; %标志前一个信号

sign2=-1; %标志前一个信号

for ii=1:M

    if a(ii)==1

        sign1=0-sign1;

        ami(ii)=sign1;

    end

end

for ii=1:M

    if b==3         %表示非0000

    if a(ii)==1    

        sign2=0-sign2;

        hdb(ii)=sign2;

        if c>=0     %表示不是第一个0000

        c=c+1;  %用来计算相邻v之间的非0元素个数

        end

    elseif ii<=M-3 & a(ii)+a(ii+1)+a(ii+2)+a(ii+3)==0 

        if  mod(c,2)==1  %000V

            hdb(ii+3)=sign2;

        else           %B00V

            sign2=0-sign2;

            hdb(ii)=sign2;

            hdb(ii+3)=sign2;

        end

        c=0;

        b=0;

    end

    elseif b<3     %对0000的循环

    b=b+1;

    end

end

      

for i=[1:L]

ami1(i+[0:M-1]*L)=ami;

hdb1(i+[0:M-1]*L)=hdb;

end

AMI=t2f(ami1);

PAMI=AMI.*conj(AMI)/T;

HDB=t2f(hdb1);

PHDB=HDB.*conj(HDB)/T;

EPAMI=(EPAMI*(ii-1)+PAMI)/ii;

EPHDB=(EPHDB*(ii-1)+PHDB)/ii;

%画出RNZ、AMI、HDB3码波形

figure(1)

subplot(3,1,1)

tt=[1:40];

stem(a(1:40))

axis([1,40,-1.5,1.5])

title('原始NRZ信号')

subplot(3,1,2)

stem(tt,ami(1:40)')

title('AMI信号')

subplot(3,1,3)

stem(tt,hdb(1:40))

title('HDB3码')

%画出AMI的功率谱密度图

figure(2)

aa=30+10*log10(EPAMI+eps);%加eps以避免除以零

bb=30+10*log10(EPHDB+eps);

plot(f,aa,'r');

grid

axis([-8,+8,-80,40])

xlabel('f  (MHz)')

ylabel('AMIPs(f)   (dBm/MHz)')

title('AMI的功率谱密度图')

%画出HDB3的功率谱密度图

figure(3)

plot(f,bb,'b');

grid

axis([-8,+8,-80,40])

xlabel('f  (MHz)')

ylabel('HDB3Ps(f)   (dBm/MHz)')

title('HDB3的功率谱密度图')

end

五.实验结果

由图可以看出,实验结果正确,可以看出他们功率谱密度以f=0对称,实验完成。

六、心得体会

第一次使用matlab软件仿真,真心很艰难。通过此次实验了解了AMI和HDB3的编码规则和波形图及功率谱密度的形状,应用matlab是对基本知识的实践证实,学习了信号仿真的过程,印象深刻。但还是不太明白,寻求了好些人帮助,要更努力学习。

七、参考文献

吴鹏《MATLAB高效编程技巧与应用:25个案例分析》

郭黎利《通信原理》


第二篇:哈工程通信原理硬件实验二


实   验   报   告

哈尔滨工程大学教务处

 一、实验目的

 1、掌握绝对码、相对码概念及它们之间的变换关系。

 2、掌握用键控法产生2ASK、2FSK、2PSK、2DPSK信号的方法。

 3、掌握相对码波形与2PSK信号波形之间的关系、绝对码波形与2DPSK信号波形之间的关系。

 4、了解2ASK、2FSK、2PSK、2DPSK信号的频谱与数字基带信号频谱之间的关系。

二、实验内容

 1、用示波器观察绝对码波形、相对码波形。

 2、用示波器观察2ASK、2FSK、2PSK、2DPSK信号波形。

 3、用频谱仪观察数字基带信号频谱及2ASK、2FSK、2DPSK信号的频谱。

三、实验仪器

  双踪示波器一台、通信原理VI实验台一台、M6信号源模块和MI数字调制模块

四、实验步骤

 1、熟悉数字信源单元及数字调制单元的工作原理。

 2、连线:数字调制单元的CLK、BS-IN、NRZ-IN分别连至信源单元CLK、BS、NRZ。打开交流电源开关和两模块的电源开关。

 3、用数字信源模块的FS信号作为示波器的外同步信号,示波波CH1接AK,CH2接BK

,信源模块的K1、K2、K3置于任意状态(非全0),观察AK、BK波形,总结绝对码至相对码变换规律以及从相对码至绝对码的变换规律。

 4、示波器CH1接2DPSK,CH2分别接AK及BK,观察并总结2DPSK信号相位变化与绝对码的关系以及2DPSK信号相位变化与相对码的关系(此关系即是2PSK信号相位变化与信源代码的关系)。注意:2DPSK信号的幅度可能不一致,但这并不影响信息的正确传输。

 5、示波器CH1接AK、CH2依次接2FSK和2ASK;观察这两个信号与AK的关系(注意“1”码与“0”码对应的2FSK信号幅度可能不相等,这对传输信息是没有影响的)。

五、实验结果

步骤三实验现象 K1 00110000   K2  01100000   K301000100

 

步骤四实验现象

 

上面的波形为CAR 下面的为CAR-D

步骤五现象

步骤六现象

 

2FSK-OUT

 

2ASK-OUT

更多相关推荐:
软件工程实验的心得体会

----获取用户需求的沟通技巧经过这学期软件工程实验的学习,深深感到用户需求对软件的重要性。成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。当用户有一个问题可…

软件工程实验心得体会

软件工程实验心得体会软件工程实验心得体会一软件工程实验心得体会经过这学期软件工程实验的学习深深感到用户需求对软件的重要性成功的软件产品是建立在成功的需求基础之上的而高质量的需求来源于用户与开发人员之间有效的沟通...

软件工程实验总结

经过这学期软件工程实验的学习,深深感到软件工程的重要性。虽然我不能说我将《软件工程》学习的有多么的好,但是通过学习,我还是受益良多。之前一直认为软件就是程序,软件的开发就是编写程序,一个人,只要会编程,就能写软…

学习软件工程心得体会

学习软件工程的心得体会学习了这门课程,还有老师们的多元化教课,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,…

《软件工程》学习心得

《软件工程》学习心得一、软件工程的定义软件工程(SoftwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具…

软件工程实验报告

河南省高等教育自学考试实验报告册计算机及应用专业本科段软件工程姓名所属地市实验地点实验日期实验总成绩指导教师签名实验单位实验室意见主考院校审核意见河南科技大学自学考试办公室二零一零年三月实验一学生成绩管理系统需...

软件工程心得体会

读软件工程案例教程有感对于学习软件工程这门课程,我认为有许多东西要学习。其实在我看来学习这门课程的精髓是学习一种方法。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一…

软件工程概论实验报告

学生姓名谢某某学号0149001506109专业班级软件工程20xx实践类型验证综合设计创新实践日期20xx1130实践成绩以下主要内容由学生完成一实验项目名称软件工程用例图的绘制二实验目的1掌握画用例图的工具...

软件工程实验报告

软件工程实验报告题目作业提交系统学院计算机科学与技术学院专业07级计算机科学与技术队名桃园2203小组成员陈钦E10714016方彬E10714088曹春阳E10714078夏志菁E10714084指导教师韩莉...

软件工程实习周记

大连职业技术学院大型软件项目实训周记教学单位信息工程学院专业软件技术英语班级一班学生姓名惠兆邺学号20xx041110指导教师马艳红软件工程实习周记第1周日期3月9日总算是可以忙中偷闲坐下来写些东西了一周的复习...

软件工程基础实训报告

软件工程基础实训报告田军营仲志丹河南科技大学机电工程学院线性表的基本运算班级姓名实训成绩批改教师签名一实训学时2学时二实训目的理解线性表的概念掌握线性表的存储方法以及建立在该存储方法上的各种线性表算法并用CC调...

软件工程专业实训报告模板(20xx)

辽宁工程技术大学大型软件项目实训报告教学单位软件学院专业软件工程班级软件11学生姓名学号指导教师

软件工程实验心得(39篇)