当前位置:文档之家› C++实现通信编解码及码型转换完整代码

C++实现通信编解码及码型转换完整代码

C++实现通信编解码及码型转换完整代码
C++实现通信编解码及码型转换完整代码

要求:

实现对给定模拟信号 2sin (2π*300t )+ sin(2π*500t)+0.5sin (2π*3400t )的数字化传输,要求画出系统框图,并且

1、实现8位13折线A 律PCM 编码和译码(包括采样频率的选取)

2、实现简单的信道编解码,CRC(7,4)码,生成多项式为1)(23++=x x x g

3、实现基带码型变换与反变换,采用HDB3编码。

4、信号持续时间1S 以上,每种编码结果单独输出。

C++实现:

#include

#include

#include

#include

const int maxsize=10000;

const double PI=3.14;

using namespace std;

int Sample(double sp [])//抽样

{

double t=0;

int i=0;

while(t<=1000)

{

sp[i]=2*sin(2*PI*300*t/1000)+sin(2*PI*500*t/1000)+0.5*sin( 2*PI*3400*t/1000);

i++;

t+=0.125;

}

return i;

}

void Quantification(double sp[],double Q[],int Len)//量化{

int i=0;

for(;i

Q[i]=sp[i]/3.27*2048;

}

void PCM_Coding(double Q,int cod[],int l)//PCM编码

{

int i;

int a=Q;

int I4,I5,I6,I7;

int c[8]={16,32,64,128,256,512,1024,2048}; int I[8]={0,16,32,64,128,256,512,1024};

int S[8]={1,1,2,4,8,16,32,64};

int b[8]={0};

if(a<0)

{

b[0]=0;

a=abs(a);

}

else

{

b[0]=1;

}

for(i=0;i<7;i++)

if(a

switch(i)

{

case 0:b[1]=0;b[2]=0;b[3]=0;break;

case 1:b[1]=0;b[2]=0;b[3]=1;break;

case 2:b[1]=0;b[2]=1;b[3]=0;break;

case 3:b[1]=0;b[2]=1;b[3]=1;break;

case 4:b[1]=1;b[2]=0;b[3]=0;break;

case 5:b[1]=1;b[2]=0;b[3]=1;break;

case 6:b[1]=1;b[2]=1;b[3]=0;break;

case 7:b[1]=1;b[2]=1;b[3]=1;break;

}

I4=I[i]+8*S[i];

if(a>I4) b[4]=1; else b[4]=0;

I5=I[i]+8*S[i]*b[4]+4*S[i];

if(a>I5) b[5]=1; else b[5]=0;

I6=I[i]+8*S[i]*b[4]+4*S[i]*b[5]+2*S[i];

if(a>I6) b[6]=1; else b[6]=0;

I7=I[i]+8*S[i]*b[4]+4*S[i]*b[5]+2*S[i]*b[6]+S[i];

if(a>I7) b[7]=1; else b[7]=0;

int L=8*l;

for(int q=0;q<8;q++)

cod[L++]=b[q];

}

void PCM_Decoding(int cod[],int Len,ofstream &fout)//PCM解码{

int I[8]={0,16,32,64,128,256,512,1024};

int S[8]={1,1,2,4,8,16,32,64};

int b[8];

for(int i=0;i

{

for(int l=8*i,q=0;q<8;l++,q++)

b[q]=cod[l];

int a,t;

t=b[1]*4+b[2]*2+b[3];

a=I[t]+(b[4]*8+b[5]*4+b[6]*2+b[7]+1/2)*S[t];

if(b[0]==0) a=-a;

fout<

}

}

int CRC(int t,int crc[],int n)//CRC编码

{

int k;

int g=0xd;

t=t<<3;

k=t;

g=g<<3;

int i=0;

for(;i<4;)

{

if(t<0x40)

{

t=t<<1;

i++;

}

else

t=t^g;

}

t=t>>4;

k=k^t;

char c[8];

itoa(k,c,2);

int p=7-strlen(c);

int h=n;

for(;n-h

crc[n]=0;

for(int m=0;m

return n;

}

void AMI(int n,int origin[],int AMIcode[]) {

int i,k=1;

for(i=0;i

{

if(origin[i]==0)AMIcode[i]=0;

else if(origin[i]==1)

{

AMIcode[i]=k;

k=-k;

}

else;

}

}

void HDB3(int n,int AMIcode[])

{

int i=0,m,j=0,v,w,x=0;

while(i

{ m=0;

while(AMIcode[i]==0&&m<4&&i

if(m==4)j++;

if(j==1&&m==4){AMIcode[i-1]=AMIcode[i-5];v=AMIcode[i-1];} if(j>1&&m==4)

{

AMIcode[i-1]=-v;

if(AMIcode[i-1]!=AMIcode[i-5])

{

AMIcode[i-4]=-AMIcode[i-5];

AMIcode[i-1]=AMIcode[i-4];

w=AMIcode[i-1];

while(x<3&&i

{

if(abs(AMIcode[i])==1){AMIcode[i]=-w;w=AMIcode[i];}

if(AMIcode[i]==0&&AMIcode[i+1]==0)x++;

i++;

}

if(x>2)i=-2;

}

else;

v=AMIcode[i-1];

}

if(m==0)i++;

else;

}

}

void HDB3_Coding(int origin[],int n,int AMIcode[],ofstream &fout)

//HDB3编码

{

//int *AMIcode=new int[14*maxsize];

int i;

AMI(n,origin,AMIcode);

HDB3(n,AMIcode);

for(i=0;i

{

fout<

if((i+1)%8==0) fout<<" ";

}

fout<

}

void HDB3_Decoding(int HC[],int n)//HDB3解码{

int i=0,j=0;

for(;i

if(HC[i]!=0)

for(j=i+1;j

{

if(HC[j]!=0)

if(HC[i]==HC[j])

{

HC[j]=0;

i=j;

break;

}

else

{

i=j;break;

}

else;

}

for(i=0;i

if(HC[i]!=0) HC[i]=1;

}

int main()

{

ofstream fout("output.txt");

double sp[maxsize];

int Len;

Len=Sample(sp);

fout<<"抽样值:"<

for(int i=0;i

{

fout<

}

fout<

double Q[maxsize];

Quantification(sp,Q,Len);

fout<

for(int i=0;i

{

fout<

}

fout<

int cod[maxsize*8];

fout<

{

PCM_Coding(Q[i],cod,i);

for(int j=i*8;j

{

fout<

}

fout<<" ";

}

fout<

fout<<"PCM_A解码"<

PCM_Decoding(cod,Len,fout);

fout<

int *crc=new int[14*maxsize]; int n=0;

for(int i=0;i<8*Len;)

{

int b[4];

for(int l=0;l<4;l++)

b[l]=cod[i++];

int t=b[0]*8+b[1]*4+b[2]*2+b[1];

n=CRC(t,crc,n);

};

fout<

for(int i=0;i<14*Len;i++)

{

fout<

if((i+1)%7==0) fout<<" ";

}

fout<

fout<

char *hdb3=new char[14*maxsize];

for(int i=0;i<14*Len;i++)

hdb3[i]=crc[i]+48;

int *HC=new int[14*Len];

HDB3_Coding(crc,14*Len,HC,fout); HDB3_Decoding(HC,14*Len);

fout<

for(int i=0;i<14*Len;i++)

{

fout<

if((i+1)%7==0) fout<<" ";

}

fout<

cout<<"输出结果保存在当前文件夹下的output.txtx文件中!"<

return 0;

}

即时通讯软件QQ和微信的比较

即时通讯软件的设计分析 ————QQ与微信的异同与发展趋势 腾讯QQ(简称“QQ”) QQ是腾讯公司开发的一款基于Internet的即时通信(IM)软件。腾讯QQ支持在线聊天、视频电话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与移动通讯终端等多种通讯方式相连。1999年02月,腾讯正式推出第一个即时通信软件——“OICQ”,后改名为腾讯QQ。QQ在线用户由1999年的2人(2人指马化腾和张志东)到现在已经发展到上亿用户,在线人数超过一亿,是中国目前使用最广泛的聊天软件之一。 微信 微信是一款基于移动场景、为手机而设计的社交应用。所以设计了基于地理位置的功能——查看附近的人,更适合手机端的输入方式——语音输入,更简便的手势操作——摇一摇,基于手机才能使用的功能——通讯录匹配、二维码名片。这一切都利用了手机的特性,为了更符合移动场景。 QQ与微信的相同点 微信与QQ一样都是即时聊天通讯工具,都可以与好友进行线上聊天发表情与分享心情新闻等等。 QQ与微信的不同点 微信是被设计者重塑了的QQ。QQ刚刚出现的时候,也多存在陌生生交流。长时间沉淀,形成了QQ的特色:熟人即时通讯。而微信借助移动IM刚刚起步的大形势,以移动通讯为切入口,有QQ平台推广直接跳过了熟人或者陌生人的区分。如果说两者最大的不同,就是:1、用户人群不同,微信通过智能手机这个媒介过滤了QQ大部分的低端用户; 2、手机QQ是PCQQ在移动端上延伸,而微信是针对智能移动端量身定做,所以智能移动端的属性比较强一些。 因为用户群已经确定,QQ基因难以改变,所以设计者借助大势,通过功能、视觉、交互等等产品的各方面重塑了即时通讯QQ,使微信的定位人群要高端化。分析产品之间的不同,从定位、设计、特色功能着手。 一、定位:人群的定位——QQ是青少年,微信则偏向于白领。这也是腾讯的去年轻化战略的最成功案例。时间定位——QQ是一个即使的通讯工具,直接的说,我们一般聊QQ都是抽出特定的时间,一段时间,而在移动时代,碎片的化时间才是移动的常态,所以,微信比QQ赢在了碎片化。 二、设计:微信区别与手机QQ的也有很多在于设计,①放弃了QQ分组,而直接采用通过拼音索引。其实这符合手机通讯录特点,直接把微信融入到手机中,融入感更强。②微信摒弃了QQ的高度的集成,一个很冗杂的客户端,而以轻便的平台,任凭用户添加,可多可少,符合移动直观的聊天、语音特性。 三、特色功能:QQ作为即时通讯的集大成者,包括在视频聊天、文件传输等扩展上做到了无出其右。微信是社交属性开始融于媒体属性,其公众平台的出现,挤压了不少的微博时间,也为微信做为一个移动端的平台,一个入口做了铺垫,这正式当年QQ走的路,只是,移动端的平台不同,不是简单粗暴的堆叠,而是

即时通讯软件的发展及其现状

摘要 近一、两年来,即时通讯软件(InstantMessenger)的发展突飞猛进。在短短的几年内,网络即时通信大有取代传统通信方式之势。继电子邮件之后,即时通讯对我们的通信方式又进行了一场革命,这种革命甚至延续到了我们的感情领域,只要双方都在互联网上。即时通讯所拥有的实时性、跨平台性、成本低、效率高等诸多优势,使之日益受到网民们的喜爱。随着互联网成长起来的“e一代”,在交换联系方式时已经习惯了交换QQ号。 本文介绍了网络即时通讯软件的发展过程及现状,五种最常用的即时通讯软件,以及即时通讯软件的最新发展。 关键字:即时通讯;网络发展;软件

目录 摘要 (1) 一、即时通讯 (3) (一)概要 (3) (二)即时通讯软体 (4) 二、国内常用的五种即时通讯软件 (4) (一)QQ (4) (二)MSN (5) (三)阿里旺旺 (6) (四)百度hi (6) (五)POPO (7) 三、即时通信软件的现状 (8) 四、即时通信行业发展趋势 (9) 五、总结 (10)

一、即时通讯 即时通讯(Instant messaging,简称IM)是一个终端服务,允许两人或多人使用网路即时的传递文字讯息、档案、语音与视频交流。分电话即时通讯手机和网站即时通讯代表百问https://www.doczj.com/doc/9d12482519.html,,手机即时通讯代表是短信,视频即时通讯如QQ,MSN,百度hi等应用形式。 (一) 概要 即时通讯是一个终端连往一个即时通讯网路的服务。即时通讯不同於e-mail在於它的交谈是即时的。大部分的即时通讯服务提供了presence awareness的特性──显示联络人名单,联络人是否在缐上与能否与联络人交谈。 在早期的即时通讯程式中,使用者输入的每一个字元都会即时显示在双方的萤幕,且每一个字元的删除与修改都会即时的反应在萤幕上。这种模式比起使用e-mail更像是电话交谈。在现在的即时通讯程式中,交谈中的另一方通常只会在本地端按下送出键(Enter或是Ctrl+Enter)後才会看到讯息。 在网际网路上受欢迎的即时通讯服务包含了MSN Messenger、AOL Instant Messenger、Yahoo! Messenger、NET Messenger Service、Jabber、ICQ与QQ。这些服务有赖於许多想法更久的(与普遍)的缐上聊天媒介,如Internet Relay Chat一样知名。 1970年代早期,一种更早的即时通讯形式是柏拉图系统(PLATO system)。之後在1980年代,UNIX/Linux的交谈即时讯息被广泛的使用於工程师与学术界,1990年代即时通讯更跨越了网际网路交流。1996年11月,ICQ是首个广泛被非

通讯录的制作(数据结构C语言版)

通讯录的设计 一、设计思路: 经过一个学期的程序设计学习,我逐渐了解了计算机的基本原理和c语言的基本常识,并可以逐渐自己来实现一些简单的程序任务。此次程序设计我选择了通讯录设计,通过函数、结构体的定义以及一些基本操作运用,经过一个多月的编写、调试、测试,最终完成了该程序的设计。以下为我的设计思路:首先,确定通讯录的功能,我初步设计了六项功能:输入(程序中对应 enter ())、删除(程序中对应delete())、显示通讯录(程序中对应list())、搜索(程序中对应search())、保存(程序中对应save())、装载(程序中对应 load())。 其次,对于存储的数据结构,我则主要选择了一下几个方面的信息:姓名、性别年龄、籍贯、手机、下一个指针(用于链表的操作与实现)、当前指针(用于链表的操作与实现)。 二、程序源代码: #include struct address{ /*创建一个address结构*/ char name[10]; /*姓名*/ char sex[2]; /*性别*/ char age[2]; /*年龄*/ char native[10]; /*籍贯*/ char telephone[12]; /*手机*/ struct address *next; /*下一个入口的指针*/ struct address *prior; /*当前记录的指针*/ } list_entry; struct address *start; /*指向列表中第一个入口*/ struct address *last; /*指向列表中最后一个入口*/

即时通讯工具的异同

即时通讯工具的异同 不同点 腾讯QQ 腾讯是中国最早的互联网即时通信软件开发商,是中国的互联网服务及移动增值服务供应商,并一直致力于即时通信及相关增值业务的服务运营。腾讯QQ已形成为国内用户最多的个人即时通信工具,2004年腾讯QQ推出了2004Beta2新版本,在软件功能上作了较大的改进,它的发展引导着国内即时通讯软件的发展方向。 作为国内即时通讯软件的老大,QQ2004 II Beta2版本增加了多项耳目一新的功能,如魔法表情、影片截图(图14)、多人语音、网络记事本等等。 MSN MSN是微软公司开发的即时聊天工具,由于微软产品用户众多,MSN操作简单运行稳定,因此MSN的普及速度非常之快,现在已经是世界主流的聊天工具,并且功能越来越强大,最近推出了7.0版本。 喜欢写文字的朋友如果拥有MSN的.NET PassPort账号可以去申请MSN最新提供的MSN Spaces空间,让自己也成为网络博客。另外MSN7.0还增加了MSN Today的对话框,可以让用户即时看到MSN网站上提供的最新服务。 雅虎通 雅虎通(Yahoo! Messenger)是一种免费的消息服务,它允许用户与朋友、家人、同事及其他人进行即时的交流。使用即时消息可以与朋友交谈,并能发现他们何时在线。雅虎通内置了股票、新闻、和记分板等选项卡,这样不论用户在何处浏览因特网,都可以始终监视用户所有个性化信息。使用最新的雅虎通6.0版本,还可以获得1G大小的雅虎邮箱。 雅虎通推出了免费向使用6.0版本的用户提供1G邮箱的服务,并且全部免费发送手机短信,它在免费功能上打出了一张亮牌!而在功能上内置了一搜网的搜索引擎,便于用户即时查找网络资源。 TOM-Skype TOM-Skype是TOM在线和Skype Technologies- S.A.联合推出的互联网语音沟通工具。Tom-skype采用了最先进的P2P 技术,为您提供超清晰的语音通话效果,使用端对端的加密技术,保证通讯的安全可靠。您无需进行复杂的防火墙或者路由等设置,就可以顺利安装轻松上手。TOM-Skype可以免费的直接呼叫全世界的朋友的软件,服务提供商是互联网上免费的电话公司。用户只需要花几分钟时间下载软件、注册TOM-Skype账户,便可以插好耳机、麦克风、或者与TOM-Skype配套的USB电话,开始像打电话一样呼叫朋友了。TOM-Skype的功能和前面五款软件相比,聊天和多媒体功能没有那么丰富,而在它所特有的通话功能技术开发上独树一帜,具有领先的P2P技术、穿透防火墙、安全加密、跨平台使用的特点。 新浪UC 新浪UC是新一代开放式即时通讯娱乐平台,它采用自由变换场景、个性在线心情等人性化设计,配合视频电话、信息群发、文件互传、在线游戏等使用户在聊天的同时能边说、边看、边玩,从而带给用户前所未有的聊天新感觉。 新浪UC的用户则可以根据自己在线时间的长短获得免费的网络硬盘空间,最大支持120M,每天免费发送15条手机短信,并可直接用该账户享受新浪网的游戏、多媒体同学录、聊天室等服务。只要打开UC咨询通还可以即时获得最新的新闻信息,查看天气预报等。

实验十五 码型变换实验

实验十五码型变换实验 一、实验目的 1、了解几种常用的数字基带信号。 2、掌握常用数字基带传输码型的编码规则。 3、掌握常用CPLD实现码型变换的方法。 二、实验内容 1、观察NRZ码、RZ码、AMI码、HDB3码、CMI码、BPH码的波形。 2、观察全0码或全1码时各码型的波形。 3、观察HDB3码、AMI码的正负极性波形。 4、观察RZ码、AMI码、HDB3码、CMI码、BPH码经过码型反变换后的输出波形。 5、自行设计码型变换电路,下载并观察波形。 三、实验器材 1、信号源模块一块 2、⑥号模块一块 3、⑦号模块一块 4、20M双踪示波器一台 5、连接线若干 四、实验原理 (一)基本原理 在数字通信中,有些场合可以不经过载波调制和解调过程而让基带信号直接进行传输。例如,在市区内利用电传机直接进行电报通信,或者利用中继方式在长距离上直接传输PCM 信号等。这种不使用载波调制装置而直接传送基带信号的系统,我们称它为基带传输系统,它的基本结构如图15-1所示。 信道信号形成器信道接收 滤波器 抽样 判决器 基带脉冲 输出 基带脉冲 输入 干扰 图15-1 基带传输系统的基本结构 该结构由信道信号形成器、信道、接收滤波器以及抽样判决器组成。这里信道信号形成

器用来产生适合于信道传输的基带信号,信道可以是允许基带信号通过的媒质(例如能够通过从直流至高频的有线线路等);接收滤波器用来接收信号和尽可能排除信道噪声和其他干扰;抽样判决器则是在噪声背景下用来判定与再生基带信号。 若一个变换器把数字基带信号变换成适合于基带信号传输的基带信号,则称此变换器为数字基带调制器;相反,把信道基带信号变换成原始数字基带信号的变换器,称之为基带解调器。 基带信号是代码的一种电表示形式。在实际的基带传输系统中,并不是所有的基带电波形都能在信道中传输。例如,含有丰富直流和低频成分的基带信号就不适宜在信道中传输,因为它有可能造成信号严重畸变。单极性基带波形就是一个典型例子。再例如,一般基带传输系统都从接收到的基带信号流中提取定时信号,而收定时信号又依赖于代码的码型,如果代码出现长时间的连“0”符号,则基带信号可能会长时间出现0电位,而使收定时恢复系统难以保证收定时信号的准确性。归纳起来,对传输用的基带信号的主要要求有两点:(1)对各种代码的要求,期望将原始信息符号编制成适合于传输用的码型;(2)对所选码型的电波形要求,期望电波形适宜于在信道中传输。 (二)编码规则 1、 NRZ 码 NRZ 码的全称是单极性不归零码,在这种二元码中用高电平和低电平(这里为零电平)分别表示二进制信息“1”和“0”,在整个码元期间电平保持不变。例如: +E 0 1 0 1 0 0 1 1 0 2、 RZ 码 RZ 码的全称是单极性归零码,与NRZ 码不同的是,发送“1”时在整个码元期间高电平只持续一段时间,在码元的其余时间内则返回到零电平。例如: 1 0 1 0 0 1 1 0 +E 0 3、 AMI 码 AMI 码的全称是传号交替反转码。这是一种将信息代码0(空号)和1(传号)按如下方式进行编码的码:代码的0仍变换为传输码的0,而把代码中的1交替地变换为传输码的+1,-1,

通信原理实验报告

实验一、PCM编译码实验 实验步骤 1. 准备工作:加电后,将交换模块中的跳线开关KQ01置于左端PCM编码位置,此时MC145540工作在PCM编码状态。 2. PCM串行接口时序观察 (1)输出时钟和帧同步时隙信号观测:用示波器同时观测抽样时钟信号(TP504)和输出时钟信号(TP503),观测时以TP504做同步。分析和掌握PCM编码抽样时钟信号与输出时钟的对应关系(同步沿、脉冲宽度等)。 (2)抽样时钟信号与PCM编码数据测量:用示波器同时观测抽样时钟信号(TP504)和编码输出数据信号端口(TP502),观测时以TP504做同步。分析和掌握PCM编码输出数据与抽样时钟信号(同步沿、脉冲宽度)及输出时钟的对应关系。 3. PCM编码器 (1)方法一: (A)准备:将跳线开关K501设置在测试位置,跳线开关K001置于右端选择外部信号,用函数信号发生器产生一个频率为1000Hz、电平为2Vp-p的正弦波测试信号送入信号测试端口J005和J006(地)。 (B)用示波器同时观测抽样时钟信号(TP504)和编码输出数据信号端口(TP502),观测时以TP504做同步。分析和掌握PCM编码输出数据与抽样时钟信号(同步沿、脉冲宽度)及输出时钟的对应关系。分析为什么采用一般的示波器不能进行有效的观察。 (2)方法二: (A)准备:将输入信号选择开关K501设置在测试位置,将交换模块内测试信号选择开关K001设置在内部测试信号(左端)。此时由该模块产生一个1KHz的测试信号,送入PCM编码器。(B)用示波器同时观测抽样时钟信号(TP504)和编码输出数据信号端口(TP502),观测时以内部测试信号(TP501)做同步(注意:需三通道观察)。分析和掌握PCM编码输出数据与帧同步时隙信号、发送时钟的对应关系。 4. PCM译码器 (1)准备:跳线开关K501设置在测试位置、K504设置在正常位置,K001置于右端选择外部信号。此时将PCM输出编码数据直接送入本地译码器,构成自环。用函数信号发生器产生一个频率为1000Hz、电平为2Vp-p的正弦波测试信号送入信号测试端口J005和J006(地)。 (2) PCM译码器输出模拟信号观测:用示波器同时观测解码器输出信号端(TP506)和编码器输入信号端口(TP501),观测信号时以TP501做同步。定性的观测解码信号与输入信号的关系:质量、电平、延时。 5. PCM频率响应测量:将测试信号电平固定在2Vp-p,调整测试信号频率,定性的观测解码恢复出的模拟信号电平。观测输出信号信电平相对变化随输入信号频率变化的相对关系。

c语言通讯录源代码

#include #include #include #include struct person //每个元素都是结构体类型 { char name[15]; //结构体数组,用于存储姓名 char celephone[22]; char QQ[20]; }per[500]; //定义一个per数组,它有500个元素 int num=0;//*外部变量num为文件中的纪录数*// FILE *fp; void mainmenu();//*主菜单*// **模块1** void newrecord();//新添纪录(括写入到文件)*// **模块2** void readfromfile();//*读取文件*// **模块2.1** void searchmenu();//*查询菜单*// **模块3** void searchbyname();//*按姓名查询*// **模块3.1** void searchbycelephone();//*按手机号码查询*// **模块3.2** void searchbyqq();//*按QQ查询*// **模块3.3** void xiugaimenu();//*修改菜单*// **模块4** void xiugaibyname();//*按姓名查找修改*// **模块4.1** void xiugaibycelephone();//*按手机号码查找修改*// **模块4.2** void xiugaixiangmu(int a);//*查找后要修改的项目(分名字和号码)*// **模块4.3** void deletemenu();//*删除菜单*// **模块5** void deleteall();//*删除所有信息*// **模块5.1** void deleteone();//*删除单个*// **模块5.2** void deletebycelephone(); //*按手机号码删除*// **模块5.2.1** void deletebyname();//*按姓名删除*/ **模块5.2.2** void showall();//*输出全部信息*// **模块6** void main()//*主函数*// { while (1) { mainmenu(); } } //*主函数结束*//

五款主流即时通讯软件分析

纵观近年来国内即时通讯软件市场,QQ在较长时间内一直因贴近国人需求而一枝独秀。与此同时,功能越来越强大的MSN Messenger其市场份额也在扩大,Yahoo Messenger也有一定的用户,而在语音通话和界面简洁方面各有特色的Google Talk和Skype,也牢牢抓住了一些网民的心。在接下来的部分中,我们将这5款IM软件进行横向评测。所有参评的软件均已更新到最新版。(Yahoo! Messenger 因8.0 beta 多次安装失败,采用了7.x系列的最新版) 图目前国内用户较常见到的五款主流即时通讯软件 ★联系人容量 Windows Live Messenger 联系人数目从75、150升级到300人,目前是600人,与QQ相当。而Yahoo Messenger在8.0中通过插件,已经可以达到1000人。Google Talk联系人数目和Gmail一样,超过5000,上限未知。Skype联系人上限未见报道,小编多方查询也未知道结果。 500-600的联系人容量对于日常使用来说已经够用,但这个数字经过长时间的积累,也会慢慢耗尽。当然,如果你是IM狂人当然另当别论了。 ★安装程序及安装后文件夹体积 对于功能,当然是强大的好;但是软件体积,还是精简些比较好。QQ和Google Talk在体积方面显然是两个极端:随着QQ功能的逐步增多,比如TM、QQ音乐、3D秀等,腾讯也想把所有的功能都打包进去,自然造成了安装程序和程序文件夹体积的增大。而Google Talk非常简洁,安装文件竟然只有1.3兆,安装后文件夹内居然只有主程序、卸载程序两个文件,可谓精简至极。 图五款IM软件的安装包及安装后体积(单位:兆) 尽管当今宽带普及,用户的硬盘空间也是越来越大,人们大可不必为这几十兆空间太伤头脑;但空间占用超过平均水平太多的IM软件无疑会令相当一批用户感到臃肿。 ★运行内存占用

实验三 码型变换实验

实验三码型变换实验 一、实验目的 1.了解几种常见的数字基带信号。 2.掌握常用数字基带传输码型的编码规则。 3.掌握用FPGA实现码型变换的方法。 二、实验内容 1.观察NRZ、RZ码、BRZ码、BNRZ码、AMI码、CMI码、HDB3码、BPH码的波形。2.观察全0码或全1码时各码型波形。 3.观察HDB3码、AMI码、BNRZ码正、负极性波形。 4.观察NRZ码、RZ码、BRZ码、BNRZ码、AMI码、CMI码、HDB3码、BPH码经过码型反变换后的输出波形。 5.自行设计码型变换电路,下载并观察输出波形。 三、实验器材 1.信号源模块 2.码型变换模块 3.20M双踪示波器一台 4.频率计(可选)一台 5.PC机(可选)一台 6.连接线若干 四、实验原理 1.编码规则 ①NRZ码(见教材) ②RZ码(见教材) ③BNRZ码-双极性不归零码 1 0 1 0 0 1 1 0 +E -E ④BRZ码-双极性归零码 1 0 1 0 0 1 1 0 +E -E ⑤AMI码(见教材) ⑥HDB3码(见教材) ⑦BPH码

BPH码的全称是数字双相码(Digital Diphase),又叫分相码(Biphase,Split-phase)或曼彻斯特码(Manchester),其编码规则之一是: 0 01(零相位的一个周期的方波); 110(π相位的一个周期的方波)。例如: 代码: 1 1 0 0 1 0 1 双相码: 10 10 01 01 10 01 10 这种码既能提取足够的定时分量,又无直流漂移,编码过程简单。但带宽要宽些。⑧CMI码 CMI码的全称是传号反转码,其编码规则如下:信息码中的“1”码交替用“11”和“00”表示,“0”码用“01”表示。例如: 代码: 1 1 0 1 0 0 1 0 CMI码: 11 00 01 11 01 01 00 01 这种码型有较多的电平跃变,因此,含有丰富的定时信息。该码已被ITU-T推荐为PCM四次群的接口码型。在光纤传输系统中有时也用CMI码作线路传输码型。 2.电路原理 将信号源产生的NRZ码和位同步信号BS送入U900(EPM7128SLC84-15)进行变换,可以直接得到各种单极性码和各种双极性码的正、负极性编码信号。解码时同样也需要送入FPGA进行解码,得到NRZ码。 ①NRZ码 从信号源“NRZ”点输出的数字码型即为NRZ码,请参考信号源工作原理。 ②BRZ、BNRZ码 将NRZ码和位同步信号BS分别送入双四路模拟开关U902(4052)的控制端作为控制信号,在同一时刻,NRZ码和BS信号电平高低的不同组合(00、01、10、11)将控制U902分别接通不同的通道,输出BRZ码和BNRZ码。X通道的4个输入端X0、X1、X2、X3分别接-5V、GND、+5V、GND,在控制信号控制下输出BRZ码;Y通道的4个输入端Y0、Y1、Y2、Y3分别接-5V、-5V、+5V、+5V,在控制信号控制下输出BNRZ 码。解码时通过电压比较器U907(LM339)将双极性的BRZ和BNRZ码转换为两路单极性码,即双—单(极性)变换,再送入U900进行解码,恢复出原始的NRZ码。 ③RZ、BPH码 同BRZ、BNRZ,因是单极性码,其编解码过程全在U900中完成,在这里不再赘述。 ④AMI码 由于AMI码是双极性的码型,所以它的变换过程分成了两个部分。首先,在U900中,将NRZ码经过一个时钟为BS的JK触发器后,再与NRZ信号相与后得到控制信号AMIB,该信号与NRZ码作为控制信号送入单八路模拟开关U905(4051)的控制端,U905的输出即为AMI码。解码过程与BNRZ码一样,也需先经过双—单变换,再送入U900进行解码。 ⑤HDB3码 HDB3码的编、解码框图分别如图3-1、3-2所示,其编、解码过程与AMI码相同,这里不再赘述。

数字通信原理实验报告四

中南大学 数字通信原理实验报告指导老师***** 学生姓名*** 学号*********** 专业班级*****************

目录 实验四 ----------------------------------------2 实验目的 ----------------------------------------2 实验内容 ----------------------------------------2基本原理 ----------------------------------------2实验步骤 ----------------------------------------9 实验结果 ----------------------------------------11

实验四数字解调与眼图 一、实验目的 1. 掌握2DPSK相干解调原理。 2. 掌握2FSK过零检测解调原理。 二、实验内容 1. 用示波器观察2DPSK相干解调器各点波形。 2. 用示波器观察2FSK过零检测解调器各点波形。 3.用示波器观察眼图。 三、基本原理 可用相干解调或差分相干解调法(相位比较法)解调2DPSK信号。在相位比较法中,要求载波频率为码速率的整数倍,当此关系不能满足时只能用相干解调法。本实验系统中,2DPSK载波频率等码速率的13倍,两种解调方法都可用。实际工程中相干解调法用得最多。2FSK信号的解调方法有:包络括检波法、相干解调法、鉴频法、过零检测法等。 图4-1 数字解调方框图 (a)2DPSK相干解调(b)2FSK过零检测解调 本实验采用相干解调法解调2DPSK信号、采用过零检测法解调2FSK信号。2DPSK模块内部使用+5V、+12V和-12V电压,2FSK模块内部仅使用+5V电压。图4-1为两个解调器的原理方框图,其电原理图如图4-2所示(见附录)。

个人通讯录管理系统c语言源程序优秀版)

#include /*头文件*/ #include //包含最常用的系统函数 #include //关于字符数组的函数定义的头文件#include //控制台输入输出 //定义结构体 struct tongxunlu /*定义通讯录结构体变量*/ { char xingming[20]; /*定义输入名字的数组*/ char dianhua[20]; /*定义输入电话号码的数组*/ char dizhi[40]; /*定义输入地址的数组*/ } txl[100]; //默认100个数据 int n=0;//记录数据联系人数量 FILE *fp; /*定义文件*/ //程序用到的所有函数 void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/ void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/ void chazhao(); /*查找联系人函数*/

void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/ void shanchu(); /*删除联系人函数*/ void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/ void xianshi(); /*号码显示*/ //程序主函数模块六 void main() /*主函数main*/ { readfile(); /*读入文件*/ while(1) /* 循环(永远进行)*/ { zhucaidan(); /*调用主菜单函数*/ } } //读取文件函数部分开始模块七 void readfile() { if((fp=fopen("c:\\通讯录.txt","r"))==NULL) /*以只读方式打开判定文件是否为空*/ { printf("\n\t\t\t 通讯录文件不存在"); /*判断结论*/ if ((fp=fopen("同通讯录.txt","w"))==NULL) /*只写方式判断*/

基于TCP协议的简单即时通信软件的设计与实现

基于TCP协议的网络通信系统的设计与实现 摘要:网络通信,由于其具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时、安全的即时通信系统具有较强的现实意义。即时通信的底层通信是通过SOCKET套接字接口实现的。当前的主流UNIX系统和微软的WINDOWS系统都在内核提供了对SOCKET字接口的支持。使用这个统一的接口,可以编写一个可移植的TCP/IP通信程序。使信息能够在INTERNET上可靠的传输。 本文设计并实现了基于局域网内的简单即时通信系统,系统采用C/S模式,底层通信通过SOCKET套接字接口实现,服务器负责客户端的登录验证,好友信息的保存和心跳报文的发送。客户端采用P2P方式实现消息传递,并能实现文件的传输。本文首先讨论了同步套接字,异步套接字,多线程并发执行任务等;然后阐述了客户端、服务器如何使用XML序列化的消息进行通信。 关键词:即时通信;文件传输;套接字;TCP协议 Abstract :Instant messages have several advantages such as real-time, cross-platform, cheap and efficient. To design a Multi-user IM (instant message) architecture is very i mportant in both theory and realism. Instant message based on TCP/IP protocol that is realized by socket interface. Almost all UNIX operation systems and Microsoft's win dows operation systems provide support of socket in the kernel. Using the uniform int erface, we can develop a portable program of TCP/IP, which help us transfer informati on in Internet safely and credibly. The system uses the client/server(C/S) mode. The server takes the responsibility of th e login message of client, the saving of friend message and Message heartbeat. The tra nsmission of the basic messages of the customer end will be designed on P2P architec ture. This thesis explains how the client and server communicate via serializing XML message. Key words: Instant Message; File Transfer; Socket; TCP protocol

数字通信原理实验报告

《数字通信原理与技术》实验报告 学院:江苏城市职业学院 专业:计算机科学与技术 班级: 姓名:___________ 学号: ________

实验一熟悉MATLAB环境 一、实验目的 (1)熟悉MATLAB的主要操作命令。 (2)掌握简单的绘图命令。 (3)用MATLAB编程并学会创建函数。 (4)观察离散系统的频率响应。 二、实验内容 (1)数组的加、减、乘、除和乘方运算。输入A=【1 2 3 4】,B=【3 4 5 6】,求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。 (2)用MATLAB实现下列序列: a)x(n)=0.8n 0≦n≦15 b)x(n)=e(0.2+0.3j) 0≦n≦15 c)x(n)=3cos(0.125πn+0.2π)+0.2sin(0.25πn+0.1π) 0≦n≦15 d) 将c)中的x(n)扩展成以16为周期的函数x16(n)=x(n+16),绘出四个周期。 e) 将c)中的x(n)扩展成以10为周期的函数x10(n)=x(n+10),绘出四个周期。 (3) 绘出下列时间函数图形,对x轴、y轴以及图形上方均须加上适当的标注: a)x (t )=sin(2πt) 0≦n≦10s b) x (t)=cos(100πt)sin(πt) 0≦n≦14s 三、程序和实验结果 (1)实验结果: 1、A=[1,2,3,4] B=[3,4,5,6] C=A+B D=A-B E=A.*B F=A./B G=A.^B A =1 2 3 4 B =3 4 5 6 C =4 6 8 10 D =-2 -2 -2 -2 E =3 8 15 24 F =0.3333 0.5000 0.6000 0.6667 G =1 16 243 4096 >> stem(A) >> stem(B) >> stem(C) >> stem(D) >> stem(E) >> stem(F)

“开发聊天软件” 项目计划书

北京师范大学珠海分校 开发聊天软件 项目计划书 目录 一、软件设计概要 (1) 1.1设计目的 (1)

1.2性能需求 (2) 二、软件设计分析 (2) 2.1任务概述 (2) 2.2设计的总体结构描述 (2) 2.3文字传输模块 (4) 2.4文件传输模块 (5) 三、项目流程 (6) 四、项目人员设计 (6) 4.1项目小组人员 (6) 4.1项目小组任务分配 (7) 一、软件设计概要 1.1设计目的 随着信息技术的飞速发展,人们在工作中对即时聊天,文件传输的使用和需求越来越多。 现有的商用QQ和MSN等聊天软件娱乐性很强,源代码不明确,信息安全性

无法保障,软件本身作为第三方软件不便管理。 对于企业或组织,使用的聊天软件主要考虑软件稳定性和软件功能的实现,而对美工和软件娱乐性不用过多考虑。 从技术层面上说单纯的即时聊天软件结构简单,功能模块不多,因此很多公司或组织会选择,自行研发此类软件供内部使用。 1.2性能需求 该类软件的使用对象是企业或组织,所以性能需求有以下几点: ◆该软件用户能够进行信息的发送和接受(包括字符串信息以及文件信 息); ◆该软件可以传送文件,并且有相关权限设置,职员之间只可以向上一级 和同级及下级发送文件,不可越级。 ◆该软件聊天模式分为三种:个人对个人、同部门之间、全公司 ◆该软件用户在使用之前需要先注册,注册之后需验证为本公司人员才能 使用,无需设置昵称作用。 ◆该软件能实现信息管理功能(包括信息接受,信息发送,信息删除以及 信息存储); ◆该软件服务器端可以实现对注册用户信息的查看,删除一些违规用户或 强制使这些用户下线; ◆该团建服务器端可以对部分用户及对全体用户发送系统消息; 二、软件设计分析 2.1任务概述 软件开发主要做的工作有:软件功能分析,各个界面的设计,具体各个功能的实现,测试、实施以及维护软件。 2.2设计的总体结构描述 总体上来看,软件可分为服务器和客户端两大块。

通信原理实验 CMI码型变换 实验报告

姓名:学号:班级: 第周星期第大节 实验名称:CMI码型变换 一、实验目的 1.掌握CMI编码规则。 2.掌握CMI编码和解码原理。 3.了解CMI同步原理和检错原理。 二、实验仪器 1.ZH5001A通信原理综合实验系统 2.20MHz双踪示波器 三、实验内容 1.CMI码编码规则测试 (1)7位m序列输入,无加错,CMI输出。用示波器观测如下数据: 2.“1”码状态记忆测试 (2)7位m序列输入。用示波器观测如下数据: ?CMI编码输入数据(TPX01),1码状态记忆输出(TPX03)

3.CMI码编解码波形测试 用示波器观测如下数据: 4.CMI码编码加错波形观测 用示波器观测4个加错点加错时和不加错时的输出波形

加错无错 加错无错 加错无错

5.CMI码检错功能测试 (1)输入数据为Dt,人为加入错码。用示波器观测如下波形 (2)输入数据为M,人为加入错码。用示波器观测如下波形 ?加错指示点(TPX06),检测错码检测点(TPY05)

有些加错点对应的检错点都没有影响,说明输入M序列有些加错点没有 6.CMI译码同步观测 (1)输入Dt,不经过CMI编码。错码。用示波器观测如下波形 (2)输入Dt,经过CMI编码。错码。用示波器观测如下波形 ?检测错码检测点(TPY05)

经过CMI编码后处在同步状态,因为周期的输入加错,所以示波器中出 7.抗连0码性能测试 (1)输入全0。用示波器观测如下波形 (2)看输入数据和输出数据是否相同。用示波器观测如下波形 ?CMI编码输入数据(TPX01),输出编码数据(TPY07)

数字通信原理BPSK传输系统设计与仿真实验报告

北京联合大学《通信原理》实验报告 科目:通信原理实验 教师:许学梅 班级: 200908030201 姓名: 王国显 学号: 2009080302104 时间: 2012.11.20

实验四、2PSK传输系统设计与仿真 一、实验目的 1..在前面2PSK调制系统设计与仿真实验的基础上,通过本实验建立起 BPSK 传输系统的概念。 2.深入理解、掌握二进制相移键控技术(2PSK)的调制/解调原理及在数字 通信传输系统中的应用。 3.掌握(2PSK)调制/解调传输系统模型的构建技术。 4.掌握(2PSK)调制/解调的设计与实现方法。 5.深入理解、分析、掌握二进制相移键控(2PSK)调制/解调传输系统各模 块间参数的设置及相互间的关联与影响。 6.能够按不同用户的技术指标需求,进行(2PSK)调制/解调传输系统的设 计。 7.掌握(2PSK)调制/解调传输系统的测试方法。 8.掌握对(2PSK)调制/解调传输系统的相关参数、信号波形及频谱进行分 析的方法。 9.对比原始发送数据信号经调制/与解调系统传输后,还原的数据信号是否 与原始发送数据信号一致。 二、实验仪器(软/硬件环境及所需元器件模块) 1.PC机一台 2. 安捷伦科技EESof软件ADS:Advanced Design System –2005A 3.计算机操作系统:Win 2000, Win XP, HP Unix11.0, Sun Unix 5.8 等 4.元器件模块: (1)Sinusoid正弦波信号发生器(Sinusoid signal generator); (2)Data数字序列信号发生器(Data generator); (3)信号类型转换器(Signal Converters): TimedToFloat信号类型转换器、FloatToTimed信号类型转换器; (4)TimedSink信号接收器(Timed Data Collector); (5) SpectrumAnalyzer频谱分析仪(Spectrum analyzer); (6) DF数据流控制器(Data Flow Controller); (7) Mpy2乘法器(2-Input Multiplier); (8) VAR变量和方程式模块(器件)(Variables and Equations Component)。 (9)时钟源Clock, (10)抽样保持器SampleAndHold, (11)带通滤波器BPF_RaisedCosineTimed, (12)低通滤波器为LPF_RaisedCosineTimed,

基于Web的即时通讯系统的设计与实现

滨江学院 学年论文 题目基于Web的即时通讯系统的设计与实现 院系计算机系 专业软件工程(动画方向) 学生姓名薛辰燕 学号20092358096 指导教师杨轩 职称讲师 二O一二年十二月二十日

目录 1.引言 (1) 1.1软件开发背景 (1) 1.1.1web的简介 (2) 1.1.2即时通讯系统 (2) 1.1.3即时通讯工具的产品 (3) 1.2课题研究的内容及意义 (4) 2.系统概述 (5) 2.1系统开发工具和语言 (5) 3.系统开发 (7) 3.1需求分析 (7) 3.2系统功能模块的设计 (7) 3.3数据库的设计 (9) 3.3.1数据库概念设计 (10) 3.3.2数据库逻辑设计 (12) 4.结论 (13) 参考文献: (14)

基于Web的即时通讯系统的设计与实现 薛辰燕 南京信息工程大学滨江学院计算机系,南京 210044 摘要:Internet的出现,不但给人们创造了新的信息交流技术、新方法还带动了许多新兴媒体的出现,而且给人们提供了新的开放式的信息交流的平台,带来了一种新的生活方式,丰富了人们生活,给生活带来了许多乐趣。随着Internet的普及和发展,使得即时通讯系统兴起并且发展成为人们使用最多,最为方便的交流工具。即时通讯系统工具简称IM是因特网出现后兴起的一种交流沟通的信息传递工具,它能够通过一些语言和符号使人们能够进行沟通交流。即时通讯系统是一种终端服务,它是基于因特网网络协议产生的点对点,面对面的一种软件。它可以提供即时的文字,文件,图片,语音,视频等多种方式的媒体数据方便人们进行交流沟通。 本文从实际的应用角度出发,运用相关计算机软件的知识,运用https://www.doczj.com/doc/9d12482519.html,和Microsoft SQL Server 2005相结合设计一个简单的基于Web类似QQ的即时通讯系统。保证了系统的简单开发,但是具有强大的功能。本软件主要实现用户的注册登录,搜索添加好友删除好友,双人聊天,群聊等基本功能。 关键字:IM , https://www.doczj.com/doc/9d12482519.html,,SQL Server 2005,Web 1.引言 1.1软件开发背景 网络高速发展的当今社会,互联网已经进入到广大人民群众的生活中,并且与人们的生活不可分离了。随着Internet的不断发展进步,人们通过网络来了解信息已经越来越频繁了。它打破了地域限制,真正使信息得以共享,改变了人们的生活方式。人们利用网络能够更快的获取最新的信息,能够快速与家人、朋友进行信息交流。即时通讯系统作为互联网的服务器之一,已经被广大网名认可,具有广大的群众基础,满足市场的需求。同时即时通讯系统也在不断的发展完善,逐渐发展成集交流、娱乐、资讯、搜索、办公和企业服务为一体的信息交流平台,不再是简单的聊天工具了。随之被广泛应用到企业的工作当中,为大多数企业带来丰厚的利润,提供了巨大的商业价值。好多公司开始对其进行开发并开发出相应的软件谋取

相关主题
文本预览
相关文档 最新文档