Android实验报告—网络通信(精选合集)

时间:2019-05-12 11:59:21下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Android实验报告—网络通信》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Android实验报告—网络通信》。

第一篇:Android实验报告—网络通信

实验三

Android网络通信

实验目的:

本实验的目的是使学生深入了解利用Intent实现进程间的通信过程。学会利用Intent进行Activity的跳转,以及链接网页信息;学会利用Intent将其他Activity的信息返回到Activity中的方法。体会Activity间通信的过程。

实验要求:

编程实现下述功能:主界面上有一个“登录”按钮和“链接网页”按钮,点击“登录”按钮后打开一个新的Activity;新的Activity上面有输入用户名和密码的控件(如下图所示)点击“链接网页”按钮,新的Activity上面有输入Uri信息的控件,可以链接到相应的网站,在用户关闭这个Activity后,返回到主界面中

程序界面如下图所示:

[实现提示]

1、建立Android工程,其中 工程名称:WebCommunication579

包名称:cn.edu.bistu.dj1001.WebCommunication579 Activity名称:WebCommunication579

2、工程建立完毕后,首先进行界面设计,建立相应的子Layout界面

3、在工程中添加相应的.java文件,处理各个Activity的事件响应

4、在Manifest中添加新建的Activity信息,进行注册。

程序源码:

主界面java文件代码: package cn.deu.bistu.dj1001.WebCommunication579;

import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;

public class WebCommunication579 extends Activity { private Button btnLogin,btnGoToWeb;private TextView show;private static final int SUBACTIVITY1 = 1;@Override

public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main);btnLogin=(Button)findViewById(R.id.btnLogin);btnGoToWeb=(Button)findViewById(R.id.btnGoToWeb);show=(TextView)findViewById(R.id.A1show);

btnLogin.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(WebCommunication592.this, activity1.class);

startActivityForResult(intent, SUBACTIVITY1);

}});btnGoToWeb.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(WebCommunication592.this, activity2.class);startActivity(intent);}});} protected void onActivityResult(int requestCode, int resultCode, Intent data){ super.onActivityResult(requestCode, resultCode, data);switch(requestCode){ case SUBACTIVITY1: if(resultCode == RESULT_OK){Uri uriData = data.getData();show.setText(uriData.toString());} break;}};} 界面一java文件代码:

package cn.deu.bistu.dj1001.WebCommunication579;

import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;

public class activity1 extends Activity { private Button btnOK,btnCancel;private EditText edtInput;public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity1);edtInput=(EditText)findViewById(R.id.edtA1Input);btnOK=(Button)findViewById(R.id.btnA1OK);btnCancel=(Button)findViewById(R.id.btnA1Cancel);btnOK.setOnClickListener(new OnClickListener(){

public void onClick(View v){ String uriString = edtInput.getText().toString();Uri data = Uri.parse(uriString);Intent result = new Intent(null, data);setResult(RESULT_OK, result);finish();}});btnCancel.setOnClickListener(new OnClickListener(){ public void onClick(View view){ finish();}});}} 界面二java文件代码:

package cn.deu.bistu.dj1001.WebCommunication579;

import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;

import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;

public class activity2 extends Activity { private EditText edtInput;private Button btnOK,btnCancel;public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity2);edtInput=(EditText)findViewById(R.id.edtA2Input);btnOK=(Button)findViewById(R.id.btnA2OK);btnCancel=(Button)findViewById(R.id.btnA2Cancel);btnOK.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(edtInput.getText().toString()));startActivity(intent);}});btnCancel.setOnClickListener(new OnClickListener(){

public void onClick(View v){

finish();

}});}} 主界面的xml文件代码:

xmlns:android=“http://schemas.android.com/apk/res/android” android:orientation=“Horizontal” android:layout_width=“fill_parent” android:layout_height=“fill_parent”>

android:text=“登录”

android:id=“@+id/btnLogin”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”>

android:text=“链接网页”

android:id=“@+id/btnGoToWeb”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”>

android:text=“"

android:id=”@+id/A1show“ android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

界面一的xml文件代码:

android:orientation=”Horizontal“ android:layout_width=”fill_parent“ android:layout_height=”fill_parent“

xmlns:android=”http://schemas.android.com/apk/res/android“>

android:layout_width=”wrap_content“ android:layout_height=”wrap_content“>

android:text=”用户名和密码:“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

android:text=”“

android:id=”@+id/edtA1Input“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

android:layout_width=”wrap_content“ android:layout_height=”wrap_content“>

android:text=”确定“

android:id=”@+id/btnA1OK“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

android:text=”取消 “

android:id=”@+id/btnA1Cancel“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

界面二的xml文件代码:

xmlns:android=”http://schemas.android.com/apk/res/android“>

android:text=”“

android:id=”@+id/edtA2Input“

android:layout_width=”match_parent“

android:layout_height=”wrap_content“>

android:text=”确定“

android:id=”@+id/btnA2OK“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

android:text=”取消“

android:id=”@+id/btnA2Cancel“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content">

程序运行结果:

程序包:

主界面:

点击登录按钮后:

点击确定按钮后:

点击链接网页按钮后:

点击确定按钮后:

实验心得体会:

通过本次实验深入了解了Intent实现进程间的通信过程。熟悉了利用Intent将其他Activity的信息返回到Activity中的方法,可以更熟练的使用安卓编程软件。

第二篇:android实验报告

移动应用开发实验报告

实验名称

音乐播放器

指导教师

实验成绩

2016 年04月

一、实验目的

本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使设计者更加熟练Android的技术和其它在市场上的特点。

二、实验内容及要求

在其中写清楚这个实验具体要你做什么,怎么做,要达到什么样的效果等。本设计实现的主要功能是播放Mp3,Wav多种格式的音乐文件,并且能够控制播放,暂停,停止,下一首,上一首播放列等基本播放控制功能,界面简明,操作简单。

