多媒体技术课程设计报告

  • 格式:doc
  • 大小:1.85 MB
  • 文档页数:19

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二○○九~二○一○学年第二学期应用技术学院

课程设计报告书

课程名称:多媒体技术

班级:09级网络工程

学号:

姓名:

指导教师:

二○一○年六月

目录

1.需求分析 (2)

1.1课程设计题目 (2)

1.2课程设计要求 (2)

1.3系统功能需求分析 (2)

2.概要设计 (3)

3.详细设计 (4)

3.1界面设计 (4)

3.2行程编码设计 (11)

4.程序调试 (14)

4.1源文件的压缩 (14)

4.2源文件的解压 (15)

5.总结 (18)

1.需求分析

1.1课程设计题目

信源与信道编/解码练习。

1.2课程设计要求

1)要求利用程序设计软件(如VC、Java、Matlab)制作一个能完成信道编/解码

(海明/CRC码),信源编/解码(如行程编码)软件。

2)基本要求为编制软件至少能根据所输入的数据完成信源、信道编解码,其中

信道编码要求能产生1-2位随机错误,且能纠1位错,最后是能读取txt文件,或者直接读取图片来完成,如能对视频完成则更佳。

3)编写的软件编译后能直接运行,验证编/解码效果,否则无效。

1.3系统功能需求分析

➢操作环境(软件、硬件及条件)

Windws 9x/NT/2000/XP/2003

NetBeans IDE 6.8

➢系统功能

此软件是在JAVA平台下编写的,能根据所输入的数据完成信道(海明码)、信源编解码(行程编码),其中信道编码(海明码)能产生1位随机错误,且能纠1位错,最后是能直接读取图片或txt文件来完成。

➢用户操作流程

编码:

解码:

2.概要设计系统总体框架:

3.详细设计

本次课程设计中我主要负责界面设计和行程编码,故作以下详细介绍。

3.1界面设计

界面设计如图3-1所示:

图3-1

界面设计代码如下:

package DMTcode;

import java.io.File;

import javax.swing.JFileChooser;

import javax.swing.JOptionPane;

public class NewJFrame extends javax.swing.JFrame {

int rndChooser;

byte targetBit;

private int i;

File f1,f2;

byte[] mybyte1,mybyte2;

public NewJFrame() {

initComponents();

this.setTitle("重庆大学09网络工程尹力沈小波多媒体课程设计");

}

@SuppressWarnings("unchecked");

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

jButton1 = new javax.swing.JButton();

jLabel1 = new javax.swing.JLabel();

jTextField1 = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

jTextField2 = new javax.swing.JTextField();

jButton2 = new javax.swing.JButton();

jButton4 = new javax.swing.JButton();

jButton5 = new javax.swing.JButton();

jPanel2 = new javax.swing.JPanel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

jPanel3 = new javax.swing.JPanel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

jLabel8 = new javax.swing.JLabel();

jButton3 = new javax.swing.JButton();

jLabel9 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("行程编码文件")); jButton1.setText("打开");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

jLabel1.setText("源文件:");

jTextField1.setEnabled(false);

jLabel2.setText("目标文件:");

jTextField2.setEnabled(false);

jButton2.setText("保存");

jButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

}

});

jButton4.setText("开始编码");

jButton4.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton4ActionPerformed(evt);

}

});

jButton5.setText("开始解码");

jButton5.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton5ActionPerformed(evt);

}