在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹一下ARCore的基本概念并剖析其工作機(jī)理

BYXG_shengwang ? 2018-01-24 10:35 ? 次閱讀

摘要:我們?cè)诖酥霸敿?xì)分析了ARKit的開(kāi)發(fā)原理。本篇我們將深入淺出講一講另一個(gè)在直播場(chǎng)景下同樣實(shí)用的工具ARCore。

其實(shí)關(guān)注 ARCore也蠻久了,但一直沒(méi)有騰出時(shí)間來(lái)寫(xiě)個(gè)總結(jié)。正好應(yīng)朋友之約,我們今天就來(lái)好好聊一聊 ARCore.

ARCore的歷史以及與蘋(píng)果ARKit的競(jìng)爭(zhēng)我就不多講了,在網(wǎng)上可以搜到一堆信息。但網(wǎng)上深入講解ARCore的確實(shí)不多。

本文主要有兩個(gè)目的,一是向大家介紹一下ARCore的基本概念,了解這些概念對(duì)于大家后續(xù)深入的學(xué)習(xí) ARCore具有關(guān)鍵的作用。二是深入剖析一下 ARCore的工作機(jī)理,這樣可以讓大家更容易理解 ARCore。

另外,ARCore與ARKit的基本概念很接近,只要了解了其中的一個(gè),基本上也就掌握了另一個(gè)。

ARCore的基本概念

ARCore工作時(shí)要做兩件事兒,首先跟蹤手機(jī)的運(yùn)動(dòng)軌跡,然后構(gòu)建出它對(duì)現(xiàn)實(shí)世界的理解。

ARCore的運(yùn)動(dòng)跟蹤技術(shù)是通過(guò) Camera 標(biāo)識(shí)出特征點(diǎn),并隨著時(shí)間的推移跟蹤這些特征點(diǎn)是如何移動(dòng)的。通過(guò)這些特征點(diǎn)的運(yùn)動(dòng)數(shù)據(jù)及從手機(jī)慣性傳感器讀到的信息,ARCore計(jì)算出手機(jī)移動(dòng)的位置和方向,并稱其為姿態(tài)。

除了識(shí)別出這些特征點(diǎn)外,ARCore還能檢測(cè)出像地板、桌面等平面信息以及在某個(gè)地方的光線強(qiáng)度。這些信息使得ARCore能夠構(gòu)建出自己理解的真實(shí)世界。構(gòu)建出這樣一個(gè)模型后,可以在上面放置一些虛擬內(nèi)容了。

ARCore是如何做到的呢?它使用三項(xiàng)關(guān)鍵技術(shù)將虛擬內(nèi)容與真實(shí)世界整合到一起,這三種技術(shù)分別是:

運(yùn)動(dòng)跟蹤

環(huán)境理解

光線評(píng)估

運(yùn)動(dòng)跟蹤

ARCore 可以在手機(jī)移動(dòng)的過(guò)程中知道,相對(duì)于真實(shí)世界手機(jī)所在的位置和方向(姿勢(shì))。

當(dāng)手機(jī)在真實(shí)世界移動(dòng)時(shí),ARCore使用稱為并發(fā)測(cè)距和映射的過(guò)程來(lái)了解手機(jī)與周?chē)澜绲南鄬?duì)位置。

ARCore能檢測(cè)到Camera捕獲的圖像在視覺(jué)上的不同特征,稱為特征點(diǎn)。它使用這些點(diǎn)計(jì)算其位置變化。隨著時(shí)間的推移,通過(guò)視覺(jué)信息與來(lái)自IMU設(shè)備的慣性測(cè)量,ARCore就可以估算出Camera相對(duì)于真實(shí)世界的姿態(tài)(位置和方向)。

通過(guò)將渲染的3D虛擬內(nèi)容與物理Camera的姿勢(shì)對(duì)齊,開(kāi)發(fā)人員就可以從正確的角度渲染虛擬內(nèi)容。 再通過(guò)將虛擬物品的圖像渲染到從Camera獲得的圖像之上,這樣看起來(lái)就好像虛擬內(nèi)容是真實(shí)世界的一部分似的。

環(huán)境理解

ARCore可以讓手機(jī)檢測(cè)出一塊水平面的位置和大小。如地面、桌子、書(shū)架等等。這樣就可以將虛擬物體放置到檢測(cè)出的水平面上了。

