消影演算法
❶ 在matlab中T=@fft2是什麼意思
matlab中的fft主要是基於fftw這個庫開發的
演算法主要是幾種演算法的混合
包括Cooley-Tukey演算法和其他一些針對質數等等的復雜演算法
了解matlab的fft演算法需要去解讀fftw庫
❷ 關於長城的民間故事.傳說.成語.諺語.民歌民謠等.
1.孟姜女
秦朝時候,有個善良美麗的女子,名叫孟姜女。一天,她正在自家的院子里做家務,突然發現葡萄架下藏了一個人,嚇了她一大跳,正要叫喊,只見那個人連連擺手,懇求道:「別喊別喊,救救我吧!我叫范喜良,是來逃難的。」原來這時秦始皇為了造長城,正到處抓人做勞工,已經餓死、累死了不知多少人!孟姜女把范喜良救了下來,見他知書達理,眉清目秀,對他產生了愛慕之情,而范喜良也喜歡上了孟姜女。他倆兒心心相印,徵得了父母的同意後,就准備結為夫妻。
成親那天,孟家張燈結綵,賓客滿堂,一派喜氣洋洋的情景。眼看天快黑了,喝喜酒的人也都漸漸散了,新郎新娘正要入洞房,忽然只聽見雞飛狗叫,隨後闖進來一隊惡狠狠的官兵,不容分說,用鐵鏈一鎖,硬把范喜良抓到長城去做工了。好端端的喜事變成了一場空,孟姜女悲憤交加,日夜思念著丈夫。她想:我與其坐在家裡干著急,還不如自己到長城去找他。對!就這么辦!孟姜女立刻收拾收拾行裝,上路了。
一路上,也不知經歷了多少風霜雨雪,跋涉過多少險山惡水,孟姜女沒有喊過一聲苦,沒有掉過一滴淚,終於,憑著頑強的毅力,憑著對丈夫深深的愛,她到達了長城。這時的長城已經是由一個個工地組成的一道很長很長的城牆了,孟姜女一個工地一個工地地找過來,卻始終不見丈夫的蹤影。最後,她鼓起勇氣,向一隊正要上工的民工詢問:「你們這兒有個范喜良嗎?」民工說:「有這么個人,新來的。」孟姜女一聽,甭提多開心了!她連忙再問:「他在哪兒呢?」民工說:「已經死了,屍首都已經填了城腳了
猛地聽到這個噩耗,真好似晴天霹靂一般,孟姜女只覺眼前一黑,一陣心酸,大哭起來。整整哭了三天三夜,哭得天昏地暗,連天地都感動了。天越來越陰沉,風越來越猛烈,只聽「嘩啦」一聲,一段長城被哭倒了,露出來的正是范喜良的屍首,孟姜女的眼淚滴在了他血肉模糊的臉上。她終於見到了自己心愛的丈夫,但他卻再也看不到她了,因為他已經被殘暴的秦始皇害死了。
2.定城磚的傳說
定城磚指放置在嘉峪關西瓮城門樓後檐台上的一塊磚。
相傳明正德年間,有一位名叫易開占的修關工匠,精通九九演算法,所有建築,只要經他計算,用工用料十分准確和節省。監督修關的監事管不信,要他計算嘉峪關用磚數量,易開占經過詳細計算後說:"需要九萬九千九百九十九塊磚。"監事管依言發磚,並說:"如果多出一塊或少一塊,都要砍掉你的頭,罰眾工匠勞役三年。"竣工後,只剩下一塊磚,放置在西瓮城門樓後檐台上。監事管發覺後大喜,正想藉此剋扣易開占和眾工匠的工錢,哪知易開占不慌不忙的說:"那塊磚是神仙所放,是定城磚,如果搬動,城樓便會塌掉。"監事管一聽,不敢再追究。從此,這塊磚就一直放在原地,誰也不敢搬動。現在,此磚仍保留在嘉峪關城樓之上。
3.冰道運石
當初,修建嘉峪關城時,需要成千上萬塊長2米、寬0.5米、厚0.3米的石條,工匠們在黑山將石條鑿好後,卻人抬不起,車拉不動,且山高路遠,無法運輸。大夥兒邊鑿石條邊發愁,眼看隆冬季節就要到了,石條還沒有從山裡運出一塊,若要耽誤工期,沒有工錢是小,這腦袋可就難保了。大家正在長噓短嘆,這時,忽然山頂一聲悶雷,從白雲中飄下一幅錦綢,眾工匠趕緊接住,只見上面若隱若現有幾行字,大家看後恍然大悟,按其行事。等到冬季到來後,眾人從山上往關城修一條路,在路面上潑水,讓其結成一條冰道,然後把石條放在冰道上滑行運輸,結果非常順利的把石條運到了嘉峪關城下,不但沒有延誤工期,反而節省了不少工期。眾工匠為了感謝上蒼的護佑,在關城附近修建廟宇,供奉神位,並成為工匠出師後必須參拜的地方。
4.山羊馱磚
嘉峪關城,城牆高9米,還要在城牆之上修建數十座大小不同的樓閣和眾多的垛牆,用磚數量之大是非常驚人的,當時,施工條件很差,沒有吊運設備,全靠人工搬運。而當時修關城所用的磚,都是在40里以外的地方燒制而成。磚燒好後,用牛車拉到關城之下,再用人工往上背。由於城高,唯一能上下的馬道坡度大,上下很困難,盡管派了許多人往城牆上背磚,個個累得要死,但背上去的磚卻仍然供不應求,工程進展受到了嚴重影響。一天,一個放羊的孩子來到這里放羊玩耍,看到這個情景,靈機一動,解下腰帶,兩頭各捆上一塊磚,搭在山羊身上,然後,用手拍一下羊背,身子輕巧的山羊,馱著磚一溜小跑就爬上了城牆。人們看了又驚又喜,紛紛仿效,大量的磚頭很快就運上了城牆。
5.擊石燕鳴
相傳,古時有一對燕子築巢於嘉峪關柔遠門內。一日清早,兩燕飛出關,日暮時,雌燕先飛回來,等到雄燕飛回,關門已閉,不能入關,遂悲鳴觸牆而死,為此雌燕悲痛欲絕,不時發出"啾啾"燕鳴聲,一直悲鳴到死。死後其靈不散,每到有人以石擊牆,就發出"啾啾"燕鳴聲,向人傾訴。古時,人們把在嘉峪關內能聽到燕鳴聲視為吉祥之聲,將軍出關征戰時,夫人就擊牆祈祝,後來發展到將士出關前,帶著眷屬子女,一起到牆角擊牆祈祝,以至於形成一種風俗。
6.萬年灰與燕京城
人們都說,是秦始皇最早修的萬里長城。其實開始的長城並不是他修的。早在秦始皇之前的春秋戰國時,有個燕王,他的國土小、兵馬少、力量弱,隨時都有被鄰國吃掉的危險。為了保住國土,燕王就徵用了民夫,在他的國土邊界山頂上築起高高的城牆,以防外敵入侵。
因為那時還沒有石灰,他築的城牆,石、磚都是用泥抹的。為了搶時間,早日修好城牆,他下令冬天也不停工。天冷,和泥得用熱水,因此,民夫們就把大鐵鍋抬到工地上,用三塊石頭支起來,添柴燒開水。天長日久,鐵鍋被燒了個大窟窿,滿鍋的水全漏光了;把鍋下的火澆滅了。可民夫們也意外地發現,水灑在支鍋的石頭上,熱石頭遇到水就炸開了,炸出許多白面面,民夫們瞅著、想著,好生奇怪。有個人把這白面面用水和和,覺得比泥還滋潤,還有粘性,就把它抹在石條和磚縫里。
第二天,民夫們發現,用這白面面抹的石條和磚縫,要比用泥抹的結實的多。燕國人得到了啟發,從此,就燒石灰,來抹城牆縫。
後來,秦始皇統一了中國,為了保住他的皇上寶座,也仿照燕王的辦法興工修起了萬里長城。動工時,他下了一道旨令,讓原來的燕國人包攬燒石灰的活兒。因此,那時修長城所用的百灰,全是燕國人燒的。長城修到哪兒,就在哪裡山坡上燒灰,而且燒的灰質量非常好,被後人稱為萬年灰,意思是萬年不變質。
長城修完後,別的民夫各回各地。因燕國人燒灰有功,秦始皇又拔下金銀,建了個城鎮,專為燕園人居住,這城鎮就是現在的北京。因此,那時北京叫燕京,燕國人燒灰用過石頭的山統稱為燕山山脈。
長城始建於春秋戰國時期,歷時達2000多年,總長度達5千萬米以上。我們今天所指的萬里長城多指明代修建的長城,它西起中國西部甘肅省的嘉峪關,東到中國東北遼寧省的鴨綠江邊,長635萬米。它象一條矯健的巨龍,越群山,經絕壁,穿草原,跨沙漠,起伏在崇山峻嶺之巔,黃河彼岸和渤海之濱。古今中外,凡到過長城的人無不驚嘆它的磅礴氣勢、宏偉規模和艱巨工程。長城是一座稀世珍寶,也是藝術非凡的文物古跡,它象徵著中華民族堅不可摧永存於世的意志和力量,是中華民族的驕傲,也是整個人類的驕傲。世界遺產委員會評價:約公元前220年,一統天下的秦始皇,將修建於早些時候的一些斷續的防禦工事連接成一個完整的防禦系統,用以抵抗來自北方的侵略。在明代(公元1368~1644年),又繼續加以修築,使長城成為世界上最長的軍事設施。它在文化藝術上的價值,足以與其在歷史和戰略上的重要性相媲美。
❸ 南方群島的顯卡架構解析
下圖為AMD官方公布的Bart(HD6870/6850)核心架構圖,看上去和Cypress(HD5870/5850)並無太大區別,整體依然沿用了自R600(HD2900XT)以來的SIMD(單指令多數據流)架構,流處理器部分沒有太多改進,歷代產品的改進都是集中在周邊控制模塊上面。
從Cypress到Barts最明顯的改變就是,SIMD陣列從原來的20組降為14組,這樣流處理器數量就從1600(20x16x5)個減至1120(14x16x5)個,正好與現有HD5830的流處理器數量相等。
也就是說Barts相比Cypress,流處理器數量是70%,晶體管規模是79%,晶元面積是68%。
可以看出,HD6870的理論性能和規格,其實還不如HD5850,而HD6850也不如上代的HD5830,那麼其優勢到底在哪呢? 我們知道,NVIDIA從GF100到GF104,雖然CUDA核心方面的改進不大,但對SM(流處理器簇)整體架構進行了重新的排列組合,部分指令分配單元和特殊功能單元被增強。
NVIDIA的MIMD(多指令多數據流)架構將並行指令的調度單元、分配單元都和特殊功能模塊設計在了GPC(圖形處理器集群)或者SM(流處理器簇)內部。而AMD的SIMD(單指令多數據流)架構則是整顆GPU共享單一的控制單元,自R600以來都是如此。
但隨著晶體管規模和流處理器數量的迅速膨脹,單一的控制單元已經無法滿足大規模並行指令分配的需要,因此從Cypress開始,AMD採用了「雙核心」的設計,將SIMD陣列一分為二,也就是類似於NVIDIA GPC的設計。與此相對應的,圖形裝配引擎雖然只有一個,內部卻設計了兩個Hierarchical Z(分層消影器)和Rasterizer(光柵器),但是其它的特殊功能模塊均只有一個。
Barts和Cypress一樣,依然保持了雙核心設計,圖形裝配引擎也只有一個,內部的功能模塊並沒有太多變化。但是Ultra-Treaded Dispatch Processor(超線程分配處理器)卻變成了兩個,相對應的,超線程分配處理器的指令緩存也變成了兩份。
我們知道,Barts的流處理器數量是Cypress的70%,按理說線程分配壓力有所下降,那麼設計兩個線程分配處理器的目的只有一個,那就是提升效率。在DX11時代,幾何著色再加上曲面細分單元引入之後,圖形裝配引擎會產生更多的並行線程及指令轉交SIMD進行處理,因此分配效率成為了新的瓶頸。
SIMD架構的優勢就是可以用較少的晶體管製造成龐大的流處理器規模,擁有恐怖的理論運算能力;但缺點就是流處理器執行效率比MIMD架構低,其效率高低完全依賴於分配單元的派發效率。因此Barts這種雙線程分配處理器的設計意義重大! 在Barts核心的圖形裝配引擎內部,還有一個毫不起眼的變化,那就是Tessellator(曲面細分單元)升級到了第七代,那麼這一代到底有什麼改進呢?
我們知道,NVIDIAGF100核心內部擁有多達16個曲面細分單元,GF104核心也有8個之多,而AMD的HD5000全系列都只有1個曲面細分單元,現如今HD6000系列還是維持全局共享1個的設計不變,其低下的曲面細分性能成為了NVIDIA攻擊AMD最充分的理由。
HD6000系列可以說是半代改進的架構,既然數量上維持不變,就只能從改進效率的方面考慮了。而改進的內容就是加強線程管理和緩沖,也就是上頁我們介紹過的「雙倍的超線程分配處理器和指令緩存」。
根據AMD官方提供的數據來看,HD6870的曲面細分性能最多可達HD5870的兩倍,這種情況出現在10級左右的中等細分程度,當曲面細分達到20級以上的時候,那麼它們的性能就基本上沒有區別了。
由此可見,Barts核心當中的Tessellator單元本身在性能方面應該沒有改進,其性能提升主要源於兩顆超線程分配處理器。中等級別的曲面細分在指令分配方面是瓶頸,Barts改進的架構消除了這一瓶頸,所以性能提升十分顯著,但如果細分級別特別高時,Tessellator本身的運算能力將成為瓶頸,此時線程派遣器的效率再高,也無濟於事 通過前文的分析我們可以知道,HD6000在曲面細分方面的改進其實與雙線程分配處理器是一回事,性能提升也是在特定的情況下才會出現。但總的來說還是能有1.5倍-2倍的提升,這對於消除A卡在Tessellation方面的瓶頸還是很有意義的。
不過,AMD還是堅持認為當今的GPU和游戲尚不需要特別強悍的曲面細分能力,簡而言之就是「曲面分得太細並不能讓圖形畫質變得更好,但卻會造成圖形性能大幅下降」。其實,筆者也認同這種觀點,但曲面細分性能也不能太弱。
下面我們就看圖說話,筆者選擇了目前曲面細分級別最高的一款DX11 Benchmark程序和NVIDIA官方曲面細分演示Demo進行說明:
Heaven是款不錯的DX11 Benchmark程序,其1.0版本是基於HD5000而開發的,Tessellation只有Normal級別。在GTX480發布之後,很快就誕生了2.0版本,其測試場景並沒有太大變化,最核心的內容就是將Tessellation提升至Extreme級別,大家可以發現,片面提升曲面細分的結果就是:除了FPS暴降之外很難看出畫面有什麼提升!
然後通過測試成績我們就可以發現,Heaven 1.0的成績是很正常的,四款顯卡的性能表現完全在意料之中。而在Heaven 2.0當中,局勢完全被逆轉,GTX480超越了雙核的HD5970,GTX470都大幅領先與HD5870。這組成績確實證明了GTX480和GTX470在重度曲面細分環境下擁有非常出色的效能,而HD5000將會出現嚴重瓶頸導致效能大降,但實際上卻沒有多少實際意義,因為加重曲面細分級別並沒有帶來畫質改善,那麼我們憑什麼非要開到Extreme級別呢?
綜上所述,通過兩款曲面細分的代表Demo截圖我們就會發現,當今的游戲其實並不需要把曲面分得太細,只要將插值頂點的數目控制在一定的范圍之內,畫面就非常精細了,盲目提高插值級別的做法沒有太大意義,可謂是得不償失。
事實上,當今所有的DX11都是這么做的,雖然使用了Tessellation技術,但都只是蜻蜓點水、適可而止,即便如此已經可以讓游戲畫面得到很大的改善。游戲不同於技術演示Demo或者SDK,而是本著實用化的原則,追求高效率運行,而不是專門用來刁難顯卡的。
也就是說,以現有HD5000的Tessellation運算能力,是完全足以勝任今後較長一段時間內DX11游戲的需要。GTX480/470雖然擁有N倍於HD5000的Tessellation運算能力,但除了能夠在為數不多的幾款Demo當中蹂躪A卡外,似乎並沒有其它用途。等到未來游戲真正需要更強的曲面細分性能時,當今的頂級顯卡可能幾百塊錢處理都處理不掉了,未來的游戲同樣需要更強的浮點運算能力,而不是片面注重某一特定技術的性能。 從G80時代開始,NVIDIA不滿足於業界標准MSAA(多重采樣抗鋸齒),推出了自己的CSAA(CoverageSamplingAnti-Aliasing,覆蓋采樣抗鋸齒)標准,從而實現了更高的精度和更佳的效率。
而AMD也不逞多讓,爭鋒相對的推出了CFAA(Custom Filter Anti-Aliasing,定製過濾抗鋸齒),實現了更高倍數的抗鋸齒模式。但是這種CFAA並沒有得到游戲廠商的認可,因為這種自定義擴大采樣色彩采樣范圍的抗鋸齒模式,會出現將物體邊緣變模糊的現象。
從G80發布至今,NVIDIA的CSAA技術得到了越來越多游戲開發商的認可,相信很多玩家都注意到了,現在不少游戲都直接在菜單中提供了CSAA選項,N卡用戶不用進入驅動控制面板就能非常方便的調用。而AMD的CFAA雖然從HD2000時代已經沿用到了HD5000時代,但幾乎無人問津。
終於到了HD6000時代,AMD拋棄了實用價值並不高的CFAA,開發了一種新的抗鋸齒方案——Morphological AA,直譯為形態抗鋸齒。這種抗鋸齒採用了DirectCompute計算技術來進行高效率的後處理器過濾,
新的抗鋸齒模式適用范圍比傳統的MSAA更廣,而且精度最高可達24x,效率方面比SSAA(超級采樣抗鋸齒)快很多,與最高精度的CFAA差不多,但畫質要更好。
除此之外,HD6000系列還改進了AF(各項異性過濾)演算法,使得紋理材質的清晰度和畫質進一步提高,且不至於出現失真和變形。每一代新產品出現後NVIDIA和AMD都會強調AF畫質和效率會更好,事實上它們前幾代產品已經做得足夠好了,新的改進除了用專業測試軟體才能看出很小的區別外,在普通游戲中誰會注意到如此微不足道的變化呢? 在3D引擎部分,Barts核心相對於Cypress的改進並不多,只有超線程分配處理器、指令緩存、曲面細分模塊和AA/AF演算法這些。
從架構圖中我們可以注意點,AMD的UVD(Unified Video Decoder,通用視頻解碼器)引擎現在升級到了第三代:
上圖非常直觀的揭示了UVD三代引擎在功能方面的改進,UVD2主要是加入了對即將淘汰的MPEG-2編碼的硬解支持,讓CPU佔用率進一步下降,性能方面接近於NVIDIAVP3引擎。
★ UVD3引擎改進之一:MPEG-2完全硬解碼
UVD3的改進最為徹底,MPEG-2編碼最復雜的熵解碼部分也可以支持硬解了,從而實現了完全硬解碼,達到了NVIDIAVP3的水平。不過對於這種即將被淘汰的編碼進行改進並不是UVD3的重點。
★ UVD3引擎改進之二:多屏、超高解析度、多路視頻流、3D藍光硬解碼
UVD3最有價值的改進就在於對與Eyefinity多屏應用模式下,超高解析度視頻解碼的支持,以及多路視頻流解碼支持,還有3D藍光硬解碼支持。
★ UVD3引擎改進之三:加入了DivX/xVid視頻硬解碼支持
目前互聯網上流行的很多盜版電影都是採用了DivX壓縮格式,主要集中在DVDrip以及部分720p高清視頻電影方面。另外新興的XviD標准也因為更高的壓縮率和畫質在迅速成長。這兩種由MPEG-4衍生出來的視頻編碼有著為數不少的影片(尤其是日本動作片)。
低解析度的DivX/xVid視頻碼率並不高,對於CPU要求較低。但近年來也有朝著高清發展的趨勢,解析度提高之後的影片由於其壓縮率很高因此解碼時的CPU佔用率並不低。此次UVD3解碼器對DivX和Xvid提供了支持,可謂是民心所向。
★ UVD3引擎改進之四:視頻畫質接近滿分
根據AMD官方公布的數據來看,在HQV Benchmark 2.0測試中,HD6870幾乎可以達到滿分的成績,遠勝過NVIDIA最新的GTX460顯卡,和Intel的整合顯卡不在一個檔次。
❹ CAE基礎作業 重賞
這個這么復雜。。估計沒有人會去寫一個吧。。你還是上csdn或PUDN找找現成的再去改改吧。。