日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

一文帶你們了解什么是CORDIC算法

電子工程師 ? 來源:OFweek維科網(wǎng) ? 作者: 科學(xué)文化人 ? 2021-04-11 11:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CORDIC算法簡介

信號處理領(lǐng)域,CORDIC(Coordinate Rotation Digital Computer,坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī))算法具有重大工程意義。CORDIC算法由Vloder于1959年在設(shè)計(jì)美國航空導(dǎo)航控制系統(tǒng)時(shí)提出,主要用于解決導(dǎo)航系統(tǒng)中三角函數(shù)、反三角函數(shù)和開方等運(yùn)算的實(shí)時(shí)計(jì)算問題。

1971年,Walther將圓周系統(tǒng)、線性系統(tǒng)和雙曲線系統(tǒng)統(tǒng)一到一個(gè)CORDIC迭代方程里,從而額提出了一種統(tǒng)一的CORDIC算法形式。

CORDIC算法的核心是利用加法和移位的迭代操作去替代復(fù)雜的運(yùn)算,從而非常有利于硬件實(shí)現(xiàn)。CORDIC算法應(yīng)用廣泛,如離散傅里葉變換(DFT)、離散余弦變換(DCT)、離散Hartley變換、Chirp-Z變換、各種濾波以及矩陣中的奇異值分解。

在工程領(lǐng)域,可采用CORDIC算法實(shí)現(xiàn)直接數(shù)字頻率合成器(DDS)、計(jì)算I/Q信號的幅度和相位。

01CORDIC基本原理

我們假設(shè)在笛卡爾坐標(biāo)系(也就是我們常見的XY直角坐標(biāo)系)中,將點(diǎn)(x1,y1)旋轉(zhuǎn)θ角度到點(diǎn)(x2,y2)的標(biāo)準(zhǔn)方法如下所示:

4e0868e4-99a8-11eb-8b86-12bb97331649.png

根據(jù)上圖,我們利用高中學(xué)習(xí)的三角函數(shù)、圓方程和極坐標(biāo)等中學(xué)知識,可以得到:

4e1d3544-99a8-11eb-8b86-12bb97331649.png

這被稱為是平面旋轉(zhuǎn)、向量旋轉(zhuǎn)或者線性 ( 矩陣) 代數(shù)中的 Givens 旋轉(zhuǎn)。

上面的式子,我們將大學(xué)二年級學(xué)習(xí)的線性代數(shù)知識拿出來,用矩陣的形式來表示,于是得到:

4e28e5a6-99a8-11eb-8b86-12bb97331649.png

例如,我們做一個(gè)90°的相移,即θ=90:

4e3b4016-99a8-11eb-8b86-12bb97331649.png

這里注意cos和sin函數(shù)在直角坐標(biāo)系下的物理意義,于是我們得到下面的圖示。

4e4b0ffa-99a8-11eb-8b86-12bb97331649.png

上面的第一個(gè)式子,我們假設(shè)提出一個(gè)公因子cosθ,那么我們可以得到:

4e5399cc-99a8-11eb-8b86-12bb97331649.png

如果去除項(xiàng),我們得到 偽旋轉(zhuǎn) 方程式 :

4e683a44-99a8-11eb-8b86-12bb97331649.png

即旋轉(zhuǎn)的角度是正確的,但是x 與 y 的值增加cos-1θ 倍 ( 由于cos-1θ》 1),所以模值變大。

注意我們并不能通過適當(dāng)?shù)臄?shù)學(xué)方法去除cosθ 項(xiàng) , 然而隨后我們發(fā)現(xiàn)去除項(xiàng)可以簡化坐標(biāo)平面旋轉(zhuǎn)的計(jì)算操作。

怎么說呢?

在XY坐標(biāo)系中,結(jié)合上面的偽旋轉(zhuǎn)公式,我們可以用下圖表示:

4e73f26c-99a8-11eb-8b86-12bb97331649.png

于是,我們得出以下結(jié)論:

經(jīng)過偽旋轉(zhuǎn)之后,向量 R 的模值將增加1/cosθ 倍。

