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

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

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

AT32講堂016 | AT32 MCU DSP使用案例和網(wǎng)絡(luò)神經(jīng)算法CMSIS-NN案例

雅特力 AT32 MCU ? 2022-07-24 14:49 ? 次閱讀

概述

AT32F4xx使用的是ARM Cortex-M4F內(nèi)核。ARM Cortex-M4F是帶有FPU內(nèi)核處理器是一款32位的RISC處理器,具有優(yōu)異的代碼效率,采用通常8位和16位器件的存儲(chǔ)器空間即可發(fā)揮ARM內(nèi)核的高性能。該處理器支持一組DSP指令,能夠?qū)崿F(xiàn)有效的信號(hào)處理和復(fù)雜的算法執(zhí)行。其單精度FPU(浮點(diǎn)單元)通過(guò)使用元語(yǔ)言開發(fā)工具,可加速開發(fā),防止飽和。

本文重點(diǎn)介紹基于AT32 MCU的DSP指令相關(guān)庫(kù)函數(shù)及其簡(jiǎn)單應(yīng)用示例,主要內(nèi)容有:

  • ARM Cortex-M4F內(nèi)核
  • ARM官方CMSIS DSP庫(kù)概述
  • CMSIS DSP庫(kù)移植到AT32
  • 常用示例展示
  • CMSIS NN with DSP

注意:本文是基于AT32F403A的硬件條件,若使用者需要在AT32其他型號(hào)上使用,請(qǐng)修改相應(yīng)配置即可。

AT32 MCU與M4F內(nèi)核

AT32F403A系列與所有的ARM工具和軟件兼容。這些豐富的外設(shè)配置,使得AT32系列微控制器適合于多種應(yīng)用場(chǎng)合:

? 手持云臺(tái)? 微型打印機(jī)? 條形碼掃描槍? 讀卡器? 燈光控制

? 智能家居應(yīng)用? 物聯(lián)網(wǎng)傳感器節(jié)點(diǎn)

? 雙CAN應(yīng)用(OBD-II)? 光電編碼器? 充電樁/BMS? 機(jī)器人控制? 電力控制

? BLDC/PMSM電機(jī)控制? 變頻器? 伺服電機(jī)控制

系統(tǒng)架構(gòu)

AT32F403A系列微控制器包括ARM CortexTM-M4F處理器內(nèi)核、總線架構(gòu)、外設(shè)以及存儲(chǔ)器構(gòu)成。CortexTM-M4F處理器是一種新時(shí)代的內(nèi)核,擁有許多先進(jìn)功能。對(duì)比于CortexTM-M3,CortexTM-M4F處理器支持增強(qiáng)的高效DSP指令集,包含擴(kuò)展的單周期16/32位乘法累加器MAC、雙16位MAC指令、優(yōu)化的8/16位SIMD運(yùn)算及飽和運(yùn)算指令,并且具有單精度IEEE-754浮點(diǎn)運(yùn)算單元FPU。當(dāng)設(shè)計(jì)中使用帶DSP功能的CortexTM-M4F時(shí)就能格外節(jié)能,比軟件解決方案更快,使CortexTM-M4F適用于那些要求微控制器提供高效能與低功耗的產(chǎn)品市場(chǎng)。

1) Cortex-M4內(nèi)核架構(gòu)

圖1. Cortex-M4內(nèi)核架構(gòu)105e8436-0939-11ed-9ade-dac502259ad0.png

2)Cortex-M4與Cortex-M3的區(qū)別

表1. Cortex-M4與Cortex-M3的區(qū)別107e6c42-0939-11ed-9ade-dac502259ad0.png

3)部分DSP指令的介紹

表2. 單周期MAC指令介紹109ac928-0939-11ed-9ade-dac502259ad0.png注意:上面所有的指令操作在CM4處理器上都只需一個(gè)指令周期。

4)Cortex-M4 DSP指令比較

表3. Cortex-M4 DSP指令比較10c2a52e-0939-11ed-9ade-dac502259ad0.jpg

5)編譯器對(duì)DSP指令的支持

表4. 編譯器對(duì)DSP指令的支持10e46e02-0939-11ed-9ade-dac502259ad0.png

6)AT32F403A系統(tǒng)架構(gòu)

圖2. AT32F403A系統(tǒng)架構(gòu)圖11028cb6-0939-11ed-9ade-dac502259ad0.png注意:AT32F403A不支持EMAC,AT32F407/407A支持EMAC

ARM官方CMSIS DSP庫(kù)概述

CMSIS DSP庫(kù)說(shuō)明

CMSIS DSP軟件庫(kù),是針對(duì)使用Cortex-M內(nèi)核芯片提供一套數(shù)字信號(hào)處理函數(shù)。CMSIS DSP庫(kù)大部分函數(shù)都是支持f32,Q31,Q15和Q7四種格式的。該庫(kù)分為以下幾個(gè)功能:

  • 基本數(shù)學(xué)函數(shù)Basic math functions
  • 快速數(shù)學(xué)函數(shù)Fast math functions
  • 復(fù)數(shù)型數(shù)學(xué)函數(shù)Complex math functions
  • 濾波器函數(shù)Filters
  • 矩陣型函數(shù)Matrix functions
  • 數(shù)學(xué)變換型函數(shù)Transform functions
  • 電機(jī)控制函數(shù)Motor control functions
  • 統(tǒng)計(jì)型數(shù)學(xué)函數(shù)Statistical functions
  • 支持型數(shù)學(xué)Support functions
  • 插補(bǔ)型數(shù)學(xué)函數(shù)Interpolation functions

針對(duì)以上每一種類型的庫(kù)函數(shù),下文會(huì)有詳細(xì)介紹其使用方法和使用示例。

CMSIS DSP庫(kù)文件

考慮到方便用戶使用,ARM官方已編譯好Cortex-M各型號(hào)的.lib庫(kù)文件,并放置于Lib文件夾。與AT32F4xx相關(guān)的.Lib庫(kù)文件主要有以下兩種

  • arm_cortexM4lf_math.lib (Cortex-M4, Little endian, Floating Point Unit) for AT32F403 and AT32F413
  • arm_cortexM4l_math.lib (Cortex-M4, Little endian) for AT32F415