三、实验方案设计

在其中写清楚你的程序的详细设计,用流程图配文字的形式描述。如果其中涉及到算法,一定要把算法阐述清楚。

3.1.1假设安装了音乐播放器的用户是系统的主要设计对象,其拥有以下操作,启动软件、播放音乐、暂停播放、停止播放、退出软件,其用例图如下

图2.1 播放器基本用例图

3.1.2用例分析 用例名称:启动软件 参与者:用户

目标:使得用户启动软件并加载手机和sd卡上的音频文件到播放列表 前置条件:无

基本事件流:1.用户启动软件

2.播放器将播放列表中的当前的歌曲

用例名称:播放 参与者:用户

目标:使得用户可以播放在播放列表中选中的歌曲 前置条件:播放器正在运行

基本事件流:1.用户单击“播放”按钮

2.播放器将播放列表中的当前的歌曲

用例名称:暂停 参与者:用户

目标:使得用户可以暂停正在播放的歌曲 前置条件:歌曲正在播放且未停止和暂停 基本事件流:1.用户单击“暂停”按钮

2.播放器将暂停当前的歌曲

④用例名称:停止 参与者:用户

目标:使得用户可以停止正在播放的歌曲 前置条件:歌曲正在播放或暂停 基本事件流:1.用户单击“停止”按钮

2.播放器将停止当前播放的歌曲

⑤用例名称:推出 参与者:用户

目标:使得用户退出或者后台播放音乐 前置条件:程序在运行

基本事件流:1.用户按返回键

2.播放器退出或者进入后台播放

四、实验测试

Step1.启动软件后,软件自动检索手机和sd卡的音频文件,并组织显示成列表.Step2.点击列表的歌曲名字。

Step3.播放音乐。

Step4.点击暂停,音乐暂停

Step5.点击播放 转到step3 Step6.点击停止 停止播放音乐

Step7.点击退出,若音乐处于播放状态,则音乐转向后台播放,界面退出。

Step8.点击退户,若音乐处于暂停或者停止状态,直接退出。

音乐播放器流程图

4.1MusicInfoController类

这个类继承于service,是播放音乐的服务类。播放音乐,暂停音乐,停止播放等操作都封装在这个类中。

主要的执行动作有:

4.1.1.类启动 onCreate(){

mMediaPlayer = new MediaPlayer();//分配一个播放对象

mMediaPlayer.setOnPreparedListener(mPrepareListener);//绑定之前

mMediaPlayer.setOnCompletionListener(mCompleteListener);//绑定之 后

}

4.1.2.服务绑定activity

MediaPlayer.OnCompletionListener mCompleteListener = new

MediaPlayer.OnCompletionListener()//实例化一个绑定监听器的匿名类

{

public void onCompletion(MediaPlayer mp)//完成绑定后

{

broadcastEvent(PLAY_COMPLETED);//广播消息

}

};

4.2MusicInfoController类

这个类主要用于获取android系统中的音频文件,并提供访问接口,它是一个单例类。

4.2.1获得播放文件列表

private Cursor query(Uri uri, String[] prjs, String selections, String[] selectArgs, String order){ ContentResolver resolver = pApp.getContentResolver();//取得一个连接对象if(resolver == null){

return null;

}

return resolver.query(uri, prjs, selections, selectArgs, order);} public Cursor getAllSongs(){

return query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);//查询ContentResolver 的所有音频文件

} 4.3MusicList类

改类继承于ListActivity,主要用于显示歌曲列表,并且封装部分操作,以及与父级目标通信。

4.3.1播放

protected void onListItemClick(ListView l, View v, int position, long id){ //歌曲列表的某项被点击

super.onListItemClick(l, v, position, id);

if(mCursor == null ||mCursor.getCount()== 0){

return;

}

mCursor.moveToPosition(position);//游标移动到当前路径

String url = mCursor.getString(mCursor

.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));//取得绝对路径

mMusicPlayerService.setDataSource(url);//传递绝对路径

mMusicPlayerService.start();//播放音乐

}

4.3.2暂停/播放

mPlayPauseButton.setOnClickListener(new Button.OnClickListener(){

public void onClick(View v){

if(mMusicPlayerService!= null &&

mMusicPlayerService.isPlaying()){

mMusicPlayerService.pause();//音乐播放的服务暂停

mPlayPauseButton.setText(R.string.play);//改变按钮文字

} else if(mMusicPlayerService!= null){

mMusicPlayerService.start();//如果已经是暂停,则播放音乐

mPlayPauseButton.setText(R.string.pause);//改变文字

}

}

});

4.3.3停止

mStopButton.setOnClickListener(new Button.OnClickListener(){

public void onClick(View v){

// Perform action on click

if(mMusicPlayerService!= null){

mTextView.setVisibility(View.VISIBLE);//改变文字状态

mPlayPauseButton.setVisibility(View.INVISIBLE);//隐藏按钮

mStopButton.setVisibility(View.INVISIBLE);//隐藏停止按钮

mMusicPlayerService.stop();//后台音乐停止播放

}

}

});4.4MusicPlayerApp类

该类继承与Application,是程序的生存类。可以标识音乐播放器的生命周期,包括音乐在后台播放等。

4.4.1单例模式

public void onCreate(){

super.onCreate();

mMusicInfoController = MusicInfoController.getInstance(this);//返回该类的一个唯一实例

}

public MusicInfoController getMusicInfoController(){

return mMusicInfoController;}

五、程序的使用手册

系统编译生成apk文件,将apk文件拷到手机或者sd卡中,直接打开即可安装,或者安装360手机助手通过usb调试的方式进行安装。

启动软件后,加载歌曲列表现在这个界面上,如01表示歌曲名,unknown表示歌曲的演唱者