向量旋轉(zhuǎn)了正確的角度 , 但模值出現(xiàn)錯(cuò)誤。

經(jīng)過偽旋轉(zhuǎn)后, 輸出進(jìn)行適當(dāng)?shù)姆壬炜s(1/cosθ),是不是就可以得到旋轉(zhuǎn)后的坐標(biāo)了。

02CORDIC方法

CORDIC 方法的核心是 ( 偽) 旋轉(zhuǎn)角θ,其中,

4e81160e-99a8-11eb-8b86-12bb97331649.png

這個(gè)等式是怎么推導(dǎo)出來的呢?

所以方程為:

4e9c3628-99a8-11eb-8b86-12bb97331649.png

下面的表格指出用于 CORDIC 算法中每個(gè)迭代 (i) 的旋轉(zhuǎn)角度 (精確到 9位小數(shù)):

4eb06ee0-99a8-11eb-8b86-12bb97331649.png

note:由于i是整數(shù),所以對應(yīng)的角度值都是一一確定的,只能通過幾個(gè)角度的加減組合來達(dá)到你所想要的角度值。

注意有三個(gè)方面的變化:

角度累加(減)

坐標(biāo)值累加(減)

向量的模(也就是長度的,相對于橫縱坐標(biāo)的)累加(減)

這三個(gè)累加的變化時(shí)不一樣的,注意區(qū)別,角度的累加和長度的累加有一定的對應(yīng)關(guān)系。

4ed6a65a-99a8-11eb-8b86-12bb97331649.png

03角度累加器

4f11f962-99a8-11eb-8b86-12bb97331649.png

4f58711c-99a8-11eb-8b86-12bb97331649.png

上述三個(gè)方程式為圓周坐標(biāo)系中用于角度旋轉(zhuǎn)的 CORDIC 算法的表達(dá)式。后續(xù)部分中我們還將看到CORDIC 算法被用于其它的坐標(biāo)系,通過使用這些坐標(biāo)系可以執(zhí)行更大范圍的函數(shù)計(jì)算。

04移位-加法算法

因此, 原始的算法現(xiàn)在已經(jīng)被減化為使用向量的偽旋轉(zhuǎn)來表示的迭代移位-相加算法 :

4fadaccc-99a8-11eb-8b86-12bb97331649.png

因此,每個(gè)迭代需要:

4fe6347a-99a8-11eb-8b86-12bb97331649.png

note:前面提到的去除 cos 項(xiàng)的原因是顯而易見的。當(dāng)將該項(xiàng)去除時(shí),轉(zhuǎn)換公式已經(jīng)被簡化為偽旋轉(zhuǎn)的迭代移位相加計(jì)算。

CORDIC 硬件實(shí)現(xiàn)結(jié)構(gòu):

500ead74-99a8-11eb-8b86-12bb97331649.png

05伸縮因子

前面提到,為了得到偽旋轉(zhuǎn)公式,我們把公因子cosθ忽略了,但在實(shí)際運(yùn)算中,不能就這樣簡單粗暴拋棄。

我們再次對cosθ進(jìn)行變形:

50222e62-99a8-11eb-8b86-12bb97331649.png

于是,我們可以得到:

5036b080-99a8-11eb-8b86-12bb97331649.png

如果我們已知了將被執(zhí)行的迭代次數(shù),我們便可以預(yù)先計(jì)算出 1/Kn 的值,并通過將 1/Kn 與 x(n) 和 y(n)相乘來校正x(n) 和 y(n) 的最終值。

CORDIC有兩種工作模式:旋轉(zhuǎn)模式和向量模式。

50810b94-99a8-11eb-8b86-12bb97331649.png

50f33318-99a8-11eb-8b86-12bb97331649.png

51fd388a-99a8-11eb-8b86-12bb97331649.png

520ef584-99a8-11eb-8b86-12bb97331649.png

06三種坐標(biāo)系下的CORDIC

5565e846-99a8-11eb-8b86-12bb97331649.png

55a30320-99a8-11eb-8b86-12bb97331649.png