DSP庫(kù)函數(shù)的聲明位域頭文件arm_math.h中,用戶只要簡(jiǎn)單地將該頭文件和.lib文件添加到自己的工程中,即可呼叫DSP庫(kù)函數(shù)。該頭文件對(duì)于浮點(diǎn)運(yùn)算單元(FPU)的變量同樣適用。

CMSIS DSP庫(kù)示例

該CMSIS DSP庫(kù)中的多個(gè)示例可以很好地展現(xiàn)DSP庫(kù)函數(shù)的使用。

CMSIS DSP庫(kù)的工具鏈支持

該DSP庫(kù)已經(jīng)可以在5.14版本MDK上開發(fā)和測(cè)試過(guò)。另外針對(duì)GCC編譯器和IAR IDE,已經(jīng)支持。

編譯生成DSP的.lib庫(kù)文件

該DSP安裝包中已包含一個(gè)基于MDK的工程,通過(guò)編譯該工程可生成需要的.lib庫(kù)文件。該MDK工程位于CMSIS\DSP\Projects\ARM文件夾中。工程名為

  • arm_cortexM_math.uvprojx

通過(guò)打開并編譯該arm_cortexM_math.uvprojx MDK工程,可以生成該DSP的.lib庫(kù)文件。這樣用戶就可以根據(jù)特定的內(nèi)核,特定的優(yōu)化選擇去編譯特定DSP的.lib庫(kù)文件。同時(shí),通過(guò)該MDK工程,用戶也可以查看與修改指定的庫(kù)函數(shù)原型,便于了解庫(kù)函數(shù)的實(shí)現(xiàn)原理。

CMSIS-DSP文件夾結(jié)構(gòu)

以下表格展現(xiàn)了CMSIS-DSP文件夾結(jié)構(gòu)表5. CMSIS-DSP文件夾結(jié)構(gòu)1153c9d2-0939-11ed-9ade-dac502259ad0.png

CMSIS DSP庫(kù)移植到AT32

本文主要介紹DSP庫(kù)在MDK上的移植方法。

ARM官方CMSIS DSP函數(shù)詳解

  • 基本數(shù)學(xué)函數(shù)Basic math functions
  • 快速數(shù)學(xué)函數(shù)Fast math functions
  • 復(fù)數(shù)型數(shù)學(xué)函數(shù)Complex math functions
  • 濾波器函數(shù)Filters
  • 矩陣型函數(shù)Matrix functions
  • 數(shù)學(xué)變換型函數(shù)Transform functions
  • 電機(jī)控制函數(shù)Motor control functions
  • 統(tǒng)計(jì)型數(shù)學(xué)函數(shù)Statistical functions
  • 支持型數(shù)學(xué)Support functions
  • 插補(bǔ)型數(shù)學(xué)函數(shù)Interpolation functions

詳細(xì)使用方法和使用案例請(qǐng)參考1) ARM官網(wǎng)DSP培訓(xùn)資料地址:http://www.keil.com/pack/doc/CMSIS_Dev/DSP/html/index.html

AT32 DSP庫(kù)快速使用

硬件資源1) 指示燈LED2/LED3/LED42) USART1(PA9/PA10)3) AT-START-F403A V1.0實(shí)驗(yàn)板圖3. AT-START-F403A V1.0實(shí)驗(yàn)板117a02c8-0939-11ed-9ade-dac502259ad0.png注:該DSP demo是基于AT32F403A的硬件條件,若使用者需要在AT32其他型號(hào)上使用,請(qǐng)修改相應(yīng)配置即可。軟件資源

1) Libraries

  • drivers AT32底層驅(qū)動(dòng)庫(kù)
  • cmsis CMSIS DSP庫(kù)和CMSIS NN庫(kù)

2) Project\AT_START_F403A

  • examples,本文使用到的示例,如5_1_arm_class_marks_example,“5_1”表示章節(jié),“arm_class_marks_example”表示示例名稱
  • templates,基于.lib建立的DSP template工程

3) Doc

a) AN0036_DSP_Instruction_and_Library_on_AT32_ZH_V2.x.x.pdf

DSP demo使用1) 打開AT32_DSP_DEMO_2.x.x\project\at_start_xxx\templates,編譯后下載到實(shí)驗(yàn)板

2) 觀察LED2/LED3/LED4,若依次翻轉(zhuǎn)則表明程序有正確執(zhí)行DSP函數(shù)。

常用示例展示

本節(jié)主要通過(guò)使用前面介紹的DSP庫(kù)函數(shù)進(jìn)行案列展示,展示的示例如下:

  • 班級(jí)成績(jī)統(tǒng)計(jì)示例
  • 卷積示例
  • 點(diǎn)積示例
  • 頻率倉(cāng)示例
  • 低通濾波示例
  • 圖形音頻均衡器示例
  • 線性插值示例
  • 矩陣示例
  • 信號(hào)收斂示例
  • 正弦余弦示例
  • 方差示例
  • 卷積網(wǎng)絡(luò)神經(jīng)示例

班級(jí)成績(jī)統(tǒng)計(jì)示例

描述:演示使用最大,最小,均值,標(biāo)準(zhǔn)差,方差和矩陣函數(shù)來(lái)統(tǒng)計(jì)一個(gè)班級(jí)的成績(jī)。注意:此示例還演示了靜態(tài)初始化的用法。變量說(shuō)明:

  • testMarks_f32:指向20名學(xué)生在4門學(xué)科中獲得的分?jǐn)?shù)
  • max_marks:最高分成績(jī)
  • min_marks:最低分成績(jī)
  • mean:所有成績(jī)的平均分
  • var:所有成績(jī)的方差
  • std:標(biāo)準(zhǔn)差
  • numStudents:學(xué)生總數(shù)

使用到DSP軟件庫(kù)的函數(shù)有:

  • arm_mat_init_f32()
  • arm_mat_mult_f32()
  • arm_max_f32()
  • arm_min_f32()
  • arm_mean_f32()
  • arm_std_f32()
  • arm_var_f32()

參考

AT32_DSP_DEMO\project\at_start_f403a\examples\5_1_arm_class_marks_example

卷積示例

