啊啊啊流水了啊操逼污污,与妇女日逼视频,亚洲国产日韩欧美一区二区,k8经典网在线观看电影

24小時(shí)聯(lián)系電話:18217114652、13661815404

中文

您當(dāng)前的位置:
首頁>
電子資訊>
公司新聞>
嵌入式微控制器的數(shù)字...

公司新聞

嵌入式微控制器的數(shù)字濾波


處理隨時(shí)間推移或在時(shí)域中收集的數(shù)據(jù)樣本時(shí),最基本的操作之一是過濾數(shù)據(jù)。重要的是要理解可以數(shù)字方式過濾數(shù)據(jù)以達(dá)到最佳結(jié)果并釋放CPU來執(zhí)行其他任務(wù)的通用方法,尤其是在涉及嵌入式微控制器時(shí)。 

在本文中,了解時(shí)域中用于過濾和處理數(shù)據(jù)樣本的廣泛使用的方法。另外,請仔細(xì)研究LPC55S69 MCUPowerQuad單元的Dual Biquad IIR引擎-一種在許多濾波用例中有用的通用DSP構(gòu)建塊。 

連續(xù)采樣數(shù)據(jù)的通用過濾器

在時(shí)域中采樣數(shù)據(jù)時(shí),將以已知的固定速率連續(xù)收集數(shù)據(jù)。時(shí)域?yàn)V波器接受此數(shù)據(jù)作為輸入,并輸出以某種方式修改的新信號。濾波器的輸出只是另一個(gè)時(shí)域信號,可以對其進(jìn)行進(jìn)一步處理或傳輸?shù)綌?shù)模轉(zhuǎn)換器(DAC)。

我們通常根據(jù)濾波器對正弦波的響應(yīng)方式來對其進(jìn)行處理。如果我們將輸入信號視為簡單的正弦波,則濾波器可以調(diào)整輸入的幅度以及調(diào)整其相位。將復(fù)雜信號施加到濾波器時(shí),它將調(diào)整信號正弦分量的幅度和相位。濾波器在頻率范圍內(nèi)的行為方式稱為頻率響應(yīng)。

時(shí)域中的標(biāo)準(zhǔn)操作由所謂的有限沖激響應(yīng)(FIR)過濾器執(zhí)行,該過濾器將最新的數(shù)據(jù)樣本與以前收集的元素混合在一起以獲得下一個(gè)輸出樣本。

1.使用輸入的歷史記錄進(jìn)行逐樣本過濾處理。  

實(shí)現(xiàn)這種過濾器的一種方法是將先前的樣本存儲(chǔ)在數(shù)組中,并使用一個(gè)簡單的方程式將它們合并:

x[n] // The most recent input?<br /> x[n-1], x[n-2] // The two previous input samples?<br /> y[n] // The next output sample??<br /> <br /> y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2]

這個(gè)特定的偽代碼段將最新的樣本與之前的兩個(gè)數(shù)據(jù)樣本結(jié)合在一起。它將每個(gè)數(shù)據(jù)樣本與單獨(dú)的常量系數(shù)相乘,然后對結(jié)果求和以獲得下一個(gè)輸出樣本??傊@表示簡單的乘法和累加運(yùn)算,其中常數(shù)系數(shù)和歷史記錄的長度控制濾波器的頻率響應(yīng)。

通過為系數(shù)選擇適當(dāng)?shù)闹?,可以?gòu)造各種類型的濾波器。如果濾波器衰減高頻,則它充當(dāng)?shù)屯V波器。通過衰減低頻,所得濾波器將充當(dāng)高通濾波器。也可以將兩種方法結(jié)合使用,這將導(dǎo)致帶通濾波器。

FIR濾波器在概念上很簡單,但是可能需要大量先前的數(shù)據(jù)樣本才能對其頻率響應(yīng)進(jìn)行精確控制。盡管此過濾器易于理解和實(shí)現(xiàn),但在常規(guī)CPU上執(zhí)行它可能很麻煩,尤其是在具有中等大小的歷史記錄的情況下。這是因?yàn)槊總€(gè)樣本都需要許多乘法和加法運(yùn)算才能確定輸出。     

減少所需歷史量的一種方法是在計(jì)算下一個(gè)輸出樣本時(shí)使用先前確定的濾波器輸出。這是另一類稱為無限脈沖響應(yīng)濾波器(IIR)的數(shù)字濾波器的基礎(chǔ):

// This examples uses the previously established naming conventions<br /> y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a1 * y[n-2]

上面的示例是IIR濾波器的一種特殊情況,稱為雙二階濾波器-一種常見的構(gòu)建模塊,可以級聯(lián)以構(gòu)造更大的濾波器。與FIR濾波器相比,此方法需要較少的系數(shù)才能實(shí)現(xiàn)所需的頻率響應(yīng)。使用這種方法時(shí),需要特別權(quán)衡。如果未正確選擇系數(shù),則使用反饋會(huì)導(dǎo)致濾波器振蕩。  

