消影算法
❶ 在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找找现成的再去改改吧。。