描述:本示例主要展示基于復(fù)數(shù) FFT、復(fù)數(shù)乘法與支持函數(shù)的卷積理論。

算法:

卷積理論指出,時(shí)域中的卷積對(duì)應(yīng)頻域中的乘法。因此,兩個(gè)信號(hào)的卷積后的傅里葉變換等于他們各自的傅里葉變換的乘積。使用快速傅里葉變換(FFT)可以有效的評(píng)估信號(hào)的傅里葉變換。兩個(gè)輸入信號(hào)a[n]和b[n]填充為零,n1和n2分別對(duì)應(yīng)其信號(hào)長(zhǎng)度。因此他們的長(zhǎng)度將變?yōu)镹,N大于或等于n1+n2-1。由于采用基4變換,因此基數(shù)為4。a[n]和b[n]的卷積是通過(guò)對(duì)輸入信號(hào)進(jìn)行FFT變換,對(duì)聯(lián)更新好進(jìn)行傅里葉變換。并對(duì)相乘后的結(jié)果進(jìn)行逆FFT變換來(lái)獲得的。

由以下公式表示:

A[k]=FFT(a[n],N)B[k]=FFT(b[n],N)conv(a[n], b[n])=IFFT(A[k]*B[k], N)其中A[k]和B[k]分別是信號(hào)a[n]和b[n]的N點(diǎn)FFT。卷積長(zhǎng)度為n1+n2-1

框圖:

圖4. 卷積算法框圖11bdcae4-0939-11ed-9ade-dac502259ad0.png變量說(shuō)明

  • testInputA_f32:指向第一個(gè)輸入序列
  • srcALen: 第一個(gè)輸入時(shí)序的長(zhǎng)度
  • testInputB_f32:指向第二個(gè)輸入序列
  • srcBLen:第二個(gè)輸入時(shí)序的長(zhǎng)度
  • outLen:卷積輸出序列的長(zhǎng)度,(srcALen+srcBLen-1)
  • AxB:指向FFT乘積后輸出數(shù)組地址

使用到DSP軟件庫(kù)的函數(shù)有:

  • arm_fill_f32()
  • arm_copy_f32()
  • arm_cfft_radix4_init_f32()
  • arm_cfft_radix4_f32()
  • arm_cmplx_mult_cmplx_f32()

參考

AT32_DSP_DEMO\project\at_start_f403a\examples\5_2_arm_convolution_example

點(diǎn)積示例

描述:本示例主要展示如何使用相乘和相加來(lái)實(shí)現(xiàn)點(diǎn)積。兩個(gè)向量的點(diǎn)積是通過(guò)將對(duì)應(yīng)元素相乘并相加來(lái)獲得的。

算法:

將長(zhǎng)度為n的兩個(gè)輸入向量A和B諸個(gè)元素相乘,然后相加以獲得點(diǎn)積。

由以下公式表示:

dotProduct=A[0]*B[0]+A[1]*B[1]+...+A[n-1]*B[n-1]

框圖:

圖5. 點(diǎn)積算法框圖11e9d1fc-0939-11ed-9ade-dac502259ad0.png

變量描述:

  • srcA_buf_f32:指向第一個(gè)輸入向量
  • srcB_buf_f32:指向第二個(gè)輸入向量
  • testOutput:存儲(chǔ)兩個(gè)向量的點(diǎn)積

使用到DSP軟件庫(kù)的函數(shù)有:

  • arm_mult_f32()
  • arm_add_f32()

參考AT32_DSP_DEMO\project\at_start_f403a\examples\5_3_arm_dotproduct_example

頻率倉(cāng)示例

描述:該示例主要展示使用復(fù)數(shù)FFT,復(fù)數(shù)幅值和最大值函數(shù)在輸入信號(hào)的頻域中計(jì)算最大能量倉(cāng)。

算法:

輸入測(cè)試信號(hào)為一個(gè)10 kHz信號(hào),該信號(hào)具有均勻分布的白噪聲。通過(guò)計(jì)算輸入信號(hào)的FFT計(jì)算可以得到與10 kHz輸入頻率相對(duì)應(yīng)的最大能量倉(cāng)。

框圖:

圖6. 頻率倉(cāng)算法框圖11fb1570-0939-11ed-9ade-dac502259ad0.png

圖8展示了具有均勻分布白噪聲的10 kHz信號(hào)的時(shí)域信號(hào),圖9展示了這個(gè)輸入信號(hào)的對(duì)應(yīng)的頻域信號(hào),其中出現(xiàn)最高點(diǎn)的數(shù)對(duì)應(yīng)的頻率即為10 kHz信號(hào)能量倉(cāng)。

圖7. 輸入信號(hào)的時(shí)域120bf75a-0939-11ed-9ade-dac502259ad0.png

圖8. 輸入信號(hào)的頻域

1222b468-0939-11ed-9ade-dac502259ad0.png輸入信號(hào)的頻域變量描述

  • testInput_f32_10khz:指向輸入數(shù)據(jù)
  • testOutput:指向輸出數(shù)據(jù)
  • fftSize l:FFT的長(zhǎng)度
  • ifftFlag flag:用于選擇 CFFT/CIFFT
  • doBitReverse Flag:用于選擇是順序還是逆序
  • refIndex:參考索引值,在該值處能量最大
  • testIndex:計(jì)算出的索引值,在該值處能量最大

使用到DSP軟件庫(kù)的函數(shù)有:

  • arm_cfft_f32()
  • arm_cmplx_mag_f32()
  • arm_max_f32()

參考AT32_DSP_DEMO\project\at_start_f403a\examples\5_4_arm_fft_bin_example

FIR低通濾波示例

描述:使用FIR低通濾波器從輸入中去除高頻信號(hào)部分。本示例展示了如何配置FIR濾波,然后以塊方式傳遞數(shù)據(jù)。圖9. FIR低通濾波算法框圖123d0908-0939-11ed-9ade-dac502259ad0.png

算法:

