專(zhuān)利名稱:使用帶有對(duì)積累的舍入誤差造成的幅度變化進(jìn)行補(bǔ)償?shù)膹?fù)數(shù)乘法的自由振蕩數(shù)字控制振蕩器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字控制的振蕩器,更特定地,涉及對(duì)數(shù)字控制振蕩器內(nèi)的累積性近似或舍入誤差的校正。
對(duì)被發(fā)送的信號(hào)的解調(diào)常常需要下變頻到基帶,這進(jìn)而又需要與本地生成的正弦信號(hào)混合或相乘,該正弦信號(hào)與要下變頻的信號(hào)具有相同的載波或中間頻率。在數(shù)字信道解調(diào)系統(tǒng)中,這個(gè)功能典型地是使用數(shù)字控制振蕩器(NCO)實(shí)現(xiàn)的。NCO的能力對(duì)于以數(shù)字方式生成線性變化相位角的三角函數(shù)是所需要的。例外的是這樣的情形其中所需頻率或者是數(shù)字采樣頻率的小的整數(shù)倍以達(dá)到奈奎斯特頻率,或者是其分子和分母都是小整數(shù)的分?jǐn)?shù)。
數(shù)字信道解調(diào)常常需要由諸如數(shù)字控制振蕩器提供的給定頻率的正弦信號(hào)的自由振蕩源。這樣的振蕩器可以通過(guò)使用復(fù)數(shù)與相應(yīng)于所需頻率的復(fù)數(shù)常數(shù)接連相乘而實(shí)現(xiàn)。這種方法的公知的問(wèn)題是,最終得到的信號(hào)的幅度是不穩(wěn)定的,并由于累積的近似或舍入誤差而增加或減小。數(shù)字控制振蕩器(NCO)用固定的時(shí)基合成一系列的頻率。
數(shù)字控制振蕩器傳統(tǒng)上用查找表或用于復(fù)數(shù)向量旋轉(zhuǎn)的CORDIC(坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī))算法而實(shí)現(xiàn)。這兩種實(shí)現(xiàn)方案都存在問(wèn)題。對(duì)于高度數(shù)字精確度,查找表可能需要大量存儲(chǔ)器以及CORDIC算法可能需要許多級(jí)數(shù)字硬件。實(shí)施NCO的一個(gè)公知的方法是使用具有通過(guò)振蕩器的當(dāng)前相位角尋址的數(shù)字存儲(chǔ)器的查找表,而數(shù)字存儲(chǔ)器的內(nèi)容是相應(yīng)于每個(gè)相位角的想要的正弦函數(shù)的數(shù)值。存儲(chǔ)器的尺寸隨需要的相位角精度而按指數(shù)增加(即,每增加一個(gè)二進(jìn)制數(shù)字,存儲(chǔ)器規(guī)模加倍),并隨正弦值的精度按線性增加。如果需要相位角的任意值,則所需要的查找表的尺寸可變?yōu)榉浅4螅绻诩呻娐菲骷蠈?shí)施,則需要大的面積。用數(shù)字方式生成正弦函數(shù)的第二個(gè)公知的方法是使用CORDIC算法的迭代程序過(guò)程,其中想要的正弦函數(shù)被逐次地近似。在傳統(tǒng)的實(shí)施方案中,CORDIC算法每執(zhí)行一次迭代提高精度一倍。CORDIC算法可以用在計(jì)算機(jī)上執(zhí)行的軟件實(shí)施。CORDIC算法也可以用數(shù)字電路實(shí)施,每執(zhí)行一次CORDIC算法的迭代需要一級(jí)。軟件實(shí)施方案需要的資源形式是計(jì)算機(jī)的外加開(kāi)銷(xiāo),諸如處理器執(zhí)行時(shí)間,而數(shù)字電路實(shí)施方案的資源形式是集成電路器件上的面積。如果希望高的數(shù)值精度,則需要很大的資源量來(lái)實(shí)施CORDIC算法。
從以上的討論,應(yīng)當(dāng)容易看到,在技術(shù)上仍舊需要一種比起當(dāng)前可得到的數(shù)字控制振蕩器需要更少資源的數(shù)字控制振蕩器。
本發(fā)明通過(guò)提供簡(jiǎn)單和有效的能糾正這樣的變化的方法以使得振蕩器信號(hào)保持為恒定的而解決現(xiàn)有技術(shù)下述缺點(diǎn)最終得到的幅度變?yōu)椴环€(wěn)定并且最終由于積累的近似或舍入誤差而增加或減小。本發(fā)明采用接連的復(fù)數(shù)乘法來(lái)實(shí)施數(shù)字控制振蕩器,它比起使用查找表或CORDIC算法需要更小的資源量這導(dǎo)致解決穩(wěn)定問(wèn)題的簡(jiǎn)單和有效的方法。本發(fā)明可以通過(guò)使用在集成電路中的客戶設(shè)計(jì)的分立邏輯電路、一種對(duì)于這種功能只需要少到僅僅一個(gè)處理器的縮減的或其它可重新配置的處理器陣列,而被實(shí)施。
本發(fā)明的這些和其它目的是通過(guò)以下方式提供的,即通過(guò)在每個(gè)采樣間隔把當(dāng)前的復(fù)數(shù)向量乘以預(yù)定的值一次以產(chǎn)生下一個(gè)復(fù)數(shù)向量而有效地生成想要的頻率的復(fù)數(shù)正弦波;辨別在下一個(gè)復(fù)數(shù)向量的實(shí)部或虛部?jī)?nèi)是否存在零值條件,以及用單位幅度的互補(bǔ)分量替代呈現(xiàn)零值條件的復(fù)數(shù)向量分量;辨別在下一個(gè)復(fù)數(shù)向量的實(shí)部與虛部之間是否存在相等性條件以及如果辨別到等量的條件,則用一個(gè)相等的分量替代下一個(gè)復(fù)數(shù)向量的實(shí)部和虛部;以及如果沒(méi)有找到相等性條件的零值條件,則確定下一個(gè)復(fù)數(shù)向量的實(shí)部和虛部的誤差因素以及通過(guò)去除誤差因素而校正實(shí)部和虛部。
圖1a是顯示由本發(fā)明執(zhí)行的函數(shù)的流程圖;圖1b是顯示由本發(fā)明執(zhí)行的函數(shù)的流程圖;圖1c是顯示由本發(fā)明執(zhí)行的函數(shù)的流程圖;圖2是顯示本發(fā)明的概念的復(fù)數(shù)向量圖;圖3是對(duì)于可以利用圖1a,圖1b和圖1c流程圖的信道解調(diào)器的框圖。
已經(jīng)發(fā)現(xiàn)正弦函數(shù)可以通過(guò)使用用于復(fù)數(shù)向量的旋轉(zhuǎn)的較少資源以數(shù)字方式生成。在復(fù)數(shù)域,使復(fù)數(shù)向量旋轉(zhuǎn)一個(gè)給定的角度相應(yīng)于乘以一個(gè)具有實(shí)部和虛部分量的第二復(fù)數(shù)向量的復(fù)數(shù)乘法,該第二復(fù)數(shù)的數(shù)值由相位角增量嚴(yán)格地確定。在離散時(shí)間數(shù)字域中自由振蕩的振蕩器相應(yīng)于在每次采樣間隔期間相位角重復(fù)增加恒定的量。這樣的振蕩器可以通過(guò)初始的復(fù)數(shù)向量與前述的第二復(fù)數(shù)向量作接連的乘法被創(chuàng)建。在這個(gè)裝置中,最終得到的復(fù)數(shù)向量的?;蚍缺仨毧偸堑扔谝粋€(gè)單位(unity)。與一個(gè)單位的任何偏離將導(dǎo)致或者幅度逐步減小(最終變?yōu)闊o(wú)窮小),或者幅度逐步增大并將無(wú)止境地繼續(xù)下去。眾所周知,在復(fù)數(shù)的算法中,如果第二復(fù)數(shù)向量的幅度正好等于一個(gè)單位,則最終得到的幅度將在無(wú)限長(zhǎng)時(shí)期內(nèi)保持為恒定的。然而,這個(gè)恒定的結(jié)果是僅僅在抽象的數(shù)學(xué)意義下所作保證的條件,而在實(shí)際的數(shù)字信號(hào)處理系統(tǒng)是不能現(xiàn)實(shí)地做到的。因此,數(shù)字系統(tǒng)內(nèi)正弦函數(shù)的生成需要一種用于避免或校正前述復(fù)數(shù)向量幅度長(zhǎng)期增加或減小的機(jī)制。
參照?qǐng)D3,數(shù)字信道解調(diào)器49的框圖具有數(shù)字前端50。本發(fā)明在前端50內(nèi)基帶變換55的領(lǐng)域內(nèi)是有用的。上述這些和變換55接收數(shù)字輸入,該數(shù)字輸入也被自動(dòng)增益控制(AGC)52接收。AGC 52提供模擬輸出。基帶變換55一般典型地通過(guò)把信號(hào)混合提供,而不用更高的頻率的變換。采樣速率變換53提供由基帶變換55所采用的頻率的調(diào)節(jié)。圖3所示的基帶變換55包括用于載波恢復(fù)以鎖定到下變頻的頻率的功能。采樣速率變換53調(diào)節(jié)時(shí)鐘速率成為與采樣速率相同的。理想地,希望時(shí)鐘速率和采樣速率應(yīng)當(dāng)是同一個(gè)速率。信號(hào)下變頻到基帶導(dǎo)致整個(gè)處理過(guò)程能夠在較慢的采樣速率下進(jìn)行。采樣速率變換53的另一個(gè)功能僅僅是保證時(shí)鐘速率和采樣速率是相同的。濾波器59將提供奈奎斯特濾波器和采樣速率變換的信號(hào)的分樣。奈奎斯特濾波器防止假頻混淆。例如,如果有一個(gè)20MHz采樣速率和具有小于5MHz的頻率的信號(hào),則許多交替的樣本可以被去除,然而,必須首先將信號(hào)濾波以去除5MHz以上的任何信號(hào)。時(shí)序恢復(fù)57提供從濾波器59到采樣速率變換的反饋環(huán)。一旦信號(hào)被基帶變換55和采樣速率變換53,濾波的信號(hào)就被信道估值和校正60接收。信道估值和校正60典型地提供信道估值、時(shí)間內(nèi)插、和頻率內(nèi)插。信道譯碼器62從信道估值和校正60接收經(jīng)估值的和校正的信道數(shù)據(jù)。信道譯碼器62典型地提供對(duì)于已被信道譯碼器62擾碼和譯碼的MPEG數(shù)據(jù)的輸出接口。系統(tǒng)控制器64典型地提供控制信號(hào)到前端50、信道估值和校正60、以及信道譯碼器62。圖3所示的數(shù)字信道解調(diào)器49解調(diào)由基帶變換55把信號(hào)下變頻到基帶電平的發(fā)送的信號(hào),它需要與本地生成的具有與要被下變換的信號(hào)相同的載波頻率或中頻的正弦信號(hào)混合或相乘。在傳統(tǒng)的數(shù)字信道解調(diào)系統(tǒng)中,這個(gè)功能典型地使用數(shù)字控制振蕩器(NCO)來(lái)實(shí)施。NCO以數(shù)字方式生成線性變化的相位角的三角函數(shù)的能力是需要的?;鶐ё儞Q55提供正弦信號(hào)的混頻,其方式是避免現(xiàn)有技術(shù)以查找表或CORDIC來(lái)實(shí)施NCO從而把信號(hào)變頻到基帶的方法中的問(wèn)題。下面描述本發(fā)明的優(yōu)選地采用的基帶變換55。
參照?qǐng)D1a,本發(fā)明提供檢測(cè)和校正前述長(zhǎng)期變化的簡(jiǎn)化方法。本發(fā)明利用復(fù)數(shù)的已知的特性來(lái)執(zhí)行所需要的補(bǔ)償。兩個(gè)復(fù)數(shù)的復(fù)數(shù)乘積x+jy由下面的公式1a和1b表示的關(guān)系a+jb和c+jd給出。
公式1a x+jy=(a+jb)(c+jd)公式1b x+jy=(ac-bd)+j(ad+bc)對(duì)于初始的復(fù)數(shù)值c+jd接連地乘以第二復(fù)數(shù)值a+jb n次,結(jié)果由公式2給出。
公式2x+jy=(a+jb)n(c+jd)當(dāng)這個(gè)相同的乘法執(zhí)行n+1次時(shí),結(jié)果由公式3a和3b表示的關(guān)系給出。
公式3a x’+jy’=(a+jb)n+1(c+jd)公式3b x’+jy’=(a+jb)(x+jy)公式3b的結(jié)果是,想要的結(jié)果可以通過(guò)在每個(gè)采樣間隔內(nèi)把當(dāng)前的復(fù)數(shù)向量值與a+jb重復(fù)相乘一次而得到。圖1所示的算法10由優(yōu)選實(shí)施例在每個(gè)采樣間隔所運(yùn)算。如果a+jb的幅度正好是一個(gè)單位,則結(jié)果將等價(jià)于自由振蕩數(shù)字控制振蕩器。因?yàn)楸娝苤?,任何?fù)數(shù)可以以極坐標(biāo)形式表示,下面的公式4相應(yīng)于具有單位幅度的相位角。
公式4 a+jb=cosθ+jsinθ=ejθ
對(duì)于給定的相位角的這個(gè)復(fù)數(shù)的數(shù)值被確定為想要的振蕩器頻率對(duì)想要的采樣速率的比值的函數(shù)。數(shù)字控制振蕩器可以通過(guò)在每個(gè)采樣間隔期間把復(fù)數(shù)向量重復(fù)乘以這個(gè)預(yù)定的復(fù)數(shù)而被實(shí)施。這個(gè)處理過(guò)程需要一次復(fù)數(shù)乘法,后者則包括四次實(shí)數(shù)乘法和兩次實(shí)數(shù)加法,正如以上的對(duì)于復(fù)數(shù)乘積的表達(dá)式顯示的。通過(guò)使用當(dāng)前的技術(shù),上述的處理過(guò)程比起查找表或CORDIC算法需要更少的資源,但仍舊需要復(fù)數(shù)向量的幅度保持為一個(gè)單位。
單位幅度準(zhǔn)則的滿足典型地需要確定復(fù)數(shù)向量的復(fù)數(shù)幅度(兩次乘法,一次加法,和一次平方根運(yùn)算),接著是復(fù)數(shù)向量與這個(gè)幅度的倒數(shù)的乘法(兩次除法運(yùn)算)。這些運(yùn)算所需要的資源是非常昂貴的。
參照?qǐng)D1a,所需的確定和校正通過(guò)在適當(dāng)?shù)臈l件下使用下面描述的復(fù)數(shù)的熟知的特性而被實(shí)施。圖1a的算法10在系統(tǒng)設(shè)計(jì)過(guò)程期間所確定的預(yù)定時(shí)間間隔開(kāi)始12。在系統(tǒng)設(shè)計(jì)過(guò)程期間,這些參數(shù)通過(guò)識(shí)別需要校正的舍入誤差的累積有多么快而被確定。把當(dāng)前的復(fù)數(shù)向量乘以預(yù)定的數(shù)值14,將在每個(gè)采樣間隔執(zhí)行當(dāng)前的復(fù)數(shù)向量值與a+jb相乘一次的復(fù)數(shù)運(yùn)算,正如公式3b的關(guān)系中表示的。零值條件16將確定實(shí)部是否為零或虛部是否為零。如果相位角是90度的偶數(shù)整數(shù)倍(0或180度),則復(fù)數(shù)向量是純實(shí)數(shù),而它的虛部是零。因此,在這些條件下實(shí)部必須等于一個(gè)單位。檢測(cè)虛部為零的條件(或任何零的數(shù)字值,在用于數(shù)字信號(hào)處理系統(tǒng)的表示中,所有的二進(jìn)制數(shù)字等于邏輯0)是一件簡(jiǎn)單的事。無(wú)論何時(shí)檢測(cè)到這個(gè)條件時(shí),單位幅度的替代分量18將用正的或負(fù)的單位值替代實(shí)部的數(shù)值,這取決于原先數(shù)值的符號(hào)。如果相位角是90度的奇數(shù)整數(shù)倍(90或270度),則零數(shù)值條件將檢測(cè)到復(fù)數(shù)向量是純虛數(shù)的,而它的實(shí)部是零。通過(guò)使用以上給出的幅角,虛部必須等于一個(gè)單位(再次地,正的或負(fù)的),因此單位幅度的替代的分量18將用正的或負(fù)的單位值替代虛部數(shù)值,這取決于原先的值的符號(hào)。這個(gè)過(guò)程所需要的資源只包括與零的兩次進(jìn)行比較以作出判決和一次用常數(shù)值(即,一個(gè)單位)去替換復(fù)數(shù)分量。顯然,這比起現(xiàn)有技術(shù)的直接方法,對(duì)于實(shí)際的實(shí)施方案是合理得多。
以上討論的實(shí)施方案的變例導(dǎo)致復(fù)數(shù)向量的相位角是45度的奇數(shù)倍的情形(45度的偶數(shù)倍正好是以上考慮的90度的倍數(shù))。如果復(fù)數(shù)向量是45度的奇數(shù)倍,則實(shí)部的絕對(duì)值必然等于虛部的絕對(duì)值,以及這個(gè)相等20的條件將由算法10所檢測(cè)。具體地,實(shí)部的絕對(duì)值和虛部的絕對(duì)值都具有0.70710678(1/2的平方根)的絕對(duì)值,這是從復(fù)數(shù)的公知特性得出的。對(duì)相等的分量進(jìn)行替代24保證,一旦檢測(cè)到等量的條件,每個(gè)實(shí)部和虛部就用0.70710678的正值和負(fù)值替代,這取決于原先的分量的符號(hào)。同樣,可以這樣做而不管實(shí)際的數(shù)值。對(duì)于這個(gè)過(guò)程所需要的資源只是一次相等性比較以便作出判決和用常數(shù)值對(duì)復(fù)數(shù)分量的兩次替換。同樣,對(duì)于實(shí)際的實(shí)施方案這比起現(xiàn)有技術(shù)的直接方法是更合理的方法。
現(xiàn)在參照?qǐng)D1b和圖1c,由流程圖執(zhí)行的各種步驟在兩個(gè)部分中執(zhí)行。圖1b和圖1c的每個(gè)圖表示本發(fā)明的最優(yōu)選的實(shí)施例,其中圖1b是最優(yōu)選的實(shí)施例。在圖1b上,該算法(總的用35表示)將執(zhí)行當(dāng)前的復(fù)數(shù)向量與預(yù)定的數(shù)值相乘34,正如以前描述的,接著測(cè)試零值條件36,這是與如前所述的在圖1a中執(zhí)行的相同的測(cè)試。如果發(fā)現(xiàn)零值條件存在,則執(zhí)行單位幅度的分量的替換38,以及如果零值條件不成立,如圖1a所示,則執(zhí)行相等性退出的條件39。在圖1b上執(zhí)行的算法是最優(yōu)選的,因?yàn)樗亲钣行У囊约靶枰钌俚馁Y源。在大多數(shù)應(yīng)用中,設(shè)想圖1b所示的算法35將是足夠的,因?yàn)樯崛胝`差和截?cái)嗾`差不必是恒定的,周期性恒定就已足夠。
在圖1c,執(zhí)行圖1a上執(zhí)行的、但不是圖1b上執(zhí)行的步驟。這里的原因是在某些應(yīng)用或系統(tǒng)中,單獨(dú)依靠45度的調(diào)節(jié),如圖1b所示,不一定能觸發(fā)足夠的數(shù)量的校正。圖1c所示的步驟將提供在預(yù)定的間隔的校正。圖1c所示的算法40的迭代將與被確定為對(duì)于開(kāi)始42必須的那樣經(jīng)常地執(zhí)行,并以與圖1a中以上討論中所描述的相同的方式執(zhí)行當(dāng)前的復(fù)數(shù)向量與預(yù)定的數(shù)值相乘44。然后,確定誤差因素46將計(jì)算誤差因素,如在圖1a的以上的討論中描述的,以及去除誤差因素將消除算出的誤差因素。預(yù)定的間隔在系統(tǒng)設(shè)計(jì)過(guò)程期間被確定,以及圖1c的算法將按照這些參數(shù)執(zhí)行。圖1c的算法比起圖1b的算法需要更多的資源,但它保證能不斷地作出校正。圖1a的算法10提供圖1b和1c的組合,所以也是本發(fā)明設(shè)想的。
上述的替換可以被組合在單個(gè)系統(tǒng)中,導(dǎo)致八個(gè)可能的條件而不是僅僅四個(gè)條件,本發(fā)明的校正可以在這些條件下執(zhí)行。按照以上的方案的檢測(cè)點(diǎn)被顯示于圖2。在圖2上,y=0被顯示在0和180度。其它的零點(diǎn)x=0被顯示在90和270度。所有上述的零點(diǎn)將具有在復(fù)數(shù)向量?jī)?nèi)被替換的單位分量。在0度,x=1,y=0的單位值;在90度,x=0,y=1的單位值;在180度,x=-1,y=0的單位值;以及在270度,x=0,y=-1的單位值;將替換復(fù)數(shù)向量分量。也如圖2所示,對(duì)于相位角的45度的整數(shù)倍將導(dǎo)致具有在復(fù)數(shù)向量?jī)?nèi)被替換的相等的絕對(duì)值的分量。在45度,x=0.707,y=0.707的相等的絕對(duì)值分量;在135度,x=-0.707,y=0.707的相等的絕對(duì)值分量;在225度,x=-0.707,y=-0.707的相等的絕對(duì)值分量;在315度,x=0.707,y=-0.707的相等的絕對(duì)值分量;將替換復(fù)數(shù)向量分量。
為了上述的方案能正確地工作,必須對(duì)進(jìn)行檢測(cè)的條件有某種規(guī)律;否則,需要的校正將決不會(huì)執(zhí)行。為了最好地保證這一點(diǎn),所需的振蕩器頻率必須不是很密切地涉及到系統(tǒng)的數(shù)字采樣速率。如果它們的比值是包含小整數(shù)的簡(jiǎn)單的分?jǐn)?shù),則復(fù)數(shù)相位角在運(yùn)算期間有可能或甚至多半將只限于嚴(yán)格數(shù)目的值,并且不能滿足以上的檢測(cè)條件。在這些情形下,可以使用小的查找表或分立的數(shù)字邏輯來(lái)實(shí)現(xiàn)數(shù)字控制振蕩器,這樣,對(duì)于更有效地使用資源沒(méi)有太大的要求。
為了提高檢測(cè)需要的條件的頻率,有可能只檢查這些條件更經(jīng)常出現(xiàn)的復(fù)數(shù)向量分量的較高階的二進(jìn)制數(shù)字或比特。這樣檢查的比特的數(shù)目可以根據(jù)在正常工作期間允許的、在數(shù)字控制振蕩器的幅度中的最大可接受的“跳躍”進(jìn)行選擇。零檢測(cè)是以查明所有選定的較高階的比特不等于邏輯0就等于邏輯1(后者的情形相應(yīng)于非常小的負(fù)值)而進(jìn)行的;這些比較結(jié)果分別需要單個(gè)NOR功能和單個(gè)AND功能。相等性比較是以查明兩個(gè)復(fù)數(shù)分量的所有的相應(yīng)的較高階的比特(或一個(gè)分量的逐位顛倒,在兩個(gè)分量具有相反的符號(hào)的情形下)是相等的而進(jìn)行的;每個(gè)所考慮的比特需要用兩個(gè)異-OR功能(其一個(gè)用于一個(gè)分量的符號(hào)倒置,當(dāng)需要時(shí),以及其一個(gè)用于實(shí)際比較),而對(duì)所有的比特比較的結(jié)果要用一個(gè)AND功能。
對(duì)于復(fù)數(shù)向量的分量由適當(dāng)數(shù)目的二進(jìn)制數(shù)表示的任何自由數(shù)控制振蕩器幅度變化速率是相當(dāng)慢的。因此,有可能定期地校正復(fù)數(shù)向量幅度,而不需要檢測(cè)必須等待其出現(xiàn)的專(zhuān)門(mén)的條件。雖然要被描述的所提出的方法比起上述的方法需要更大的資源,但無(wú)論如何,它比起直接方法需要少得多的資源,所以它是更為實(shí)際的。
如果復(fù)數(shù)向量的幅度在某一時(shí)間間隔內(nèi)由于累積的舍入誤差的結(jié)果只改變很小的量,這個(gè)改變可被近似,而該近似可用來(lái)執(zhí)行所需的計(jì)算。下面的公式5給出受到遠(yuǎn)小于一個(gè)單位的增量ε擾動(dòng)的、具有實(shí)部和虛部x和y的r的復(fù)數(shù)向量幅度的關(guān)系。
公式5 r=1.0+ε;ε<<1.0所以,對(duì)于r的復(fù)數(shù)向量幅度的平方由公式6表示。
公式6 r2=x2+y2≈1.0因此,模的平方的增量由公式7a,7b,和7c的關(guān)系給出。
公式7a Δ(r2)=r2-1.0=(1.0+e)2-1.0公式7b Δ(r2)=1.0r2+2ε+ε2-1.0公式7c Δ(r2)≈2ε所以,增量ε是可以由公式8a和8b表示的關(guān)系給出的誤差確定。在優(yōu)選實(shí)施例內(nèi)的確定誤差因子26將通過(guò)使用公式8a和8b表示的關(guān)系確定這個(gè)誤差因子。
公式8aϵ≈Δ(r)22]]>公式8bϵ=(x2+y2-1.0)2]]>復(fù)數(shù)向量的x和y分量的校正因子然后由公式9的關(guān)系給出,它是通過(guò)去除誤差因子28執(zhí)行的。
公式91.0r=1.01+ϵ≈1.0-ϵ]]>誤差確定可以通過(guò)使用兩次乘法、兩次加法、和一次右移運(yùn)算(除以2)而執(zhí)行。
因此,校正的復(fù)數(shù)分量x’和y’由公式10a和10b給出。
公式10a x’≈x(1.0-ε)=x-εx公式10y’≈y(1.0-ε)=y(tǒng)-εy校正可以使用一次乘法和一次減法而執(zhí)行。顯然,這比起需要極昂貴平方根和倒數(shù)運(yùn)算的直接方法更經(jīng)濟(jì)得多。
本發(fā)明在數(shù)字信號(hào)處理系統(tǒng)的前端部分中是特別有用的,該系統(tǒng)執(zhí)行信道解調(diào),其中需要由與采樣速率沒(méi)有密切關(guān)系的任意頻率對(duì)輸入信號(hào)進(jìn)行下變頻。它可以使用集成電路上的分立的邏輯的硬件,或在計(jì)算機(jī)處理器上執(zhí)行的軟件來(lái)實(shí)施。特別地,它適用于包含以不太大倍數(shù)的采樣速率的指令速率運(yùn)行的多個(gè)小處理器的縮減陣列的非常經(jīng)濟(jì)的實(shí)施方案。在這樣的陣列,它可以使用一個(gè)或至多少量這種處理器來(lái)實(shí)現(xiàn)。
權(quán)利要求
1.一種用于生成所需頻率的復(fù)數(shù)正弦波的方法,包括以下步驟在每個(gè)采樣間隔把當(dāng)前的復(fù)數(shù)向量乘以預(yù)定的數(shù)值(14)一次以產(chǎn)生下一個(gè)復(fù)數(shù)向量;為下一個(gè)復(fù)數(shù)向量的實(shí)部和虛部確定誤差因子(26);以及通過(guò)去除誤差因子(28)以校正實(shí)部和虛部。
2.權(quán)利要求1的方法,其中乘法步驟還包括以下步驟辨別在下一個(gè)復(fù)數(shù)向量的實(shí)部或虛部?jī)?nèi)是否存在零值條件(16),以及如果存在零值條件,則不執(zhí)行確定因子和校正的步驟而是執(zhí)行用單位幅度的補(bǔ)碼分量來(lái)替代(18)呈現(xiàn)零值條件的復(fù)數(shù)向量分量的步驟。
3.權(quán)利要求2的方法,其中乘法步驟還包括以下步驟辨別在下一個(gè)復(fù)數(shù)向量的實(shí)部與虛部之間是否存在相等性條件(20)以及如果存在相等性條件,則不執(zhí)行確定因子和校正的步驟而是執(zhí)行用相等的分量替代(24)下一個(gè)復(fù)數(shù)向量的實(shí)部和虛部的步驟。
4.權(quán)利要求3的方法,其中辨別步驟還包括對(duì)于零值條件或相等性條件檢查下一個(gè)復(fù)數(shù)向量的多個(gè)最高階比特。
5.權(quán)利要求4的方法,其中辨別步驟還包括檢查下一個(gè)復(fù)數(shù)向量的多個(gè)最高階比特,以便通過(guò)確定所有的最高階比特或者都是邏輯0或者都是邏輯1而確定零值條件。
6.權(quán)利要求3的方法,其中替代步驟還包括用一半單位幅度的平方根的分量替代下一個(gè)復(fù)數(shù)向量的實(shí)部和虛部。
7.在縮減的處理器陣列內(nèi)實(shí)施的權(quán)利要求1的方法。
8.在分立的邏輯器件內(nèi)實(shí)施的權(quán)利要求1的方法。
9.作為在計(jì)算機(jī)上運(yùn)行的算法而實(shí)施的權(quán)利要求1的方法。
10.權(quán)利要求1的方法,還包括采用至少是所需頻率兩倍的采樣速率。
11.一種用于生成所需頻率的復(fù)數(shù)正弦波的方法,包括以下步驟在每個(gè)采樣間隔把當(dāng)前的復(fù)數(shù)向量乘以預(yù)定的數(shù)值(14)一次以產(chǎn)生下一個(gè)復(fù)數(shù)向量;辨別下一個(gè)復(fù)數(shù)向量是否為45度的整數(shù)倍(16,20),以及如果確定復(fù)數(shù)向量是45度的整數(shù)倍,則替代下一個(gè)復(fù)數(shù)向量?jī)?nèi)至少一個(gè)分量(18,24);如果辨別復(fù)數(shù)向量不是45度的整數(shù)倍,則確定誤差因子(26);以及通過(guò)去除誤差因子(28)而校正實(shí)部和虛部。
12.權(quán)利要求12的方法,其中辨別步驟是通過(guò)檢查下一個(gè)復(fù)數(shù)向量的多個(gè)最高階比特而實(shí)現(xiàn)的。
13.權(quán)利要求12的方法,其中辨別步驟還包括辨別在下一個(gè)復(fù)數(shù)向量的實(shí)部或虛部?jī)?nèi)是否存在零值條件(16)以及如果存在零值條件則用單位幅度的互補(bǔ)分量替代呈現(xiàn)零值條件的復(fù)數(shù)向量分量。
14.權(quán)利要求12的方法,其中辨別步驟還包括辨別在下一個(gè)復(fù)數(shù)向量的實(shí)部與虛部之間是否存在相等性條件(20)以及如果存在相等性條件,則用相等的分量替代(24)下一個(gè)復(fù)數(shù)向量的實(shí)部和虛部。
15.權(quán)利要求14的方法,其中替代步驟還包括用一半單位幅度的平方根的分量替代下一個(gè)復(fù)數(shù)向量的實(shí)部和虛部。
16.一種用于生成所需頻率的復(fù)數(shù)正弦波的方法,包括以下步驟對(duì)當(dāng)前的復(fù)數(shù)向量實(shí)施接連的復(fù)數(shù)乘法(14)以產(chǎn)生多個(gè)接連的復(fù)數(shù)向量;以及補(bǔ)償在下一個(gè)復(fù)數(shù)向量?jī)?nèi)出現(xiàn)的積累的舍入誤差(28)。
17.權(quán)利要求16的方法,其中補(bǔ)償步驟還包括檢查下一個(gè)復(fù)數(shù)向量的多個(gè)最高位。
18.權(quán)利要求17的方法,其中檢查步驟還包括以下步驟檢測(cè)下一個(gè)復(fù)數(shù)向量的分量?jī)?nèi)的零值條件(16);以及用單位幅度的分量替代(18)被檢測(cè)到零值條件的下一個(gè)復(fù)數(shù)向量的分量。
19.權(quán)利要求16的方法,其中檢查步驟還包括以下步驟檢測(cè)下一個(gè)復(fù)數(shù)向量的相等的絕對(duì)值分量的條件(20);以及用一半幅度的平方根的分量替代(24)被檢測(cè)出具有相等絕對(duì)值條件的下一個(gè)復(fù)數(shù)向量的分量。
20.權(quán)利要求16的方法,其中實(shí)施步驟還包括采用其采樣速率至少是所需頻率的兩倍的處理器。
全文摘要
一種用于有效地生成所需頻率的復(fù)數(shù)正弦波的方法,包括在每個(gè)采樣間隔把復(fù)數(shù)向量乘以預(yù)定的數(shù)值,以及使用復(fù)數(shù)向量?jī)?nèi)的最高階比特以識(shí)別復(fù)數(shù)向量是否處在45度的整數(shù)倍,以及如果確定復(fù)數(shù)向量是45度的整數(shù)倍,則替換復(fù)數(shù)向量?jī)?nèi)的分量。如果識(shí)別復(fù)數(shù)向量不是45度的整數(shù)倍,則確定用于實(shí)部和虛部的誤差因子,以及通過(guò)去除誤差因子而校正實(shí)部和虛部。
文檔編號(hào)H03B28/00GK1914579SQ200580003346
公開(kāi)日2007年2月14日 申請(qǐng)日期2005年1月25日 優(yōu)先權(quán)日2004年1月28日
發(fā)明者K·R·威蒂格, G·F·布恩斯 申請(qǐng)人:皇家飛利浦電子股份有限公司