通信原理课程设计Javaswing技术计算出PCM编码——猎八哥FLY
package keshe;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;
import javax.swing.JLabel; public class keshe extends JFrame { private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JLabel lblPcm;
private JLabel label;
private JLabel label_1;
private JLabel label_2; /**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
keshe frame = new keshe();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
} /**
* Create the frame.
*/
public keshe() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null); textField = new JTextField();
textField.setBounds(96, 25, 212, 21);
contentPane.add(textField);
textField.setColumns(10); textField_1 = new JTextField();
textField_1.setBounds(96, 56, 212, 21);
contentPane.add(textField_1);
textField_1.setColumns(10); textField_2 = new JTextField();
textField_2.setBounds(96, 98, 212, 21);
contentPane.add(textField_2);
textField_2.setColumns(10); textField_3 = new JTextField();
textField_3.setBounds(95, 139, 213, 21);
contentPane.add(textField_3);
textField_3.setColumns(10); JButton btnNewButton = new JButton("确定");
btnNewButton.addActionListener(new ActionListener() {
private String f;
public void actionPerformed(ActionEvent e) { int a,b,b1,c1,f,g;
StringBuffer d,e1;
/*a为输入的初始值,b为a的值取绝对值,
b1为段内码的量化间隔所处的位置,c1为极性码,d段落码,e为段内码,
f为段内量化间隔,g为量化误差*/
String s1 = textField.getText();
a = Integer.parseInt(s1);
if(a>0&a<=2048){
c1=1;
}
else if(a<0&a>=-2048){
c1=0;
}
else {
c1=9;
} b=(int)(Math.sqrt(a*a)); if(b>0&b<=16){
b1=b;
d=new StringBuffer("000");
f=1;
g=1;
}
else if(b>16&b<=32){
b1=b-16;
d=new StringBuffer("001");
f=1;
g=1;
} else if(b>32&b<=64){
b1=(b+1)/2-16;
d=new StringBuffer("010");
f=2;
g=b-30-2*b1;
}
else if(b>64&b<=128){
b1=(b+3)/4-16;
d=new StringBuffer("011");
f=4;
g=b-60-4*b1;
} else if(b>128&b<=256){
b1=(b+7)/8-16;
d=new StringBuffer("100");
f=8;
g=b-120-8*b1;
}
else if(b>256&b<=512){
b1=(b+15)/16-16;
d=new StringBuffer("101");
f=16;
g=b-240-16*b1;
}
else if(b>512&b<=1024){
b1=(b+31)/32-16;
d=new StringBuffer("110");
f=32;
g=b-480-32*b1;
}
else if(b>1024&b<=2048){
b1=(b+63)/64-16;
d=new StringBuffer("111");
f=64;
g=b-960-64*b1;
}
else {
b1=0;d=new StringBuffer("错误");f=0;g=0;
} int t=b1;
if(t==1)
e1=new StringBuffer("0000");
else if(t==2)
e1=new StringBuffer("0001");
else if(t==3)
e1=new StringBuffer("0010");
else if(t==4)
e1=new StringBuffer("0011");
else if(t==5)
e1=new StringBuffer("0100");
else if(t==6)
e1=new StringBuffer("0101");
else if(t==7)
e1=new StringBuffer("0110");
else if(t==8)
e1=new StringBuffer("0111");
else if(t==9)
e1=new StringBuffer("1000");
else if(t==10)
e1=new StringBuffer("1001");
else if(t==11)
e1=new StringBuffer("1010");
else if(t==12)
e1=new StringBuffer("1011");
else if(t==13)
e1=new StringBuffer("1100");
else if(t==14)
e1=new StringBuffer("1101");
else if(t==15)
e1=new StringBuffer("1110");
else if(t==16)
e1=new StringBuffer("1111");
else {
e1=new StringBuffer("输入数据错误");
}
/*System.out.println(""+c1+d+e1);
System.out.println(""+f);
System.out.println(""+g);*/ textField_1.setText(""+c1+d+e1);
textField_2.setText(""+f);
textField_3.setText(""+g); }
});
btnNewButton.setBounds(41, 200, 156, 52);
contentPane.add(btnNewButton); JButton btnNewButton_1 = new JButton("重置");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textField.setText("");
textField_1.setText("");
textField_2.setText("");
textField_3.setText("");
}
}); btnNewButton_1.setBounds(207, 200, 174, 52);
contentPane.add(btnNewButton_1); lblPcm = new JLabel("PCM\u7801\u5B50");
lblPcm.setBounds(22, 59, 54, 15);
contentPane.add(lblPcm); label = new JLabel("\u91CF\u5316\u95F4\u9694");
label.setBounds(22, 101, 54, 15);
contentPane.add(label); label_1 = new JLabel("\u91CF\u5316\u8BEF\u5DEE");
label_1.setBounds(22, 142, 63, 15);
contentPane.add(label_1); label_2 = new JLabel("\u8F93\u5165\u6570\u636E");
label_2.setBounds(22, 28, 54, 15);
contentPane.add(label_2);
}
}
通信原理课程设计Javaswing技术计算出PCM编码——猎八哥FLY;此为原创博客,转载请标明出处。
通信原理课程设计Javaswing技术计算出PCM编码——猎八哥FLY的更多相关文章
- UDP广域网,局域网通信-原理分析,穿透技术
一.UDP局域网通信. 这个比较简单,关于局域网中的2台或者更多的计算机之间的UDP通信,网络上一大把,直接复制粘贴就可以使用,原理也非常简单.所以,本文不做详细介绍. 二.UDP广域通信(包括路由器 ...
- Java课程设计常见技术问题(程序部署、数据库、JSP)
1. 部署方法 Eclipse下打包 右键点击项目-Export-Runnable JAR file,选择正确的Launch configuration,接下来根据提示可以将项目中用到的jar打入包中 ...
- 【南工程开源计划】南京工程学院 信息与通信工程学院 课程设计说明书(论文) 宽带接入技术--WLAN接入设计
文章目录 蓝奏云文件存放地址 一.课程设计目的 二.课程设计要求 三.课程设计网络环境 四.课程设计内容 4.1 WLAN接入设计 4.1.1设计拓扑 4.1.2设计原理 1)WLAN 2)RADIU ...
- [ 浙江大学 数据库系统原理 ] [ MiniSQL ]课程设计
工作流程图如下.代码详见https://github.com/gstggsstt/minisql. 注:课程设计时间紧迫,编码基本没有性能考虑,仅限于实现功能,索引未使用B+tree.
- 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》
引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...
- 大数据 --> MapReduce原理与设计思想
MapReduce原理与设计思想 简单解释 MapReduce 算法 一个有趣的例子:你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃? MapReduce方法则是: 给在座 ...
- java课程设计团队博客《基于学院的搜索引擎》
JAVA课程设计 基于学院网站的搜索引擎 对学院网站用爬虫进行抓取.建索(需要中文分词).排序(可选).搜索.数据摘要高亮.分页显示.Web界面. 一.团队介绍 学号 班级 姓名 简介 2016211 ...
- 系统间通信——RPC架构设计
架构设计:系统间通信(10)——RPC的基本概念 1.概述经过了详细的信息格式.网络IO模型的讲解,并且通过JAVA RMI的讲解进行了预热.从这篇文章开始我们将进入这个系列博文的另一个重点知识体系的 ...
- 20155206赵飞 基于《Arm试验箱的国密算法应用》课程设计个人报告
20155206赵飞 基于<Arm试验箱的国密算法应用>课程设计个人报告 课程设计中承担的任务 完成试验箱测试功能1,2,3 . 1:LED闪烁实验 一.实验目的 学习GPIO原理 ...
随机推荐
- mbos之动态图表设计
前言 所谓,一图胜千言.人脑有80%的部分专门用于视觉处理.而随着数据时代的全面来临,我们自然有必要将数据转化为图形与图表. Mbos是一个快速,稳定的云端轻应用开发平台.帮助企业快速开发移动应用,加 ...
- JavaScript中正则表达式判断匹配规则以及常用的方法
JavaScript中正则表达式判断匹配规则以及常用的方法: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想 ...
- dotnet core部署方式两则:CLI、IIS
最近在使用dotnet core研究整个开发过程,使用下面两种方式部署: 一,使用 dotnet run 命令运行 在项目路径,shift+右键,选择 “在此处打开命令窗口”,在CMD窗口中运行“do ...
- vue 组件开发
作者QQ:1095737364 QQ群:123300273 欢迎加入! 1.新建路由:router-->index.js,修改成下面的代码 import Vue from 'vu ...
- Spring Boot中使用 Spring Security 构建权限系统
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置的Bean,为应用系统提供声明式的安全 ...
- 绑定微信以及获取openId
由于公司最近在做一个微信公众号的项目,需要获取用户openId,我再一次踏入了微信的坑! 先在这里告诫后来的同志,如果一样要开始做有关微信的东西,最好是有前辈,或者直接看完文档,不懂或者纳闷的地方直接 ...
- noip普及组2007 纪念品分组
纪念品分组 描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组 ...
- 神经网络与深度学习笔记 Chapter 3.
交叉熵 交叉熵是用于解决使用二次代价函数时当单个神经元接近饱和的时候对权重和bias权重学习的影响.这个公式可以看出,当神经元饱和的时候,sigma的偏导接近于0,w的学习也会变小.但是应用交叉熵作为 ...
- 第5天:js-系统时间对象
今天听了一小节,js中如何获取系统时间.最后做了一个轮播图效果,是在别人的代码上修改的,一开始做了好半天,都没做好,最后,在我的坚持下,终于做出来了.今天先到这儿,去休息了! 获取时间对象:new D ...
- AngularJS 动画总结
对读过的几篇文章的总结,尽量保证逻辑性,不断补充.精简.更正. 后面会列出参考文章地址,方便以后取用.感谢各位作者以及翻译者. AngularJS 动画思考 一.如何使用 1)我们需要构建什么 2)如 ...