輸入信號(hào)時(shí)兩個(gè)正弦波的疊加:1 kHz and 15 kHz.該信號(hào)將被截止頻率為6 kHz的進(jìn)行低通濾波。低通濾波器濾掉了15 kHz信號(hào),僅留下1 kHz信號(hào)輸出。低通濾波器采用MATLAB設(shè)計(jì),采樣率為48 kHz,長(zhǎng)度為29點(diǎn)。生成濾波器的MATLAB代碼如下:h=fir1(28, 6/24);第一個(gè)參數(shù)是過(guò)濾器的“順序”,并且總是比所需長(zhǎng)度小1,。第二個(gè)參數(shù)是歸一化截止頻率。范圍是0(DC)到1.0(Nyquist)。24 kHz奈奎斯特頻率的6kHz截止頻率為6/24=0.25歸一化頻率。CMSIS FIR濾波器函數(shù)要求系數(shù)按時(shí)間倒序排列。所得濾波器系數(shù)如下圖所示。需要注意的是,該濾波器是對(duì)稱的(線性相位FIR濾波器的屬性)。對(duì)稱點(diǎn)是樣本14,對(duì)于所有頻率,該濾波器具有14個(gè)樣本的延遲。圖10. 低通濾波時(shí)域響應(yīng)12567aa0-0939-11ed-9ade-dac502259ad0.png

接下來(lái)顯示濾波器的響應(yīng)。濾波器的帶通增益為1.0,截止頻率為6kHz時(shí)達(dá)到0.5。

圖11. 低通濾波頻域響應(yīng)12678106-0939-11ed-9ade-dac502259ad0.png

輸入信號(hào)如下所示。左側(cè)顯示時(shí)域信號(hào),右側(cè)顯示頻域。可以清楚的看到兩個(gè)正弦波分量。

圖12. 輸入信號(hào)的時(shí)域信號(hào)和頻域信號(hào)1281301a-0939-11ed-9ade-dac502259ad0.png

濾波器輸出如下所示,15kHz分量已被消除。

圖13. 輸出信號(hào)的時(shí)域信號(hào)和頻域信號(hào)129dc982-0939-11ed-9ade-dac502259ad0.png

變量描述:

  • testInput_f32_1kHz_15kHz:指向輸入數(shù)據(jù)
  • refOutput points to the reference output data:指向參考輸出數(shù)據(jù)
  • testOutput points to the test output data:指向測(cè)試輸出數(shù)據(jù)
  • firStateF32 points to state buffer:指向狀態(tài)緩沖區(qū)
  • firCoeffs32 points to coefficient buffer:指向系數(shù)緩沖區(qū)
  • blockSize number of samples processed at a time:一次處理的樣本數(shù)
  • numBlocks number of frames:幀數(shù)

使用到DSP軟件庫(kù)的函數(shù)有:

  • arm_fir_init_f32()
  • arm_fir_f32()

參考

AT32_DSP_DEMO\project\at_start_f403a\examples\5_5_arm_fir_example

圖形音頻均衡器示例

描述:本示例展示了如何使用Biquad級(jí)聯(lián)函數(shù)構(gòu)造5頻段圖形均衡器。在音頻應(yīng)用中使用圖形均衡器來(lái)改變音頻的音質(zhì)。

框圖:

該設(shè)計(jì)是基于五級(jí)濾波器的級(jí)聯(lián)圖14. 五級(jí)濾波器聯(lián)算法框圖12c1debc-0939-11ed-9ade-dac502259ad0.png

每個(gè)濾波器部分均為40階,由兩個(gè)Biquad級(jí)聯(lián)組成。每個(gè)濾波器的標(biāo)稱為0 dB(線性單位為1.0)并對(duì)特定頻率范圍內(nèi)的信號(hào)進(jìn)行增強(qiáng)或截止。5個(gè)頻率段之間的邊緣頻率為100、500、2000和6000 Hz。每個(gè)頻段都有一個(gè)可調(diào)的增強(qiáng)或消減范圍,范圍為+/- 9 dB。列如,從500到2000 Hz的頻寬具有如下所示響應(yīng):

圖15. 從200Hz到2KHz的頻寬響應(yīng)12dc0062-0939-11ed-9ade-dac502259ad0.png

以1 dB為步長(zhǎng),每個(gè)濾波器共有19種不同的設(shè)置。在MATLAB中預(yù)先計(jì)算了所有19中可能設(shè)置的頻率器系數(shù),并將其存儲(chǔ)在表格中。使用5個(gè)不同表格,總共有5x19=95個(gè)不同的4階過(guò)濾器。所有95個(gè)響應(yīng)如下所示:

圖16. 19X5頻率系數(shù)的過(guò)濾器響應(yīng)12f82e54-0939-11ed-9ade-dac502259ad0.png

每個(gè)4階濾波器具有10個(gè)系數(shù),意味著排列成950個(gè)不同濾波器系數(shù)。輸入和輸出數(shù)據(jù)為Q31模式。為了獲得更好的噪聲性能,兩個(gè)低頻算使用高精度 32x64 位雙二階濾波器。本示例中的輸入信號(hào)使用對(duì)數(shù)線性調(diào)頻。

圖17. 輸入信號(hào)對(duì)數(shù)線性調(diào)頻13137614-0939-11ed-9ade-dac502259ad0.png

數(shù)組bandGains指定以dB為單位的增益應(yīng)用于每個(gè)帶寬。例如,如果bandGains={0, -3, 6, 4, -6};那么輸出信號(hào)將是:

圖18. bandGains調(diào)頻輸出信號(hào)132bc5d4-0939-11ed-9ade-dac502259ad0.png

注意:

輸出線性調(diào)頻信號(hào)跟隨著每個(gè)帶寬的增益或增強(qiáng)而變化。變量描述:

  • testInput_f32:指向輸入數(shù)據(jù)
  • testRefOutput_f32:指向參考輸出數(shù)據(jù)
  • testOutput:指向測(cè)試輸出數(shù)據(jù)
  • inputQ31:臨時(shí)輸入緩沖區(qū)
  • outputQ31:臨時(shí)輸出緩沖區(qū)
  • biquadStateBand1Q31:指向band1的狀態(tài)緩沖區(qū)
  • biquadStateBand2Q31:指向band2的狀態(tài)緩沖區(qū)
  • biquadStateBand3Q31:指向band3的狀態(tài)緩沖區(qū)
  • biquadStateBand4Q31:指向band4的狀態(tài)緩沖區(qū)
  • biquadStateBand5Q31:指向band5的狀態(tài)緩沖區(qū)
  • coeffTable:指向所有頻段的系數(shù)緩沖區(qū)
  • gainDB:增益緩沖器,其增益適用于所有頻段

