信息論與編碼課程設(shè)計及壓片成形機課程設(shè)計_第1頁
信息論與編碼課程設(shè)計及壓片成形機課程設(shè)計_第2頁
信息論與編碼課程設(shè)計及壓片成形機課程設(shè)計_第3頁
信息論與編碼課程設(shè)計及壓片成形機課程設(shè)計_第4頁
信息論與編碼課程設(shè)計及壓片成形機課程設(shè)計_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

-32-信息論與編碼課程設(shè)計報告書學院:電氣工程與自動化專業(yè)班級:指導老師:團隊成員:本案作者:學號:完成日期:摘要信息是從人類出現(xiàn)以來就存在于這個世界上,人類社會的生存和發(fā)展都離不開信息的獲取、傳遞、處理、再生、控制和處理。而信息論正是一門把信息作為研究對象,以揭示信息的本質(zhì)特性和規(guī)律為基礎(chǔ),應(yīng)用概率論、隨即過程和數(shù)理統(tǒng)計等方法來研究信息的存儲、傳輸、處理、控制、和利用等一般規(guī)律的學科。主要研究如何提高信息系統(tǒng)的可靠性、有效性、保密性和認證性,以使信息系統(tǒng)最優(yōu)化。在信息論的指導下,信息技術(shù)得到飛速發(fā)展,這使得信息論滲透到自然科學和社會科學的所有領(lǐng)域,并且應(yīng)用與眾多領(lǐng)域:編碼學、密碼學與密碼分析、數(shù)據(jù)壓縮、數(shù)據(jù)傳輸、檢測理論、估計理論等。信息論的主要基本理論包括:信息的定義和度量;各類離散信源和連續(xù)信源的信源熵;有記憶,無記憶離散和連續(xù)信道的信道容量,平均互信息;無失真信源編碼相關(guān)理論。求離散性信源熵也是信息論課程實踐學習中必須要經(jīng)歷,在了解常規(guī)的求解方式的同時,利用計算機語言進行實踐編程。用預(yù)先規(guī)定的方法將文字、數(shù)字或其他對象編成數(shù)碼,或?qū)⑿畔?、?shù)據(jù)轉(zhuǎn)換成規(guī)定的電脈沖信號。編碼在電子計算機、電視、遙控和通訊等方面廣泛使用。其中哈夫曼編碼有廣泛的應(yīng)用,通過本次實驗,了解編碼的具體過程,通過編程實現(xiàn)編碼。本次實驗所使用的機器語言均為C語言。關(guān)鍵字:信息論離散和連續(xù)信源熵哈夫曼編碼C語言編程設(shè)計目錄摘要 -1-第一章課程設(shè)計概述及意義 -3-第二章設(shè)計任務(wù)與要求 -3-1、設(shè)計目的 -3-1.1 -3-1.2 -3-1.3 -3-1.4 -4-1.5 -4-2.設(shè)計內(nèi)容 -4-3.設(shè)計要求 -4-4.設(shè)計條件 -4-5.設(shè)計思路 -4-6.離散平穩(wěn)信源熵求解說明 -5-7.哈夫曼編碼編程方式說明 -5-第三章設(shè)計流程圖 -6-1.信源熵編程計算設(shè)計流程圖 -7-2.哈夫曼編碼程序設(shè)計流程圖 -8-3.軟件介紹 -8-3.1VisualC++6.0簡介 -8-3.2主要部分 -9-第三章程序運行及結(jié)果 -10-1.計算信源熵結(jié)構(gòu)截圖 -10-2.哈夫曼樹編程截圖結(jié)果 -11-3.設(shè)計內(nèi)容舉例結(jié)果分析 -11-第五章課程設(shè)計心得體會 -13-附錄 -14-1.參考文獻 -14-2.哈幅曼樹調(diào)試程序 -14-3.信源熵計算調(diào)試程序 -19-第一章課程設(shè)計概述及意義本課程設(shè)計是在學習了《信息論與編碼》和相關(guān)開發(fā)的軟件課程后,讓我們通過實際的操作來熟悉信源編碼微機實現(xiàn),培養(yǎng)我們能夠獨立的完成對相關(guān)課題或者項目的分析能力、設(shè)計能力和調(diào)試能力。本課程設(shè)計是銜接在C課程、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計之后的,運用程序思想來完成的,聯(lián)系信息論與編碼所學內(nèi)容,要求有獨立的操作界面。在這次的課程設(shè)計中,著重培養(yǎng)的是我們的自學能力,以及獨立分析互聯(lián)網(wǎng)上和圖書館里的各種資料,來豐富自己的知識并且提高對數(shù)學公式的計算機實現(xiàn)、VC++等軟件的實際操作能力。通過這次的課程設(shè)計,能夠使我們對已經(jīng)學習過的信息論與編碼課程的進一步的掌握,能夠?qū)χR進行最大程度的消化融匯。因此這次的課程設(shè)計對我們有著非常重要的意義。