然而, 我們將會看到,通過考慮其它坐標(biāo)系中的旋轉(zhuǎn), 我們可以直接計(jì)算更多的函數(shù), 如乘法和除法, 進(jìn)而間接計(jì)算更多的其它函數(shù)。

55d58d90-99a8-11eb-8b86-12bb97331649.png

使用其它坐標(biāo)系的 CORDIC 算法的優(yōu)點(diǎn)是可以計(jì)算更多的函數(shù), 而缺點(diǎn)則是系統(tǒng)將變得更加復(fù)雜。當(dāng)把CORDIC 算法用于線性或雙曲坐標(biāo)系時(shí), 在圓周坐標(biāo)系中的旋轉(zhuǎn)角度集將不再有效。所以, 這些系統(tǒng)應(yīng)使用其它的兩種旋轉(zhuǎn)角度集。

我們會發(fā)現(xiàn),可以推導(dǎo)出可在 3 個(gè)坐標(biāo)系中表示 CORDIC 方程的通用公式。這意味著在方程式中引入兩個(gè)新變量。其中一個(gè)新變量 (e(i)) 代表了適當(dāng)?shù)淖鴺?biāo)系中用于表示旋轉(zhuǎn)的角度集。

當(dāng)把CORDIC算法用于雙曲線旋轉(zhuǎn)時(shí),伸縮因子K與圓周旋轉(zhuǎn)的因子有所不同。

5603f3a6-99a8-11eb-8b86-12bb97331649.png

我們通過引入一個(gè)新變量μ,得到CORDIC的通用方程:

562dfe80-99a8-11eb-8b86-12bb97331649.png

至此,三個(gè)坐標(biāo)系下的CORDIC方程得到大一統(tǒng)。

5664387e-99a8-11eb-8b86-12bb97331649.png

5683033a-99a8-11eb-8b86-12bb97331649.png

56cfc0d0-99a8-11eb-8b86-12bb97331649.png

56d9721a-99a8-11eb-8b86-12bb97331649.png

在使用FPGA進(jìn)行CORDIC算法實(shí)現(xiàn)時(shí),理想CORDIC 架構(gòu)取決于具體應(yīng)用中速率與面積的權(quán)衡。

可以將 CORDIC 方程直接翻譯成迭代型的位并行設(shè)計(jì),然而:

位并行變量移位器不能很好地映射到 FPGA 中

需要若干個(gè) FPGA 單元。導(dǎo)致設(shè)計(jì)規(guī)模變大而設(shè)計(jì)時(shí)間變長

參考文獻(xiàn)

關(guān)于 CORDIC 算法的基礎(chǔ)以及細(xì)節(jié)問題,可參見下面的材料 :

[1] R. Andraka. A survey of CORDIC algorithms for FPGA based computers. www.andraka.com/cordic.htm

[2] The CORDIC Algorithms. www.ee.byu.edu/ee/class/ee621/Lectures/L22.PDF

[3] CORDIC Tutorial. http://my.execpc.com/~geezer/embed/cordic.htm

[4] M. J. Irwin. Computer Arithmetic. http://www.cse.psu.edu/~cg575/lectures/cse575-cordic.pdf

編輯:jq

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

    關(guān)注

    19

    文章

    7842

    瀏覽量

    93498
  • COS
    COS
    +關(guān)注

    關(guān)注

    1

    文章

    24

    瀏覽量

    20426
  • CORDIC算法
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    10001