使用到DSP軟件庫(kù)的函數(shù)有:

  • arm_biquad_cas_df1_32x64_init_q31()
  • arm_biquad_cas_df1_32x64_q31()
  • arm_biquad_cascade_df1_init_q31()
  • arm_biquad_cascade_df1_q31()
  • arm_scale_q31()
  • arm_scale_f32()
  • arm_float_to_q31()
  • arm_q31_to_float()

參考

AT32_DSP_DEMO\project\at_start_f403a\examples\5_6_arm_graphic_equalizer_example

線性插值示例

描述:本案示例展示了線性插值模型和快速數(shù)學(xué)模型的用法。方法1使用快速數(shù)學(xué)正弦函數(shù)通過(guò)三次插值計(jì)算正弦值。方法2使用線性插值函數(shù)并將結(jié)果與參考輸出進(jìn)行比較。示例顯示,與快速數(shù)學(xué)正弦計(jì)算相比,線性插值函數(shù)可用于獲得更高的精度。

算法1:使用快速數(shù)學(xué)函數(shù)進(jìn)行正弦計(jì)算

圖19. 快速數(shù)學(xué)函數(shù)算法框圖1344f34c-0939-11ed-9ade-dac502259ad0.png

算法2:使用插值函數(shù)進(jìn)行正弦計(jì)算

圖20. 插值函數(shù)算法框圖13621742-0939-11ed-9ade-dac502259ad0.png

變量描述:

  • testInputSin_f32指向用于正弦計(jì)算的輸入值
  • testRefSinOutput32_f32指向由matlab計(jì)算得到輸出參考值p
  • testOutput指向由三次插值計(jì)算得到的輸出緩沖
  • testLinIntOutput指向由線性插值計(jì)算得到的輸出緩沖
  • snr1參考輸出和三次插值輸出的信噪比
  • snr2參考輸出和線性插值輸出的信噪比

使用到DSP軟件庫(kù)的函數(shù)有:

  • arm_sin_f32()
  • arm_linear_interp_f32()

參考

AT32_DSP_DEMO\project\at_start_f403a\examples\5_7_arm_linear_interp_example

矩陣示例

描述:該示例展示了使用矩陣轉(zhuǎn)置、矩陣乘法和矩陣求逆函數(shù)應(yīng)用于最小二乘法處理的輸入數(shù)據(jù)。最小二乘法是用于查找最佳擬合曲線,該曲線可使給定數(shù)據(jù)及的偏移平方和(最小方差)最小化。

算法:

做考慮參數(shù)的線性組合如下:The linear combination of parameters considered is as follows:A*X=B, where X is the unknown value and can be estimated from A & B.其中X表示未知值,可以根據(jù)A和B進(jìn)行估算。最小二乘法估算值X由以下公式算出X=Inverse(AT*A)*AT*B

框圖:

圖21. 矩陣算法框圖1378be66-0939-11ed-9ade-dac502259ad0.png

變量描述:

A_f32 input matrix:線性組合方程的輸入矩陣B_f32 output matrix:線性組合方程的輸出矩陣X_f32 unknown matrix:矩陣A_f32和B_f32估計(jì)而得到的未知矩陣

使用到DSP軟件庫(kù)的函數(shù)有:

arm_mat_init_f32()arm_mat_trans_f32()arm_mat_mult_f32()arm_mat_inverse_f32()

參考

AT32_DSP_DEMO\project\at_start_f403a\examples\5_8_arm_matrix_example

信號(hào)收斂示例

描述:演示了展示了FIR低通濾波傳遞函數(shù)的自適應(yīng)濾波器“學(xué)習(xí)”能力,使用到的函數(shù)有歸一化LMS濾波器,有限沖擊相應(yīng)(FIR)濾波器和基本數(shù)學(xué)函數(shù)來(lái)。

算法:

下圖說(shuō)明了此示例的信號(hào)流。均勻分布的白噪聲通過(guò)FIR低通濾波器進(jìn)行濾波。FIR濾波器的輸出為自適應(yīng)濾波器(標(biāo)準(zhǔn)化LMS濾波器)的提供參考輸入。白噪聲是自適應(yīng)濾波器的輸入。自適應(yīng)濾波器學(xué)習(xí)FIR濾波器的傳遞函數(shù)。該濾波器輸出兩個(gè)信號(hào):(1)內(nèi)部自適應(yīng)FIR濾波器的輸出(2)自適應(yīng)濾波器與FIR的參考輸出之間的誤差信號(hào)。隨著自適應(yīng)的濾波器不斷學(xué)習(xí)學(xué)習(xí)FIR濾波器的傳遞函數(shù),第一個(gè)輸出將會(huì)接近于FIR濾波器的參考輸出,誤差信號(hào)也會(huì)不斷接近于零。即使輸入信號(hào)具有大的變化范圍(即,從小到大變化),自適應(yīng)濾波器也能正確收斂。自適應(yīng)濾波器的系數(shù)初始化為零,在1536個(gè)樣本上,內(nèi)部函數(shù)test_signal_converge()找到停止條件。該功能檢查誤差信息的所有值是否都低于閾值DELTA的幅度。

框圖:

圖22. 信號(hào)收斂算法框圖138fbc1a-0939-11ed-9ade-dac502259ad0.png

變量描述:

testInput_f32:指向輸入數(shù)據(jù)firStateF32:指向FIR狀態(tài)緩沖區(qū)lmsStateF32:指向歸一化最小方差FIRFIRCoeff_f32:指向系數(shù)緩沖區(qū)lmsNormCoeff_f32:指向歸一化最小方差FIR濾波器系數(shù)緩沖區(qū)wire1, wir2, wire3:臨時(shí)緩沖區(qū)errOutput, err_signal:臨時(shí)錯(cuò)誤緩沖區(qū)

使用到DSP軟件庫(kù)的函數(shù)有:

arm_lms_norm_init_f32()arm_fir_init_f32()arm_fir_f32()arm_lms_norm_f32()arm_scale_f32()arm_abs_f32()arm_sub_f32()arm_min_f32()arm_copy_f32()