它是如何做到的呢?ARCore通過(guò)檢測(cè)特征點(diǎn)和平面不斷改善對(duì)現(xiàn)實(shí)世界環(huán)境的理解。

ARCore會(huì)查找常見(jiàn)水平表面(如桌面)上的特征點(diǎn)集群,除此之外,ARCore還可以確定每個(gè)平面的邊界,并將以上信息提供給您的應(yīng)用程序。 這樣,開(kāi)發(fā)人員就可以使用這些信息,并將虛擬物體放置在平坦的表面上了。

由于ARCore使用特征點(diǎn)檢測(cè)平面,因此可能無(wú)法正確檢測(cè)到?jīng)]有紋理的平坦表面(如白色桌面)。

光線評(píng)估

用戶交互

ARCore使用 hit testing(命中測(cè)試) 獲取與手機(jī)屏幕相對(duì)應(yīng)的(x,y)坐標(biāo)(如通過(guò)點(diǎn)擊屏幕等交互方式),將其投射到 Camera 的3D坐標(biāo)系中,并返回與命中點(diǎn)射線相交的所有平面和特征點(diǎn),以及在世界坐標(biāo)系中該交叉點(diǎn)的姿態(tài)。這樣就能實(shí)現(xiàn)用戶與ARCore環(huán)境中的對(duì)象交互了。

錨點(diǎn)與跟蹤

ARCore可以改變對(duì)自身位置和環(huán)境的理解來(lái)調(diào)整姿態(tài)。如我們要在ARCore環(huán)境中放置一個(gè)虛擬對(duì)象,首先要確定一個(gè)錨點(diǎn),以確保ARCore能隨著時(shí)間的推移不斷跟蹤對(duì)象的位置。通常情況下,會(huì)根據(jù)命中測(cè)試返回的姿勢(shì)創(chuàng)建一個(gè)錨點(diǎn)。

姿勢(shì)改變這項(xiàng)技術(shù)特別關(guān)鍵,只有得到姿勢(shì),ARCore才可以隨著時(shí)間的推移不斷更新環(huán)境對(duì)象(像飛機(jī)和特征點(diǎn))的位置。ARCore將平面和點(diǎn)認(rèn)為是可跟蹤的特殊類(lèi)型的對(duì)象。您可以將虛擬對(duì)象錨定到這些可追蹤的對(duì)象上,以確保在設(shè)備移動(dòng)時(shí),虛擬對(duì)象和可跟蹤對(duì)象之間保持穩(wěn)定的關(guān)系。這就好像您在桌面上放置一個(gè)虛擬的花瓶,如果ARCore稍后調(diào)整與桌面相關(guān)的姿勢(shì),那么花瓶仍然會(huì)保持在桌面上。

ARCore 核心類(lèi)介紹

Session

com.google.ar.core.Session類(lèi),Session管理AR系統(tǒng)狀態(tài)并處理Session生命周期。 該類(lèi)是ARCore API的主要入口點(diǎn)。 該類(lèi)允許用戶創(chuàng)建Session,配置Session,啟動(dòng)/停止Session,最重要的是接收視頻幀,以允許訪問(wèn)Camera圖像和設(shè)備姿勢(shì)。

Config

com.google.ar.core.Config類(lèi),用于保存Session的設(shè)置。

Frame

com.google.ar.core.Frame類(lèi),該類(lèi)通過(guò)調(diào)用update()方法,獲取狀態(tài)信息并更新AR系統(tǒng)。

HitResult

com.google.ar.core.HitResult類(lèi),該類(lèi)定義了命中點(diǎn)射線與估算的真實(shí)幾何世界之間的交集。

Point

com.google.ar.core.Point類(lèi),它代表ARCore正在跟蹤的空間點(diǎn)。 它是創(chuàng)建錨點(diǎn)(調(diào)用createAnchor方法)時(shí),或者進(jìn)行命中檢測(cè)(調(diào)用hitTest方法)時(shí),返回的結(jié)果。

PointCloud

com.google.ar.core.PointCloud類(lèi),它包含一組觀察到的3D點(diǎn)和信心值。

Plane

com.google.ar.core.Plane類(lèi),描述了現(xiàn)實(shí)世界平面表面的最新信息。

Anchor