软件启动界面

从加载的歌曲列表中点击要播放的歌曲,开始播放

音乐播放界面

六、心得体会

通过对Android手机平台的音乐播放器软件的开发,使我对Android音乐播放器系统的整体设计有一个深入的了解,对整个流程也会有一个清晰的认识。开发Android音乐播放器,要抓住开发的核心部分,音乐播放器大体由播放主界面、播放列表、菜单、播放设置、文件浏览、歌曲搜索六大核心组成,只要掌握了这六部分的开发,音乐播放器就能初具规模。而其它的功能都是在这六个功能的基础上去补充添加的,但是这是功能的确是必不可少的功能,否则就不能算是音乐播放器了。

第三篇:无线网络通信实验报告

Compilation of reports 20XX 报 告 汇 编

课程名称:

无线网络通信技术

实验项目:

无线网络通信技术实验

实验地点:

逸夫楼

404

教室

专业班级:

软 1121 班 学号:

2011005541

学生姓名:

指导教师:

张巍

2014 年月

报告文档·借鉴学习

太原理工大学实验报告一

学院名称 软件学院 专业班级 1121 实验成绩

学生姓名 高贝 学号 2011005541

实验日期 2014.5.9 课程名称 无线网络通信技术

实验题目 实验一

四相移相键控(QPSK)调制及解调实验 一、实验目的和要求:

1、掌握 QPSK 调制解调原理及特性。

2、掌握利用 MATLAB 编程实现调制及解调的方法。

二、实验内容: 1、利用 MATLAB 编程实现 QPSK 调制及解调。

2、观察 I、Q 两路基带信号的特征及与输入 NRZ 码的关系。

3、观察 I、Q 调制解调过程中各信号变化。

三、主要仪器设备 Win7 32 位操作系统笔记本电脑及 MATLAB R2009a 四、主要操作方法与实验步骤 在 matlab 下运行下列代码:

程序代码 %日期

2013.1.14 %功能

QPSK的调制解调,基带信号点数t(限偶数),基波频率w0可设置 clear all;

nb=32;

% 传输的比特数

T=1;

% 基带信号宽度,也就是基波频率 fc=8/T;

% 载波频率 ml=2;

% 调制信号类型的一个标志位(选取2的原因见23行)

c = 4*nb;

%单周期采样点数 delta_T=T/c;

% 采样间隔 fs=1/delta_T;

% 采样频率 t=0:delta_T:nb*T-delta_T

% 限定t的取值范围 c * nb N=length(t);

% 采样数

报告文档·借鉴学习%%%%%%%%%%%%%%%%%%%

调制部分 % 基带信号的产生 data=fix(2*rand(1,nb));

% 调用一个随机函数(0 or 1),输出到一个1*100的矩阵 datanrz=data.*2-1;

% 变成极性码 for i=1:nb

data1((i-1)/delta_T+1:i/delta_T)=datanrz(i);% 将极性码变成对应的波形信号 end

% 将基带信号变换成对应波形信号 for i=1:nb

data0((i-1)/delta_T+1:i/delta_T)=data(i);% 将基带信号变成对应的波形信号 end

% 串并转换,将奇偶位数据分开 idata=datanrz(1:ml:(nb-1));

% 将奇偶位分开,因此间隔m1为2

qdata=datanrz(2:ml:nb);% QPSK信号的调制 for i=1:nb/2

ich(2*((i-1)/delta_T+1):2*(i/delta_T))=idata(i);end for ii=1:N/T

a(ii)=(1/sqrt(2))*cos(2*pi*fc*t(ii));

end idata1=ich.*a;

% 奇数位数据与余弦函数相乘,得到一路的调制信号 for j=1:nb/2

qch(2*((j-1)/delta_T+1):2*(j/delta_T))=qdata(j);end

for jj=1:N/T

b(jj)=(1/sqrt(2))*sin(2*pi*fc*t(jj));end qdata1=qch.*b;% 偶数位数据与余弦函数相乘,得到另一路的调制信号 st = idata1-qdata1;%%%%%%%%%%%%%%%%%%%%%%%%信道中 SNR=0;

% 信噪比 stn = awgn(st,SNR);%%%%%%%%%%%%%%%%%%%%%%%%解调%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%设计滤波器%%%%%%%% [B,A] = butter(3,0.01,“low”);[h1,w] = freqz(B,A);%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调 ist = stn.* a;p =length(ist)qst = stn.*(-b);

报告文档·借鉴学习%%%%%%%%%%%%%%%%%%%%滤波 istl = filter(B,A,ist);qstl = filter(B,A,qst);%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决%%%%%%%%%%

for i = 1 : nb/2

if istl(2*(p/nb)*(i-1)+(1*(p/nb)))>= 0

in(i)= 1;

else in(i)= 0;

end

if qstl(2*(p/nb)*(i-1)+(1*(p/nb)))>= 0

qn(i)= 1;

else qn(i)= 0;

end end %%%%%%%%%%%%%%%%%并串转换 for i = 1 : nb/2

y(2*i-1)= in(i);

y(2*i)= qn(i);end for i = 1 : nb

yy((i-1)/delta_T+1:i/delta_T)= y(i);end data y N figure;subplot(4,1,1)plot(data0*0.7),title(“基带信号,4096维二进制序列,对应向量是data0”);subplot(4,1,2)plot(data1*0.7),title(“双极性信号,4096维双极性序列,对应向量是data1”);subplot(4,1,3)plot(ich*0.7),title(“I路数据,4096维双极性序列,对应向量是ich”);subplot(4,1,4)plot(qch*0.7),title(“Q路数据,4096维双极性序列,对应向量是qch ”);figure;subplot(4,1,1)plot(ist),title(“相干解调I路信号,4096维且值为(-1,1)的序列,对应向量是ist ”);subplot(4,1,2)plot(qst),title(“相干解调Q路信号,4096维且值为(-1,1)的序列,对应向量是qst ”);subplot(4,1,3)plot(istl),title(“I路解调波形,4096维且值为(-1,1)的序列,对应向量是istl ”);subplot(4,1,4)plot(qstl),title(“Q路解调波形,4096维且值为(-1,1)的序列,对应向量是qstl ”);