參考

AT32_DSP_DEMO\project\at_start_f403a\examples\5_9_arm_signal_converge_example

正弦余弦示例

描述:Demonstrates the Pythagorean trignometric identity with the use of Cosine, Sine, Vector Multiplication, and Vector Addition functions.通過(guò)使用正弦,余弦,向量乘法和向量加法函數(shù)演示三角學(xué)的勾股定理

算法:

數(shù)學(xué)上,勾股三角學(xué)恒等式由以下方程式定義:sin(x)*sin(x)+cos(x)*cos(x)=1其中x為弧度值

框圖:

圖23. 使用正弦余弦演示勾股定理算法框圖13b1e6e6-0939-11ed-9ade-dac502259ad0.png

變量描述:

testInput_f32:以弧度為單位的角度輸入數(shù)組testOutput stores:正弦值和余弦值的平方和

使用到 DSP 軟件庫(kù)的函數(shù)有:

arm_cos_f32()arm_sin_f32()arm_mult_f32()arm_add_f32()

參考

AT32_DSP_DEMO\project\at_start_f403a\examples\5_10_arm_sin_cos_example
方差示例描述:演示如何使用基本函數(shù)和支持函數(shù)來(lái)計(jì)算 N 個(gè)樣本的輸入序列的方差,將均勻分布的白噪聲作為輸入。

算法:

序列的方差是各序列與序列平均值的平方差的平均值。

這有以下等式表示:

variance=((x[0]-x')*(x[0]-x')+(x[1]-x')*(x[1]-x')+...+*(x[n-1]-x')*(x[n-1]-x'))/(N-1)其中,x[n]是輸入序列,N輸入樣本數(shù),x是輸入序列x[n]的平均值。

平均值x的定義如下:

x'=(x[0]+x[1]+...+x[n-1])/N

框圖:

圖24. 方差算法框圖13cda64c-0939-11ed-9ade-dac502259ad0.png

變量描述:

testInput_f32:指向輸入數(shù)據(jù)wire1, wir2, wire3 :臨時(shí)數(shù)據(jù)緩沖區(qū)blockSize:一次處理的樣本數(shù)refVarianceOut:參考方差值

使用到DSP軟件庫(kù)的函數(shù)有:

arm_dot_prod_f32()arm_mult_f32()arm_sub_f32()arm_fill_f32()arm_copy_f32()

參考

AT32_DSP_DEMO\project\at_start_f403a\examples\5_11_arm_variance_example

CMSIS NN with DSP

介紹本用戶手冊(cè)介紹了CMSIS NN軟件庫(kù),這是一個(gè)有效的神經(jīng)網(wǎng)絡(luò)內(nèi)核的集合,這些內(nèi)核的開發(fā)旨在最大程度地提高性能,并最大程度地減少神經(jīng)網(wǎng)絡(luò)在Cortex-M處理器內(nèi)核上的存儲(chǔ)空間。該庫(kù)分為多個(gè)函數(shù),每個(gè)函數(shù)涵蓋特定類別:神經(jīng)網(wǎng)絡(luò)卷積函數(shù)神經(jīng)網(wǎng)絡(luò)激活功能全連接層功能神經(jīng)網(wǎng)絡(luò)池功能Softmax函數(shù)神經(jīng)網(wǎng)絡(luò)支持功能

該庫(kù)具有用于對(duì)不同的權(quán)重和激活數(shù)據(jù)類型進(jìn)行操作的單獨(dú)函數(shù),包括8位整數(shù)(q7_t)和16位整數(shù)(q15_t)。功能說(shuō)明中包含內(nèi)核的描述。本文[1]中也描述了實(shí)現(xiàn)細(xì)節(jié)。

圖25. CMSIS NN程序架構(gòu)13eadeb0-0939-11ed-9ade-dac502259ad0.png

例子

該庫(kù)附帶了許多示例,這些示例演示了如何使用庫(kù)函數(shù)。

預(yù)處理器宏

每個(gè)庫(kù)項(xiàng)目都有不同的預(yù)處理器宏。

ARM_MATH_DSP:

如果芯片支持DSP指令,則定義宏ARM_MATH_DSP。

ARM_MATH_BIG_ENDIAN:

定義宏ARM_MATH_BIG_ENDIAN來(lái)為大型字節(jié)序目標(biāo)構(gòu)建庫(kù)。默認(rèn)情況下,為小端目標(biāo)建立庫(kù)。

ARM_NN_TRUNCATE:

定義宏ARM_NN_TRUNCATE以使用floor而不是round-to-the-nearest-int進(jìn)行計(jì)算

卷積神經(jīng)網(wǎng)絡(luò)示例

描述:演示了使用卷積,ReLU激活,池化和全連接功能的卷積神經(jīng)網(wǎng)絡(luò)(CNN)示例。

型號(hào)定義:

本示例中使用的CNN基于Caffe [1]的CIFAR-10示例。該神經(jīng)網(wǎng)絡(luò)由3個(gè)卷積層組成,其中散布有ReLU激活層和最大池化層,最后是一個(gè)完全連接的層。網(wǎng)絡(luò)的輸入是32x32像素的彩色圖像,它將被分類為10個(gè)輸出類別之一。此示例模型實(shí)現(xiàn)需要32.3 KB的存儲(chǔ)權(quán)重,40 KB的激活權(quán)和3.1 KB的存儲(chǔ)im2col數(shù)據(jù)。圖26. CIFAR10 CN算法框圖14077a16-0939-11ed-9ade-dac502259ad0.png

神經(jīng)網(wǎng)絡(luò)模型定義

變量說(shuō)明:conv1_wt,conv2_wt,conv3_wt是卷積層權(quán)重矩陣conv1_bias,conv2_bias,conv3_bias是卷積層偏置數(shù)組ip1_wt,ip1_bias指向完全連接的圖層權(quán)重和偏差input_data指向輸入圖像數(shù)據(jù)output_data指向分類輸出col_buffer是用于存儲(chǔ)im2col輸出的緩沖區(qū)scratch_buffer用于存儲(chǔ)激活數(shù)據(jù)(中間層輸出)

