<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 使用LPC1700的IEC 60601-1-8音頻警報發(fā)生器

使用LPC1700的IEC 60601-1-8音頻警報發(fā)生器

作者: 時(shí)間:2010-02-08 來(lái)源:網(wǎng)絡(luò ) 收藏
音符發(fā)生器功能

對于音符發(fā)生器,存在許多需要處理的數據,它們涉及到多重頻率和多重正弦波發(fā)生器。如果將與每個(gè)頻率相關(guān)的數據變量和常數組織在具有相同尺寸的矩陣中,那么就能恰好使用簡(jiǎn)單遞歸函數來(lái)“走”過(guò)這些矩陣數據。



音符發(fā)生器定義

定義若干個(gè)定點(diǎn)和浮點(diǎn)常數,以及定義結構標簽和兩個(gè)矩陣。它們當中之一是結構的一個(gè)矩陣。

算法中使用的變量和系數之結構的優(yōu)點(diǎn)是:它允許我們在結構矩陣和頻率常數矩陣中具有類(lèi)似的矩陣組織。常數頻率矩陣和算法結構矩陣之間的一一對應關(guān)系使得在初始化每個(gè)頻率時(shí),容易使用兩個(gè)矩陣的類(lèi)似索引。

音符發(fā)生器初始化

上文提到為了使Goertzel算法能振蕩,除了系數以外,y[-1]和y[-2]值也必須初始化。必須針對對應于每個(gè)頻率的結構變量而完成此工作。下面顯示了用于初始化的代碼。一排5個(gè)結構中的每一個(gè)被初始化,然后每一個(gè)另外的排被初始化,直到整個(gè)結構矩陣都被初始化。在這個(gè)演示應用程序中,這些計算是在復位初始化期間完成的。不過(guò),如果你正在最優(yōu)化它,可以通過(guò)事先進(jìn)行這些計算而將代碼保存起來(lái),并且將結果作為常數儲存在快速存儲器中。這是因為,如果數學(xué)程序庫需要浮點(diǎn)和正弦/余弦算法,那么預先計算好的初始化值則不需要。這些程序庫例行程序使用大約一半本應用程序中使用的代碼空間。系數和初始化值是通過(guò)32768(帶符號的短值)定標的。還有,系數計算不包括公式(18)中顯示的2X系數。其目的是使系數的規模保持在帶符號的短值,以最小化儲存要求。2X被包括在最終Goertzel計算中;此處,輸出的定標是通過(guò)>>14(而不是>>15)乘以2。



多重正弦波發(fā)生、求和及DAC輸出

一旦算法變量和系數都已經(jīng)被初始化,那么,讓Goertzel計算來(lái)生成基本音符和4個(gè)諧波就變得很容易。方法是簡(jiǎn)單地遞增通過(guò)結構矩陣中的一排,并且求五個(gè)值的和。正如上文所述,第204行包括通過(guò)>>14、而不是>>15定標到2X中的系數,而這些系數在初始化時(shí)不予考慮。



一旦函數已經(jīng)完成了矩陣排中所有5個(gè)結構的計算,相加的值就被定標、格式化、并從帶符號的值轉化為不帶符號的值,然后被送到DAC。由于這些計算是在每個(gè)25kHz定時(shí)器中斷處執行的(當音符活躍時(shí)),所以DAC輸出速率就是25 kHz。這允許使用便宜的輸出濾波器,因為相對于正在生成的最高正弦波頻率,這大約是9X的過(guò)度取樣。



關(guān)鍵詞: 60601 1700 LPC IEC

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>