SlideShare a Scribd company logo
1 of 2
Download to read offline
Information Theory Project Report
Name: Yafei Qu
Computer and Communication Systems
Student ID:13044656
Date: 20.11.2013
Introduction
Appropriate Compression of file has lots of benefit for users and transform systems. This project
required us to understand the process of compression in details and connect theory with
practical. Two computer programs are needed for compression and decompression using
Hadamard Transform and Huffman Coding as basic algorithms.
My whole program was written by C++. In fact, it doesn’t include much object orientation
methods. So I prefer it is a C programming in .cpp file. The compression part works well, but I
am kind of stuck at the decompression part.
For now, the compression part has been done. The generated compression file has 18745
bytes in it. Then the compression ratio will be 18745/65536*100%=28.6%, which is pretty good.
But the trick is the size just includes the pure data without any information for decompression.
Region A, B and C are not required to be recode by any methods. The data of them is directly
moved to the compression file as type of short, whose length is enough for the largest number
in these regions with smaller space. Each data in these 3 regions is saved with 2 bytes, and
there are 64*64 = 4096 of them. Therefore, 4096*2 = 8192 bytes are occupied to save them in
the compression file. The rest part of it includes Region D, E, G and G. The
I thinks the major aim of this project could be coding theory and get it involved with practical
implication. The result of that opinion is that this program was established in the simplest way.
For making program simpler, I didn’t save the Huffman coding table in the compression file but
in the memory. More particularly, every compression file should contain a coding table for
decompression could be done everywhere else with certain applications.
Assessment
There are 3 steps of compression, Transform for separate efficient data and useless data,
quantization for making the amount of information lack and Variable Length Coding for making
the information expressing in a more efficient way.
Hadamard Transform: In the project, Hadamard transform is used as the basic algorithm for
transform. In the transform process, figures change in the way Fig.1 shows. It is convenient to
generate visional results. I used to use MATLAB to do the transform and it works great and
generate the pictures in Fig.1. After the transform, the data in the left up corner will be much
greater than original range, so you have to change it yourself if you want to check the figure with
C/C++, which MATLAB will do automatically.
Quantization: Then here comes few problems. There are several ways to get the work done,
shifting bits or division and strategies to handle the quantization. I tried that in both, and I prefer
the shifting and the quantization steps is determined by how many bits the extreme numbers
take. It might make it clear and easier for programming, but there are few problems can’t be
ignored. In fact, the shifting can’t follow the requirement closely. The G region is asked to be
quantized with 2 levels, which means there would be 4 numbers representing all the values in
this area. Shifting can only pick equal numbers in negative and positive numbers and a 0, which
is not exactly required. Furthermore, whether the highest bit determining the number negative or
positive should be operated as the regular bits is not clear for me. In the division method, two
strategies are quite different. Quantization with the range of numbers or the highest bit will lead
in two results. My final strategy is if the highest bit is n, required quantization level is m, then
erasing the lowest n-m bits by shifting right and back, which might be easier to operate.
Variable Length Coding: This part contains the most complex algorithms in whole project,
Huffman Coding.

More Related Content

What's hot

2.5.2 piecewise functions
2.5.2 piecewise functions2.5.2 piecewise functions
2.5.2 piecewise functions
Northside ISD
 
Double Patterning (3/31 update)
Double Patterning (3/31 update)Double Patterning (3/31 update)
Double Patterning (3/31 update)
guest833ea6e
 

What's hot (18)

Practical Guides on Programming with Big Number Library in Scientific Researches
Practical Guides on Programming with Big Number Library in Scientific ResearchesPractical Guides on Programming with Big Number Library in Scientific Researches
Practical Guides on Programming with Big Number Library in Scientific Researches
 
Algorithmic research
Algorithmic researchAlgorithmic research
Algorithmic research
 
Application of linear algebra in cse
Application of linear algebra in cseApplication of linear algebra in cse
Application of linear algebra in cse
 
Applications of Linear Algebra in Computer Sciences
Applications of Linear Algebra in Computer SciencesApplications of Linear Algebra in Computer Sciences
Applications of Linear Algebra in Computer Sciences
 
Day 1 Chapter 1 Unit 1
Day 1 Chapter 1 Unit 1Day 1 Chapter 1 Unit 1
Day 1 Chapter 1 Unit 1
 
Update on Benchmark 7
Update on Benchmark 7Update on Benchmark 7
Update on Benchmark 7
 
Craft software for dummies
Craft software for dummiesCraft software for dummies
Craft software for dummies
 
Assignment premier academic writing agency with industry
Assignment premier academic writing agency with industry Assignment premier academic writing agency with industry
Assignment premier academic writing agency with industry
 