本課程設(shè)計中用VC編寫出基于visualstudio2010界面的簡單軟件以實現(xiàn)壓縮信源熵求解及哈夫曼編碼的目的。經(jīng)過比較系統(tǒng)合理的編程操作,實現(xiàn)可視化的窗口以方便用戶使用。通過簡單校驗確保信源正確性,保證軟件的可靠性。最終將結(jié)果保存為文檔方便記錄編碼結(jié)果。

通過讓完成具體編碼算法的程序設(shè)計和調(diào)試工作,達到提高編程能力和深刻理解編碼理論及信源熵求解的目的。培養(yǎng)我們使用計算機和查閱參考資料的能力,提高我們的基本設(shè)計能力。培養(yǎng)了理論聯(lián)系實際和獨立思考的能力。并激發(fā)我們的實際開發(fā)創(chuàng)造的意識和能力。培養(yǎng)和提高我們的自學能力以及綜合運用所學理論知識去分析解決實際問題的能力。第二章設(shè)計任務(wù)與要求1、設(shè)計目的1.1深刻理解信源熵的計算方法;1.2深刻理解信源編碼的基本思想與目的;1.3理解哈夫曼編碼方法的基本過程與特點;1.4提高綜合運用所學理論知識獨立分析和解決問題的能力;1.5提高使用C語言或其他語言進行編程的能力,以及visualstudio軟件的應(yīng)用能力。2.設(shè)計內(nèi)容首先對拖入文件中的字符總個數(shù)進行統(tǒng)計,然后從文本頭開始查找同一字符個數(shù),并計算其概率最后由得出的字符概率求得信源熵假設(shè)已知一個信源的各符號概率,編寫適當函數(shù),對其進行哈夫曼編碼,得出M進制碼字,平均碼長和編碼效率,總結(jié)此編碼方法的特點和應(yīng)用。3.設(shè)計要求1、編寫的函數(shù)要有通用性;2學生可獨立完成,或組隊共同完成。每隊人數(shù)不多于4人。3、提交一份獨立完成的課程設(shè)計報告(紙質(zhì)和電子版),做5分鐘PPT匯報,并演示程序。每隊選擇1人匯報和演示程序,其他人答辯。4、課程設(shè)計報告包括設(shè)計任務(wù)與要求、設(shè)計思路、設(shè)計流程圖、程序運行及結(jié)果、心得體會、參考文獻、附錄(源程序)等內(nèi)容。4.設(shè)計條件1、計算機、C語言或其他語言環(huán)境2、設(shè)計軟件visualstudio20105.設(shè)計思路信源熵的定義:信源各個離散消息的自信息量的數(shù)學期望首先對拖入文件中的字符總個數(shù)進行統(tǒng)計,然后從文本頭開始查找同一字符個數(shù),并計算其概率,最后由得出的字符概率求得信源熵。假設(shè)每種字符在電文中出現(xiàn)的次數(shù)為Wi,編碼長度為Li,電文中有n種字符,則電文編碼總長度為(W1*L1)+(W2*L2)+…+(Wi*Li)。若將此對應(yīng)到二叉樹上,Wi為葉結(jié)點,Li為根結(jié)點到葉結(jié)點的路徑長度。那么,(W1*L1)+(W2*L2)+…+(Wi*Li)恰好為二叉樹上帶權(quán)路徑長度。因此,設(shè)計電文總長最短的二進制前綴編碼,就是以n種字符出現(xiàn)的頻率作權(quán),構(gòu)造一棵哈夫曼樹6.離散平穩(wěn)信源熵求解說明離散平穩(wěn)信源也是一種非常重要的信源。不同時刻信源輸出符號的概率分布完全相同,則稱為一維離散平穩(wěn)信源。二維離散平穩(wěn)信源就是信源輸出的隨機序列…,X1,X2,…,Xi,…,滿足其一維和二維概率分布與時間起點無關(guān)。這種各維聯(lián)合概率分布均勻與時間起點無關(guān)的完全平穩(wěn)信源稱離散平穩(wěn)信源。二維離散平穩(wěn)信源的聯(lián)和熵為:,此值表示原來信源X輸出任意一對可能的消息的共熵,即描述信源X輸出長度為2的平均不確定性,或所含的信息量,因此可用作為二維離散平穩(wěn)信源的信息熵的近似值。在通信系統(tǒng)的各種信源中,離散隨機信源是最基本的一種信源,信源輸出是單個的符號的消息,并且消息之間是兩兩互不相容的。我們知道,事件發(fā)生的不確定性與事件發(fā)生的概率有關(guān):事件的發(fā)生概率越小,不確定性就越大,事件發(fā)生的概率越大,不確定性就越小,對于發(fā)生概率為1的必然事件就不存在不確定性。設(shè)一離散信源的概率空間為:......即,如果知道已發(fā)生,則該事件所含有的信息量稱自信息,表達式為:上面的自信息是指某一信源發(fā)出某一消息所含的信息量,但所發(fā)消息不同,它們所含信息量也就不同,所以自信息不能作為整個信源的信息測度,我們定義平均自信息量,即對每個事件各自所攜帶的信息量做一個加權(quán)平均,也稱信息熵,表示如下:信息熵具有一些基本的性質(zhì),比如,對稱性,確定性,非負性,擴展性,可加性等等。這里面有一個最大離散熵定理,表明:離散信源情況下,對于具有q個符號的離散信源,只有在q個信源符號等可能出現(xiàn)的情況下,信源熵才能達到最大值,這樣也表明等概率分布信源的平均不確定性為最大。7.哈夫曼編碼編程方式說明哈夫曼編碼(HuffmanCoding)是一種編碼方式,也是可變字長編碼(VLC)的一種。這種方法完全依據(jù)字符出現(xiàn)的概率來構(gòu)造異字頭的平均長度最短的碼字,有時稱之為最佳編碼,一般就叫作哈夫曼編碼。對于M進制哈弗曼編碼,為了提高編碼效率,就要使長碼的符號數(shù)量盡量少、概率盡量小,所以應(yīng)使合并的信源符號位于縮減信源序列盡可能高的位置上,以減少再次合并的次數(shù),充分利用短碼。在這個信息量爆炸的時代,凡是能載荷一定信息量,且碼字的平均長度最短,可分離的變長碼的碼字集合稱為最佳變長碼。為此,必須將概率大的信息符號編以短的碼字,概率小的符號編以長的碼字,使得平均碼字最短。能獲得最佳碼的編碼方法主要有:香農(nóng)(Shannon)、費諾(Fano)、哈夫曼(Huffman)編碼等。哈夫曼(Huffman)編碼是一種常用的壓縮編碼方法,是Huffman于1952年為壓縮文本文件建立的。它的基本原理是頻繁使用的數(shù)據(jù)用較短的代碼代替,較少使用的數(shù)據(jù)用較長的代碼代替,每個數(shù)據(jù)的代碼各不相同。哈夫曼壓縮是個無損的壓縮算法,一般用來壓縮文本和程序文件。哈夫曼壓縮屬于可變代碼長度算法一族。意思是個體符號用一個特定長度的位序列替代。因此,在文件中出現(xiàn)頻率高的符號,使用短的位序列,而那些很少出現(xiàn)的符號,則用較長的位序列。哈夫曼編碼是哈夫曼樹的一個應(yīng)用,是一種最優(yōu)的前綴技術(shù),然而其存在的不足卻制約了它的直接應(yīng)用。首先,其解碼時間為O(lavg),其中l(wèi)avg為碼字的平均長度;其次,更為重要的是,解碼器需要知道哈夫曼編碼樹的結(jié)構(gòu),因而編碼器必須為解碼器保存或傳輸哈夫曼編碼樹。對于小量數(shù)據(jù)的壓縮而言,這是很大的開銷。因而,應(yīng)用哈夫曼編碼的關(guān)鍵是如何降低哈夫曼編碼樹的存儲空間。目前流行的很多壓縮方法都是用了該技術(shù),如 GZIB、ZLIB、PNC等。對于多進制哈夫曼編碼,為了提高編碼效率,就要是長碼的符號數(shù)量盡量少、概率盡量小,所以信源符號數(shù)量最好滿足n=(m-1)*k+r,其中m為進制數(shù),k為縮減的次數(shù)。設(shè)計步驟如下:[1]將信源符號按概率從大到小的順序排列,令p(x1)≥p(x2)≥…≥p(xn)[2]給兩個概率最小的信源符號p(xn-1)和p(xn)各分配一個碼位“0”和“1”,將這兩個信源符號合并成一個新符號,并用這兩個最小的概率之和作為新符號的概率,或者在新添加一個信源符號,令其概率為0,則個分配一個碼位“0”、“1”和“2”,將其合并,結(jié)果得到一個只包含(n-1)個信源符號的新信源。稱為信源的第一次縮減信源,用S1表示。[3]將縮減信源S1的符號仍按概率從大到小順序排列,此后每次合并3個信源符號,得到只含(n-3)個符號的縮減信源S2。[4]重復上述步驟,直至最后,此時所剩符號的概率之和必為1。然后從最后一級縮減信源開始,依編碼路徑向前返回,就得到各信源符號所對應(yīng)的碼字。第三章設(shè)計流程圖1.信源熵編程計算設(shè)計流程圖2.哈夫曼編碼程序設(shè)計流程圖3.軟件介紹3.1VisualC++6.0簡介VisualC++6.0,簡稱VC或者VC6.0,是微軟推出的一款C++編譯器,將“高級語言”翻譯為“機器語言(低級語言)”的程序。VisualC++是一個功能強大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出VisualC++1.0后,隨著其新版本的不斷問世,VisualC++已成為專業(yè)程序員進行軟件開發(fā)的首選工具。VisualC++6.0由Microsoft開發(fā),它不僅是一個C++編譯器,而且是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrateddevelopmentenvironment,IDE)。VisualC++6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lassWizard等開發(fā)工具。這些組件通過一個名為DeveloperStudio的組件集成為和諧的開發(fā)環(huán)境。Microsoft的主力軟件產(chǎn)品。VisualC++是一個功能強大的可視化軟件開發(fā)工具。VisualC++6.0以擁有“語法高亮”,自動編譯功能以及高級除錯功能而著稱。比如,它允許用戶進行遠程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動正在調(diào)試的程序。其編譯及創(chuàng)建預(yù)編譯頭文件(stdafx.h)、最小重建功能及累加連結(jié)(link)著稱。這些特征明顯縮短程序編輯、編譯及連結(jié)的時間花費,在大型軟件計劃上尤其顯著。3.2主要部分[1]DeveloperStudio圖1DeveloperStudio環(huán)境這是一個集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?9%都是在它上面完成的,再加上它的標題赫然寫著“MicrosoftVisualC++”,所以很多人理所當然的認為,那就是VisualC++了。其實不然,雖然DeveloperStudio提供了一個很好的編輯器和很多Wizard,但實際上它沒有任何編譯和鏈接程序的功能,真正完成這些工作的幕后英雄后面會介紹。我們也知道,DeveloperStudio并不是專門用于VC的,它也同樣用于VB,VJ,VID等VisualStudio家族的其他同胞兄弟。所以不要把DeveloperStudio當成VisualC++,它充其量只是VisualC++的一個殼子而已。這一點請切記![2]MFC從理論上來講,MFC也不是專用于VisualC++,BorlandC++,C++Builder和SymantecC++同樣可以處理MFC。同時,用VisualC++編寫代碼也并不意味著一定要用MFC,只要愿意,用VisualC++來編寫SDK程序,或者使用STL,ATL,一樣沒有限制。不過,VisualC++本來就是為MFC打造的,VisualC++中的許多特征和語言擴展也是為MFC而設(shè)計的,所以用VisualC++而不用MFC就等于拋棄了VisualC++中很大的一部分功能。但是,VisualC++也不等于MFC。[3]PlatformSDK這才是VisualC++和整個VisualStudio的精華和靈魂,雖然我們很少能直接接觸到它。大致說來,PlatformSDK是以MicrosoftC/C++編譯器為核心(不是VisualC++,看清楚了),配合MASM,輔以其他一些工具和文檔資料。上面說到DeveloperStudio沒有編譯程序的功能,那么這項工作是由誰來完成的呢?是CL,是NMAKE,和其他許許多多命令行程序,這些我們看不到的程序才是構(gòu)成VisualStudio的基石。第三章程序運行及結(jié)果1.計算信源熵結(jié)構(gòu)截圖2.哈夫曼樹編程截圖結(jié)果3.設(shè)計內(nèi)容舉例結(jié)果分析例:對如下單符號離散無記憶信源編三進制哈夫曼碼。這里:m=3,n=8令k=3,m+k(m-1)=9,則s=9-n=9-8=1所以第一次取m-s=2個符號進行編碼。由計算可得:平均碼長為:(3.1)信息率為: (3.2)編碼效率為: (3.3)可見:哈夫曼的編碼效率相當高,對編碼器的要求也簡單得多。編碼過程如下:表1哈夫曼編碼信源符號概率縮減信源碼字碼長0.40.0901EQ00.22022012101.012010.181020.11120.11220.072120.062220.0520030.0420130001212102圖2哈夫曼樹 第五章課程設(shè)計心得體會此次課程設(shè)計,受益頗多。將書本上的理論知識應(yīng)用到實例中,進一步掌握了信源熵與與哈夫曼編碼的相關(guān)知識點,也更熟悉的掌握了C語言編碼。在課程設(shè)計的過程中,也遇到了一些問題,但這也正是課程設(shè)計的目的所在,發(fā)現(xiàn)自身的不足。我們深刻意識到自己在學習中的弱點,同時也找到了克服這些弱點的方法,這是在此活動中得到的一筆很大的財富。在以后的時間中,我們應(yīng)該利用更多的時間去上機實驗,多編寫程序,相信不久后我們的編程能力都會有很大的提高。同時也感謝老師給我們這次機會,發(fā)現(xiàn)自身存在的缺點與不足,從而在以后的大學生活中更好的提升和完善自我。附錄1.參考文獻[1]曹雪虹,張宗橙.信息論與編碼.北京:清華大學出版社,2007.[2]王慧琴.數(shù)字圖像處理.北京:北京郵電大學出版社,2007.[3]嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版)。北京:清華大學出版社,2009.[4]賈宗璞,許合利.C語言程序設(shè)計:人民郵電出版社,2010.2.哈幅曼樹調(diào)試程序#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>#include<math.h>#defineKongJian200typedefstructHafuman{ charZiMu; doubleweight; intparent, lchild, rchild;}HTNode,*HafumanTree;typedefchar**HafumanCode;voidinitial(HafumanTree&HT,intn){ for(inti=0;i<2*n-1;i++) { HT[i].lchild=0; HT[i].rchild=0; HT[i].parent=0; }}intinput(HafumanTree&HT,double*H){ printf("哈夫曼編碼、信源熵及編碼效率\n"); HT=(HafumanTree)malloc(KongJian*sizeof(HTNode)); if(HT==NULL) return0; inti=0; doublesum=0.0; for(sum=0.0;sum!=1.0;i++) { if(sum>1.0) printf("輸入有錯誤,請關(guān)閉命令窗重新運行\(zhòng)n"); else printf("\n請輸入第%d個符號:",i+1); scanf("%c",&HT[i].ZiMu); printf("\n請輸入%c的概率:",(HT+i)->ZiMu); scanf("%lf",&HT[i].weight); sum+=(HT+i)->weight; *H=*H+(-log(HT[i].weight)*HT[i].weight)/log(2.0); HT[i].lchild=HT[i].rchild=i; } printf("\n實驗結(jié)果如下:\n"); initial(HT,i); returni;}voidselect(HafumanTrees,intn,int*a,int*b){ doublemin=1.0; for(inti=0;i<n;i++) { if((min>(s+i)->weight)&&(s+i)->parent==0) { min=(s+i)->weight; *a=i; } } min=1.0; for(inti=0;i<n;i++) { if(i==*a) continue; if(min>(s+i)->weight&&(s+i)->parent==0) { min=(s+i)->weight; *b=i; } }}voidcreatHafumanTree(HafumanTree&HT,intn){ ints1=0, s2=0; for(inti=n;i<2*n-1;i++) { select(HT,i,&s1,&s2); HT[s1].parent=i; HT[s2].parent=i; HT[i].lchild=s1; HT[i].rchild=s2; HT[i].weight=HT[s1].weight+HT[s2].weight; }}intcmp(constvoid*a,constvoid*b){ return-1;}intcreatHafumanCode(HafumanTreeHT,HafumanCode&HC,intn,double*CL){ if((HC=(HafumanCode)malloc(n*sizeof(char*)))==NULL) return0; char*code=NULL; intnum_1=0, j=0, start=0, number=0; for(inti=0;i<n;i++) { if((code=(char*)malloc(n*sizeof(char)))==NULL) return0; start=0; num_1=HT[i].parent; j=i; while(num_1!=0) { if(HT[num_1].lchild==j) code[start++]='0'; else code[start++]='1'; number+=1; j=num_1; num_1=HT[j].parent; } qsort(code,start,sizeof(char),cmp); *(code+start)='\0'; HC[i]=code; } *CL=(double)number/(double)n;}voidprint(HafumanTreeHT,HafumanCodeHC,intn,doubleH,doubleCL){ for(inti=0;i<n;i++) { printf("\n%c的編碼是:",HT[i].ZiMu); puts(HC[i]); } printf("\n信源熵是:%f.",H); printf("\n編碼效率為:%f%%.",(H/CL)*100);}intmain(void){ HafumanTreestring=NULL; HafumanCodecode_string=NULL; doubleCL=0.0; doubleH=0.0; intlength=0; length=input(string,&H); creatHafumanTree(string,length); creatHafumanCode(string,code_string,length,&CL); print(string,code_string,length,H,CL); printf("\n\n本次試驗成功!\n"); free(string); free(code_string); return0;}3.信源熵計算調(diào)試程序#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<math.h>intcheck(char*s);voidinitial(void);structShuju{ longintcishu; doublegl; chardata;}Jc[256];intmain(void){ FILE*fp=NULL; char*filename=NULL; if((filename=(char*)malloc(500*sizeof(char))) ==NULL) { return0; } do{ printf("請拖入一個以字母命名的文件:"); gets(filename); }while(!check(filename)); if((fp=fopen(filename,"r"))==NULL) {printf("文件名為:'filename'的文件不存在"); return0; fclose(fp); } printf("\n開始讀入文件內(nèi)容"); initial(); longintnumber=0L; doubleXys=0.0; charch='0'; while(!feof(fp)) { ch=fgetc(fp); if(ch<=255&&ch>=0) { ch=(ch<='Z'&&ch>='A')?(ch+32):ch; Jc[ch].cishu+=1; Jc[ch].data=ch; number+=1; } } for(inti=0;i<256;i++) { if(Jc[i].cishu==0) continue; Jc[i].gl=static_cast<double>(Jc[i].cishu)/static_cast<double>(number); Xys=Xys+(-log(Jc[i].gl)*Jc[i].gl)/log(2.0); printf("\n其中%c字符的個數(shù)為:%d,概率是:%4.5f。",Jc[i].data,Jc[i].cishu,Jc[i].gl); } printf("\n該信源的熵是:%.4f.",Xys); printf("\n本次試驗正常運行\(zhòng)n"); fclose(fp); return0;}voidinitial(void){ for(inti=0;i<256;i++) { Jc[i].cishu=0; }}intcheck(char*s){ inti=0; while(*(s+i)!='\0') i++; if(*(s+i-4)=='.' &&*(s+i-3)=='t' &&*(s+i-2)=='x' &&*(s+i-1)=='t') return1; else { return0; }}江西農(nóng)業(yè)大學工學院《機械原理》課程設(shè)計學生姓名:

專業(yè)及班級:

學號:

設(shè)計名稱:

20-09-05目錄1.設(shè)計題目……………32.工作原理及工藝動作過程…………3設(shè)計原始數(shù)據(jù)及設(shè)計要求…………4原動機構(gòu)、傳動機構(gòu)和執(zhí)行機構(gòu)的確定…………………5動作關(guān)系……………56.功能分解……………67.設(shè)計方案圖擬………78.設(shè)計方案的評比和選擇……………129.運動方案擬定及運動循環(huán)…………1410.上沖頭、下沖頭設(shè)計………………1511.心得體會……………1812.參考書目……………191、設(shè)計題目設(shè)計自動壓片成形機,將具有一定濕度的粉狀原料(如陶瓷干粉、藥粉)定量送入壓形位置,經(jīng)壓制成形后脫離該位置。機器的整個工作過程(送料、壓形、脫離)均自動完成。該機器可以壓制陶瓷圓形片坯、藥劑(片)等。2.工作原理及工藝動作過程自動壓片機的功能是將不加粘結(jié)劑的干粉料(如圓形方糖、藥粉)定量送入壓形置壓制成φ×h圓型片坯,經(jīng)壓制成形后脫離該位置。機器的整個工作過程(送料、壓形脫離)均自動完成。該機器可以壓制圓形片坯、藥劑(片)等。其工藝動作的分解如圖1圖1工藝動作分解1)干粉料均勻篩入圓筒形型腔(圖1.1)。2)下沖頭下沉,預(yù)防上沖頭進入型腔時粉料撲出(圖1.3)。3)上、下沖頭同時加壓,并保持一段時間(圖1.4)。4)上沖頭退出,下沖頭隨后頂出壓好的片坯(圖1.5)。5)料篩推出片坯(圖1.6)。3.設(shè)計原始數(shù)據(jù)及設(shè)計要求圖3、壓片成形機設(shè)計數(shù)據(jù)方案號電動機轉(zhuǎn)速r/min生產(chǎn)率片/min成品尺寸(Φ×d)mm,mm沖頭壓力kgδmkgmkgA145010100×6015,0000.10125B9701560×3510,0000.08104C9702040×2010,0000.0593