com.google.ar.core.Anchor類(lèi),描述了現(xiàn)實(shí)世界中的固定位置和方向。 為了保持物理空間的固定位置,這個(gè)位置的數(shù)字描述信息將隨著ARCore對(duì)空間的理解的不斷改進(jìn)而更新。

Pose

com.google.ar.core.Pose類(lèi), 姿勢(shì)表示從一個(gè)坐標(biāo)空間到另一個(gè)坐標(biāo)空間位置不變的轉(zhuǎn)換。 在所有的ARCore API里,姿勢(shì)總是描述從對(duì)象本地坐標(biāo)空間到世界坐標(biāo)空間的轉(zhuǎn)換。

隨著ARCore對(duì)環(huán)境的了解不斷變化,它將調(diào)整坐標(biāo)系模式以便與真實(shí)世界保持一致。 這時(shí),Camera和錨點(diǎn)的位置(坐標(biāo))可能會(huì)發(fā)生明顯的變化,以便它們所代表的物體處理恰當(dāng)?shù)奈恢谩?/p>

這意味著,每一幀圖像都應(yīng)被認(rèn)為是在一個(gè)完全獨(dú)立的世界坐標(biāo)空間中。錨點(diǎn)和Camera的坐標(biāo)不應(yīng)該在渲染幀之外的地方使用,如果需考慮到某個(gè)位置超出單個(gè)渲染框架的范圍,則應(yīng)該創(chuàng)建一個(gè)錨點(diǎn)或者應(yīng)該使用相對(duì)于附近現(xiàn)有錨點(diǎn)的位置。

ImageMetadata

com.google.ar.core.ImageMetadata類(lèi),提供了對(duì)Camera圖像捕捉結(jié)果的元數(shù)據(jù)的訪問(wèn)。

LightEstimate

com.google.ar.core.LightEstimate保存關(guān)于真實(shí)場(chǎng)景光照的估計(jì)信息。 通過(guò) getLightEstimate()得到。

實(shí)例分析

Google發(fā)布的 ARCore SDK 中包括了一些例子程序,有了上面的基本知識(shí)后,我們就很容易理解他所寫(xiě)的 Demo 程序的流程了。

創(chuàng)建 Session 和 Conig

Activity中的 onCreate 方法中創(chuàng)建 Session 和 Config是個(gè)不錯(cuò)的地方。

mSession = new Session(/*context=*/this);mDefaultConfig = Config.createDefaultConfig();if (!mSession.isSupported(mDefaultConfig)) { Toast.makeText(this, "This device does not support AR", Toast.LENGTH_LONG).show(); finish(); return;}

Session: 是ARCore的管理類(lèi),它非常重要。ARCore的打開(kāi),關(guān)閉,視頻幀的獲取等都是通過(guò)它來(lái)管理的。

Config:存放一些配置信息,如平面的查找模式,光照模式等信息都是記錄在該類(lèi)中。目前該類(lèi)還比較簡(jiǎn)單,里邊沒(méi)存多少東西。

isSupported:該方法主要是對(duì) SDK的版本及機(jī)型做控制。目前官方只支持幾款Google和三星的機(jī)子做測(cè)試。其它機(jī)型還都不支持ARCore,當(dāng)然有一些機(jī)型通過(guò)破解后的SDK是可以使用 ARCore的。該方法中的 Config 參數(shù)沒(méi)有用到。

創(chuàng)建 GLSurfaceView 用于AR展示

在 Google 提供的Demo中,AR的展示部分使用的是 GLSurfaceView。做視頻開(kāi)發(fā)的同學(xué)都清楚,Android 可以使用三種View進(jìn)行視頻渲染。分別是:

SurfaceView

GLSurfaceView

TextureView

其中,SurfaceView最靈活,效率也最高,但使用起來(lái)比較煩鎖。而GLSurfaceView相對(duì) SurfaceView就是簡(jiǎn)單很多,只需要實(shí)現(xiàn)它的 Render 接口即可。而 TextureView使用最簡(jiǎn)單,很多工作都由 Android 的窗口管理器幫你做了,但靈活性相對(duì)較差。