CMSIS DSP軟件庫(kù)使用的功能:

arm_convolve_HWC_q7_RGB()arm_convolve_HWC_q7_fast()arm_relu_q7()arm_maxpool_q7_HWC()arm_avepool_q7_HWC()arm_fully_connected_q7_opt()arm_fully_connected_q7()

請(qǐng)參閱

AT32_DSP_DEMO\project\at_start_f403a\examples\6_1_arm_nnexamples_cifar10

門控循環(huán)單元示例

描述:使用完全連接的 Tanh / Sigmoid 激活功能演示門控循環(huán)單元(GRU)示例。

型號(hào)定義:

GRU是一種遞歸神經(jīng)網(wǎng)絡(luò)(RNN)。它包含兩個(gè)S型門和一個(gè)隱藏狀態(tài)。

計(jì)算可以總結(jié)為:

z[t]=Sigmoid(W_z?{h[t-1],x[t]})r[t]=sigmoid(W_r?{h[t-1],x[t]})n[t]=tanh(W_n?[r[t]×{h[t-1],x[t]})h[t]=(1-z[t])×h[t-1]+z[t]×n[t]圖27. 門極遞歸單元圖14206e2c-0939-11ed-9ade-dac502259ad0.png變量說(shuō)明:update_gate_weights,reset_gate_weights,hidden_state_weights 是與更新門(W_z),重置門(W_r)和隱藏狀態(tài)(W_n)對(duì)應(yīng)的權(quán)重。update_gate_bias,reset_gate_bias,hidden_state_bias是圖層偏置數(shù)組test_input1,test_input2,test_history 是輸入和初始?xì)v史記錄

緩沖區(qū)分配為:

|重置|輸入|歷史|更新| hidden_state |這樣,由于(復(fù)位,輸入)和(輸入,歷史記錄)在存儲(chǔ)器中被物理地隱含,所以自動(dòng)完成隱含。權(quán)重矩陣的順序應(yīng)相應(yīng)調(diào)整。

CMSIS DSP 軟件庫(kù)使用的功能:

arm_fully_connected_mat_q7_vec_q15_opt()arm_nn_activations_direct_q15()arm_mult_q15()arm_offset_q15()arm_sub_q15()arm_copy_q15()

請(qǐng)參閱

AT32_DSP_DEMO\project\at_start_f403a\examples\6_2_arm_nnexamples_gru

DSP Lib的生成和使用

本節(jié)主要講解如何將DSP源碼打包為不同內(nèi)核MCU所使用的lib文件。在Artery所提供的DSP包中沒(méi)有包含官方所提供的lib文件,但包含了可生成lib文件的ARM、GCC、IAR三種編譯環(huán)境的工程,用戶可根據(jù)自己的需要選擇適用的lib文件來(lái)進(jìn)行生成。亦可將生成的lib文件替換掉工程中的DSP源碼。下面分為兩個(gè)部分來(lái)講解lib文件的生成和使用。

DSP Lib生成

下面以ARM編譯環(huán)境為例,展示如何生成所需的lib文件:1) 打開SourceCode\libraries\cmsis\DSP\Projects\ARM中的Keil工程;2) 在①處select target下拉框選擇所需生成的lib文件;3) 點(diǎn)擊②處進(jìn)行編譯;4) 待③處顯示lib文件生成信息;5) 在SourceCode\libraries\cmsis\DSP\Lib\ARM中查看生成的lib文件。圖28. DSP Lib生成143aa2ce-0939-11ed-9ade-dac502259ad0.png

DSP Lib使用

下面以5_1_arm_class_marks_example為例,展示如何使用lib文件:1) 點(diǎn)擊①處打開manage project items界面;2) 點(diǎn)擊②處,將③處內(nèi)容全部刪除;3) 點(diǎn)擊④處找到SourceCode\libraries\cmsis\DSP\Lib\ARM路徑下的lib文件進(jìn)行添加;4) 點(diǎn)擊OK,編譯工程。圖29. DSP Lib使用145dd942-0939-11ed-9ade-dac502259ad0.png

