專利名稱:采樣率轉(zhuǎn)換器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字信號的場采樣率轉(zhuǎn)換。特別地,本發(fā)明涉及采用整數(shù)累計器來計算輸入和輸出樣本的時序關(guān)系的采樣率轉(zhuǎn)換方法。
背景技術(shù):
在許多電子應(yīng)用中,信號由數(shù)字表示和處理。數(shù)字字,或樣本,表示相等時間間隔的數(shù)據(jù)數(shù)值。該相等時間間隔通常被稱為采樣率,并且通常以千赫茲(kHz)為單位來表達,它表示采樣時間間隔的倒數(shù)。
有時存在可用的數(shù)據(jù)采樣率與所期望采樣率不同的情況。根據(jù)樣本數(shù)據(jù)的特征和可用采樣率與所期望采樣率之間的差別,可以用幾種方法來把根據(jù)一個采樣率的信號轉(zhuǎn)換為根據(jù)另一個采樣率的信號,而沒有故意地改變信號的含義。
用于采樣率減小的第一種通用技術(shù)稱為抽選法。當可用采樣率是所期望采樣率的整數(shù)倍時,可以選擇該方法。抽選器把該輸入采樣率減小為d分之一,以生成一個輸出采樣率。如果輸入信號包含高頻率成分,則必須首先通過一個低通濾波器除去它們,以避免混疊現(xiàn)象。采樣率的減小是通過簡單地對于每d個輸出樣本拋棄其中d-1個輸出樣本,而輸出第d個樣本而進行的。
抽選的主要缺點是采樣率的減小僅限于整數(shù)數(shù)字。另外,如果必要的話,消除混疊濾波器的計算量可能非常大。
用于采樣率轉(zhuǎn)換的第二種通用技術(shù)稱為插值法。插值法是用于把采樣率增加整數(shù)倍的常用方法。為了使采樣率增加1倍,基本插入器在每個輸入樣本之間插入具有數(shù)值0的1-1個樣本。然后,所得的樣本以較高速率通過消除混疊低通濾波器。
該插值法與抽取法一樣具有一些相同的基本缺點。采樣率的增加倍數(shù)限于整數(shù)數(shù)值,并且插值法所需的低通濾波代價高。
就其本身來說,插值法和抽取法僅可以實現(xiàn)整數(shù)倍的采樣率改變。在許多情況下,這不具有所需的靈活性。通過結(jié)合插值法和抽取法,可能分為幾個階段,使得對采樣率轉(zhuǎn)換的細調(diào)成為可能。例如,如果輸入采樣率為194.4kHz,并且所期望采樣率為153.6kHz,這兩個采樣率之間的差別不成整數(shù)倍。而是,所期望采樣率與可用采樣率的比值為64/81。為了實現(xiàn)所期望采樣率,可以首先按64因子對該數(shù)據(jù)進行插值,然后按81因子進行抽取,但是,大的插值和抽取因子對低通濾波器的要求非常嚴格。為了減小對濾波器的要求,可以分幾個階段執(zhí)行插值和抽取,例如按8進行插值,然后按9進行抽取,接著,按8進行插值,然后按9進行抽取,結(jié)果總共得到64/81的轉(zhuǎn)換。利用插值與抽取的結(jié)合可以進行更寬范圍的采樣率轉(zhuǎn)換,而不限于整數(shù)數(shù)字。但是,這種方法的一個大缺點是濾波方面的代價。
另一種用于采樣率轉(zhuǎn)換方法的技術(shù)稱為線性插值,它在輸入和輸出采樣率相近的情況下十分有用。該方法用第一級線性插值法來估計作為兩個輸入樣本的函數(shù)的每個輸出樣本,以及在輸入和輸出樣本在時間上的相對位置。參見
圖1,第m個輸出樣本的數(shù)值可以根據(jù)如下公式計算ym=xn×k+xn+1×(1-k)其中,k=((n+1)×Tx-m×Ty)/Tx在這些公式中,xn是第n個輸入樣本,ym是第m個輸出樣本,Tx是輸入采樣周期,并且Ty是輸出采樣周期。給定Tx為輸入采樣周期,第n輸入樣本的時間是txn=n×Tx。類似地,第n個輸出樣本的時間是tym=m×Ty。為了計算輸出樣本數(shù)m,選擇n為n×Tx≤m×Ty<(n+1)×Tx。
第一級插入法的一個缺點是可以難以區(qū)分出哪個是用于計算輸出樣本的特定輸入樣本。Tx和Ty通常不是整數(shù),并且舍入誤差可能造成選擇錯誤的樣本。k的計算涉及兩個數(shù)字的相減,這兩個數(shù)字隨著m和n的增加而變得非常大,這使得k的計算容易由于數(shù)字精度的限制而出現(xiàn)誤差。
這樣缺點可以利用具有k值的表格而減輕。繼續(xù)以194.4kHz輸入和153.6kHz輸出采樣率為例,該樣本在時間上的相對位置在81個輸入樣本的期間中重復(fù)。因此,可以在表格中預(yù)先計算并存儲該k值。利用表格以存儲預(yù)計算數(shù)值的代價消除對每個樣本計算k值的需要。利用預(yù)計算表的缺點是用于該表格的數(shù)值必須預(yù)先計算并存儲,這需要另外的硬件資源。當相同的轉(zhuǎn)換器用于多種輸入采樣率和輸出采樣率的組合時,該方法特別成問題。
發(fā)明概述本發(fā)明是一種克服現(xiàn)有技術(shù)的一些缺點的用于采樣率轉(zhuǎn)換的方法和裝置。本發(fā)明的方法是一種插值法,它使基于表格的方法具有魯棒性,而不需要預(yù)先計算和存儲表格。該方法也減化了所涉及的計算量,并且不易受數(shù)字舍入誤差的影響。該方法利用整數(shù)累計器根據(jù)包含按照一種采樣率的多個輸入樣本的輸入數(shù)據(jù)流產(chǎn)生包含按照另一種采樣率的多個輸出樣本的輸出數(shù)據(jù)流。更具體來說,該方法利用整數(shù)累計器跟蹤輸入樣本和輸出樣本之間的時序關(guān)系。該方法根據(jù)累計器的數(shù)值判斷是否采用了正確的輸入樣本來計算當前輸出樣本。如果判斷結(jié)果為是,則把輸出樣本作為輸入樣本和累計器數(shù)值的函數(shù)來計算。通過利用簡單整數(shù)運算來保持累計器數(shù)值,本發(fā)明方法避免不必要的大計算量,否則需要大量計算來確定是否采用了適當?shù)妮斎霕颖荆⒈3址腔诒砀竦姆椒ǖ撵`活性和壓縮性。
本發(fā)明的方法包括輸入樣本寄存器、整數(shù)累計器、以及優(yōu)選的移位寄存器,所有這些用于實現(xiàn)本發(fā)明的采樣率轉(zhuǎn)換法。
附圖簡述圖1為示出線性插值的示意圖。
圖2為采樣率轉(zhuǎn)換法的邏輯流程圖。
圖3為示出輸入樣本(…xn-3, xn-2,xn-1,xn,xn+1,…)和輸出樣本(…ym-2,ym-1,ym,ym+1,…)之間的時序關(guān)系的示意圖。
圖4為當已知A小于B時可用的簡化采樣率轉(zhuǎn)換法的邏輯流程圖。
圖5為當已知A大于B時可用的簡化采樣率轉(zhuǎn)換法的邏輯流程圖。
圖6為用于采樣率轉(zhuǎn)換器的裝置的優(yōu)選實施例的方框圖。
圖7為把圖4的方法用于圖6的裝置的控制器的優(yōu)選實施例的流程圖。
發(fā)明詳述下面參照附圖更加完整地描述本發(fā)明,其中示出一優(yōu)選實施例。但是,本發(fā)明可以用于多種不同實施例,并且不限于在此所述的實施例。
本發(fā)明的方法是插值法的一個變形,其中利用一整數(shù)累計器220來計算輸入和輸出樣本在時間上的相對位置。對于線性插值,本方法利用兩個正整數(shù)常數(shù)A和B來計算兩個輸入樣本和一個輸出樣本的時序關(guān)系。如果輸入信號的采樣周期為Tx,并且輸出信號的采樣周期為Ty,則選擇A和B,使得A和B滿足如下方程A/B=Tx/TyA和B的實際數(shù)值或大小取決于所期望的精度級別以及其他考慮。在實現(xiàn)中,輸入采樣周期Tx被量化為A個級別。通過使得級間距較小(使A較大),所增加的量化噪聲可以保持為較小。但是,利用大量數(shù)位來表示A可能會浪費資源。例如,假設(shè)以194.4kHz的采樣率獲得輸入信號,并且所期望的輸出采樣率為153.6kHz,則A/B=Tx/Ty=((1/194400)/(1/153600))=153600/194400=64/81這樣,輸出采樣周期可以量化為64個級別(A=64),或者任何64的倍數(shù)個級別,并且仍然保持適當?shù)谋壤?,并使得A和B為整數(shù)。因此,如果B為1296,則A可以為1024。但是,如果A為64,則只需要6個比特來表示該數(shù)值(26=64)。但是,A為1024,則需要10個比特(210=1024)。應(yīng)當注意可能還另外需要一個比特來表示正負號。
A和B的數(shù)值用于迭代計算變量“acc”的數(shù)值,該數(shù)值為一對輸入樣本和一個給定輸出樣本跟蹤它們在時間上的相對位置。簡而言之,acc具有兩個功能。首先,acc用于確定是否采用了適當?shù)妮斎霕颖緦碛嬎惝斍拜敵鰳颖?。第二,acc用于把適當?shù)臋?quán)重分配給輸入樣本對的每個成分,以便于適當?shù)毓烙嬢敵鰳颖局?。在下文的描述中acc實現(xiàn)這些功能的具體細節(jié)將變得更加清楚。
圖2示出用于本發(fā)明的邏輯流程圖。在該過程的開始時,整數(shù)累計器220被設(shè)為0,并且數(shù)值m和n也被設(shè)為0(方框10)。變量m是表示當前輸出樣本的序列號的整數(shù)計數(shù)器。變量n是表示當前輸入樣本的序列號的整數(shù)計數(shù)器。在下文描述中,這將變得更加清楚,在流程圖中m和n的唯一目的是通過說明輸入和輸出樣本是如何相關(guān)的,從而幫助讀者理解該算法。在本發(fā)明方法的實現(xiàn)中,不需要存儲或計算m和n的數(shù)值。
累計器220包含表示變量“acc”的整數(shù)值。該主流程循環(huán)以把A加到累計器220中的整數(shù)值上作為開始(見方框20)。然后檢查acc,看它是否小于0(方框30)。如果為“是”,則n增加1(方框40),下一個輸入樣本被選擇來估計當前輸入樣本的作用,并且該流程返回到方框20。如果acc不小于0,則計算輸出樣本(方框50)。簡而言之,在方框30中對acc值的檢測表示判斷所計算的具體輸出樣本是否落在當前輸入采樣周期之內(nèi),即,在兩個當前選擇的輸入樣本(n和n+1)中間,或者正好在輸入樣本xn+1上。
為本發(fā)明的目的,當前輸入采樣周期被定義為從當前輸入樣本到下一個后續(xù)輸入樣本之間的時間周期。因此,如果輸入采樣率為1Hz,并且當前輸入樣本是第四個(在序列0、1、2、3、4、…、n),則當前輸入采樣周期是從第4秒到第5秒。
輸出樣本的計算(方框50)是通過如下公式實現(xiàn)的ym=(acc×xn+(A-acc)×xn+1)/A該公式是變型的線性插值公式。在該公式中,xn是出現(xiàn)在輸出樣本之前的最后一個輸入樣本的數(shù)值,而xn+1是出現(xiàn)在輸出樣本之后的第一輸入樣本。在一個輸出樣本直接落在一個輸入樣本上的情況下,acc將等于整數(shù)0,并且公式變?yōu)閥m=(A×xn+1)/A=xn+1。因此,適當相應(yīng)的輸入樣本的數(shù)值xn+1將用于輸出樣本(ym)。但是,注意在第一個輸入樣本(x0)和第一輸出樣本(y0)直接重疊的特殊情況,此時acc將等于A,從而,用于此種情況的公式變?yōu)閥0=(A×x0)/A=x0。
在計算輸出樣本之后(方框50),acc的數(shù)值被按照B進行抽取(方框60)。在方框70,檢查新的acc數(shù)值,看它是否大于或等于0。如果為“是”,則m增加1,并且流程返回到方框50。如果為“否”,則m和n都增加1(方框90)。簡而言之,在方框70中對acc值的檢測表示判斷下一個輸出樣本是否出現(xiàn)在同一對輸入樣本之內(nèi)。
該流程繼續(xù)循環(huán)通過主流程循環(huán)(方框20至方框100),直到樣本結(jié)束(方框100),它在這一點處停止(方框110)。以這樣方式,周期Tx的輸入采樣率被轉(zhuǎn)換為周期Ty的輸出采樣率。
作為一個實現(xiàn)本方法的實施例,參見圖3。假設(shè)輸入采樣率比輸出采樣率更快,這意味著A小于B。為了便于討論,假設(shè)A等于10,B等于14,對應(yīng)于1.4kHz輸入采樣率和1.0kHz的輸出采樣率。另外,假設(shè)轉(zhuǎn)換過程是根據(jù)本發(fā)明進行的,并且為當前處理的輸入樣本xn-3和輸出樣本ym-2。在此時,進入方框20,acc等于-4。在方框20中,acc增加A,使得acc現(xiàn)在等于6(-4+10)。由于6大于0(方框30),根據(jù)xn-3和xn-2計算輸出樣本Ym-1。現(xiàn)在,acc減去14(方框60),使其等于-8(+6-14)。由于acc不大于0,則主流程循環(huán)再次開始。在第二次通過主流程循環(huán)時,利用xn-2和xn-1計算ym-1的數(shù)值,并且acc被調(diào)整為-12(-8+10-14)。在第三次通過主流程循環(huán)時,acc增加A,使其等于-2(-12+10)?,F(xiàn)在,由于acc仍然小于0,當前輸入樣本(在此時為xn-1)被拋棄,下一個輸入樣本xn取代當前輸入樣本的位置,并且acc增加到8(-2+10)。然后利用xn和xn+1計算輸出樣本ym。在第三次通過主流程循環(huán)(方框100)結(jié)束時,acc等于-6(8-14)。如圖3中所示,采用輸入樣本xn和xn+1來計算輸出樣本ym而不用輸入樣本xn-1和xn來計算的原因是ym落在xn和xn+1之間。
從這一解釋可以看出,變量acc用于動態(tài)跟蹤輸入樣本和輸出樣本之間的時序關(guān)系。在這一實施例中,其中A小于B,當在方框30中acc小于0時,輸出樣本序列“進一步”前進一個或多個位置。在其它情況下,當B小于A時,當在方框70中acc大于或等于0時,可以用相同的輸入樣本對來計算兩個或多個輸出樣本。因此,可以看出變量acc由該流程用來確認是否采用了正確的輸入樣本對來計算每個給定的輸出樣本。
如果已知常量A大于常量B,則圖2的流程可以略為簡化,反之亦然。利用相同的參考標號,在圖4中示出當已知A小于B時簡化的邏輯流程圖。圖5示出當已知A大于B時簡化的邏輯流程圖。圖4和圖5的流程圖示出當A和B之間的關(guān)系已知時可以取消比較和循環(huán)步驟,從而簡化該流程。
對于上述流程來說,輸出樣本(ym)的計算需要用常數(shù)A來除。由于有時在硬件中實現(xiàn)除法成本較高,可以預(yù)先計算1/A的數(shù)值,并使用乘法。另外,最好通過選擇A的數(shù)值來簡化除法。例如,如果A是2的次冪,則除法可以用簡單的二進制位移來實現(xiàn)。
為了舉例說明,假設(shè)可以194.4kHz獲得輸入樣本,并且所期望的采樣率為153.6kHz。這意味著A/B=Tx/Ty=153600/194400=64/81這樣,A可以等于64,而B可以等于81。如果這樣的話,則輸出采樣周期Tx將被分為64個級別。例如,如果A增加到1536并且B相應(yīng)地增加到1944,則可以獲得更高的精度。但是,最好A是2的較大次冪,例如1024(210),這意味著B將為1296。如果A為1024,則除法可以用二進制數(shù)右移十(10)來實現(xiàn)。
上述討論假設(shè)利用線性插值法。但是,本發(fā)明的方法也可以利用其它插值法,例如第二次方,或第三次方,或者其它在本領(lǐng)域中已知的方法。一些其他插值法需要利用多于兩個的輸入樣本來計算給定的輸出樣本。如果只需要兩個輸入樣本,則只需要用一個整數(shù)累計器220。如果需要多于兩個輸入樣本,則可能要用多個整數(shù)累計器220來跟蹤輸入樣本和輸出樣本之間的時序關(guān)系。另外,可以用一個累計器220來跟蹤所有所需的輸入樣本和要被計算的輸出樣本之間的關(guān)系;這是因為一旦與一個輸入樣本之間的時序關(guān)系已知,則與其它輸入樣本之間的時序關(guān)系將是簡單的繼續(xù)加整數(shù)A的過程。如果采用不同的插值法(除了線性插值之外),顯然要用不同的公式來計算每個給定的輸出樣本。但是,該輸出樣本值將仍然是至少多個輸入樣本或一個或多個累計器數(shù)值的函數(shù)。
在圖6中示出一種可能的采樣率轉(zhuǎn)換器200的硬件實現(xiàn)的方框圖。該采樣率轉(zhuǎn)換器200包括控制器210、整數(shù)累計器220、多路復(fù)用器230、加法器240、250、減法器260、乘法器270、280、輸入樣本寄存器290、位移器300??刂破?10控制轉(zhuǎn)換器200的整體功能。累計器220利用整數(shù)運算跟蹤輸入和輸出樣本在時間上的相對位置。多路復(fù)用器230連接到A和B數(shù)值的數(shù)據(jù)源180、190。輸入樣本被順序饋送到寄存器290。位移器300執(zhí)行適當?shù)奈灰苼矸从吵鼳的過程,并輸出每個輸出樣本的輸出樣本值。
另外,控制器210的功能可以分配在轉(zhuǎn)換器200中,而不是集中在圖6中所示的單個裝置上。并且,轉(zhuǎn)換器200的兩個或多個構(gòu)成成分,例如加法器240、250、減法器260、乘法器270、280、以及輸入樣本寄存器290可以合并到一個集成算術(shù)邏輯單元,但是這樣可能成本更高。
圖7示出用于圖4中所述的方法的圖6的控制器的優(yōu)選操作過程的簡化流程圖。在初始化后,控制器210指示累計器220清零,并且指示輸入樣本寄存器290加載第一輸入樣本(方框310)。請注意,這一行為對應(yīng)于圖4的方框10。接著,控制器210確認下一個輸入樣本是否可用(方框320)。如果為“否”,控制器210循環(huán)直到下一個輸入樣本可用。如果為“是”,則控制器210指示多路復(fù)用器230加載A,并使累計器220增加A(方框330)。請注意,這一行為對應(yīng)于圖4的方框20。如果符號位為正,則控制器210使輸出樣本(ym)得以計算,該多路復(fù)用器切換到-B,并且累計器220把-B加到現(xiàn)有的累計器數(shù)值上(方框350)。這些行為對應(yīng)于圖4的方框50、60、和90。在方框350之后,或者如果在方框340中符號位為負時,控制器210使輸入樣本寄存器290加載下一個輸入樣本(方框360)。
圖6的轉(zhuǎn)換器200是上文中對于當A為2的次冪時所述的線性插值采樣率轉(zhuǎn)換方法的簡單硬件實現(xiàn)。轉(zhuǎn)換器200能夠利用整數(shù)運算把輸入樣本流x1、x2、…、xn的采樣率轉(zhuǎn)換為具有不同輸出采樣率的輸出樣本流y1、y2、…、yn。通過使A和B為可編程的常數(shù),則相同采樣率轉(zhuǎn)換器200可以被編程為在幾種不同輸入輸出采樣比下工作。
權(quán)利要求
1.一種用于把按照第一采樣率的輸入數(shù)據(jù)流轉(zhuǎn)換為按照第二采樣率的輸出數(shù)據(jù)流的采樣率轉(zhuǎn)換方法,其中包括a)按照第一采樣率接收包含多個輸入樣本的輸入數(shù)據(jù)流;以及b)通過對所述輸入樣本進行插值產(chǎn)生包括按照第二采樣率的多個輸出樣本的輸出數(shù)據(jù)流;所述產(chǎn)生步驟包括i)在所述輸入數(shù)據(jù)流中選擇一個或多個輸入樣本;ii)保持至少一個累計器總和,它表明所選擇輸入樣本和要被產(chǎn)生的輸出樣本之間的時序關(guān)系,其中累計器的數(shù)值總是一個整數(shù);以及iii)對每個輸出樣本計算作為所述累計器總和的一個函數(shù)的所述輸出樣本。
2.權(quán)利要求1的方法還包括在所述計算步驟之前把該累計器總和與已知參考值相比較的步驟,以確定當前選擇的輸入樣本與要被產(chǎn)生的輸出樣本之間是否具有正確的時序關(guān)系。
3.權(quán)利要求1的方法還包括保持多個累計器總和的步驟,其特征在于,每個累計器總和表明在所述輸入數(shù)據(jù)流的不同輸入樣本與要被產(chǎn)生的輸出樣本之間的時序關(guān)系,并且其中每個累計器的數(shù)值總是為整數(shù)。
4.權(quán)利要求1的方法,其特征在于,所述計算是所述當前選擇的輸入樣本的另一個函數(shù)。
5.權(quán)利要求2的方法,其特征在于,所述已知參考值為0。
6.一種用于把按照第一采樣率的輸入數(shù)據(jù)流轉(zhuǎn)換為按照第二采樣率的輸出數(shù)據(jù)流的采樣率轉(zhuǎn)換方法,其中包括a)按照第一采樣率接收包含多個輸入樣本的輸入數(shù)據(jù)流;以及b)通過對所述輸入樣本進行線性插值產(chǎn)生包括按照第二采樣率的多個輸出樣本的輸出數(shù)據(jù)流;所述產(chǎn)生步驟包括i)保持至少一個累計器總和,它表明所選擇輸入樣本和要被產(chǎn)生的輸出樣本之間的時序關(guān)系,其中累計器的數(shù)值總是一個整數(shù);以及ii)對每個輸出樣本計算作為所述累計器總和的一個函數(shù)的所述輸入樣本。
7.權(quán)利要求6的方法還包括在所述計算步驟之前把該累計器總和與已知參考值相比較的步驟,以確定當前要被產(chǎn)生的輸出樣本是否落在當前輸入采樣周期之內(nèi)。
8.權(quán)利要求6的方法,其特征在于,所述計算是所述當前選擇的輸入樣本和下一個輸入樣本的另一個函數(shù)。
9.權(quán)利要求8的方法還包括如下步驟a)確立整數(shù)數(shù)值A(chǔ)和B,使得A/B的比值等于Tx/Ty,其中Tx是輸入采樣周期,而Ty是輸出采樣周期;以及b)根據(jù)如下公式計算第m個輸出樣本的輸出樣本值YmYm=(L×Xn+(A-L)×Xn+1)/A其中L是所述累計器的當前值,Xn是當前輸入樣本的數(shù)值,并且Xn+1是Xn之后的下一個輸入樣本的數(shù)值。
10.權(quán)利要求9的方法還包括在計算輸出樣本值之后把所述累計器數(shù)值減B的步驟。
11.權(quán)利要求9的方法還包括在計算輸出樣本值之前把所述累計器的數(shù)值加A的步驟。
12.權(quán)利要求9的方法,其特征在于,A為2的次冪。
13.權(quán)利要求7的方法,其特征在于,所述已知參考值為0。
14.一種用于把按照第一采樣率的輸入數(shù)據(jù)流轉(zhuǎn)換為按照第二采樣率的輸出數(shù)據(jù)流的采樣率轉(zhuǎn)換方法,其中包括a)按照第一采樣率接收包含多個輸入樣本的輸入數(shù)據(jù)流;以及b)通過對所述輸入樣本進行線性插值產(chǎn)生包括按照第二采樣率的多個輸出樣本的輸出數(shù)據(jù)流;所述產(chǎn)生步驟包括i)確立整數(shù)數(shù)值A(chǔ)和B,使得A/B的比值等于Tx/Ty,其中Tx是輸入采樣周期,而Ty是輸出采樣周期;ii)保持至少一個累計器總和,它表明所選擇輸入樣本和要被產(chǎn)生的輸出樣本之間的時序關(guān)系,其中累計器的數(shù)值總是一個整數(shù);以及iii)對每個輸出樣本,把累計器總和與已知參考值相比較,以確定要被產(chǎn)生的輸出樣本是否落在當前輸入采樣周期之內(nèi);如果為“是”,則根據(jù)如下公式計算作為所述累計器總和、當前輸入樣本、以及下一個輸出樣本的一個函數(shù)的所述輸出樣本,其公式如下Ym=(L×Xn+(A-L)×Xn+1)/A其中,Ym是第m個輸出樣本的數(shù)值,L是所述累計器的當前值,Xn是當前輸入樣本的數(shù)值,并且Xn+1是Xn之后的下一個輸入樣本的數(shù)值;以及iv)開始時把L設(shè)為0,然后在計算第一輸出樣本值之前使L加A,并且在計算每個輸出樣本值之后使L減B。
15.權(quán)利要求14的方法,其特征在于,A為2的次冪。
16.權(quán)利要求14的方法,其特征在于,所述已知參考值為0。
17.一種用于把按照第一采樣率的輸入數(shù)據(jù)流轉(zhuǎn)換為按照第二采樣率的輸出數(shù)據(jù)流的采樣率轉(zhuǎn)換裝置,其中包括a)一輸入樣本寄存器;b)至少一個整數(shù)累計器,它用于利用整數(shù)運算計算輸入樣本和輸出樣本之間的時序關(guān)系,其中每個所述輸入樣本的數(shù)值是作為所述累計器總和和多個所述輸入樣本的函數(shù)而計算的。
18.權(quán)利要求17的裝置,其特征在于,所述計算是根據(jù)如下公式進行的Ym=(L×Xn+(A-L)×Xn+1)/A其中,Ym是第m個輸出樣本的數(shù)值,L是所述累計器的當前值,Xn是當前輸入樣本的數(shù)值,并且Xn+1是Xn之后的下一個輸入樣本的數(shù)值;以及A是一整數(shù)值,使得A與整數(shù)值B的比值等于Tx與Ty的比值,其中Tx是輸入采樣周期,Ty是輸出采樣周期。
19.權(quán)利要求17的裝置還包括用于所述計算的除法部分的位移器。
全文摘要
一種采樣率轉(zhuǎn)換器(200),用于把包括多個按照某一采樣率的輸入樣本(X)的輸入數(shù)據(jù)流轉(zhuǎn)換為包括多個按照另外一種采樣率的輸出樣本(Y)的輸出數(shù)據(jù)流。該轉(zhuǎn)換器利用插值法,即利用一整數(shù)累計器(220)來跟蹤輸入樣本與輸出樣本之間的時序關(guān)系。該方法根據(jù)累計器的數(shù)值,判斷是否采用了正確的輸入樣本來計算當前輸出樣本。如果為“是”,則輸出樣本被作為輸入樣本和該累計器數(shù)值的一個函數(shù)而計算。該轉(zhuǎn)換器使基于表格的轉(zhuǎn)換法具有魯棒性,而不需要預(yù)先計算并存儲表格,簡化所涉及的計算,并且不易受數(shù)值舍入誤差的影響。
文檔編號H04L7/00GK1249093SQ98802865
公開日2000年3月29日 申請日期1998年1月16日 優(yōu)先權(quán)日1997年2月26日
發(fā)明者P·B·霍姆奎斯特 申請人:艾利森公司