為了渲染的高效,Google在Demo中大量使用了OpenGL技術(shù)。由于OpenGL是圖像處理非常大的一個(gè)領(lǐng)域,無(wú)法通過(guò)一兩篇文章講解清楚,同時(shí)也不是我們本文的重點(diǎn),所以我們這里不對(duì)它做詳細(xì)介紹,有興趣的同學(xué)可以到網(wǎng)上自行學(xué)習(xí)。

mSurfaceView = (GLSurfaceView) findViewById(R.id.surfaceview);...mSurfaceView.setPreserveEGLContextOnPause(true);mSurfaceView.setEGLContextClientVersion(2);mSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0); // Alpha used for plane blending.mSurfaceView.setRenderer(this); mSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);

該段代碼首先通過(guò)資源文件創(chuàng)建一個(gè)GLSurfaceView對(duì)象,然后將 GLSurfaceView 與 EGL 上下文關(guān)聯(lián)。并將Activity作為GLSurfaceView的回調(diào)對(duì)象(也就是說(shuō)該Activity要實(shí)現(xiàn) GLSurfaceView.Renderer中定義的接口,如onSurfaceCreated、onSurfaceChanged、onDrawFrame等),最后設(shè)置 mSurfaceView 的渲染模式為 GLSurfaceView.RENDERMODE_CONTINUOUSLY,即對(duì) GLSurfaceView 持續(xù)不斷的渲染。

創(chuàng)建各種線程

要理解本節(jié)內(nèi)容,首先大家要知道AR的詳細(xì)工作原理是怎樣的。我在這里再向大家做個(gè)簡(jiǎn)要的說(shuō)明。

背景展示

用過(guò)AR的人都知道,AR是將一些虛擬物品放到真實(shí)的場(chǎng)景中。那么這個(gè)真實(shí)的場(chǎng)景從哪里來(lái)呢?當(dāng)然是從手機(jī)的 Camera上獲取。

我們把從 Camera中獲取的視頻當(dāng)作 AR的背景。其實(shí),AR 就是將虛擬物品放到視頻上,只不過(guò)不是簡(jiǎn)單的放置,而是需要經(jīng)過(guò)大量的計(jì)算,找到視頻中的平面位置再放置。

而Android中視頻的采集相對(duì)比較簡(jiǎn)單,像直播系統(tǒng),照像機(jī)都要使用該技術(shù)。

平臺(tái)檢測(cè)

上面我們已經(jīng)說(shuō)了,AR就是實(shí)時(shí)視頻+虛擬物品。但虛擬物不能簡(jiǎn)單的放到視頻上,而是先對(duì)視頻中的每一幀進(jìn)行檢測(cè),找到視頻中的平面,確定好位置后,再將虛擬物品放置上去。這樣才算是AR呀:)

點(diǎn)云

上面我們知道了,AR=實(shí)時(shí)視頻+平面+虛擬物品。除此之外,它還應(yīng)該能對(duì)虛擬物品進(jìn)行跟蹤,也就是可以在不同的角度觀察同一個(gè)物品,并得出不同的姿態(tài),所以就有了“點(diǎn)云” 技術(shù)。那什么是點(diǎn)云呢?顧名思義,形象的說(shuō)就是一堆點(diǎn),這些的形狀有點(diǎn)像云。點(diǎn)云中的每個(gè)點(diǎn)都是一個(gè)特征點(diǎn),它是通過(guò)Camera獲得的。

放置虛擬物品

找到了平面,有了跟蹤手段,我們就可以將準(zhǔn)備好的虛擬物品放置到平臺(tái)上,現(xiàn)在才是真正的AR哈。

好,知道了這些基本原理后,我們來(lái)看看Google Demo是如何做的呢?

創(chuàng)建線程

對(duì)于上面的每一點(diǎn),Demo都啟動(dòng)了一個(gè)線程,代碼如下:

...// Create the texture and pass it to ARCore session to be filled during update().mBackgroundRenderer.createOnGlThread(/*context=*/this);mSession.setCameraTextureName(mBackgroundRenderer.getTextureId());// Prepare the other rendering objects.try { mVirtualObject.createOnGlThread(/*context=*/this, "andy.obj", "andy.png"); mVirtualObject.setMaterialProperties(0.0f, 3.5f, 1.0f, 6.0f); ...} catch (IOException e) { Log.e(TAG, "Failed to read obj file");}try { mPlaneRenderer.createOnGlThread(/*context=*/this, "trigrid.png");} catch (IOException e) { Log.e(TAG, "Failed to read plane texture");}mPointCloud.createOnGlThread(/*context=*/this);...