關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動(dòng)全球市場(chǎng)32位微控制器(MCU)創(chuàng)新趨勢(shì)的芯片設(shè)計(jì)公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進(jìn)工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運(yùn)算效能,并支持工業(yè)級(jí)別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當(dāng)多元的終端產(chǎn)品成功案例:如微型打印機(jī)、掃地機(jī)、光流無(wú)人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競(jìng)周邊市場(chǎng)、斷路器、ADAS、T-BOX、數(shù)字電源、電動(dòng)工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17229

    瀏覽量

    351967
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32轉(zhuǎn)AT32代碼轉(zhuǎn)換

    1.引言在嵌入式開發(fā)中,我們經(jīng)常會(huì)遇到更換單片機(jī)芯片的事情,若芯片是同一廠家的還好說(shuō),若是不同廠家的則需要重新寫,重新調(diào),重新去學(xué)習(xí)其底層驅(qū)動(dòng)程序,比較費(fèi)時(shí)費(fèi)力。如:ST32轉(zhuǎn)AT32、ST32轉(zhuǎn)
    的頭像 發(fā)表于 09-28 08:09 ?356次閱讀
    STM32轉(zhuǎn)<b class='flag-5'>AT32</b>代碼轉(zhuǎn)換

    AT32講堂088 | 雅特力AT32F402/F405時(shí)鐘配置

    簡(jiǎn)介時(shí)鐘是芯片正確高效運(yùn)行的基礎(chǔ),正確的時(shí)鐘配置是芯片能正確運(yùn)行的必要條件,其重要性不言而喻。AT32各系列產(chǎn)品的時(shí)鐘配置部分可能存在細(xì)微的差異和需要注意的事項(xiàng),本文檔就著重針對(duì)各系列的情況來(lái)詳細(xì)
    的頭像 發(fā)表于 09-15 08:08 ?554次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | 雅特力AT32F402/F405時(shí)鐘配置

    雅特力AT32 MCU的隨機(jī)數(shù)生成

    概述產(chǎn)品和生態(tài)系統(tǒng)安全性的需求比以往任何時(shí)候都更加重要。真隨機(jī)數(shù)是所有安全系統(tǒng)的核心,其質(zhì)量會(huì)影響設(shè)計(jì)的安全性。因此在沒(méi)有內(nèi)置硬件TRNG的AT32的微控制器系列中,如何提高隨機(jī)數(shù)的有效,來(lái)符合
    的頭像 發(fā)表于 08-30 12:26 ?659次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的隨機(jī)數(shù)生成

    AT32講堂085 | 雅特力AT32 MCU HICK時(shí)鐘校準(zhǔn)

    簡(jiǎn)介AT32系列MCU內(nèi)部都有提供適合運(yùn)行的內(nèi)部高速時(shí)鐘(HICK),其本質(zhì)就是內(nèi)置于芯片的RC振蕩器。在25℃下,其典型值頻率8MHz的精度由工廠校準(zhǔn)到±1%,在-40到105℃,該內(nèi)部高速時(shí)鐘
    的頭像 發(fā)表于 08-30 12:26 ?741次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | 雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK時(shí)鐘校準(zhǔn)

    基于MCU神經(jīng)網(wǎng)絡(luò)模型設(shè)計(jì)

    力不從心。神經(jīng)網(wǎng)絡(luò)作為一種強(qiáng)大的機(jī)器學(xué)習(xí)模型,能夠提供高效的數(shù)據(jù)處理和分析能力,但其計(jì)算復(fù)雜度和資源需求往往超出了普通MCU的能力范圍。因此,設(shè)計(jì)一種適合MCU運(yùn)行的神經(jīng)網(wǎng)絡(luò)模型,成為
    的頭像 發(fā)表于 07-12 18:21 ?1160次閱讀

    移植CMSIS-NN v6.0.0版本到VisionBoard

    CMSIS-NN是什么?官方的解釋是:CMSISNNsoftwarelibraryisacollectionofefficientneuralnetworkkernelsdevelopedtomaximizetheperformanceandminimizethememoryfootprintofneuralnet
    的頭像 發(fā)表于 07-10 08:35 ?684次閱讀
    移植<b class='flag-5'>CMSIS-NN</b> v6.0.0版本到VisionBoard

    bp神經(jīng)網(wǎng)絡(luò)算法的基本流程包括哪些

    BP神經(jīng)網(wǎng)絡(luò)算法,即反向傳播神經(jīng)網(wǎng)絡(luò)算法,是一種常用的多層前饋神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法。它通過(guò)反向傳播誤
    的頭像 發(fā)表于 07-04 09:47 ?709次閱讀

    bp神經(jīng)網(wǎng)絡(luò)算法過(guò)程包括

    算法過(guò)程,包括網(wǎng)絡(luò)結(jié)構(gòu)、激活函數(shù)、訓(xùn)練過(guò)程、反向傳播算法、權(quán)重更新策略等。 網(wǎng)絡(luò)結(jié)構(gòu) BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層和輸出層組成,每層包含若
    的頭像 發(fā)表于 07-04 09:45 ?516次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法的優(yōu)缺點(diǎn)有哪些

    神經(jīng)網(wǎng)絡(luò)反向傳播算法(Backpropagation Algorithm)是一種廣泛應(yīng)用于深度學(xué)習(xí)和機(jī)器學(xué)習(xí)領(lǐng)域的優(yōu)化算法,用于訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò)。本文將介紹反向傳播
    的頭像 發(fā)表于 07-03 11:24 ?1151次閱讀

    BP神經(jīng)網(wǎng)絡(luò)算法的基本流程包括

    BP神經(jīng)網(wǎng)絡(luò)算法,即反向傳播(Backpropagation)神經(jīng)網(wǎng)絡(luò)算法,是一種多層前饋神經(jīng)網(wǎng)絡(luò),通過(guò)反向傳播誤差來(lái)訓(xùn)練
    的頭像 發(fā)表于 07-03 09:52 ?551次閱讀

    神經(jīng)網(wǎng)絡(luò)算法的優(yōu)缺點(diǎn)有哪些

    神經(jīng)網(wǎng)絡(luò)算法是一種模擬人腦神經(jīng)元結(jié)構(gòu)的計(jì)算模型,廣泛應(yīng)用于機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、圖像識(shí)別、語(yǔ)音識(shí)別等領(lǐng)域。然而,神經(jīng)網(wǎng)絡(luò)算法也存在一些優(yōu)缺點(diǎn)。
    的頭像 發(fā)表于 07-03 09:47 ?1543次閱讀

    神經(jīng)網(wǎng)絡(luò)算法的基本原理

    神經(jīng)網(wǎng)絡(luò)算法是人工智能領(lǐng)域的一種重要算法,它模仿了人腦神經(jīng)元網(wǎng)絡(luò)的結(jié)構(gòu)和功能,通過(guò)對(duì)大量數(shù)據(jù)進(jìn)行學(xué)習(xí)和訓(xùn)練,實(shí)現(xiàn)對(duì)復(fù)雜問(wèn)題的求解。 神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 09:44 ?1022次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法原理是什么

    神經(jīng)網(wǎng)絡(luò)反向傳播算法(Backpropagation Algorithm)是一種用于訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)算法。它通過(guò)最小化損失函數(shù)來(lái)調(diào)整網(wǎng)
    的頭像 發(fā)表于 07-02 14:16 ?723次閱讀

    西門子推出Catapult AI NN軟件,賦能神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(jì)

    西門子數(shù)字化工業(yè)軟件近日發(fā)布了Catapult AI NN軟件,這款軟件在神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(jì)領(lǐng)域邁出了重要一步。Catapult AI NN軟件專注于在專用集成電路(ASIC)和芯片級(jí)系統(tǒng)(SoC)上實(shí)現(xiàn)
    的頭像 發(fā)表于 06-19 11:27 ?897次閱讀

    雅特力AT32 MCU與SEGGER攜手合作,開發(fā)量產(chǎn)事半功倍

    近日,雅特力與SEGGER共同宣布J-Link仿真調(diào)試器與Flasher在線燒錄器全面支持AT32 MCU產(chǎn)品,SEGGER工具鏈的加持使AT32 MCU開發(fā)如虎添翼。 雅特力自201
    的頭像 發(fā)表于 02-23 10:27 ?442次閱讀