上沖頭、下沖頭、送料篩的設(shè)計要求是:1).上沖頭完成往復直移運動(鉛錘上下),下移至終點后有短時間的停歇,起保壓作用,保壓時間為0.4秒左右。因沖頭上升后要留有料篩進入的空間,故沖頭行程為90~100mm。因沖頭壓力較大,因而加壓機構(gòu)應(yīng)有增力功能(如圖3.2a)。2).下沖頭先下沉3mm,然后上升8mm,加壓后停歇保壓,繼而上升16mm,將成型片坯頂?shù)脚c臺面平齊后停歇,待料篩將片坯推離沖頭后,再下移21mm,到待料位置(如圖3.2b)。3).料篩在模具型腔上方往復振動篩料,然后向左退回。待批料成型并被推出型腔后,料篩在臺面上右移約45~50mm,推卸片坯(如圖3.2c)。圖3.2原動機構(gòu)、傳動機構(gòu)和執(zhí)行機構(gòu)的確定4.1原動機選擇電機的容量主要由電動機運行時的發(fā)熱情況而定,而發(fā)熱又與其工作情況而定。工作機所需工作功率Pw,應(yīng)由工作阻力和運動參數(shù)計算得來的,可按下式計算:

Pw=Tn/9550

Kw

其中:T——工作機的阻力矩,N·mm;