报告文档·借鉴学习%%%%%%%%%%%%%%%%%画图%%%%%%%%%%%%%%%%%%%%%%%%%%% figure;subplot(4,2,1);plot(data0*0.7),title(“基带信号”);subplot(4,2,2);psd(abs(fft(data0))),title(“基带信号频谱”);subplot(4,2,3);plot(st),title(“调制信号”);subplot(4,2,4);psd(abs(fft(st))),title(“调制信号频谱”);subplot(4,2,5);plot(stn),title(“stn信道波形”);subplot(4,2,6);psd(abs(fft(stn))),title(“经过高斯信道信号频谱”);subplot(4,2,7);plot(yy*0.7),title(“解调后的基带信号”);subplot(4,2,8);psd(abs(fft(yy))),title(“解调后的基带信号频谱”);五、实验结果与分析 结果附图:

报告文档·借鉴学习

报告文档·借鉴学习

六、讨论、心得 第一个实验因为老师把代码已经附给我们,直接在 MATLAB 下运行此代码就可出现结果。通过学习老师的实验一 PPT 以及实验指导书,了解 掌握 QPSK 调制解调原理及特性,和掌握利用 MATLAB 编程实现调制及解调的方法。

七 七.辅导教师点评:

教师签字:

报告文档·借鉴学习

太原理工大学实验报告二

学院名称 软件学院 专业班级 1121 实验成绩

学生姓名 高贝 学号 2011005541

实验日期 2014.5.10 课程名称 无线网络通信技术

实验题目 m 序列产生及其特性实验 一.

实验目的和要求:

通过本实验掌握 m 序列的产生方法、特性及应用。

二、实验内容: 1、编写 MATLAB 程序生成并观察 m 序列,识别其特征。

2、编写程序验证 m 序列的相关性质,要求至少验证一条性质。

三、主要仪器设备 Win7 32 位操作系统笔记本电脑及 MATLAB R2009a 四、主要操作方法与实验步骤:

(1)按照图 2-1,设计 4 阶 m 序列产生方法。

1a2a3a4a移位时钟信号模 模2 相加器序列输出

图 2-1阶移位寄存器序列生成器

编写MATLAB程序并上机调试,最后要求输出周期为15的m序列

(3)编写程序验证 m 序列的相关性质,要求至少验证一条性质。

m m 序列的特点 ①平衡特性 

在 m 序列的一周期中,“1”的个数仅比“0”的个数多 1,即“1”的个数为(N+1)/2,“0”的个数为(N-1)/2。(N 为周期)

报告文档·借鉴学习 例如,由 4 阶移位寄存器序列生成器产生的序列 *** 中,“1”的个数为 8,“0”的个数为 7。

②游程分布特性

 把一个序列中取值相同的那些连在一起的元素合称为一个“游程”。

 在一个游程中元素的个数称为游程长度。例如,同样是在*** 序列,共有 000、1111、0、1、0、11、00 和 1 共 8 个游程。

 其中,长度为 4 的游程有 1 个;长度为 3 的游程有 1 个;长度为 2 的游程有 2 个;长度为 1 的游程有 4 个。

 在 m 序列中,长度为 1 的游程占游程总数的 1/2;长度为 2 的游程占游程总数的 1/4;长度为 3 的游程占游程总数的 1/8……。

③延位相加特性

一个 m 序列 M1 与其经任意次迟延移位产生的另一个不同序列 M2 进行模 2 相加,得到的仍是 M1 的某次迟延移位序列 M3。即:

M3=M1 ⊕ M2 例如,m=7 的 m 序列 M1 =1110010,M2 =0111001,1110010⊕0111001=1001011。而将 M1向右移位 5 次即得到 1001011 序列。

五、实验结果与分析 1、按照课本 P182 图 5-5,设计 4 阶 m 序列产生方法。

如下代码产生:

X1=1;X2=0;X3=0;X4=0;%移位寄存器输入Xi初T态(1000),Yi为移位寄存器各级输出 m=15;

%置M序列总长度 for i=1:m

%1#

Y4=X4;

Y3=X3;

Y2=X2;

Y1=X1;

X4=Y3;

X3=Y2;

X2=Y1;

X1=xor(Y1,Y4);

%异或运算

if Y4==0

U(i)=0;

else

U(i)=Y4;end end M=U fprintf(“1的个数”)sum(M==1)fprintf(“0的个数”)sum(M==0)

2、编写 MATLAB 程序并上机调试,最后要求输出周期为 15 的 m 序列“***”。

输入上面代码,产生如下图结果:

报告文档·借鉴学习

3、编写程序验证 m 序列的相关性质,如平衡特性,游程分布特性,延位相加特性。要求至少验证一条性质。

上面代码验证了平衡特性。

在 m 序列的一周期中,“1”的个数仅比“0”的个数多 1,即“1”的个数(N+1)/2,“0”的个数为(N-1)/2。(N 为周期)

上面代码实现的结果 1 的个数为 8,0 的个数为 7.六、讨论、心得

此次实验中应注意:X1=xor(Y1,Y4);

%异或运算,是这个实验代码的难点,通过老师的提点,和在网上找资料,终于解决了这个实验。通过本实验也掌握 m序列的产生方法和特性。

七、辅导教师点评:

报告文档·借鉴学习教师签字:

太原理工大学实验报告三

学院名称 软件学院 专业班级 1121 实验成绩