Type Conversion Elimination by Dominant Flow Analysis
Type Conversion Elimination by Dominant Flow AnalysisType Conversion Elimination by Dominant Flow Analysis
Type Conversion Elimination by Dominant Flow Analysis
 
2.5.2 piecewise functions
2.5.2 piecewise functions2.5.2 piecewise functions
2.5.2 piecewise functions
 
Core failure mitigation in integer sum of-product computations on cloud compu...
Core failure mitigation in integer sum of-product computations on cloud compu...Core failure mitigation in integer sum of-product computations on cloud compu...
Core failure mitigation in integer sum of-product computations on cloud compu...
 
Arithmetic and RISC pipeline
Arithmetic and RISC pipelineArithmetic and RISC pipeline
Arithmetic and RISC pipeline
 
Lab 1:c++
Lab 1:c++Lab 1:c++
Lab 1:c++
 
Double Patterning (3/31 update)
Double Patterning (3/31 update)Double Patterning (3/31 update)
Double Patterning (3/31 update)
 
Design and Implementation of Fixed Point Arithmetic Unit
Design and Implementation of Fixed Point Arithmetic UnitDesign and Implementation of Fixed Point Arithmetic Unit
Design and Implementation of Fixed Point Arithmetic Unit
 
About the size and frequency of prime gapsMaximum prime gaps
About the size and frequency of prime gapsMaximum prime gapsAbout the size and frequency of prime gapsMaximum prime gaps
About the size and frequency of prime gapsMaximum prime gaps
 
Matlab lecture 2 matlab basic syntax & variables @taj
Matlab lecture 2   matlab basic syntax & variables @tajMatlab lecture 2   matlab basic syntax & variables @taj
Matlab lecture 2 matlab basic syntax & variables @taj
 
Big data fusion and parametrization for strategic transport models
Big data fusion and parametrization for strategic transport modelsBig data fusion and parametrization for strategic transport models
Big data fusion and parametrization for strategic transport models
 

Similar to Information Theory and Coding

Algorithm for computational problematic sit
Algorithm for computational problematic sitAlgorithm for computational problematic sit
Algorithm for computational problematic sit
Saurabh846965
 
NetworkTeamofRockDamageModelingandEnergyGeostorageSimulation
NetworkTeamofRockDamageModelingandEnergyGeostorageSimulationNetworkTeamofRockDamageModelingandEnergyGeostorageSimulation
NetworkTeamofRockDamageModelingandEnergyGeostorageSimulation
Jianming Zeng
 
VauhkonenVohraMadaan-ProjectDeepLearningBenchMarks
VauhkonenVohraMadaan-ProjectDeepLearningBenchMarksVauhkonenVohraMadaan-ProjectDeepLearningBenchMarks
VauhkonenVohraMadaan-ProjectDeepLearningBenchMarks
Mumtaz Hannah Vauhkonen
 
Fast optimization intevacoct6_3final
Fast optimization intevacoct6_3finalFast optimization intevacoct6_3final
Fast optimization intevacoct6_3final
eArtius, Inc.
 

Similar to Information Theory and Coding (20)

Scientific calculator project in c language
Scientific calculator project in c languageScientific calculator project in c language
Scientific calculator project in c language
 
Dynamic programming prasintation eaisy
Dynamic programming prasintation eaisyDynamic programming prasintation eaisy
Dynamic programming prasintation eaisy
 
GE3151 PSPP _Unit 1 notes and Question bank.pdf
GE3151 PSPP _Unit 1 notes and Question bank.pdfGE3151 PSPP _Unit 1 notes and Question bank.pdf
GE3151 PSPP _Unit 1 notes and Question bank.pdf
 
USING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICS
USING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICSUSING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICS
USING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICS
 
Algorithm for computational problematic sit
Algorithm for computational problematic sitAlgorithm for computational problematic sit
Algorithm for computational problematic sit
 
Unit 1 python (2021 r)
Unit 1 python (2021 r)Unit 1 python (2021 r)
Unit 1 python (2021 r)
 
NetworkTeamofRockDamageModelingandEnergyGeostorageSimulation
NetworkTeamofRockDamageModelingandEnergyGeostorageSimulationNetworkTeamofRockDamageModelingandEnergyGeostorageSimulation
NetworkTeamofRockDamageModelingandEnergyGeostorageSimulation
 
AOA Week 01.ppt
AOA Week 01.pptAOA Week 01.ppt
AOA Week 01.ppt
 
VauhkonenVohraMadaan-ProjectDeepLearningBenchMarks
VauhkonenVohraMadaan-ProjectDeepLearningBenchMarksVauhkonenVohraMadaan-ProjectDeepLearningBenchMarks
VauhkonenVohraMadaan-ProjectDeepLearningBenchMarks
 