上面的代碼中首先創(chuàng)建了一個(gè)背景線程,用來(lái)將從Camera中獲取的視頻渲染到屏幕上當(dāng)背景。數(shù)據(jù)是從哪里來(lái)的呢?就是通過(guò) Session.update 獲取 Camera 數(shù)據(jù),再通過(guò)紋理交給背景線程。

對(duì)紋理沒(méi)有概念的同學(xué)可以把它想像成一塊內(nèi)存空間。

然后啟動(dòng)虛擬物品線程,用于繪制虛擬物品,及發(fā)生角度變化時(shí),更新虛擬物別的姿勢(shì)。緊接著創(chuàng)建平面線程來(lái)繪制平面。最后啟動(dòng)點(diǎn)云線程繪制特征點(diǎn)。

到此,各種線程就創(chuàng)建完畢了。下面我們來(lái)說(shuō)一下如何渲染。

命中檢測(cè)與渲染

命中檢測(cè)

當(dāng)我們要向背景繪制虛擬物品時(shí),首先要進(jìn)行命中檢測(cè)。代碼如下:

MotionEvent tap = mQueuedSingleTaps.poll();if (tap != null && frame.getTrackingState() == TrackingState.TRACKING) { for (HitResult hit : frame.hitTest(tap)) { // Check if any plane was hit, and if it was hit inside the plane polygon. if (hit instanceof PlaneHitResult && ((PlaneHitResult) hit).isHitInPolygon()) { // Cap the number of objects created. This avoids overloading both the // rendering system and ARCore. if (mTouches.size() >= 16) { mSession.removeAnchors(Arrays.asList(mTouches.get(0).getAnchor())); mTouches.remove(0); } // Adding an Anchor tells ARCore that it should track this position in // space. This anchor will be used in PlaneAttachment to place the 3d model // in the correct position relative both to the world and to the plane. mTouches.add(new PlaneAttachment( ((PlaneHitResult) hit).getPlane(), mSession.addAnchor(hit.getHitPose()))); // Hits are sorted by depth. Consider only closest hit on a plane. break; } }}

在例子中,它查看是否有點(diǎn)擊事件,且圖像處理于跟蹤狀態(tài)?如果是,就對(duì)其進(jìn)行命中檢測(cè),看是否可以找到一個(gè)平面,如果找到就創(chuàng)建一個(gè)錨點(diǎn)并將其與該平臺(tái)綁定起來(lái)。

渲染背景

// Draw background.mBackgroundRenderer.draw(frame);

通過(guò)上面的代碼就可以將紋理中的內(nèi)容推給 EGL,上面創(chuàng)建的渲染線程從 EGL 上下文中獲取數(shù)據(jù),最終將視頻渲染到屏幕上。

繪制點(diǎn)云

mPointCloud.update(frame.getPointCloud());mPointCloud.draw(frame.getPointCloudPose(), viewmtx, projmtx);

同理,通過(guò)上面的代碼,就可以將數(shù)據(jù)傳給點(diǎn)云線程進(jìn)行點(diǎn)云的繪制。

繪制平面

// Visualize planes.mPlaneRenderer.drawPlanes(mSession.getAllPlanes(), frame.getPose(), projmtx);

通過(guò)上面代碼將數(shù)據(jù)傳給平面線程進(jìn)行平面的繪制。

繪制虛擬物品

for (PlaneAttachment planeAttachment : mTouches) { if (!planeAttachment.isTracking()) { continue; } // Get the current combined pose of an Anchor and Plane in world space. The Anchor // and Plane poses are updated during calls to session.update() as ARCore refines // its estimate of the world. planeAttachment.getPose().toMatrix(mAnchorMatrix, 0); // Update and draw the model and its shadow. mVirtualObject.updateModelMatrix(mAnchorMatrix, scaleFactor); mVirtualObjectShadow.updateModelMatrix(mAnchorMatrix, scaleFactor);}

最后,遍歷所有的錨點(diǎn),在每個(gè)錨點(diǎn)上繪制虛擬物品。

至此,我們對(duì)ARCore的分析就告一段落了。

小結(jié)

ARCore相對(duì)于初學(xué)者來(lái)說(shuō)還是有不少難度的。因?yàn)槔锩嬗泻芏嘈赂拍钚枰蠹蚁铡?/p>

另一方面,ARCore目前只有幾款機(jī)型可能做測(cè)試,而這幾款機(jī)型在國(guó)內(nèi)用的人不多,所以對(duì)于大多數(shù)人來(lái)說(shuō)沒(méi)法做實(shí)驗(yàn),這也增加了學(xué)習(xí)的難度。

除了以上兩點(diǎn)外,ARCore中大量使用了 OpenGL的相關(guān)知識(shí)。而OpenGL又是一門(mén)很深的學(xué)問(wèn),所以學(xué)習(xí)的難度更加陡峭了。

通過(guò)以上三點(diǎn),可以說(shuō)目前學(xué)習(xí)ARCore的門(mén)檻相較于蘋(píng)果的ARKit要難不少。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Ar
    Ar
    +關(guān)注

    關(guān)注

    24

    文章

    5112

    瀏覽量

    170249
  • Camera
    +關(guān)注

    關(guān)注

    0

    文章

    79

    瀏覽量

    20918

原文標(biāo)題:深入淺出,ARCore開(kāi)發(fā)原理

文章出處:【微信號(hào):shengwang-agora,微信公眾號(hào):聲網(wǎng)Agora】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    天線分集技術(shù)的基本概念介紹

    基本概念往往有助于理解多變的無(wú)線電通信鏈接品質(zhì),旦理解了這些基本概念,其中許多問(wèn)題可以通過(guò)種低成本、易實(shí)現(xiàn)的被稱作天線分集(antenna diversity)的技術(shù)來(lái)實(shí)現(xiàn)。
    發(fā)表于 07-02 06:04

    阻抗控制相關(guān)的基本概念

    阻抗控制部分包括兩部分內(nèi)容:基本概念及阻抗匹配。本篇主要介紹阻抗控制相關(guān)的基本概念
    發(fā)表于 02-25 08:11

    智能天線的基本概念

    1智能天線的基本概念 智能天線綜合了自適應(yīng)天線和陣列天線的優(yōu)點(diǎn),以自適應(yīng)信號(hào)處理算法為基礎(chǔ),引入了人工智能的處理方法。智能天線不再是個(gè)簡(jiǎn)單的單元,它已成為個(gè)具有智能的系統(tǒng)。
    發(fā)表于 08-05 08:30

    認(rèn)識(shí)一下針對(duì)單片機(jī)幾個(gè)基本概念

    我們?nèi)粘5纳铍x不開(kāi)秒表的計(jì)時(shí),它提醒著我們什么時(shí)刻該干什么,單片機(jī)也樣,通過(guò)單片機(jī)內(nèi)置的晶振來(lái)計(jì)時(shí),首先讓我們認(rèn)識(shí)一下針對(duì)單片機(jī)幾個(gè)基本概念:時(shí)鐘周期:時(shí)鐘周期 T 是時(shí)序中最小的時(shí)間單位,具體
    發(fā)表于 11-22 06:43

    講解一下A/D和 D/A的基本概念

    文章目錄前言A/D 和 D/A 的基本概念前言今天給大家講解一下,單片機(jī)中的基礎(chǔ)概念,A/D 和 D/A 的基本概念。A/D 和 D/A 的基本概念
    發(fā)表于 11-25 06:31

    探討一下PWM基本概念與簡(jiǎn)單基礎(chǔ)的應(yīng)用

    【STM32——電賽】初識(shí)PWM基本概念PWM,又稱脈沖寬度調(diào)制。模擬控制方式。高電平*占空比=模擬輸出電壓的值PWM實(shí)現(xiàn)D/A轉(zhuǎn)換的原理:在定的頻率,通過(guò)不同的占空比即可得到
    發(fā)表于 02-24 06:54

    詳細(xì)介紹時(shí)序基本概念Timing arc

    時(shí)序分析基本概念介紹——Timing Arc
    的頭像 發(fā)表于 01-02 09:29 ?2.5w次閱讀
    詳細(xì)<b class='flag-5'>介紹</b>時(shí)序<b class='flag-5'>基本概念</b>Timing arc

    眼圖基本概念介紹.ppt

    眼圖基本概念介紹.ppt
    發(fā)表于 11-08 15:05 ?3次下載

    剖析RS232、RS485時(shí)序?qū)?b class='flag-5'>其機(jī)理和故障排查有啟發(fā)和理解

    剖析RS232、RS485時(shí)序?qū)?b class='flag-5'>其機(jī)理和故障排查有啟發(fā)和理解
    發(fā)表于 01-24 09:37 ?5次下載

    放大器的基本概念

      首先回顧一下基本概念,然后介紹四種類(lèi)型的放大器:共源結(jié)構(gòu)、共柵結(jié)構(gòu)、源跟隨器和共源共柵結(jié)構(gòu),對(duì)于每種模型,我們先從簡(jiǎn)化模型入手,然后
    的頭像 發(fā)表于 04-26 11:14 ?1606次閱讀
    放大器的<b class='flag-5'>基本概念</b>

    介紹時(shí)序分析基本概念MMMC

    今天我們要介紹的時(shí)序分析基本概念是MMMC分析(MCMM)。全稱是multi-mode, multi-corner, 多模式多端角分析模式。這是在先進(jìn)工藝必須要使用的種時(shí)序分析模式
    的頭像 發(fā)表于 07-04 15:40 ?2858次閱讀
    <b class='flag-5'>介紹</b>時(shí)序分析<b class='flag-5'>基本概念</b>MMMC

    時(shí)序分析Slew/Transition基本概念介紹

    今天要介紹的時(shí)序分析基本概念是Slew,信號(hào)轉(zhuǎn)換時(shí)間,也被稱為transition time。
    的頭像 發(fā)表于 07-05 14:50 ?3585次閱讀
    時(shí)序分析Slew/Transition<b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>

    時(shí)序分析基本概念介紹—花樣的“模式”

    今天要介紹的時(shí)序基本概念是Mode(模式). 這是Multiple Scenario環(huán)境Sign off的個(gè)重要概念。芯片的設(shè)計(jì)模式包括
    的頭像 發(fā)表于 07-10 17:21 ?3787次閱讀
    時(shí)序分析<b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>—花<b class='flag-5'>一</b>樣的“模式”

    數(shù)字后端基本概念介紹—FinFET Grid

    今天要介紹的數(shù)字后端基本概念是FinFET Grid,它也是種設(shè)計(jì)格點(diǎn)。介紹該格點(diǎn)前,我們首先來(lái)了解一下什么是FinFET技術(shù)。
    發(fā)表于 07-12 17:31 ?1362次閱讀
    數(shù)字后端<b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>—FinFET Grid

    深度學(xué)習(xí)基本概念

    科學(xué)領(lǐng)域個(gè)非常熱門(mén)的研究領(lǐng)域。 深度學(xué)習(xí)的基本概念和原理是什么?讓我們起來(lái)探究一下。 1. 神經(jīng)網(wǎng)絡(luò) 神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的核心,是種由
    的頭像 發(fā)表于 08-17 16:02 ?2290次閱讀
    主站蜘蛛池模板: 亚洲视频一区二区 | 久久永久视频 | 四虎8848精品永久在线观看 | 国产精品不卡片视频免费观看 | 亚洲一区二区三区中文字幕5566 | 亚洲免费一 | 女人张腿让男桶免费视频网站 | 国产黄色一级网站 | 三级免费观看 | 欧美feer| 国产最好的精华液网站 | 亚洲 欧美 丝袜 制服 在线 | 快播久久 | 亚洲天堂成人在线 | 成人精品一区二区不卡视频 | 护士一级aaaaaa毛片 | 老司机亚洲精品影院在线观看 | 亚洲一级色片 | 青草久操 | 色婷婷综合激情视频免费看 | 欧美三级在线免费观看 | 天堂在线资源网 | 亚洲成人在线网 | 在线免费国产视频 | 天天摸天天干天天操 | 国产伦精品一区二区三区四区 | 天天色啪 | 伊人久久大线蕉香港三级 | 人人福利 | 九色愉拍自拍 | 日韩大胆| 天天操综合网 | 国产青青草 | 日本videosgratis教师69 | 色91视频| 毛茸茸成熟妇女亚洲人 | 波多野结衣福利 | 伊人三级 | 性free3d| 天天躁夜夜躁狠狠躁2018a | 亚洲男人天堂2020 |