学生姓名 高贝 学号 2011005541

实验日期 2014.5.16 课程名称 无线网络通信技术

实验题目 信道编码 一、实验目的和要求:

1、学习并理解信道编码的根本目的、技术要求等基本概念 2.学会使用MATLAB实现奇偶监督码的检错模拟与分析 二、实验内容: 1、输入任意行任意列的一个二进制序列,也即发送码组,再加上 1 位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。

2、若发送码组为 1100111,要求加上 1 位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。

三、主要仪器设备 Win7 32 位操作系统笔记本电脑及 MATLAB R2009a 四、主要操作方法与实验步骤: 1、输入任意行任意列的一个二进制序列,也即发送码组,再加上 1 位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。

如下代码输入 matlab 中:

方法一:

clc;clear;

m=input(“请输入行:”);

n=input(“请输入列:”);

A=randint(m,n);

A

for k=1:2

sum=zeros(1,m);

l=input(“请选择奇偶校验(0、偶校验

1、奇校验):”);

for i=1:m

报告文档·借鉴学习for j=1:n

sum(i)=sum(i)+A(i,j);

z=sum(i);

end

if rem(z,2)==l

A(i,n+1)=0;

else

A(i,n+1)=1;

end

end

A

end

方法二:

%奇偶校验 2 的源代码

clc;clear;

m=input(“请输入行:”);

n=input(“请输入列:”);

A=randint(m,n);

A

for k=1:2

sum=zeros(1,m);

for i=1:m

for j=1:n

sum(i)=sum(i)+A(i,j);

z=sum(i);

end

if rem(z,2)==k-1

A(i,n+1)=0;

else

A(i,n+1)=1;

end

end

if k==1

fprintf(“偶校验:”)

else

fprintf(“奇校验:”)

end

A

end

报告文档·借鉴学习

运行后得到如下结果:

2、若发送码组为 1100111,要求加上 1 位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。

把上面代码的随机函数改为固定的发送码 1100111,得到如下代码:

clc;clear;

m=input(“请输入行:”);

n=input(“请输入列:”);

A=[1 1 0 0 1 1 1];

A

for k=1:2

sum=zeros(1,m);

l=input(“请选择奇偶校验(0、偶校验

1、奇校验):”);

for i=1:m

for j=1:n

sum(i)=sum(i)+A(i,j);

z=sum(i);

end

if rem(z,2)==l

A(i,n+1)=0;

报告文档·借鉴学习else

A(i,n+1)=1;

end

end

A

end

得到如下结果:

五、讨 论、心得 这次实验刚开始不理解实验的意图,通过网上查找资料了解之后才理解,学会了使用 MATLAB 实现奇偶监督码的检错模拟和分析,要注意之后老师给了两个代码中要用到的重要的函数:

randint(m,n)表示随机产生一个二进制序列;

rem(x,y)表示x 除以 y 的余数,对实验的完成起到一定帮助。

六、辅导教师点评:

报告文档·借鉴学习教师签字:

太原理工大学实验报告四

学院名称 软件学院 专业班级 1121 实验成绩

学生姓名 高贝 学号 2011005541

实验日期 2014.5.17 课程名称 无线网络通信技术

实验题目 基于 Simulink 的通信系统建模与仿真 实验目的和要求:

1、通过利用 matlab simulink,熟悉 matlab simulink 仿真工具。

2、通过实验更好地掌握课本相关知识,熟悉 2ASK 的调制与解调。

二、实验内容: 使用 MATLAB 中的 Simulink 工具箱搭建 ASK 调制及解调的框图(使用模拟相乘法及相干解调法)三、主要仪器设备 Win7 32 位操作系统笔记本电脑,及软件 MATLAB R2009a 四、主要操作方法与实验步骤: 1、首先进入 matlab,在命令窗口输入 simulink,进入 simulink 界面。

2、然后使用 Simulink 中的工具,画出如下的 ASK 调制及解调的框图。

3、simulink 中包括很多模块,比如积分模块,传递函数模块等,simulink 功能非常强大。要想在 simulink 中建模,首先要建立一个空白页,然后将所需要的模块从模块库中拖入,然后对模块设置参数即可。完成框图后,再单击 File 菜单中的 Save 命令进行保存,保存的扩展名为.mdl 文件。

报告文档·借鉴学习

五、实验结果与分析 1、打开 MATLAB 使用 Simulink 中的工具,画出 ASK 调制及解调的框图,然后对模块设置参数(参数为实验指导书所要求)。

2、点击黑色三角按钮运行,双击示波器,出现如下波形:

报告文档·借鉴学习

由仿真结果可知,相比而言,ASK 调制在解调时对于滤波器与噪声参数的设置最为敏感,在理论值情况下,其解调波形边沿仍存在不规则形状。

1.ASK 信号解调时对于滤波器参数敏感,应注意根据实际调整滤波器参数。而且,与其他数字调制方式相比,ASK 对噪声更为敏感。

2.当 ASK 信号信源幅度为 1 时,判决器判决门限并非 0.5,而应该设置为0.25。这是因为:假设信源为 m(t),载波为 cos 错误!。

未找到引用源。,则解调信号为 m(t)* co 错误!未找到引用源。= m(t)*(错误!未找到引用源。)= 错误!未找。

到引用源。+ 错误!。

未找到引用源。,经过低通滤波器后仅剩下 错误!未找到引用源。一项,故判决时应将门限设置此项的一半,即 0.25。

六、讨论、心得 此实验要主意示波器的两个输入,才能链接序列产生器。利用 MATLAB 的Simulink 的工具,很容易的进行 2ASK 的调制与解调的仿真实验,相对前两个实验,难度较低些,只要按照老师的实验指导书一步步的做,很容易得到实验结果。

七 七.辅导教师点评:

报告文档·借鉴学习