Programming with Mathcad Prime
Programming with Mathcad PrimeProgramming with Mathcad Prime
Programming with Mathcad Prime
 
Fast optimization intevacoct6_3final
Fast optimization intevacoct6_3finalFast optimization intevacoct6_3final
Fast optimization intevacoct6_3final
 
Application's of Numerical Math in CSE
Application's of Numerical Math in CSEApplication's of Numerical Math in CSE
Application's of Numerical Math in CSE
 
IRJET- 3-D Face Image Identification from Video Streaming using Map Reduc...
IRJET-  	  3-D Face Image Identification from Video Streaming using Map Reduc...IRJET-  	  3-D Face Image Identification from Video Streaming using Map Reduc...
IRJET- 3-D Face Image Identification from Video Streaming using Map Reduc...
 
first_assignment_Report
first_assignment_Reportfirst_assignment_Report
first_assignment_Report
 
DATA STRUCTURE.pdf
DATA STRUCTURE.pdfDATA STRUCTURE.pdf
DATA STRUCTURE.pdf
 
DATA STRUCTURE
DATA STRUCTUREDATA STRUCTURE
DATA STRUCTURE
 
Mathcad
MathcadMathcad
Mathcad
 
Fundamental of Information Technology - UNIT 6
Fundamental of Information Technology - UNIT 6Fundamental of Information Technology - UNIT 6
Fundamental of Information Technology - UNIT 6
 
IJET-V3I1P14
IJET-V3I1P14IJET-V3I1P14
IJET-V3I1P14
 
Problem solving techniques in c language
Problem solving techniques in c languageProblem solving techniques in c language
Problem solving techniques in c language
 

Information Theory and Coding

  • 1. Information Theory Project Report Name: Yafei Qu Computer and Communication Systems Student ID:13044656 Date: 20.11.2013 Introduction Appropriate Compression of file has lots of benefit for users and transform systems. This project required us to understand the process of compression in details and connect theory with practical. Two computer programs are needed for compression and decompression using Hadamard Transform and Huffman Coding as basic algorithms. My whole program was written by C++. In fact, it doesn’t include much object orientation methods. So I prefer it is a C programming in .cpp file. The compression part works well, but I am kind of stuck at the decompression part. For now, the compression part has been done. The generated compression file has 18745 bytes in it. Then the compression ratio will be 18745/65536*100%=28.6%, which is pretty good. But the trick is the size just includes the pure data without any information for decompression. Region A, B and C are not required to be recode by any methods. The data of them is directly moved to the compression file as type of short, whose length is enough for the largest number in these regions with smaller space. Each data in these 3 regions is saved with 2 bytes, and
  • 2. there are 64*64 = 4096 of them. Therefore, 4096*2 = 8192 bytes are occupied to save them in the compression file. The rest part of it includes Region D, E, G and G. The I thinks the major aim of this project could be coding theory and get it involved with practical implication. The result of that opinion is that this program was established in the simplest way. For making program simpler, I didn’t save the Huffman coding table in the compression file but in the memory. More particularly, every compression file should contain a coding table for decompression could be done everywhere else with certain applications. Assessment There are 3 steps of compression, Transform for separate efficient data and useless data, quantization for making the amount of information lack and Variable Length Coding for making the information expressing in a more efficient way. Hadamard Transform: In the project, Hadamard transform is used as the basic algorithm for transform. In the transform process, figures change in the way Fig.1 shows. It is convenient to generate visional results. I used to use MATLAB to do the transform and it works great and generate the pictures in Fig.1. After the transform, the data in the left up corner will be much greater than original range, so you have to change it yourself if you want to check the figure with C/C++, which MATLAB will do automatically. Quantization: Then here comes few problems. There are several ways to get the work done, shifting bits or division and strategies to handle the quantization. I tried that in both, and I prefer the shifting and the quantization steps is determined by how many bits the extreme numbers take. It might make it clear and easier for programming, but there are few problems can’t be ignored. In fact, the shifting can’t follow the requirement closely. The G region is asked to be quantized with 2 levels, which means there would be 4 numbers representing all the values in this area. Shifting can only pick equal numbers in negative and positive numbers and a 0, which is not exactly required. Furthermore, whether the highest bit determining the number negative or positive should be operated as the regular bits is not clear for me. In the division method, two strategies are quite different. Quantization with the range of numbers or the highest bit will lead in two results. My final strategy is if the highest bit is n, required quantization level is m, then erasing the lowest n-m bits by shifting right and back, which might be easier to operate. Variable Length Coding: This part contains the most complex algorithms in whole project, Huffman Coding.