專利名稱:數字濾波器指令和實現該濾波器指令的濾波器的制作方法
技術領域:
本發明一般涉及數據信道或伺服系統中的數據信號檢測,更具體地涉及數字濾波器指令和實現該濾波器指令的濾波器。
背景技術:
最近開發的諸如磁盤驅動裝置(即,硬盤驅動器)之類的數據存儲裝置具有增加了的存儲容量和增加了的數據存取速度。由于這些優點,磁盤驅動裝置已經被廣泛用作計算機系統的輔助存儲裝置。更通常地,最近,與盤驅動技術中的這些改進相關的脈沖通信的進展已經提供了增加的速度和寬范圍脈沖通信系統中的可靠性。本發明將在磁盤驅動裝置的范圍中詳細描述,但是脈沖通信領域的技術人員將易于理解,這個發明提供用于多種脈沖通信范圍中的數據脈沖檢測的改進方法。
影響存儲容量和存取速度的磁盤驅動裝置的主要部件是磁頭(head)、記錄介質、伺服機制、讀取/寫入信道中使用的信號處理技術等等。在這些部件中,使用PRML(局部響應最大相似)檢測的信號處理技術對現代磁盤驅動裝置中見到的存儲容量增加和高存取速度具有非常大的貢獻。
磁盤驅動裝置的普通讀取/寫入信道電路中的讀取信道電路包括用于對該裝置的讀取/寫入磁頭所生成的模擬讀取信號的初始處理的組件。這個處理提供自動增益控制(AGC)放大、濾波、和均衡,以及模數轉換。
隨著面密度的增加,高密度下的符號間干擾(ISI)、轉變相關噪聲、和非線性失真以及高數據速率下的帶寬限制導致性能惡化。例如,磁記錄信道中的相鄰記錄位之間的符號間干擾電平隨記錄密度增加。目前最經常使用的讀取-寫入信道基于局部響應方案。在這個方案中,用信道脈沖和維特比(Viterbi)檢測器來檢測數字化的讀取信號中的數據脈沖,并恢復這些位。
例如,在電子地讀取或傳送數據時遇到的共同問題在于,諸如背景噪聲、脈沖噪聲、衰減等之類的因素使其變惡化。通常這個數據惡化是統計現象,這引起對原始傳送數據的相加和/或相乘變換。這樣,原始數據經受諸如頻率變換、非線性或諧波失真、以及時間色散之類的改變。此外,有限帶寬信道上的高速數據傳送導致通常稱作符號間干擾的失真類型。
在信號處理領域中,進行波形整形,即噪聲分量的消除和所期望的信號分量的提取,以便正確地執行期望的信號處理。通過濾波器執行這樣的處理。將濾波器劃分為FIR(有限脈沖響應)濾波器和IIR(無限脈沖響應)濾波器。FIR濾波器僅使用老的連續輸入數據計算連續輸出數據,連續輸入數據的確定脈沖響應對連續輸出數據的影響限于有限時間。由于IIR濾波器將老的連續輸出數據反饋回到輸入側,并且將這個數據當作新連續輸入數據處理來計算連續輸出數據,所以連續輸入數據的脈沖響應對連續輸出數據的影響擴展到無限時間。FIR濾波器和IIR濾波器用于相同的目的。盡管IIR濾波器具有更好的性能,但是難以設計且結構復雜。鑒于這一點,FIR濾波器使用更廣泛。
數字信號處理裝置(DSP)相對公知。通常將DSP與通用微處理器區分開,這是因為DSP通過包括用于執行數字數相乘的專用乘法器和累加器(MAC)而典型地支持加速的算術操作。用于典型的DSP裝置的指令系統(instructionset)通常包括用于執行新操作數相乘和與存儲在累加器寄存器內的先前積累值相加的MAC指令。
通過用指令對DSP進行編程可以實現數字濾波器,以便實現濾波器功能。然而,用于進行數據處理的程序包括除用于進行濾波器處理本身的那些指令之外的指令。在由處理器形成的數字濾波器中,基本操作指令是那些用于加法、減法和乘法的指令,因此指令的數目增加。用于典型的有限脈沖響應(FIR)濾波器的數學算法可以類似于方程Yn=h0Xn+h1Xn-1+h2Xn-2+……+hm-1Xn-M-1其中,hm是從0到M-1編號的M個固定濾波器系數,而Xn是數據抽樣。可以使用軟件程序來求方程Yn的值。然而,在某些應用中,需要盡可能快地求方程的值。進行這一點的一種方式是使用諸如被編程以計算方程Yn的DSP裝置之類的硬件部件來執行該計算。
數字濾波器處理離散時間中的數字信號,并通常使用數字信號處理器(DSP)通過數字電子計算來實現。DSP是專門為通常實時的數字信號處理設計的專用微處理器。DSP通常具有針對諸如相乘-累加之類的快速信號處理任務而最優化的指令系統,該相乘-累加計算乘積并將該乘積加到累加器上。該指令系統、或者指令系統體系結構(ISA)是詳述計算機的CPU應該能夠理解并執行的命令的規范,或者其是通過特定CPU設計而實現的所有命令的集合。
盡管可以在數字信號處理器(DSP)中實現數字濾波器算法,但是這樣的實現經常花費更長的執行時間,需要相當大的代碼間隔,并且在數據存儲器中具有將地址x(n-1)上的數據移動到下一個更高地址的開銷,以確定輸入序列x(n)是在接著通過濾波器的正確位置上。
這樣,可以看出,存在對數字濾波器指令和實現該濾波器指令的濾波器的需要。
發明內容
為了克服在上述的現有技術中的限制,并克服在閱讀和理解本說明書時將變得明顯的其它限制,本發明公開了一種數字濾波器指令和實現該濾波器指令的濾波器。
本發明通過提供具有簡明指令格式的濾波器指令來解決上述的問題,以便顯著地降低存儲器需求,允許沒有轉移代價(branch penalty)的指令流水線(instruction pipelining),并且對數據使用循環緩沖器(circular buffer),因此對于下一個輸入抽樣,僅需要更新數據地址指針。濾波器指令通過使用預清零累加器或者預/后存儲累加器結果的選項而可用于實現FIR或者IIR濾波器。
用于根據本發明的實施例的原理合成數字濾波器的讀濾波器指令包括指令字段、抽頭長度字段、系數地址字段、數據頭(data header)地址字段、清零累加器位、以及更新位。
在本發明的又一個實施例中,提供了一種設備。該設備包括具有寄存器的處理器,該處理器被配置為基于濾波器指令實現數字濾波器;耦接到該處理器的可尋址存儲器,用于存儲輸入、系數和輸出數據,該可尋址存儲器被配置為循環緩沖器;以及濾波器指令,可在處理器上執行,以實現數字濾波器,該濾波器指令包括指令字段、抽頭長度字段、系數地址字段、數據頭地址字段、清零累加器位、以及更新位。
在本發明的又一個實施例中,提供了一種磁存儲裝置。該磁存儲裝置包括磁存儲介質,用于在其上記錄數據;電機,用于移動磁存儲介質;磁頭,用于讀取和寫入磁存儲介質上的數據;致動器,用于相對于磁存儲介質來對磁頭定位;以及數據信道,用于處理磁存儲介質上的編碼信號,該數據信道包括具有寄存器的處理器,該處理器被配置為基于濾波器指令實現數字濾波器;以及耦接到處理器的可尋址存儲器,用于存儲輸入、系數和輸出數據,該可尋址存儲器配置為循環緩沖器,其中,該處理器可配置為根據濾波器指令提供數字濾波器,該濾波器指令包括指令字段、抽頭長度字段、系數地址字段、數據頭地址字段、清零累加器位、以及更新位。
在附加到本公開、并形成本公開的一部分的權利要求中具體指出了表征本發明的這些和各種其它優點以及新穎性特征。然而,為了更好地理解本發明、其優點、以及通過使用其而達到的目的,將參考形成本公開的另一部分的附圖、以及伴隨的描述性內容,其中有對根據本發明的設備的具體例子的說明和描述。
現在參考附圖,其中相同的附圖標記始終表示對應的部分圖1圖解了根據本發明的實施例的存儲系統;圖2是根據本發明的實施例的磁盤驅動裝置的方框圖;圖3是采用PRML檢測的圖2的讀取/寫入信道電路的方框圖;圖4是根據本發明的一個實施例的用于讀取信道的有限脈沖響應濾波器的方框圖;圖5圖解了根據本發明的實施例的用循環緩沖器實現的FIR濾波器的邏輯框圖;圖6圖解根據本發明的實施例的濾波器指令的結構;以及圖7是根據本發明的實施例的用于處理濾波器指令的數字濾波器的方框圖。
具體實施例方式
在下面的實施例描述中,對形成本發明的一部分、并通過說明而在其中示出可以實踐本發明的具體實施例的附圖進行參考。將理解的是,因為在不脫離本發明的范圍的情況下可以進行結構改變,所以可以利用其它實施例。
本發明提供數字濾波器指令和實現該濾波器指令的濾波器。根據本發明的實施例的濾波器指令用簡明的指令格式解決這些問題,以便顯著地降低存儲器需求,允許沒有轉移代價的指令流水線,并且對數據使用循環緩沖器,因此對下一個輸入抽樣僅需要更新數據地址指針。通過使用預清零累加器或者預/后存儲累加器結果的選項,濾波器指令可用于實現FIR或者IIR濾波器。
圖1圖解了根據本發明的實施例的存儲系統100。在圖1中,換能器110是在致動器120的控制之下。致動器120控制換能器110的位置。換能器110寫入和讀取磁介質130上的數據。將讀取/寫入信號傳遞到數據信道140上。信號處理器系統150控制致動器120,并處理數據信道140上的信號。此外,介質平移器160由信號處理器系統150控制,以使磁介質130相對于換能器110移動。但是,本發明不是想要限于特定類型的存儲系統100、或者限于在存儲系統100中使用的介質130的類型。
圖2是根據本發明的實施例的磁盤驅動裝置200的方框圖。在圖2中,由主軸電機234旋轉盤210,且將磁頭212定位在對應的盤210之一的表面上。將磁頭212安裝在從E形的部件裝置(block assembly)214延伸到盤210的對應伺服臂上。部件裝置214具有相關聯的可旋轉音圈致動器230,其移動部件裝置214并從而改變到用于從規定位置讀取數據或將數據寫入到規定位置的磁頭212在一個或多個盤210上的位置。
預放大器216對磁頭212拾取的信號進行預放大,并從而在讀取操作期間向讀取/寫入信道電路218提供放大的信號。在寫入操作期間,預放大器216將編碼的寫入數據信號從讀取/寫入信道電路218傳輸到磁頭212。在讀取操作中,讀取/寫入信道電路218從預放大器216提供的讀取信號中檢測數據脈沖,并對該數據脈沖進行解碼。讀取/寫入信道電路218將解碼的數據脈沖傳輸到盤數據控制器(DDC)20。此外,讀取/寫入信道電路218還對從DDC220接收的寫入數據進行解碼,并將解碼的數據提供到預放大器216。
DDC 220通過讀取/寫入信道電路218和預放大器216將從主計算機(沒有示出)接收的數據寫入到盤210,并且將來自盤210的讀取數據傳輸到主計算機。DDC 220還在主計算機和微控制器224之間提供接口。緩沖器RAM(隨機存取存儲器)222臨時存儲在DDC 220和主計算機、微控制器224以及讀取/寫入信道電路218之間傳輸的數據。微控制器224響應來自主計算機的讀取和寫入命令而控制軌道搜尋和軌道跟蹤功能。
ROM(只讀存儲器)226存儲用于微控制器224的控制程序以及各種設置值。伺服驅動器228響應從對磁頭212的位置提供控制的微控制器224生成的控制信號,而生成用于驅動致動器230的驅動電流。將驅動電流施加到致動器230的音圈。致動器230根據從伺服驅動器228供應的驅動電流的方向和量來相對于盤210定位磁頭212。主軸電機驅動器232根據從用于控制盤210的微控制器224生成的控制值來驅動使盤210旋轉的主軸電機234。
圖3是采用PRML檢測的圖2的讀取/寫入信道電路300的方框圖。在圖3中,讀取/寫入信道電路300包括物理記錄信道338,具有讀取/寫入裝置和記錄介質;寫入信道電路340,用于將數據寫入到記錄介質中;以及讀取信道電路342,用于從記錄介質讀取數據。寫入信道電路340包括編碼器344、預解碼器346、以及寫入補償器348。讀取信道電路342包括自動增益控制(AGC)放大器350、低通濾波器(LPF)352、模數轉換器(ADC)354、包括諸如有限脈沖響應(FIR)濾波器之類的數字濾波器的自適應均衡器356、維特比檢測器358、增益控制器360、定時控制器362、以及解碼器364。維特比解碼器358包括匹配濾波器(圖3中沒有示出)。
在操作中,編碼器344將輸入以便被寫入到記錄介質的寫入數據編碼成為預定的代碼。例如,其中通常用相鄰零的數目必須保持在規定的最大和最小值之間的RLL(游程長度受限)代碼作為這個預定代碼。然而,本發明不是想要限于RRL,而可以使用其它代碼。包括預解碼器346以防止錯誤傳播。寫入補償器348減少從讀取/寫入磁頭中出現的非線性影響。然而,因為實際的記錄信道的響應并不正好與這個傳輸功能一致,所以總是需要一些后續的均衡。
自動增益控制(AGC)放大器350對從盤讀取的模擬信號進行放大。低通濾波器352消除AGC放大器350輸出的信號中的高頻噪聲并對該信號進行整形。由模數(A/D)轉換器354將從低通濾波器352輸出的信號轉換成為離散數字信號。然后,將作為結果生成的數字信號施加到自適應均衡器356,其自適應地控制符號間干擾(ISI)以生成期望的波形。維特比檢測器358接收從自適應均衡器356輸出的均衡信號,并從其生成編碼數據。解碼器364對從維特比檢測器358輸出的編碼數據進行解碼,以生成最終的讀取數據。與此同時,為了校正模擬信號包絡和數字化抽樣定時,增益控制器360控制AGC放大器350的增益,且定時控制器362控制對A/D轉換器354的抽樣定時。
可以將諸如在均衡器356中實現的數字濾波器實現為模擬濾波器或數字濾波器。通常數字濾波器的參數比模擬(連續)濾波器的參數更穩定,這主要是因為電子濾波器的部件根據溫度而改變性能。數字濾波器是有限脈沖響應(FIR)或者無限脈沖響應(IIR),盡管有諸如被截斷的無限脈沖響應(TIIR)濾波器之類的其它混合類濾波器,其中,盡管該濾波器是從IIR部件中制成,但是其示出有限脈沖響應。
圖4是根據本發明的一個實施例的用于讀取信道的有限脈沖響應濾波器400的方框圖。在圖4中,將輸入信號410饋送到具有多個存儲元件420的循環緩沖器電路412中。在每個存儲的輸入420之間提供延遲塊422。而且,每個存儲實體可包括N位數據元(data element)。隨著每一個到循環緩沖器412的連續輸入,將存儲元件420的值分接出去(tap off)。可以將分接的信號乘以(430)所選擇的系數440。然后,將所得分接信號450相加(460),以提供輸出470。
然而,本領域的技術人員將認識到,作為讀取信道的一部分而在圖4中圖解的濾波器400的例子僅僅是根據本發明的實施例的一個可能使用,其中提供了驅動信道操作的處理器。此外,本領域的技術人員將認識到,本發明不是想要以任何方式限于數據讀取信道,而是存在對根據本發明的實施例的數字濾波器指令和實現該濾波器指令的濾波器的許多其它使用。
將使用諸如DSP和精確定義指令(數量有限)算法之類的處理器來實現數字濾波器,該處理器用于完成某些在給定一組輸入的情況下將導致一些可識別的結束狀態的任務。盡管可以在DSP中實現數字濾波器算法,但是,這樣的實現經常花費更長的執行時間,需要相當大的代碼間隔,并在數據存儲器中具有將地址x(n-1)上的數據移動到下一個更高地址中、以便確定輸入序列x(n)是在接著通過濾波器的正確位置中的開銷。根據本發明的實施例的濾波器指令使用簡明的指令格式來解決這些問題,以便顯著地降低存儲器需求,允許沒有轉移代價的指令流水線,并且對數據使用循環緩沖器,因此對下一個輸入抽樣僅需要更新數據地址指針。通過使用預清零累加器或者預/后存儲累加器結果的選項,可用濾波器指令來實現FIR或者IIR濾波器。
圖5圖解根據本發明的實施例的用循環緩沖器510實現的FIR濾波器500的邏輯框圖。DSP執行根據本發明的實施例的指令,以便計算第k個濾波器。該濾波器指令的一般輸出為y(n)=c0*x(n)+c1*x(n-1)+…ck*x(n-k),其中c0-k是系數,x(n)是最新的輸入抽樣,x(n-k)是延遲了k個抽樣周期kT的信號抽樣,k是抽頭權重,而y(n)是輸出。FIR濾波器可實現為一連串的操作“相乘并累加”,通常稱為MAC。為了在任何時刻運行N階FIR濾波器,當前的輸入抽樣和N個在前的抽樣的序列必須可得到。這N個抽樣構成濾波器的存儲器。在實際的實現中,習慣將存儲器分配在數據存儲器的連續單元中,或者在任何情況下都可以容易地順序存取的位置中。在每個抽樣實例中,必須以x(k)變成x(k-1)的方式來更新狀態,并且這似乎隱含N個數據字在濾波器存儲器中的移位。事實上,代替移動數據,移動存取該數據的索引是方便的。
在圖5中,將存儲器字520放在循環緩沖器510中。將該輸入寫入到索引所指的字,并且用該索引的先前值讀取先前的輸入值。在每個抽樣實例,將索引增加一,當超過緩沖器的長度M時從位置0開始(這確保緩沖器510的環狀)。逆時針箭頭540指示索引所采用的方向,而順時針箭頭550指示如果索引逗留在固定的位置上則數據應該進行的移動。由乘法器560提供該濾波器系數。
圖6圖解了根據本發明的實施例的濾波器指令600的結構。可以將該濾波器指令實現在32位的指令格式中,其包括指令字段610、抽頭長度字段630、系數地址字段640以及數據頭地址字段650。該濾波器指令600還提供清零累加器位612,Ca,其如果被置位,則在濾波器計算之前將累加器清零;以及更新位614,Up,其如果被置位,則將累加器保存在濾波器表中。抽頭長度字段630用于定義濾波器的抽頭數。系數地址640提供系數地址指針,而數據地址字段650提供數據地址指針。使用清零的累加器位“c”612和更新位“u 614”,將濾波器指令600擴展到四個不同類型。表1圖解指令的可能變化。
表1
圖7是根據本發明的實施例的用于處理濾波器指令的數字濾波器700的方框圖。利用根據本發明的實施例的濾波器指令,易于在一個或者兩個濾波器指令中編碼諸如FIR和IIR濾波器之類的數字濾波器。與使用簡單RISC類型指令的傳統方式編碼濾波器相比,減少了代碼間隔,也增強了性能。用x(n)*a+x(n-1)*b+x(n-2)*c+……的和估算濾波器的函數,其中x(n)、x(n-1)、x(n-2)是在時間n、n-1、n-2抽樣的輸入,而a、b、c為系數。以使濾波器估算容易的方式將這些輸入和系數存儲在表中。當檢測到上溢和下溢時,分別將輸出飽和到最大或最小。
開始,取出濾波器指令。由解碼器710對該濾波器指令進行解碼。當檢測到濾波器指令時,使能有限狀態機(FSM)712。FSM 712控制濾波器引擎的數據流。首先,FSM 712將具有系數地址的地址緩沖器714加載到系數地址指針,并且將數據頭地址上的偏移加載到數據指針。FSM保持加法器的抽頭數。在執行之前將加法器預先減值。如果標志“Ca”被置位,則首先將累加器780清零。
從累加器780中取出操作數(系數)和抽樣x(n)),并將其分別加載到Creg722和Dreg724中。乘法器730將Creg722和Dreg724的內容相乘。由加法器740將來自乘法器730的積和來自累加器780的內容相加。例如,可以將該加法器740實現為32位、48位、或者64位加法器。將加法器740的新結果提供到多路復用器750。提供上溢/下溢檢測器760。如果檢測到上溢或者下溢,則將最大值或最小值提供到多路復用器750。多路復用器750向累加器780提供最大值、最小值、或者來自加法器740的值。然后,FSM 712減少計數器,并增加系數指針和數據指針。當數據指針大于n抽頭時,它返回到“1”。重復該過程,直到計數器為零。然后,完成濾波器的估算。當標志“Up”被置位時,在數據頭地址上保存新數據偏移。
例如,可以使用靜態隨機存取存儲器(SRAM)720來實現存儲器。根據你的應用,可以以單端口SRAM、三端口SRAM(兩個讀取端口,一個寫入端口)、兩個分開的SRAM(系數SRAM、數據SRAM)來實現SRAM 720。為了最好的性能而考慮三端口SRAM或者兩個SRAM。根據應用和算法分辨率,系數和數據可以為例如16位或者32位寬。該SRAM 720具有單循環存取。根據應用,可以將乘法器730實現為單循環或者區域/速度的多循環流水線乘法器。例如,乘法器可以為16×16、32×16、或者32×32的乘法器。
在完成指令時,用指向要存儲新輸入抽樣的下一個條目(entry)的新偏移更新地址緩沖器714的頭部。整個計算和更新數據指針在沒有任何轉移代價的情況下進行。在環路形式(loop form)中,如果已經完成該環(hoop),則必須不斷的測試數字濾波器,否則進行轉移并執行乘/加。
根據本發明的實施例的指令允許,在用于FIR濾波器的計算的情況下將結果保留在累加器780中,或者,在計算IIR濾波器的情況下將結果存儲回到Dreg724中。
例如,根據本發明的實施例所實現的濾波器可以操作如下。在時間=0,數據緩沖器包括4抽頭加權、系數地址0x010、包括偏移的數據頭地址0x068。來自數據頭的偏移指示將在哪里存儲最新的抽樣x(n)和/或將在哪里存儲最新的濾波器輸出。表2圖解緩沖器的內容。
表2
根據本發明的實施例的指令格式可以為Filter抽頭_權重=4,系數_地址=0x010,數據_頭=0x068,c=0,u=0。濾波器指令的執行從計算抽頭權重開始。抽頭等于抽頭_權重-1,其中,抽頭現在等于3。如果c等于1,則累加器小于或者等于0。這樣,累加器小于或者等于0。對每個指令將系數地址設置為0x010。數據偏移小于或等于存儲在數據頭中的值,即數據偏移等于3。然后,實現該濾波器的數字信號處理器將系數c(3)加載到Creg中。數據x(3)被加載到Dreg中。執行Creg和Dreg的相乘,并且將乘積加到累加器值。將新結果保存在累加器寄存器中。重復此操作,直到處理了最近的值c(0)和x(0)。
通過使用存儲間接指令可以將最新的抽樣x(n)存儲到數據緩沖器中。為了在數據頭地址(0x068)+偏移*4(即,數據頭地址將是0x074)上存儲x(n),濾波器指令是
Filterc n-抽頭,系數地址,數據頭地址。對于n=4和t=時間,FIR結果保留在累加器中,并且X=c(0)*x(4)+c(1)*x(3)+c(2)*x(2)+c(3)*x(1)。表3中表示了緩沖器的內容。
表3
然后,用位置(數據頭地址+偏移*4)上的最新y(n)更新數據緩沖器。表4中示出了用于IIR濾波器的緩沖器的內容。
表4
如圖5所示將抽樣輸入和濾波器系數加載到SRAM中。
表5
以環狀形式將新抽樣加載到表中。由數據頭地址與偏移*4之和,即0x0018,確定新抽樣x(n)的位置。該偏移總是指向由到來的抽樣x(n)替換的最老的抽樣。在執行濾波器指令之后,將偏移更新到“1”。將濾波器指令編碼如下Filtercu 抽頭=4,系數地址=0x000,數據_頭=0x100對于4抽頭濾波器Y(n)=c0*x(n)+c1*x(n-1)+c2*x(n-2)+c3*x(n-3),并且SRAM內容如表6所示。
在本發明的一個實施例中,當在條件B(像素分隔層170被從沉積厚度蝕刻100-1000的厚度)下執行等離子體表面處理工藝時,粒子和用作像素分隔層的有機材料的殘留物已經被去除。這種去除改進了陽極電極的表面特性,并且提高了在相同電壓下的OLED的綠顏色的發光效率。
圖4A示出根據不同表面處理工藝條件的綠顏色的驅動電壓和亮度之間的關系。將條件A(像素分隔層被蝕刻小于100的厚度)與條件B(像素分隔層被蝕刻100-1000的厚度)相比較。如圖4A中所示,在相同驅動電壓下,當與在條件A下獲得的相同亮度比較時,當在條件B下執行表面處理工藝時獲得了優良的綠顏色亮度特性。
圖4B示出根據表面處理工藝條件的綠顏色的發光效率和亮度之間的關系。將在條件A(像素分隔層被蝕刻小于100的厚度)下執行等離子體表面處理工藝的情況與條件B(像素分隔層被蝕刻100-1000的厚度)下執行等離子體表面處理工藝的情況相比較。如所示出的,當在條件B下執行表面處理工藝時,在相同亮度下獲得了更高的綠顏色發光效率。
如表1到4所示,不管表面處理工藝,紅顏色和綠顏色的顏色坐標幾乎不變。
表5示出根據不同表面處理工藝條件的功函數。工藝條件是指執行表面處理工藝所處的條件。條件A表示像素分隔層被蝕刻小于100的厚度。條件B表示像素分隔層被蝕刻100-1000的厚度。在條件B下,可以通過蝕刻像素分隔層200-800的厚度來執行表面處理工藝。條件C表示通過蝕刻像素分隔層大于1000的厚度來執行表面處理工藝。
表5
表5比較了當在條件A、B和C下的用于除去粒子和用作像素分隔層的器值并檢查其以便確定計數器是否等于0。如果計數器等于0,則該過程跳到最后的循環。否則,該過程繼續下一個操作。取出系數和數據,并在之后增加系數指針和數據指針。如果數據指針等于抽頭數,則將數據指針設置為1。
在第五循環中,將系數和數據加載到Creg和Dreg中。例如,Creg和Dreg包含c(3),而Creg和Dreg包含x(n-3)。更新累加器,以便包含Creg和Dreg的乘積加上累加器的先前值。如果發生上溢/或下溢,則將累加器飽和到最大/最小值。減少計數器值并檢查其以便確定計數器是否等于0。如果計數器等于0,則該過程跳到最后的循環,在本例中,該計數器等于0。
在最后的循環中,保存在數據頭地址上的新偏移。如果Up等于1,則保存數據頭地址上的累加器值加上偏移4。這樣,根據本發明的實施例的濾波器指令用簡明的指令格式解決這些問題,從而顯著地降低了存儲器需求,允許沒有轉移代價的指令流水線,并且對數據使用循環緩沖器,因此對下一個輸入抽樣僅需要更新數據地址指針。通過使用預/后清零累加器或者預/后存儲累加器結果的選項,濾波器指令可用于實現FIR或者IIR濾波器。
可以將參考圖1-7說明的過程可觸知地實施在計算機可讀介質或載體中,例如一個或多個圖1中圖解的固定和/或可拆卸數據存儲裝置188,或者其它數據存儲器或數據通信裝置。可以將計算機程序190加載到存儲器170中,以便配置用于執行計算機程序190的處理器172。計算機程序190包括這樣的指令,當由圖1的處理器172讀取和執行時,該指令使裝置執行要執行本發明的實施例的步驟或元件所需要的步驟。
為了圖解和描述目的而進行了對本發明的示范實施例的前面的描述。不是想要窮盡本發明或者將本發明限制到所公開的精確形式。根據上面的示教,可能有許多改變和變更。期望本發明的范圍不是由這個詳細描述限定,而是由所附權利要求來限定。
權利要求
1.一種用于合成數字濾波器的濾波器指令,其中該濾波器指令由機器執行,該濾波器指令包括指令字段、抽頭長度字段、系數地址字段、數據頭地址字段、清零累加器位、以及更新位。
2.根據權利要求1的濾波器指令,其中所述字段指定循環緩沖器中的存儲單元。
3.根據權利要求1的濾波器指令,其中清零累加器位用于在濾波器計算之前將存儲累加值的存儲單元清零。
4.根據權利要求1的濾波器指令,其中更新位用于將累加器值保存在用于存儲累加值的存儲單元中。
5.根據權利要求1的濾波器指令,其中抽頭長度字段用于定義濾波器的抽頭數。
6.根據權利要求1的濾波器指令,其中系數地址提供系數地址指針。
7.根據權利要求1的濾波器指令,其中數據地址字段提供數據地址指針。
8.根據權利要求1的濾波器指令,其中清零累加器位被設置為第一值,且更新位被設置為第一值,從而將處理器配置為估算n抽頭濾波器以產生輸出值,并更新數據頭地址的偏移,其中所述輸出值被保留在累加器存儲單元中。
9.根據權利要求1的濾波器指令,其中清零累加器位被設置為第二值,而更新位被設置為第一值,從而將處理器配置為在估算n抽頭濾波器之前將累加器存儲單元清零,并更新數據頭地址的偏移。
10.根據權利要求1的濾波器指令,其中清零累加器位被設置為第一值,而更新位被設置為第二值,從而將處理器配置為估算n抽頭濾波器以產生輸出值,進而將輸出值保存在累加器存儲單元上的表中,并更新數據頭地址的偏移。
11.根據權利要求1的濾波器指令,其中清零累加器位被設置為第二值,且更新位被設置為第二值,從而配置處理器,從而在估算n抽頭濾波器以產生輸出值之前將累加器存儲單元清零,進而將輸出值保存在累加器存儲單元上的表中,并更新數據頭地址的偏移。
12.根據權利要求1的濾波器指令,其中濾波器指令使得將數據值與對應系數值的和存儲在累加器存儲單元中。
13.根據權利要求1的濾波器指令,其中濾波器指令用指向要存儲新輸入抽樣的下一個條目的新偏移來更新循環緩沖器的頭部,數據指針的計算和更新是在沒有轉移代價的情況下執行的。
14.一種設備,其包括處理器,其具有寄存器,該處理器被配置為基于濾波器指令實現數字濾波器;可尋址存儲器,其耦接到處理器,用于存儲輸入、系數和輸出數據,該可尋址存儲器被配置為循環緩沖器;以及濾波器指令,其可以在處理器上執行以便實現數字濾波器,該濾波器指令包括指令字段、抽頭長度字段、系數地址字段、數據頭地址字段、清零累加器位、以及更新位。
15.根據權利要求14的設備,其中所述字段指定循環緩沖器中的存儲單元。
16.根據權利要求14的設備,其中清零累加器位用于在濾波器計算之前將存儲累加值的存儲單元清零。
17.根據權利要求14的設備,其中更新位用于將累加器值保存在用于存儲累加值的存儲單元中。
18.根據權利要求14的設備,其中抽頭長度字段用于定義濾波器的抽頭數。
19.根據權利要求14的設備,其中系數地址提供系數地址指針。
20.根據權利要求14的設備,其中數據地址字段提供數據地址指針。
21.根據權利要求14的設備,其中清零累加器位被設置為第一值,且更新位被設置為第一值,以便將處理器配置為估算n抽頭濾波器以產生輸出值,并更新數據頭地址的偏移,其中該輸出值被保留在累加器存儲單元中。
22.根據權利要求14的設備,其中清零累加器位被設置為第二值,而更新位被設置為第一值,從而將處理器配置為在估算n抽頭濾波器之前將累加器存儲單元清零,并更新數據頭地址的偏移。
23.根據權利要求14的設備,其中清零累加器位被設置為第一值,而更新位被設置為第二值,以將處理器配置為估算n抽頭濾波器以產生輸出值,以便將輸出值保存在累加器存儲單元上的表中,并更新數據頭地址的偏移。
24.根據權利要求14的設備,其中清零累加器位被設置為第二值,且更新位被設置為第二值,從而將處理器配置為在估算n抽頭濾波器以產生輸出值之前將累加器存儲單元清零,以便將輸出值保存在累加器存儲單元上的表中,并更新數據頭地址的偏移。
25.根據權利要求14的設備,其中濾波器指令使得將數據值與對應系數值的和存儲在累加器存儲單元中。
26.根據權利要求14的設備,其中濾波器指令用指向要存儲新輸入抽樣的下一個條目的新偏移來更新循環緩沖器的頭部,數據指針的計算和更新是在沒有轉移代價的情況下執行的。
27.一種磁存儲裝置,包括磁存儲介質,用于在其上記錄數據;電機,用于移動磁存儲介質;磁頭,用于讀取和寫入磁存儲介質上的數據;致動器,用于相對于磁存儲介質對磁頭定位;數據信道,用于處理磁存儲介質上的編碼信號,該數據信道包括處理器,其具有寄存器,該處理器配置為基于濾波器指令實現數字濾波器;以及可尋址存儲器,其耦接到該處理器,用于存儲輸入、系數和輸出數據,該可尋址存儲器被配置為循環緩沖器;其中,該處理器可配置為根據濾波器指令提供數字濾波器,該濾波器指令包括指令字段、抽頭長度字段、系數地址字段、數據頭地址字段、清零累加器位、以及更新位。
28.根據權利要求27的磁存儲裝置,其中所述字段指定循環緩沖器中的存儲單元。
29.根據權利要求27的磁存儲介質,其中清零累加器位用于在濾波器計算之前將存儲累加值的存儲單元清零。
30.根據權利要求27的磁存儲介質,其中更新位用于將累加器值保存在用于存儲累加值的存儲單元中。
31.根據權利要求27的磁存儲介質,其中抽頭長度字段用于定義濾波器的抽頭數。
32.根據權利要求27的磁存儲介質,其中系數地址提供系數地址指針。
33.根據權利要求27的磁存儲介質,其中數據地址字段提供數據地址指針。
34.根據權利要求27的磁存儲介質,其中清零累加器位被設置為第一值,且更新位被設置為第一值,以便將處理器配置為估算n抽頭濾波器以產生輸出值,并更新數據頭地址的偏移,該輸出值被保留在累加器存儲單元中。
35.根據權利要求27的磁存儲介質,其中清零累加器位被設置為第二值,而更新位被設置為第一值,從而將處理器配置為在估算n抽頭濾波器之前將累加器存儲單元清零,并更新數據頭地址的偏移。
36.根據權利要求27的磁存儲介質,其中清零累加器位被設置為第一值,而更新位被設置為第二值,從而將處理器配置為估算n抽頭濾波器以產生輸出值,從而將輸出值保存在累加器存儲單元上的表中,并更新數據頭地址的偏移。
37.根據權利要求27的磁存儲介質,其中清零累加器位被設置為第二值,且更新位被設置為第二值,從而將處理器配置為在估算n抽頭濾波器以產生輸出值之前將累加器存儲單元清零,以便將輸出值保存在累加器存儲單元上的表中,并更新數據頭地址的偏移。
38.根據權利要求27的磁存儲介質,其中濾波器指令使得將數據值與對應系數值的和存儲在累加器存儲單元中。
39.根據權利要求27的磁存儲介質,其中濾波器指令用指向要存儲新輸入抽樣的下一個條目的新偏移來更新循環緩沖器的頭部,數據指針的計算和更新是在沒有轉移代價的情況下執行的。
全文摘要
公開了一種數字濾波器指令和實現該濾波器指令的濾波器。該濾波器指令合成數字濾波器,并包括指令字段、抽頭長度字段、系數地址字段、數據頭地址字段、清零累加器位、以及更新位。該濾波器指令具有簡明的指令格式,以便顯著地降低存儲器需求,允許沒有轉移代價的指令流水線,并且對數據使用循環緩沖器,因此對于下一個輸入抽樣,僅需要更新數據地址指針。通過使用預清零累加器或者預/后存儲累加器結果的選項,濾波器指令可用于實現FIR或者IIR濾波器。
文檔編號H03H17/02GK1828724SQ20061000959
公開日2006年9月6日 申請日期2006年2月24日 優先權日2005年2月28日
發明者柯克·黃, 杰弗里·J·多布科 申請人:日立環球儲存科技荷蘭有限公司