教师签字:

第四篇:Android实验报告—UI设计(定稿)

Android UI设计

实验目的:

本实验的目的是使学生深入了解Android程序框架结构、了解和掌握Android界面设计和界面编程。通过程序设计,掌握常用界面控件、菜单、以及界面事件的响应。

实验要求:

设计程序实现一个电子菜单,应具有显示菜单功能和选菜功能。通过选择,将选中的菜单选项在界面做显示,如下图:

[实现提示]

1、建立Android工程,其中 工程名称:MenuSelect579 应用名称:MenuSelect579 包名称:cn.edu.bistu.dj1001.MenuSelect579 Activity名称:MenuSelect579

2、工程建立完毕后,进行相应界面设计,再编写Java文件

程序源码

package cn.edu.bistu.dj1001.MenuSelect579;import android.app.Activity;

import android.os.Bundle;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.TextView;public class MenuSelect579 extends Activity {

/** Called when the activity is first created.*/

TextView LabelView = null;

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

LabelView =(TextView)findViewById(R.id.label);registerForContextMenu(LabelView);

}

final static int CONTEXT_MENU_1 = Menu.FIRST;

final static int CONTEXT_MENU_2 = Menu.FIRST+1;

final static int CONTEXT_MENU_3 = Menu.FIRST+2;

@Override

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo){

menu.setHeaderTitle(“今日菜单”);

menu.add(0, CONTEXT_MENU_1, 0,“宫保鸡丁”);

menu.add(0, CONTEXT_MENU_2, 1,“干煸豆角”);

menu.add(0, CONTEXT_MENU_3, 2,“鱼香肉丝”);

}

@Override

}

public boolean onContextItemSelected(MenuItem item){

} switch(item.getItemId()){

case CONTEXT_MENU_1: LabelView.setText(“宫保鸡丁”);return true;case CONTEXT_MENU_2: LabelView.setText(“干煸豆角”);return true;case CONTEXT_MENU_3: LabelView.setText(“鱼香肉丝”);return true;} return false;

程序运行结果:

实验心得体会:(可选)

通过本次实验熟悉了android的界面设计简单方法和界面编程,锻炼了实际动手能力,熟悉了 Android程序框架结构、Android界面设通过程序设计,掌握了常用界面控件、菜单、以及界面事件的响应。

第五篇:太原理工大学无线网络通信技术实验报告

课程名称:

无线网络通信技术

实验项目:

无线网络通信技术实验

实验地点:

致远楼 B503 教室

专业班级:

**********

学号:

**********

学生姓名:

******

指导教师:

张巍

2017 年 4 月 2 日

太原理工大学实验报告一

学院名称

专业班级

实验成绩

学生姓名

学号

实验日期

课程名称 无线网络 通信技术

实验题目 实验一

四相移相键控(QPSK)调制及解调实验 一、实验目的和要求:

1、掌握 QPSK 调制解调原理及特性。

2、掌握利用 MATLAB 编程实现调制及解调的方法。

二、实验内容: 1、利用 MATLAB 编程实现 QPSK 调制及解调。

2、观察 I、Q 两路基带信号的特征及与输入 NRZ 码的关系。

3、观察 I、Q 调制解调过程中各信号变化。

三、主要仪器设备 Win10

位操作系统笔记本电脑及 MATLAB R2009a 四、主要操作方法与实验步骤: %日期

2017 %功能

QPSK 的调制解调,基带信号点数 t(限偶数),基波频率 w0 可设置 clear all;

nb=32;

% 传输的比特数

T=1;

% 基带信号宽度,也就是基波频率 fc=8/T;

% 载波频率 ml=2;

% 调制信号类型的一个标志位 c = 4*nb;

%单周期采样点数 delta_T=T/c;

% 采样间隔 fs=1/delta_T;

% 采样频率 t=0:delta_T:nb*T-delta_T

% 限定 t 的取值范围 c * nb N=length(t);

% 采样数

%%%%%%%%%%%%%%%%%%%

调制部分 % 基带信号的产生 data=fix(2*rand(1,nb));

% 调用一个随机函数(0 or 1),输出到一个 1*100 的矩阵 datanrz=data.*2-1;

% 变成极性码 for i=1:nb

data1((i-1)/delta_T+1:i/delta_T)=datanrz(i);% 将极性码变成对应的波形信号

end

% 将基带信号变换成对应波形信号 for i=1:nb

data0((i-1)/delta_T+1:i/delta_T)=data(i);% 将基带信号变成对应的波形信号 end

% 串并转换,将奇偶位数据分开 idata=datanrz(1:ml:(nb-1));

% 将奇偶位分开,因此间隔 m1 为 2

qdata=datanrz(2:ml:nb);% QPSK 信号的调制 for i=1:nb/2

ich(2*((i-1)/delta_T+1):2*(i/delta_T))=idata(i);end for ii=1:N/T

a(ii)=(1/sqrt(2))*cos(2*pi*fc*t(ii));

end idata1=ich.*a;

% 奇数位数据与余弦函数相乘,得到一路的调制信号 for j=1:nb/2

qch(2*((j-1)/delta_T+1):2*(j/delta_T))=qdata(j);end

for jj=1:N/T

b(jj)=(1/sqrt(2))*sin(2*pi*fc*t(jj));end qdata1=qch.*b;% 偶数位数据与余弦函数相乘,得到另一路的调制信号 st = idata1-qdata1;%%%%%%%%%%%%%%%%%%%%%%%%信道中 SNR=0;

% 信噪比 stn = awgn(st,SNR);%%%%%%%%%%%%%%%%%%%%%%%解调%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%设计滤波器%%%%%%%% [B,A] = butter(3,0.01,“low”);[h1,w] = freqz(B,A);%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调 ist = stn.* a;p =length(ist)qst = stn.*(-b);%%%%%%%%%%%%%%%%%%%%滤波 istl = filter(B,A,ist);qstl = filter(B,A,qst);%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决%%%%%%%%%%

