工業X-CT(X-ray Computed Tomography)無損檢測技術是以不損傷或者破壞被檢測對象的一種高新檢測技術,被譽為最佳的無損檢測手段,在無損檢測領域日益受到人們的青睞。近年來,各國都在投入大量的人力、物力對其進行研究與開發。 目前,工業CT主要采用第二代和第三代掃描方式。在工業CT第三代掃描方式中,掃描系統僅作“旋轉”運動,控制系統比較簡單。對此,我國已取得了可喜的成績。然而,對工業CT系統中的二代掃描運動控制系統,即針對“平移+旋轉”運動的控制系統的研究,我國已有采用,但與發達國家相比,還存在較大的差距。二代掃描方式與其它掃描方式相比,具有對被檢物的尺寸沒有要求,且能夠對感興趣的檢測區域進行局部掃描的獨特優點。同時X光源的射線出束角較小(一般小于20°),因此在工業X-CT系統主要采用二代掃描運動控制。有鑒于此,本論文結合有關科研項目,開展了工業X-CT二代掃描控制系統的研究。 論文首先介紹了工業X-CT系統的工作原理和各種掃描運動控制方式的特點,闡述了開展二代掃描控制的研究目的和意義。其次,根據二代掃描控制的特點,提出了“在優先滿足工業X-CT二代掃描控制的基礎上,力求實現對工業X-CT掃描運動的通用控制,使其能同時支持一、三代掃描方式”的設計思想。據此,研究確立了基于單片機AT89LV52及FPGA芯片EP1C3T100C8的運動控制架構,以實現二代掃描控制系統的設計方案。論文詳細介紹了可編程邏輯器件FPGA的工作原理和開發流程,并對其相關開發環境QuartusII4.1作了闡述。結合運動控制系統的硬件設計,詳細介紹了各功能模塊的具體設計過程,給出了相關的設計原理框圖和實際運行波形。并制作了相應的PCB板,調試了整個硬件控制系統。最后,論文還詳細研究了利用VisualC++6.0來完成上位機控制軟件的設計,給出了運動控制主界面及掃描運動控制功能軟件設計的流程圖。 論文對整個運動控制系統采用的經濟型的開環控制技術所帶來的不利影響,分析研究了增加步進電機的細分數以提高掃描精度的可能性,并對所研究的控制系統在調試過程中出現的一些問題及解決方案作了簡要的分析,提出了一些完善方法。
上傳時間: 2013-04-24
上傳用戶:stella2015
按照公安部規定,我國從 2004 年開始換發第二代居民身份證,預計到 2008 年基本完成第二代居民身份證的換發工作。第二代身份證與第一代身份證最大的區別在于:它的內部嵌入了一枚指甲蓋大小的非接觸式 IC 芯片,該芯片內存儲有姓名、性別等9項信息。本課題設計出一款基于 ARM 和 GPRS 技術的第二代身份證無線手持閱讀器,該閱讀器能讀出第二代身份證內 IC 卡信息,并可通過 GPRS 網絡將信息進行無線傳輸。 本文以該閱讀器的設計為主線,論述的主要內容如下: 1.介紹了課題背景及意義。全國 9 億第二代身份證的換發,必然帶來各行業對閱讀器的大量需求,而現有閱讀器的弊端促使了對閱讀器做更深入的研究。 2.介紹了相關概念及技術,包括:無線射頻識別技術、ISO/IEC14443 協議、嵌入式系統、ARM、GPRS技術等。 3.詳細介紹了該閱讀器的硬件設計方法,并給出主要硬件模塊電路原理圖及其 PCB 板設計方法,同時也簡單介紹了硬件的焊接和調試過程。 4.詳細介紹了該閱讀器的軟件設計方法,包括:讀卡模塊驅動程序、GPRS 模塊驅動程序、人機對話模塊驅動程序、I/O 口驅動程序的流程圖和部分代碼。 5.為使該閱讀器安全可靠地運行,對閱讀器進行了各種功能測試,包括:讀卡功能、GPRS 數據傳輸功能、人機接口功能。 通過功能測試,該閱讀器能準確讀取第二代身份證內信息并通過GPRS 網絡成功將信息發送出去。該閱讀器與市面上現有的閱讀器相比,具有可脫機操作、無線傳輸、小巧靈便的優點。由于該閱讀器軟件采用模塊化的設計方法,可以方便移植到其他非接觸卡閱讀器中,因此本閱讀器具有非常廣泛的應用前景。
上傳時間: 2013-06-10
上傳用戶:爺的氣質
單片機音樂中音調和節拍的確定方法:調號-音樂上指用以確定樂曲主音高度的符號。很明顯一個八度就有12個半音。A、B、C、D、E、F、G。經過聲學家的研究,全世界都用這些字母來表示固定的音高。比如,A這個音,標準的音高為每秒鐘振動440周。 升C調:1=#C,也就是降D調:1=BD;277(頻率)升D調:1=#D,也就是降E調:1=BE;311升F調:1=#F,也就是降G調:1=BG;369升G調:1=#G,也就是降A調:1=BA;415升A調:1=#A,也就是降B調:1=BB。466,C 262 #C277 D 294 #D(bE)311 E 330 F 349 #F369 G 392 #G415A 440. #A466 B 494 所謂1=A,就是說,這首歌曲的“導”要唱得同A一樣高,人們也把這首歌曲叫做A調歌曲,或叫“唱A調”。1=C,就是說,這首歌曲的“導”要唱得同C一樣高,或者說“這歌曲唱C調”。同樣是“導”,不同的調唱起來的高低是不一樣的。各調的對應的標準頻率為: 單片機演奏音樂時音調和節拍的確定方法 經常看到一些剛學單片機的朋友對單片機演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調”和“節拍”。音調表示一個音符唱多高的頻率,節拍表示一個音符唱多長的時間。 在音樂中所謂“音調”,其實就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標準音高,其頻率f=440Hz。當兩個聲音信號的頻率相差一倍時,也即f2=2f1時,則稱f2比f1高一個倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個倍頻程,在音樂學中稱它相差一個八度音。在一個八度音內,有12個半音。以1—i八音區為例, 12個半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。這12個音階的分度基本上是以對數關系來劃分的。如果我們只要知道了這十二個音符的音高,也就是其基本音調的頻率,我們就可根據倍頻程的關系得到其他音符基本音調的頻率。 知道了一個音符的頻率后,怎樣讓單片機發出相應頻率的聲音呢?一般說來,常采用的方法就是通過單片機的定時器定時中斷,將單片機上對應蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發出聲音,為了讓單片機發出不同頻率的聲音,我們只需將定時器予置不同的定時值就可實現。那么怎樣確定一個頻率所對應的定時器的定時值呢?以標準音高A為例: A的頻率f = 440 Hz,其對應的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機上對應蜂鳴器的I/O口來回取反的時間應為:t = T/2 = 2272/2 = 1136μs這個時間t也就是單片機上定時器應有的中斷觸發時間。一般情況下,單片機奏樂時,其定時器為工作方式1,它以振蕩器的十二分頻信號為計數脈沖。設振蕩器頻率為f0,則定時器的予置初值由下式來確定: t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時器待確定的計數初值。因此定時器的高低計數器的初值為: TH = THL / 256 = ( TALL – t* f0/12) / 256 TL = THL % 256 = ( TALL – t* f0/12) %256 將t=1136μs代入上面兩式(注意:計算時應將時間和頻率的單位換算一致),即可求出標準音高A在單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數器的予置初值為 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據上面的求解方法,我們就可求出其他音調相應的計數器的予置初值。 音符的節拍我們可以舉例來說明。在一張樂譜中,我們經常會看到這樣的表達式,如1=C 、1=G …… 等等,這里1=C,1=G表示樂譜的曲調,和我們前面所談的音調有很大的關聯, 、 就是用來表示節拍的。以 為例加以說明,它表示樂譜中以四分音符為節拍,每一小結有三拍。比如: 其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5的時長為四分音符的一半,即為八分音符長,6的時長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400—500ms 。我們以一拍的時長為400ms為例,則當以四分音符為節拍時,四分音符的時長就為400ms,八分音符的時長就為200ms,十六分音符的時長就為100ms。可見,在單片機上控制一個音符唱多長可采用循環延時的方法來實現。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那么,對于一個音符,如果它為十六分音符,則只需調用一次延時程序,如果它為八分音符,則只需調用二次延時程序,如果它為四分音符,則只需調用四次延時程序,依次類推。通過上面關于一個音符音調和節拍的確定方法,我們就可以在單片機上實現演奏音樂了。具體的實現方法為:將樂譜中的每個音符的音調及節拍變換成相應的音調參數和節拍參數,將他們做成數據表格,存放在存儲器中,通過程序取出一個音符的相關參數,播放該音符,該音符唱完后,接著取出下一個音符的相關參數……,如此直到播放完畢最后一個音符,根據需要也可循環不停地播放整個樂曲。另外,對于樂曲中的休止符,一般將其音調參數設為FFH,FFH,其節拍參數與其他音符的節拍參數確定方法一致,樂曲結束用節拍參數為00H來表示。下面給出部分音符(三個八度音)的頻率以及以單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數器的予置初值 : C調音符 頻率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC調音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7頻率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C調音符 頻率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02
上傳時間: 2013-10-20
上傳用戶:哈哈haha
提出了一種改進的LSM-ALSM子空間模式識別方法,將LSM的旋轉策略引入ALSM,使子空間之間互不關聯的情況得到改善,提高了ALSM對相似樣本的區分能力。討論中以性能函數代替經驗函數來確定拒識規則的參數,實現了識別率、誤識率與拒識率之間的最佳平衡;通過對有限字符集的實驗結果表明,LSM-ALSM算法有效地改善了分類器的識別率和可靠性。關 鍵 詞 學習子空間; 性能函數; 散布矩陣; 最小描述長度在子空間模式識別方法中,一個線性子空間代表一個模式類別,該子空間由反映類別本質的一組特征矢量張成,分類器根據輸入樣本在各子空間上的投影長度將其歸為相應的類別。典型的子空間算法有以下三種[1, 2]:CLAFIC(Class-feature Information Compression)算法以相關矩陣的部分特征向量來構造子空間,實現了特征信息的壓縮,但對樣本的利用為一次性,不能根據分類結果進行調整和學習,對樣本信息的利用不充分;學習子空間方法(Leaning Subspace Method, LSM)通過旋轉子空間來拉大樣本所屬類別與最近鄰類別的距離,以此提高分類能力,但對樣本的訓練順序敏感,同一樣本訓練的順序不同對子空間構造的影響就不同;平均學習子空間算法(Averaged Learning Subspace Method, ALSM)是在迭代訓練過程中,用錯誤分類的樣本去調整散布矩陣,訓練結果與樣本輸入順序無關,所有樣本平均參與訓練,其不足之處是各模式的子空間之間相互獨立。針對以上問題,本文提出一種改進的子空間模式識別方法。子空間模式識別的基本原理1.1 子空間的分類規則子空間模式識別方法的每一類別由一個子空間表示,子空間分類器的基本分類規則是按矢量在各子空間上的投影長度大小,將樣本歸類到最大長度所對應的類別,在類x()iω的子空間上投影長度的平方為()211,2,,()argmax()jMTkkjpg===Σx (1)式中 函數稱為分類函數;為子空間基矢量。兩類的分類情況如圖1所示。
上傳時間: 2013-12-25
上傳用戶:熊少鋒
三種方法讀取鍵值 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態判斷哪個按鍵被按下。 本實驗採用中斷式實現使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應列的鍵被按下。否則掃描下一行。 反轉法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結構。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時間: 2013-11-12
上傳用戶:a673761058
解非線性方程組的一種方法:先用一種優化方法將給定初值(它有可能會使得后續的牛頓法發散)通過一條比較快的途徑收斂到精確解附近,得到一個新的初始點,然后再通過牛頓法將新的初始點迭代到精確解(一定的誤差范圍內)。這種方法的優點在于:它可以將牛頓法快速收斂的優勢發揮出來,同時又避免了該方法收斂域比較窄的缺點。
上傳時間: 2014-01-21
上傳用戶:gxmm
研究生期間上《數值計算方法》課的作業,所有代碼都是C語言實現并調試通過,現在上傳為大家服務。這是Seide迭代算法
上傳時間: 2013-12-21
上傳用戶:gdgzhym
在數據庫中發現頻繁模式和關聯規則是數據挖掘領域的最基本、最重要的問題。大多數早期的研究采用了類似Apriori算法的產生候選級并測試迭代的途徑代價是昂貴的,尤其是挖掘富模式和長模式時,Jiawei Han提出了一種新穎的數據結構FP_tree,及基于其上的FP_growth算法,主要用于有效的進行長模式與富模式的挖掘.本文在討論了FP_growth算法的基礎上,提出了用Visual C++實現該算法的方法,并編寫了算法的程序。
上傳時間: 2013-12-23
上傳用戶:tzl1975
電腦中的花園 Lindermayer系統(簡稱L系統)是另外一種分形圖形生成的方法,其主要原理是設定基本簡單的繪圖規則,然后讓計算機根據這些規則進行反復跌代,就可以生成各種各樣的圖形來。用L系統可以非常逼真的模擬植物的生長過程。上面的程序就是L系統的一個展示。我們已經設定好了一個規則庫,你可以通過選擇不同的規則畫出不同的圖形來,同時,你可以通過“設置參數”來改變這些規則從而畫出你自己的圖形來!
標簽: Lindermayer 電腦 分形
上傳時間: 2014-01-02
上傳用戶:lz4v4
采用XP極限開發方法進行軟件開發時,進行語音通信軟件開發寫的軟件工程的迭代計劃(第一次迭代)
標簽: 軟件開發
上傳時間: 2013-12-15
上傳用戶:yoleeson