n--工作機的轉(zhuǎn)速r/min;

經(jīng)過綜合考慮決定選用額定轉(zhuǎn)數(shù)970r/min的B方案電動機4.2傳動機構(gòu)選取額定轉(zhuǎn)速為970r/min1.確定總傳動比電動機轉(zhuǎn)速n=970r/min凸輪轉(zhuǎn)速nI(lǐng)=20r/mini總=n/nI=970/20=48.52.傳動比的分配將總傳動比按各級傳動進行分配i總=i1*i2*i3*i4……in(式中i1,i2,i3,i4……in為各級傳動的傳動比)13876傳動系統(tǒng)采用四級減速機構(gòu),第一級為帶傳動,第二級為減速器傳動,第三級為帶傳動,第四級為帶傳動。按前述傳動比分配原則,為使傳動構(gòu)件獲得較小尺寸,結(jié)構(gòu)緊湊,可采用傳動比“先小后大”原則。因此初選i1=1.6,i2=30。第二級減速器內(nèi)部齒輪結(jié)構(gòu)如下圖所示。13876313H76548312313H7654831222圖中各齒輪數(shù)位Z1=30Z2=20Z3=70Z4=42Z5=20Z7=20Z8=42從1齒輪輸入600r/min,從H行星架輸出20r/min,則i=30,即W1/WH=30,即當W1=30時,Va=W1R1=900W1=1,VR=W1*OR=50對于2行星輪,2VR=VP-VQ=100,則VP=1000,W3=VP/R3=1000/70=100/7當W=100/7,W=-30時,W=1,現(xiàn)以1齒輪為主動,3齒輪為從動,添加右側(cè)輪系,使i=30*7/100=21:10,即Z小:Z大=20:42調(diào)整方向增加介輪Z6=22根據(jù)設(shè)計要求,上沖頭,下沖頭和送料篩同時進行,所以第三級和第四級的傳動比為1。3.各級傳動比的分配表傳動比分配i1i2i3i41.63011根據(jù)設(shè)計要求、工藝性能、結(jié)構(gòu)要求和總傳動比等條件選擇傳動系統(tǒng)類型,選定帶傳動和齒輪傳動4.3執(zhí)行機構(gòu)執(zhí)行機構(gòu)分三部分:①實現(xiàn)上沖頭上下運動的主加壓機構(gòu);②實現(xiàn)下沖頭上下運動的輔助加壓機構(gòu);③實現(xiàn)料篩左右運動的上、下料機構(gòu)。各執(zhí)行機構(gòu)必須能滿足工藝上的運動要求,可以有多種不同型式的機構(gòu)供選用。形態(tài)學矩陣功能元解上沖頭機構(gòu)齒輪機構(gòu)A1連桿機構(gòu)A2凸輪機構(gòu)A3下沖頭機構(gòu)曲線槽導桿機構(gòu)B1凸輪機構(gòu)B2連桿機構(gòu)B3送料機構(gòu)蝸輪蝸桿機構(gòu)C1凸輪機構(gòu)C2曲柄滑塊機構(gòu)C3系統(tǒng)解的可能方案數(shù):F=3×3×3=27其中列出較為理想的方法:A2+B2+C25.動作關(guān)系上沖頭、下沖頭與送料篩的動作關(guān)系見表4。表4動作關(guān)系上沖頭進退送料篩退近休進遠休下沖頭退近休進遠休6.功能分解及機構(gòu)選用該干粉壓片機通過一定的機械能把原料(干粉)壓制成成品,其功能分解如下圖設(shè)計干粉壓片機,其總功能可以分解成以下幾個工藝動作:送料機構(gòu):為間歇直線運動,這一動作可以通過凸輪完成(2)篩料:要求篩子往復震動,這一動作可以通過凸輪完成(3)推出片坯:下沖頭上升推出成型的片坯(4)送成品:通過凸輪推動篩子來將成型的片坯擠到滑道(5)上沖頭往復直線運動,最好實行快速返回等特性。(6)下沖頭間歇直線運動,這一動作可以通過凸輪完成。7.設(shè)計方案圖擬7.1上沖頭運動方案一:渦輪蝸桿和曲柄導桿滑塊機構(gòu)方案二:CCABDA,B,C,D四個桿件,D上固連上沖頭方案三:1121為渦輪蝸桿,2為偏置曲柄滑塊機構(gòu)。7.2下沖頭運動凸輪機構(gòu)7.3料篩運動112(篩料處有一個向凸輪的力)凸輪的一邊制造成鋸齒形,在篩子上施加一個適當大小的力,方向指向凸輪,使篩子可以來回移動,凸輪的結(jié)構(gòu)使得篩子在行進過程中會出現(xiàn)停頓的情況,使其符合要求8.設(shè)計方案的評比和選擇上沖頭方案方案一:方案一渦輪蝸桿和曲柄導桿滑塊機構(gòu),滿足上沖頭的設(shè)計要求,但較復雜,運動的穩(wěn)定性不好,造價較高。承載能力一般傳動平穩(wěn)噪音小但下壓力不足,經(jīng)濟性一般,運動不易控制,傳動性不佳,機械生產(chǎn)要求高。方案二:方案二為一曲柄搖桿機構(gòu),由曲柄為主動件帶動搖桿搖動以及滑塊上下運動,應(yīng)用范圍廣可調(diào)性高運轉(zhuǎn)精度較高計算自由度:S=3n-2PL-PH=3*3-2*4=1可實現(xiàn)運動需要。具有很好的傳動性,結(jié)構(gòu)簡單經(jīng)濟性好工業(yè)制造較為簡單,維修跟換方便,可大批量制造生產(chǎn),暫為最佳選擇。方案三:方案三機構(gòu)簡單,產(chǎn)生的壓力較大,滿足上沖頭的增力要求,傳動比較平穩(wěn)、準確,但是成本較高,效率比較低。綜上所述,在三個方案中,方案二為最佳方案。下沖頭方案該方案為凸輪機構(gòu),下沖頭的設(shè)計要求有三個休止階段,即:藥粉進入型腔后下沖頭下降3mm并休止,壓制完成后的休止和將藥片推出型腔時的休止。選用凸輪機構(gòu)就能很好地實現(xiàn)此運動要求,而且設(shè)計方便,容易實現(xiàn),但是機構(gòu)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論