for i = 1 : nb/2

if istl(2*(p/nb)*(i-1)+(1*(p/nb)))>= 0

in(i)= 1;

else in(i)= 0;

end

if qstl(2*(p/nb)*(i-1)+(1*(p/nb)))>= 0

qn(i)= 1;

else qn(i)= 0;

end end %%%%%%%%%%%%%%%%%并串转换 for i = 1 : nb/2

y(2*i-1)= in(i);

y(2*i)= qn(i);end for i = 1 : nb

yy((i-1)/delta_T+1:i/delta_T)= y(i);end data y N figure;subplot(4,1,1)plot(data0*0.7),title(“基带信号,4096 维二进制序列,对应向量是 data0”);subplot(4,1,2)plot(data1*0.7),title(“双极性信号,4096 维双极性序列,对应向量是 data1”);subplot(4,1,3)plot(ich*0.7),title(“I 路数据,4096 维双极性序列,对应向量是 ich”);subplot(4,1,4)plot(qch*0.7),title(“Q 路数据,4096 维双极性序列,对应向量是 qch ”);figure;subplot(4,1,1)plot(ist),title(“相干解调 I 路信号,4096 维且值为(-1,1)的序列,对应向量是 ist ”);subplot(4,1,2)plot(qst),title(“相干解调 Q 路信号,4096 维且值为(-1,1)的序列,对应向量是 qst ”);subplot(4,1,3)plot(istl),title(“I 路解调波形,4096 维且值为(-1,1)的序列,对应向量是 istl ”);subplot(4,1,4)plot(qstl),title(“Q 路解调波形,4096 维且值为(-1,1)的序列,对应向量是 qstl ”);%%%%%%%%%%%%%%%画图%%%%%%%%%%%%%%%%%%%%%%%%%%% figure;subplot(4,2,1);plot(data0*0.7),title(“基带信号”);subplot(4,2,2);psd(abs(fft(data0))),title(“基带信号频谱”);subplot(4,2,3);

plot(st),title(“调制信号”);subplot(4,2,4);psd(abs(fft(st))),title(“调制信号频谱”);subplot(4,2,5);plot(stn),title(“stn 信道波形”);subplot(4,2,6);psd(abs(fft(stn))),title(“经过高斯信道信号频谱”);subplot(4,2,7);plot(yy*0.7),title(“解调后的基带信号”);subplot(4,2,8);psd(abs(fft(yy))),title(“解调后的基带信号频谱”);五、实验结果与分析

六、讨论、心得 第一次使用 MATLAB 软件,在安装的过程中也遇到了一些问题,对于实验一 QPSK 调制与解调,老师在实验前就已经给出了代码,并对实验做了详细的讲解,通过结合老师的实验 PPT,更深刻的理解了 QPSK 调制解调的原理及特性。通过对每条代码作用的思考,掌握了利用 MATLAB 编程实现调制及解调的方法和步骤。而且感受到了 MATLAB 软件的强大之处。

七、辅导教师点评:

教师签字:

太原理工大学实验报告二

学院名称

专业班级

实验成绩

学生姓名

学号

实验日期

课程名称 无线网络 通信技术

实验题目 m 序列产生及其特性实验 一、实验目的和要求:

通过本实验掌握 m 序列的产生方法、特性及应用。

二、实验内容: 1、按照课本 P182 图 5-5,设计 4 阶 m 序列产生方法。并编写 MATLAB 程序,要求输出周期为 15 的 m 序列“***” 2、编写程序验证 m 序列的相关性质,如平衡特性,游程分布特性,延位相加特性。要求至少验证一条性质。

三、主要仪器设备 Win10

位操作系统笔记本电脑及 MATLAB R2009a 四、主要操作方法与实验步骤: 1a2a3a4a移位时钟信号模 模2 相加器序列输出

图 2-1阶移位寄存器序列生成器 该序列生成器能够产生周期为 15 的 0,1 二值序列。设初始状态(a1,a2,a3,a4)=(1,0,0,0),则周期序列输出为:***。

(1)按照图 2-1,设计 4 阶 m 序列产生方法。

(2)编写 MATLAB 程序并上机调试,最后要求输出周期为 15 的 m 序列“***”。

(3)编写程序验证 m 序列的平衡特性:

在 m 序列的一周期中,“1”的个数仅比“0”的个数多 1,即“1”的个数为(N+1)/2,“0”的个数为(N-1)/2。(N 为周期)

程序代码:

clear all;

a4=1;a3=0;a2=0;a1=0;aa=0;bb=0;s=[];for i=1:15

b4=a4;b3=a3;b2=a2;b1=a1;

a1=b2;a2=b3;a3=b4;

a4=xor(b1,b4);

if b1==1

s(i)=b1;

aa=aa+1;

else

s(i)=0;

bb=bb+1;

end end fprintf(“m 序列为:”)for i=1:15

fprintf(“%d”,s(i))end fprintf(“n”)fprintf(“1 的个数为:%dn”,aa)fprintf(“0 的个数为:%dn”,bb)五、实验结果与分析

首先设置四个初始的状态值,再通过四个临时变量进行移位运算,将运算后结果保存在数组中,并在输出数组结果的同时统计序列中 1 和 0 的个数,最后输出统计结果,从而验证了 m 序列的平衡特性。

六、讨论、心得 在写这个实验之前,花费了一些时间来研究 MATLAB 的语法,在编写程序的过程中,虽然思路很明确,但也遇到了一些困难,对有些语法的理解不是明确,通过自己在网上查阅资料,解决了问题,经过不断的调试,达到了预期的输出结果,完成了题目的要求。通过这个程序的编写,感觉 MATLAB 和 C 语言在输出方面有些许的类似。

