資訊理論上機實習報告

2022-02-04 07:32:23 字數 2200 閱讀 1168

姓名:夏勇學院:數學與物理學院專業號:123092學號:20091001897

目錄資訊理論上機實習報告 1

判斷唯一可解碼 1

題目分析 1

演算法分析 1

設計中遇到的問題及其解決方法 2

除錯結果 3

源** 5

夏農編碼 14

題目分析 14

演算法分析 14

演算法中遇到的問題及解決方法 15

除錯結果 15

源** 16

費諾編碼 20

題目分析 20

演算法分析 21

演算法設計中遇到的問題和解決方法 21

執行結果 22

源** 23

1) 問題描述

編乙個程式判斷一組碼是不是唯一可解碼.

2) 基本要求

1) 演算法原理

由圖可知,一定是的字首,而的尾隨字尾一定是另一碼字的字首;又的尾隨字尾又是其他碼字的字首。最後,若碼符號串行的尾部是碼字,則其是非唯一可解碼。

2) 演算法設計和思想

首先,由於在比較字首時,碼字的長度也是乙個重要的量,所以需要設計乙個結構體來存放碼字和其長度。然後首先判斷原始碼字中的所有的尾隨字尾,運用了兩個for迴圈來實現,使得每個原始碼字都作為字首和所有的其他碼字比較,找出所有的尾隨字尾及其長度,放在物件f中。具體判斷時,如果作為字首的碼字的長度大於其他的,則剔除,判斷下乙個。

接著,我們比較原始碼字和f中的碼字,在這裡,原始碼字和f中的碼字都要作為字首和其他的碼字比較,找出尾隨字尾碼及其長度放入f中,判斷方法和前面的相同。最後,比較f中的碼字是否有和原始碼字相同的,若有,則其不是唯一可解碼,否則,其是唯一可解碼。

在起初設計中,一直不知道應該怎麼比較碼字來找出尾隨字尾,後來仔細分析後,明白了在比較的時候牽扯到了碼字的長度,既然有多個變數,那麼就運用結構體變數。然後在比較的時候,就可以根據它的長度來劃分它的尾隨字尾碼,其的長度也就知道了。在具體程式設計時,要避免變數在多處運用。

因為如果你忘記了初始化就會導致錯誤,而且很難找出來,所以盡量不要多處使用,如果你一定要用的話,那就在它的後面加上標註。另外,在設計當中從老師那裡學會了一種檢錯方法,就是一步一步的除錯,雖然有點麻煩,但是效果相當不錯。

#include<>

#include<>

#include<>

#define n 1

typedef struct

code;

main()

}/*for(i=0;i *///檢驗碼字是否正確輸入陣列

for(i=0;i

if(sum==d[i].len)

break;

}if(sum!=0) printf("此碼組不是唯一可解碼組!\n");

else

}for(i=0;i

if(flag1==1)

}if(flag1==0) printf("此碼組是唯一可解碼組!\n");

}1) 問題描述

用夏農方法編乙個程式來對各符號編碼。

2) 基本要求

需要用夏農編碼方法。

1) 演算法原理

首先將輸入的概率按遞減的次序排列,然後計算累加概率,接著計算每個符號的碼字的長度,它應該是不小於的最小整數。最後將每個符號對應的累加概率轉變成二進位制的數,碼字就取其二進位制數的前位。這樣就得到了每個符號的碼字。

2) 演算法設計思想

array函式用來把輸入的概率按遞減的次序排列好,用的方法是先找最大的放第乙個,再找次大的放第二個,如此反覆。chang函式用來把累加函式由十進位制變到二進位制,在函式中,一位一位的比較,比較了一位,就用累加函式值減去此位的數0或1的2^i倍,i表示是第幾位。

由於夏農編碼比較的簡單,所以在編碼時基本上沒有什麼問題,只要把chang函式編好就行。

#include<>

#include<>

#include<>

int k[100];

int c[100];

void array(double a,int n)//排序

}}void chang(double p,int l)

else

else

}}}main()

{ double a[100],b[100],sum=0.0,m;

int n,i,j;

printf("請輸入信源符號的個數: \n");

資訊理論與編碼課程總結

08資訊 1 班 0807011039 趙傳來 資訊理論是人們在長期通訊工程的實踐中,由通訊技術與概率論 隨機過程和數理統計相結合而逐步發展起來的一門科學。緒論首先引出資訊的概念,進而討論資訊理論這一科學的研究物件 目的和內容,並簡述本學科的發展歷史 現狀和動向。經總結有以下知識點。資訊是指各個事物...

2019資訊理論與編碼試卷

考試時間120分鐘 班級學號姓名 1.15分 彩色電視顯象管的螢幕上有5 105 個象元,設每個象元有64種彩色度,每種彩度又有16種不同的亮度層次,如果所有的彩色品種和亮度層次的組合均以等概率出現並且各個組合之間相互獨立。1 計算每秒傳送25幀圖象所需要的通道容量 2 如果在加性高斯白雜訊通道上訊...

資訊理論雨編碼課後題答案

2.1 設有 12 枚同值硬幣,其中有一枚為假幣。只知道假幣的重量與真幣的重量不同,但不知究竟是重還是輕。現用比較天平左右兩邊輕重的方法來測量。為了在天平上稱出哪 一枚是假幣,試問至少必須稱多少次?解 從資訊理論的角度看,12 枚硬幣中,某一枚為假幣 該事件發生的概率為 p 112 假幣的重量比真的...