2.自動(dòng)生成系數(shù)的眾多工具之一。 

使用PowerQuad IIR Biquad引擎

LPC55S69 PowerQuad單元集成了用于計(jì)算IIR雙二階濾波器的專用硬件。使用PowerQuad過濾收集的數(shù)據(jù)樣本將使CPU有空余時(shí)間來執(zhí)行其他任務(wù)。 

如上所述,過濾器算法的實(shí)現(xiàn)并不復(fù)雜,但是它們會(huì)占用大量CPU時(shí)間。LPC55S69 MCUPowerQuad單元包含針對許多濾波和復(fù)雜數(shù)學(xué)運(yùn)算進(jìn)行了優(yōu)化的專用硬件。它通過AHB總線和Arm?Cortex?-M33協(xié)處理器接口連接。

LPC55S69的標(biāo)準(zhǔn)開發(fā)環(huán)境是免費(fèi)的基于EclipseIDE MCUXpresso。LPC55S69 SDK包含許多有用的示例,其中一些是PowerQuad示例應(yīng)用程序。

3.選擇PowerQuad數(shù)字濾波器示例。

“ powerquad_filter”示例項(xiàng)目包含一些不同過濾器配置的示例。“ powerquad_filter.c”文件具有幾個(gè)函數(shù),這些函數(shù)演示了基本的過濾器設(shè)置。

早先,本文討論了使用直接格式I”的過濾器,這是最直接的實(shí)現(xiàn)。但是,PowerQuad重新安排了乘法和加法運(yùn)算的流程,而不改變結(jié)果,從而導(dǎo)致直接格式II”,這不需要存儲(chǔ)輸入和輸出的歷史記錄。而是存儲(chǔ)中間歷史記錄v [n],也稱為過濾器狀態(tài)。

AHB總線上的少數(shù)寄存器用于存儲(chǔ)狀態(tài)和系數(shù),以設(shè)置用于IIR濾波器操作的PowerQuad。在SDK示例中,過濾器的狀態(tài)在PQ_BiquadRestoreInternalState函數(shù)中初始化。

完成后,過濾器即可處理數(shù)據(jù)樣本。這是在fsl_powerquad_filter.c中的PQ_VectorBiquadDf2F32函數(shù)中完成的:

4.矢量化IIR濾波器實(shí)現(xiàn)

此功能旨在處理輸入樣本的塊(為八的倍數(shù))??梢越柚?span>MCR指令將數(shù)據(jù)從LPC55S69的主處理內(nèi)核的寄存器傳輸?shù)竭B接的協(xié)處理器(在這種情況下為PowerQuad)。 

然后,PowerQuad會(huì)執(zhí)行過濾工作,這是執(zhí)行LLP55S69Cortex-M33內(nèi)核所采用的多種乘法和加法運(yùn)算的一種更為有效的方式。一旦完成PowerQuad,就可以使用MCR指令訪問結(jié)果,該指令將數(shù)據(jù)從協(xié)處理器移回內(nèi)部CPU寄存器。

用于數(shù)字濾波的雙Biquad IIR引擎

LPC55S69 MCU帶有PowerQuad單元(其中包含兩個(gè)獨(dú)立的biquad引擎),可以幫助加速過濾和復(fù)雜的數(shù)學(xué)運(yùn)算。AHB總線寄存器用于配置PowerQuad IIR功能,并且通過協(xié)處理器接口在PowerQuadCortex-M33內(nèi)核之間交換數(shù)據(jù)。 

MCUXpresso中的LPC55S69 SDK是一個(gè)很好的起點(diǎn)。但是,該代碼并未經(jīng)過優(yōu)化,因?yàn)樗子诶斫狻U堄涀?,盡管PowerQuad可以大大加快過濾應(yīng)用程序的速度,但是CPU仍必須在PowerQuad協(xié)處理器之間來回傳輸數(shù)據(jù)。 

請輸入搜索關(guān)鍵字

確定
云浮市| 新乡县| 嘉定区| 临泉县| 呼伦贝尔市| 友谊县| 龙门县| 公主岭市| 封开县| 科技| 长垣县| 电白县| 浦县| 潮安县| 长沙市| 汉阴县| 涿州市| 葵青区| 都江堰市| 绵阳市| 如皋市| 墨江| 武山县| 陇西县| 东山县| 碌曲县| 日照市| 乌什县| 旌德县| 安庆市| 萨嘎县| 浦东新区| 蒲江县| 杂多县| 肃北| 平阳县| 禹州市| 永寿县| 和硕县| 古蔺县| 永州市|