七、辅导教师点评:

教师签字:

太原理工大学实验报告三

学院名称

专业班级

实验成绩

学生姓名

学号

实验日期

课程名称 无线网络 通信技术

实验题目 信道编码 一、实验目的和要求:

1、学习并理解信道编码的目的、要求等基本概念 2.学会使用 MATLAB 实现奇偶监督码的检错模拟与分析 二、实验内容: 1、输入任意行任意列的一个二进制序列,也即发送码组,再加上 1 位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。

2、若发送码组为 1100111,要求加上 1 位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。

三、主要仪器设备 Win10

位操作系统笔记本电脑及 MATLAB R2009a 四、主要操作方法与实验步骤: 程序代码:

1、输入任意行任意列的一个二进制序列,也即发送码组,再加上 1 位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。

clear all;m=input(“请输入行数:”);

n=input(“请输入列数:”);

s=randint(m,n);s for i=1:m

num=0;

for j=1:n

if s(i,j)==1

num=num+1;

end

if rem(num,2)==0

s(i,n+1)=0;

else

s(i,n+1)=1;

end

end end fprintf(“偶数监督码:n”)s 2、若发送码组为 1100111,要求加上 1 位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。

clear all;s=[1 1 0 0 1 1 1];fprintf(“发送码组为:”)num=0;s for i=1:7

if s(i)==1

num=num+1;

end end a=rem(num,2);if a==0

s(8)=0;else

s(8)=1;end fprintf(“偶数校验:”)s

五、实验结果与分析 1.2.

六、讨论、心得 有了实验二的基础之后,对于实验三来说就简单的很多,感觉 MATLAB 的函数用起来很方便,仔细体会并理解了偶校验的实质和精髓。

七 七.辅导教师点评:

教师签字:

太原理工大学实验报告四

学院名称

专业班级

实验成绩

学生姓名

学号

实验日期

课程名称 无线网络通信技术

实验题目 基于 Simulink 的通信系统建模与仿真 一、实验目的和要求:

1、通过利用 matlab simulink,熟悉 matlab simulink 仿真工具。

2、通过实验更好地掌握课本相关知识,熟悉 2ASK 的调制与解调。

二、实验内容:

使用 MATLAB 中的 Simulink 工具箱搭建 ASK 调制及解调的框图(使用模拟相乘法及相干解调法)三、主要仪器设备:

Win10

位操作系统笔记本电脑,及软件 MATLAB R2009a 四、主要操作方法与实验步骤:

(一)首先进入 matlab,在命令窗口输入 simulink,进入 simulink 界面。

如下图:

(二)单击此窗口中的 File 菜单中的选项 New 中的 Model 命令,出现如下窗口:

(三)使用 Simulink 中的工具,画出如下图所示的 ASK 调制及解调的框图。

(四)把上述框图画好后,进行保存,然后单击 simulation(仿真)菜单中的 start 开始仿真。再双击元件 scope(示波器)查看信源波形及解调信号波形。

五、实验结果与分析

ASK 模拟相乘法调制相干解调波形如下图所示(上:信源波形 下:解调信号波形)

六、讨论、心得 这个实验的实验指导书把实验过程写的很详细,按照指导书的步骤就可以完成实验,有一些细节的地方需要注意,通过这个实验,我熟悉了 matlab simulink 仿真工具并且更好的理解掌握了课本相关知识,更加熟悉了 2ASK 的调制与解调。

七 七.辅导教师点评:

教师签字:

下载Android实验报告—网络通信(精选合集)word格式文档
下载Android实验报告—网络通信(精选合集).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Android实验格式简易计算器实验报告

    实验报告 2013-2014 学年第2学期课程名称:嵌入式操作系统 实验题目:简易计算器的设计与实现 专业:计算机科学与技术、信息处理(是什么专业,写什么专业) 班级:计算本1101(按自己班级......

    Android 3D相册实验报告(精选5篇)

    中原工学院计算机学院 软件平台开发技术 大作业 专 业: 软件工程 班 级: 软件121 作品名称: 3D相册 姓 名: 辛俊闪 学 号: 201200834101 指导教师: 刘凤华 2015年 6 月 15 日 一、......

    网络通信

    网络通信(电子通信工程学院 刘云)摘要:针对现科技发展及通信技术提高,本学期暑假的暑期实践活动我加入了合肥常宏测控技术责任有限公司。通过本次实习,可以开阔视野,增长见识,拓宽......

    网络通信中国

    网络通信中国(voipchina)消息 迪威视讯高清视频通讯系统的先进性和技术特性 迪威视讯高清视频通讯系统广泛应用于首脑级政要会议、多媒体行政会商、应急指挥、远程教育系统、......

    网络通信年终总结

    随着社会发展和经济进步,科技水平也在不断地提高,计算机网络通信日益成为人们日常生活中信息交流与沟通的重要载体,那么怎么写一份总结呢?下面是小编精心收集的网络通信年终总结......

    Unity3D网络通信[最终定稿]

    《Unity3D网络通信》 课程教学目标: 知识目标: 一、弱联网(hppt) 1、建立服务器 2、PHP的基本语法 3、WWW的基本应用 4、MySql的基本应用 5、上传和下载分数 6、AssetBundle资......

    计算机网络通信技术

    1.计算机网络的定义 计算机网络是把地理上分散的且具有独立功能的多个计算机系统通过通信线路和设备相互连接起来,在相应软件支持下实现的数据通信和资源共享的系统。 2.计算......

    网络通信原理教案

    网络通信原理 1.复习上节课内容: 网络硬件组成:1.服务器2.客户机3.传输介质4.通信连接设备 2.新课 网络软件系统: 网络应用软件:网络媒体播放器(暴风影音,可在线也可看本地视频)......