原文標(biāo)題:什么是CORDIC算法

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    帶你了解雙目深度相機(jī)

    在如今的智能化時(shí)代,不管是工業(yè)車間里的機(jī)器人、家里的掃地機(jī)器人,還是AR眼鏡、自動駕駛汽車,都需要雙能“看懂”三維世界的“眼睛”——雙目深度相機(jī)就是這樣款設(shè)備。可能有人會問,這東西到底是啥?其實(shí)
    的頭像 發(fā)表于 04-14 14:30 ?253次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>雙目深度相機(jī)

    帶你了解鹵素

    當(dāng)你聽到“鹵素”這個(gè)詞,是否第時(shí)間想到的是汽車前大燈里那種明亮的燈泡?其實(shí),在化學(xué)的世界里,鹵素代表的是組非?;钴S的非金屬元素——氟、氯、溴、碘以及放射性元素砹。除了砹因放射性特殊處理外,前四位
    的頭像 發(fā)表于 03-09 15:42 ?414次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>鹵素

    帶你徹底搞懂K8s網(wǎng)絡(luò)

    說實(shí)話,K8s 網(wǎng)絡(luò)是我見過最讓新手頭疼的知識點(diǎn),沒有之。記得我剛接觸 K8s 那會兒,看著流量在 Pod、Service、Node 之間穿梭,完全是臉懵逼。后來踩了無數(shù)坑,熬了無數(shù)夜,總算把這套網(wǎng)絡(luò)模型摸透了。今天這篇文章,我會用最接地氣的方式,
    的頭像 發(fā)表于 02-06 10:15 ?740次閱讀

    CORDIC模塊——提高計(jì)算能力的性價(jià)比神器

    ,比如ARM的M4、M4F內(nèi)核,因而價(jià)格也比較貴,導(dǎo)致在很多應(yīng)用場景中,開發(fā)者往往還要為芯片上附帶的但卻不需要的功能進(jìn)行買單,或者為過剩的性能買單。 于是工程師就研究了個(gè)新的算法,即坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī)算法
    的頭像 發(fā)表于 12-22 12:39 ?3753次閱讀
    <b class='flag-5'>CORDIC</b>模塊——提高計(jì)算能力的性價(jià)比神器

    搞清 BLE 藍(lán)牙 UUID

    帶你搞清楚藍(lán)牙 UUID ...... 矜辰所致
    的頭像 發(fā)表于 12-18 11:23 ?4972次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>搞清 BLE 藍(lán)牙 UUID

    SM4算法實(shí)現(xiàn)分享(算法原理

    對明文進(jìn)行分組加密變換。SM4加密算法由32次迭代運(yùn)算和次反序變換R組成。 設(shè)輸入明文為(X0,X 1,X 2,X 3),共128位,設(shè)密輸出為(Y0,Y 1,Y 2,Y 3),輪密鑰為rki
    發(fā)表于 10-30 08:10

    TCORDIC算法實(shí)現(xiàn)正余弦函數(shù)

    TCORDIC算法,由低延遲CORDIC算法和Taylor展開組成。Taylor展開計(jì)算作為CORDIC算法的補(bǔ)充,能夠結(jié)合
    發(fā)表于 10-29 06:30

    ALM(應(yīng)用生命周期管理)解析:了解其概念、關(guān)鍵階段及Perforce ALM工具推薦

    什么是ALM(應(yīng)用生命周期管理)?它遠(yuǎn)不止是SDLC!了解其概念、關(guān)鍵階段以及如何借助Perforce ALM這類工具,實(shí)現(xiàn)端到端的可追溯性、加速發(fā)布并保障合規(guī)性。
    的頭像 發(fā)表于 09-19 11:03 ?2204次閱讀
    ALM(應(yīng)用生命周期管理)解析:<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b>其概念、關(guān)鍵階段及Perforce ALM工具推薦

    帶你了解海凌科毫米波雷達(dá)

    什么是毫米波雷達(dá)?毫米波雷達(dá)有什么特點(diǎn)?毫米波雷達(dá)有什么作用?海凌科有哪些系列毫米波雷達(dá)?帶你了解!毫米波的定義毫米波是指頻率在30GHz至300GHz之間、波長為1~10毫米的電
    的頭像 發(fā)表于 08-11 12:04 ?2062次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>海凌科毫米波雷達(dá)

    CORDIC算法原理及實(shí)現(xiàn)

    純分享帖,點(diǎn)擊下方附件免費(fèi)獲取完整資料~~~ 內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評論支持下,謝謝! 【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請第時(shí)間告知,刪除內(nèi)容,謝謝!
    發(fā)表于 07-22 17:28

    帶你了解什么是機(jī)器視覺網(wǎng)卡

    機(jī)器視覺網(wǎng)卡通常指的是在機(jī)器視覺系統(tǒng)中用于連接工業(yè)相機(jī)到計(jì)算機(jī)的以太網(wǎng)卡。它的核心作用是實(shí)現(xiàn)高速、穩(wěn)定、低延遲的圖像數(shù)據(jù)傳輸。以下是關(guān)于機(jī)器視覺網(wǎng)卡的關(guān)鍵信息:1.核心功能:高速圖像傳輸:處理來自千兆以太網(wǎng)或萬兆以太網(wǎng)相機(jī)產(chǎn)生的大量圖像數(shù)據(jù)流。萬兆網(wǎng)卡能提供更高的帶寬,滿足高分辨率、高幀率相機(jī)的需求。支持GigEVision協(xié)議:這是機(jī)器視覺領(lǐng)域最重要的工業(yè)
    的頭像 發(fā)表于 07-09 16:18 ?888次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>什么是機(jī)器視覺網(wǎng)卡

    帶你了解電源測試系統(tǒng)的功能!

    在當(dāng)今電子與電力技術(shù)飛速發(fā)展的時(shí)代,各類電子設(shè)備、電力系統(tǒng)以及新能源相關(guān)產(chǎn)品的研發(fā)、生產(chǎn)和維護(hù)過程中,電源測試系統(tǒng)扮演著至關(guān)重要的角色。本文將帶你了解源儀電子的電源測試系統(tǒng)的功能。
    的頭像 發(fā)表于 07-02 09:10 ?1264次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>電源測試系統(tǒng)的功能!

    帶你了解嵌入式主板

    嵌入式主板是專為嵌入式系統(tǒng)設(shè)計(jì)的計(jì)算機(jī)主板。它與我們常見的臺式機(jī)或筆記本電腦主板有著顯著的區(qū)別,核心在于它不是為了通用計(jì)算,而是為了執(zhí)行特定任務(wù)而設(shè)計(jì)、集成到更大的設(shè)備或系統(tǒng)中。以下是嵌入式主板的關(guān)鍵特點(diǎn)和信息:1.核心定義與目的:專用性:設(shè)計(jì)用于執(zhí)行特定功能(如控制、監(jiān)控、數(shù)據(jù)處理、通信),而不是運(yùn)行通用操作系統(tǒng)(如Windows)進(jìn)行各種軟件應(yīng)用。集成性
    的頭像 發(fā)表于 06-30 16:12 ?920次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>嵌入式主板

    了解電壓諧波

    我們經(jīng)常會聽到諧波,到底什么是諧波,怎么定義的?為什么要關(guān)注諧波?什么時(shí)候關(guān)注諧波?諧波如何計(jì)算或標(biāo)準(zhǔn)規(guī)定的諧波的算法是怎樣的?GB關(guān)于電壓諧波又是如何評估的?帶著諸多的問題,我們一起來了解。
    的頭像 發(fā)表于 06-28 17:23 ?5323次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b>電壓諧波

    【微五科技CF5010RBT60開發(fā)板試用體驗(yàn)】Cordic數(shù)學(xué)計(jì)算測試

    Cordic數(shù)學(xué)計(jì)算測試本文分享cordic硬件數(shù)學(xué)計(jì)算。 Xprintf.h配置支持浮點(diǎn)打印#define XF_USE_FP1 /* 1: Enable support for floating
    發(fā)表于 06-27 23:55
    重庆市| 阳泉市| 老河口市| 吴旗县| 宁安市| 宁远县| 溧阳市| 广南县| 句容市| 大同县| 天峻县| 左云县| 易门县| 施秉县| 河北省| 蕲春县| 商丘市| 砚山县| 揭东县| 彭州市| 澜沧| 贵德县| 安化县| 土默特右旗| 阿拉善左旗| 安达市| 赣州市| 四子王旗| 甘肃省| 康保县| 尼勒克县| 东乌珠穆沁旗| 宿州市| 增城市| 冕宁县| 玉环县| 中阳县| 永清县| 岳阳市| 和田县| 英超|