編解碼器

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

編解碼器(COder-DECoder,CODEC)

目錄

什麼是編解碼器[1]

  編解碼器是一種新穎CMOS數字集成電路,它採用編碼方式將控制信號輸出,再以解碼方式接收,是實現數字遙控的關鍵部件。可廣泛用於報警系統,無繩電話及尋呼系統,樓寓對講系統、數據採集系統等領域。

編解碼器的組成[2]

  CCITTG.722編碼方案的編、解碼器組成如圖1和圖2所示。

Image:SB—ADPCM编码器原理框图.jpgImage:SB—ADPCM译码器原理框图.jpg

  1.編碼器

  1)發送正交鏡像濾波器QMF

  發送QMF的作用是將音頻全頻帶50~7000Hz劃分為低頻區(50~4000Hz)和高頻區(4000~7000Hz)兩個子帶,它是一個帶通數字濾波器。發送QMF的輸入信號是由發送端音頻部分送來的輸出信號,取樣頻率為16kHz。另一方面,低頻區子帶和高頻區子帶的ADPCM的輸入信號DL、DH則分別是取樣頻率為8kHz的來自發送QMF的輸出信號。發送及接收音頻部分的組成如圖3所示,發送及接收部分的QMF組成如圖4所示。

Image:发送/接收音频部分原理框图.jpg
Image:发送/接收QMF的构成.jpg

  2)低頻區子帶的ADPCM編碼器

  低頻區子帶的ADPCM編碼器的輸入是低頻輸入信號XL與預測信號SL相減的差值信號EL,差值信號EL的量化採用60量級的非線性自適應量化器,各量化樣點用6bit的編碼表示。該量化器的輸出信號IL作為低頻區自帶編碼器的輸出,以48kb/s的速率傳送到解碼器。

  量化器的輸出信號IL在自適應預測器經反饋後,LSB的2bit被消減,變為4bit的IL信號,該信號使用的量化器是按量化規格因數△進行自適應量化的,具有15個量化級的自適應逆量化器。經此量化器後得到量化差值信號RLt,此信號RLt與預測信號SL疊加生成重建信號RLt

  在低頻子帶ADPCM編碼器及解碼器中,使用4bit而不是6bit的編碼,並且因為有效地防止了兩個LSB所插入的數據信號流入自適應預測器的反饋環,從而避免了編碼器和解碼器因速率模式的誤匹配而導致性能下降的問題。

  3)高頻區子帶的ADPCM編碼器

  高頻區子帶的ADPCM編碼器的輸入信號是高頻輸入信號XH與預測信號5H相減的差值信號SH。差值信號EH的量化採用4個量化級的非線性自適應量化器,各量化樣點用2bit的編碼表示。該量化器的輸出信號IH作為高頻子帶編碼器的輸出,以16kb/s的速率傳送至解碼器。

  自適應逆量化器利用2bit的傳輸編碼恢復出差值信號DH。該量化差值信號DH與預測信號SH疊加,得到重建信號RH

  2.解碼器

  1)低頻區子帶的ADPCM解碼器

  低頻區子帶的ADPCM解碼器依據速率模式選擇的指示信號,可以進行三種速率模式中任何一種模式的工作。量化差值信號按照速率模式的指示信號,選擇DL6DL5DL4信號中的一個,再與預測信號SL疊加,產生重建信號RL計算預測信號SL的電路以及包括各逆量化的自適應信號通路,與前述的低頻子帶ADPCM編碼器的反饋電路原理相同。

  2)高頻區子帶的ADPCM解碼器

  高頻區子帶的ADPCM解碼器,與前述的高頻區子帶的ADPCM編碼器中的反饋電路原理相同。RH為其輸出的重建信號。

  3)接收正交鏡像濾波器QMF

  接收QMF利用高頻子帶和低頻帶ADPCM解碼器輸出的重建信號RHRL進行插值,生成16kHz的數字濾波器的輸出Xout,此信號將作為接收音頻部分的輸入信號。

  根據發送和接收QMF的組合,在QMF內部所進行的信號處理和插值,會抵消處理過程中引入的部分誤差。因此若不考慮ADPCM的編碼解碼過程,可以認為QMF部分只是一個對於輸入音頻信號具有延遲特性的部件。

三種話音編解碼器[3]

  通常把已有的話音編解碼器分成以下三種類型:波形編解碼器(waveform codecs),音源編解碼器(source codecs)和混合編解碼器(hybrid codecs)。一般來說,波形編解碼器的話音質量高,但數據率也很高;音源編解碼器的數據率很低,產生的合成話音的音質有待提高;混合編解碼器使用音源編解碼技術和波形編解碼技術,數據率和音質介於它們之間。圖5表示了目前這三種編解碼器的話音質量和數據率的關係。
Image:普通编译码器的音质与数据率.jpg

  1. 波形編解碼器

  波形編解碼的想法是,不利用生成話音信號的任何知識而企圖產生一種重構信號,它的波形與原始話音波形儘可能地一致。一般來說,這種編解碼器的複雜程度比較低,數據速率在16 kb/s以上,質量相當高。低於這個數據速率時,音質急劇下降。

  最簡單的波形編碼是脈衝編碼調製(pulse code modulation,PCM),它僅僅是對輸入信號進行採樣和量化。典型的窄帶話音帶寬限制在4kHz,採樣頻率是8kHz。如果要獲得高一點的音質,樣本精度要用12位,它的數據率就等於96kb/s,這個數據率可以使用非線性量化來降低。例如,可以使用近似於對數的對數量化器(logarithmic quantizer),使用它產生的樣本精度為8位,它的數據率為64 kb/s時,重構的話音信號幾乎與原始的話音信號沒有什麼差別。這種量化器在20世紀80年代就已經標準化,而且直到今天還在廣泛使用。在北美的壓擴(companding)標準是μ律(μ-law),在歐洲的壓擴標準是A律(A-law)。它們的優點是編解碼器簡單,延遲時間短,音質高。但不足之處是數據速率比較高,對傳輸通道的錯誤比較敏感。

  在話音編碼中,一種普遍使用的技術叫做預測技術,這種技術是企圖從過去的樣本來預測下一個樣本的值。這樣做的根據是認為在話音樣本之間存在相關性。如果樣本的預測值與樣本的實際值比較接近,它們之間的差值幅度的變化就比原始話音樣本幅度值的變化小,因此量化這種差值信號時就可以用比較少的位數來表示差值。這就是差分脈衝編碼調製(differential pulse code modulation,DPCM)的基礎—對預測的樣本值與原始的樣本值之差進行編碼。

  這種編解碼器對幅度急劇變化的輸入信號會產生比較大的雜訊,改進的方法之一就是使用自適應的預測器和量化器,這就產生了一種叫做自適應差分脈衝編碼調製(adaptive differential PCM,ADPCM)。在20世紀80年代,國際電話與電報顧問委員會 (International Telephone and Telegraph Consultative Committee,CCITT),現改為國際電信聯盟-遠程通信標準部(International Telecommunications Union-Telecommunications Standards Section,ITU-TSS ),就制定了數據率為32kb/s的ADPCM標準,它的音質非常接近64 kb/s的PCM編解碼器,隨後又制定了數據率為16,24和40kb/s的ADPCM標準。

  上述的所有波形編解碼器完全是在時間域里開發的,在時域里的編解碼方法稱為時域法(time domain approach)。在開發波形編解碼器中,人們還使用了另一種方法,叫做頻域法(frequency domain approach)。例如,在子帶編碼(sub-band coding,SBC)中,輸入的話音信號被分成好幾個頻帶(即子帶),變換到每個子帶中的話音信號都進行獨立編碼,例如使用ADPCM編碼器編碼,在接收端,每個子帶中的信號單獨解碼之後重新組合,然後產生重構話音信號。它的優點是每個子帶中的雜訊信號僅僅與該子帶使用的編碼方法有關係。對聽覺感知比較重要的子帶信號,編碼器可分配比較多的位數來表示它們,於是在這些頻率範圍里雜訊就比較低。對於其他的子帶,由於對聽覺感知的重要性比較低,允許比較高的雜訊,於是編碼器就可以分配比較少的位數來表示這些信號。自適應位分配的方案也可以考慮用來進一步提高音質。子帶編碼需要用濾波器把信號分成若幹個子帶,這比使用簡單的ADPCM編解碼器複雜,而且還增加了更多的編碼時延。即使如此,與大多數混合編解碼器相比,子帶編解碼的複雜性和時延相對來說還是比較低的。

  另一種頻域波形編碼技術叫做自適應變換編碼(adaptive transform coding,ATC)。這種方法使用快速變換(例如離散餘弦變換)把話音信號分成許許多多的頻帶,用來表示每個變換繫數的位數取決於話音譜的性質,獲得的數據率可低到16 kb/s。

  2.音源編解碼器

  音源編解碼的想法是企圖從話音波形信號中提取生成話音的參數,使用這些參數通過話音生成模型重構出話音。針對話音的音源編解碼器叫做聲碼器(vocoder)。在話音生成模型中,聲道被等效成一個隨時間變化的濾波器,叫做時變濾波器(time-varying filter),它由白雜訊——無聲話音段激勵,或者由脈衝串——有聲話音段激勵。因此需要傳送給解碼器的信息就是濾波器的規格、發聲或者不發聲的標誌和有聲話音的音節周期,並且每隔10—20ms更新一次。聲碼器的模型參數既可使用時域的方法也可以使用頻域的方法確定,這項任務由編碼器完成。

  這種聲碼器的數據率在2,4kb/s左右,產生的語音雖然可以聽懂,但其質量遠遠低於自然話音。增加數據率對提高合成話音的質量無濟於事,這是因為受到話音生成模型的限制。儘管它的音質比較低,但它的保密性能好,因此這種編解碼器一直用在軍事上。

  3.混合編解碼

  混合編解碼的想法是企圖填補波形編解碼和音源編解碼之間的間隔。波形編解碼器雖然可提供高話音的質量,但數據率低於16kb/s的情況下,在技術上還沒有解決音質的問題;聲碼器的數據率雖然可降到2.4kb/s甚至更低,但它的音質根本不能與自然話音相提並論。為了得到音質高而數據率又低的編解碼器,歷史上出現過很多形式的混合編解碼器,但最成功並且普遍使用的編解碼器是時域合成—分析(analysis—by—synthesis,AbS)編解碼器。這種編解碼器使用的聲道線性預測濾波器模型與線性預測編碼(1inear predictive coding,LPC)使用的模型相同,不使用兩個狀態(有聲/無聲)的模型來尋找濾波器的輸入激勵信號,而是企圖尋找這樣一種激勵信號,使用這種信號激勵產生的波形儘可能接近於原始話音的波形。AbS編解碼器由Atal和Remde在1982年首次提出,並命名為多脈衝激勵(multi—pulse excited,MPE)編解碼器。在此基礎上隨後出現的是等間隔脈衝激勵(regular—pulse excited,RPE)編解碼器、碼激勵線性預測(code excited linear predictive,CELP)編解碼器和混合激勵線性預測(mixed excitation linear prediction,MELP)等編解碼器。

  AbS編解碼器的一般結構如圖6所示。
Image:AbS编译码器的结构.jpg

  AbS編解碼器把輸入話音信號分成許多幀(frames),一般來說,每幀的長度為20ms。合成濾波器的參數按幀計算,然後確定濾波器的激勵參數。從圖6(a)可以看到,AbS編碼器是一個負反饋系統,通過調節激勵信號u(n)可使話音輸入信號s(n)與重構的話音信號\hat{s}(n)之差為最小,也就是重構的話音與實際的話音最接近。這就是說,編碼器通過“合成”許多不同的近似值來“分析”輸入話音信號,這也是“合成-分析編碼器”名稱的來由。在表示每幀的合成濾波器的參數和激勵信號確定之後,編碼器就把它們存儲起來或者傳送到解碼器。在解碼器端,激勵信號饋送給合成濾波器,合成濾波器產生重構的話音信號,如圖6(b)所示。

  合成濾波器通常使用全極點(all pole)的短期(short—term)線性濾波器,它的函數式如

H(z)=\frac{1}{A(z)}
  其中
A(z)=1-\sum_{i-1}^p a_i z^{-i}

是預測誤差濾波器,這個濾波器是按照這樣的原則確定的:當原始話音段通過該濾波器時產生的殘留信號的能量最小。濾波器的極點數的典型值等於10。這個濾波器企圖去模擬由於聲道作用而引入的話音相關性。

  合成濾波器也可以包含音節濾波器,用來模擬話音中出現的長期預測。MPE和RPE編解碼器一般不使用音節濾波器,對於CELP編解碼器,音節濾波器則顯得非常重要。

  圖6中的“誤差加權”方框用來塑造誤差信號譜的形狀,目的是減少誤差信號的主觀響度。這樣做的想法是,在話音信號能量很高的頻段中,誤差信號至少有部分能夠被高能量的話音掩蔽掉。

  AbS編解碼器的性能與如何選擇激勵合成濾波器的波形u(n)有很大關係。從概念上說,可把每一種可能的波形輸送給合成濾波器試試看,這種激勵信號將會產生什麼樣的重構話音信號,它和原始話音信號之間的誤差如何變化,然後選擇產生最小加權誤差的激勵信號,並把它作為解碼器中的合成濾波器的驅動信號。由於編碼器是一個閉環系統,因此可以獲得比較高的音質而數據率又比較低。但由於可能的激勵信號的數目巨大,因此需要有某種方法來減少計算的複雜性而音質又不會犧牲太大。

  MPE,RPE和CELP編解碼器之間的差別在於所使用的激勵信號的表示方法。在MPE中,對每幀話音所用的激勵信號u(n)是固定數目的脈衝,在一幀中脈衝的位置和幅度必須由編碼器來確定,這在理論上可以找到很好的值,但實際上不太可能,因為計算太複雜。因此在實際上就使用次佳方法,一般來說,每5ms使用4個脈衝,在數據率為10kb/s時可以獲得好的重構話音。

  像MPE那樣,RPE編解碼器使用固定間隔的脈衝,於是編碼器就只需要確定第一個激勵脈衝的位置和所有其他脈衝的幅度,所需要的脈衝位置信息也就可以減少,而脈衝的數目則比MPE使用的數目多。數據率在10kb/s左右時,每5ms可使用10個脈衝,比MPE多6個,產生比MPE音質高一些的重構話音。然而RPE仍然顯得比較複雜,因此歐洲的GSM行動電話系統使用了一個帶長期預測的簡化了的RPE編解碼器,數據率為13kb/s。

  雖然MPE和RPE編解碼器在10kb/s左右的數據率下可提供好的音質,但數據率低於10kb/s情況下提供的音質還不能接受,這是因為它們需要提供大量有關激勵脈衝的位置和幅度信息。對要求音質好而數據率又低於10kb/s的編解碼器,現在普遍使用的演算法是1985年由Schroeder和AtM提出的CELP演算法。與MPE和RPE的不同之處是,CELP使用的激勵信號是量化矢量。激勵信號由一個矢量量化大碼簿的表項給出,還有一個增益項用來擴展它的功率。典型的碼簿索引有10位,就是有1024個表項的碼簿,增益用5位表示。因此激勵信號的位數可以減少到15位,這與GSMRPE編解碼器中使用的47位相比減少了32位。

  CELP最初使用的碼簿包含白高斯序列(white Gaussian sequences),這是因為作了這樣的假設:長期預測和短期預測能夠從話音信號中去除幾乎所有的冗餘度,產生隨機的像雜訊那樣的殘留信號。試驗也顯示出短期概率密度函數幾乎是高斯狀的。Schroeder和Atal發現,對長期和短期濾波器使用這樣的碼簿能夠產生高質量的話音。然而,在合成—分析過程中要選擇使用哪一個碼簿表項,這就意味每一個激勵序列都要傳送給合成濾波器,看看重構話音與原始話音的近似程度。這也就是說原始CELP編解碼器的計算量太大,難以實時執行。從1985年開始,在簡化CELP的碼簿結構方面做了大量的工作,使用數字信號處理晶元提高執行速度方面也取得了很大的進展,因此現在在低成本的單片DSP上實寸執行CELP演算法相對容易了。在CELP基礎上制定了好幾個重要的話音編碼標準,例如美國的“Department of Defence(DoD)4.8kb/scodec”標準和CCITT的“low—delay16kb/s codec”標準。

  CELP編解碼器在話音通信中取得了很大成功,話音的速率在4.8kb/s—16kb/s之間。近年來對運行在4.8kb/s以下的編解碼器作了大量的研究工作,其目標是開發運行在2.4kb/s或者更低數據率下的編解碼器。

  通過對話音段進行分類,例如分成濁音幀、清音幀和過渡幀,CELP編解碼器的結構可以進一步得到改善,不同類型的話音段使用專門設計的編碼器進行編碼。例如,對於濁音幀編碼器不使用長期預測,而對於清音幀使用長期預測就顯得特別重要。這種按話音類型設計的編解碼器在數據率為2.4kb/s下呈現的音質已經得到認可。多帶激勵(multi—band excitation,MBE)編解碼器把頻域中的某些頻段看成是濁音頻段,其他頻段看成是清音頻段。它們傳送每幀的音節周期、頻譜的幅度和相位信息以及濁音/清音的判決。這種編解碼器經過改造以後也顯示出了它的潛力,在低數據率下可提供認可的音質。

  在數據率為2.4kb/s-64kb/s的範圍里,部分編碼器的MOS分數大致如表1所示。

表1 部分編碼器的MOS分

編碼器MOS分
64kb/s脈衝編碼調製(PCM)4.3
32kb/s自適應差分脈衝編碼調製(ADPCM)4.1
16kb/s低時延碼激勵線性預測編碼(LD-CELP)4.0
8kb/s碼激勵線性預測編碼(CELP)3.7
3.8kb/s碼激勵線性預測編碼(CELP)3.0
2.4kb/s線性預測編碼(LPC)2.5

編解碼器應用實例[4]

  (1)編碼器的應用

  1.微控制器報警編碼電路

  圖7所示為利用74LSl48編碼器監視8個化學罐液面的報警編碼電路。若8個化學罐中任何一個的液面超過預定高度時,其液面檢測感測器便輸出一個0電平到編碼器的輸入端。編碼器輸出3位二進位代碼到微控制器。此時,微控制器僅需要3根輸入線就可以監視8個獨立的被測點。

  這裡用的是Intel 8051微控制器,它有4個輸入/輸出介面。我們使用其中的一個口輸入被編碼的報警代碼,並且利用中斷輸入\overline{INT_o}接收報警信號\overline{GS}(\overline{GS}是編碼器輸入信號有效的標誌輸出,只要有一個輸入信號為有效的低電平,\overline{GS}就變成低電平)。當Intel 8051在\overline{INT_o}端接收到一個0時,就運行報警處理程式並做出相應的反應,完成報警。

Image:74LSl48微控制器报警编码电路.jpgImage:74LSl48构成的A/D转换器.jpg

  2.用編碼器構成A/D轉換器

  圖8為74LSl48構成的A/D轉換器。這個電路主要由比較器、寄存器和編碼器三部分組成。

  輸入信號UI(模擬電壓),同時加到7個比較器(C1C7)的反相端。基準電源UR經串聯電阻分壓為8級,量化單位q=UR/7。各基準電壓分別加到比較器的同相端。若U1大於基準電壓時,比較器Ci的輸出電壓U_{C_i}=0,否則U_{C_i}=1。7個比較器的基準電壓依次為U_{R_1}=\frac{1}{14} U_RU_{R_2}=\frac{3}{14} U_RU_{R_3}=\frac{5}{14} U_RU_{R_4}=\frac{7}{14} U_RU_{R_5}=\frac{9}{14} U_RU_{R_6}=\frac{11}{14} U_RU_{R_7}=\frac{13}{14} U_R

  寄存器74LS373由8個D觸發器構成。它的作用是寄存器緩衝比較器輸出的信號,以避免因比較器響應速度不一致可能造成的邏輯錯誤。比較器的輸出量保存一個時鐘周期後,供編碼使用。

  編碼器根據寄存器提供的信號進行編碼,編碼可以反碼輸出,也可以是原碼輸出。

  當U_I=\frac{6}{14} U_R時,7個比較器輸出為U_{C_1}=U_{C_2}=U_{C_3}=0U_{C_7}=U_{C_6}=U_{C_5}=U_{C_4}=1。這7個信號就是7個D觸發器的輸入信號。在時鐘信號CP的上升沿時,7個D觸發器的輸出信號為Q7 = Q6 = Q5 = Q4 = 1Q1 = Q2 = Q3 = 0。74LSl48解碼器輸出\overline{Y}_2\overline{Y}_1\overline{Y}_0=100,經非門輸出原碼CBA=011。這樣A/D轉換器就把輸入的模擬信號U1變成了3位數字信號

  通常R選用1ktΩ,UR=5V,CP周期要大於手冊中給出的比較器、寄存器、編碼器、非門的平均傳輸延遲時間之和的2倍,而脈衝寬度只要大於寄存器的平均傳輸延遲時間即可。該轉換器的轉換精度取決於電阻分壓網路的精度。這種轉換器適合於高速度、低精度的情況應用。

  (2)解碼器的應用

  解碼器的應用範圍很廣,除了能驅動顯示器外,還能實現存儲系統的地址解碼和指令解碼,實現邏輯函數,作多路分配器,以及控制燈光等。下麵介紹解碼器的幾種典型應用。

  1.解碼器作地址解碼器

  實現微機系統中存儲器或輸入/輸出介面晶元的地址解碼是解碼器的一個典型用途。圖9所示是四輸入變數解碼器用於半導體只讀存儲器地址解碼的一個實例。圖中,解碼器的輸出用來控制存儲器的片選端\overline{CS},該輸出信號取決於高位地址碼A5A8A5A8四位地址有16個輸出信號。利用這些輸出信號從16片存儲器中選用一片,再由低位地址碼A0A4從被選片中選中一個存儲單元,讀出選中單元的內容。
Image:四输入变量译码器用于存储器的地址译码.jpg

  2.用解碼器構成數據分配器或時鐘分配器

  數據分配器也稱為多路分配器,它可以按地址的要求將一路輸入數據分配到多輸出通道中某一個特定輸出通道去。由於解碼器可以兼作分配器使用,廠家並不單獨生產分配器組件,而是將解碼器改接成分配器。下麵舉例說明。

  將帶使能端的3—8線解碼器74LSl38改作8路數據分配器的電路圖,如圖10(a)所示。解碼器使能端作為分配器的數據輸入端,解碼器的輸入端作為分配器的地址碼輸入端,解碼器的輸出端作為分配器的輸出端。這樣分配器就會根據所輸入的地址碼將輸人數據分配到地址碼所指定的輸出通道。
Image:74LSl38改作8路分配器.jpg

  例如,要將輸入信號序列00100100分配到Yo通道輸出,只要使地址碼X2X1X0=000,輸入信號從D端輸入,\overline{Y}_0端即可得到和輸入信號相同的信號序列。波形圖如圖10(b)所示。此時,其餘輸出端均為高電平。若要將輸入信號分配到E輸出端,只要將地址碼變為001即可。以此類推,只要改變地址碼,就可以把輸入信號分配到任何一個輸出端輸出。

  74LSl38作分配器時,按圖10(a)接法可得到數據的原碼輸出。若將數據加到S1端,而\overline{S}_2\overline{S}_3接地,則輸出端得到數據的反碼。

  在圖10(a)中,如果D輸入的是時鐘脈衝,則可將該時鐘脈衝分配到\overline{Y}_0\overline{Y}_7的某一個輸出端,從而構成時鐘脈衝分配器。

  3.用解碼器實現邏輯函數

  由於全解碼器在選通時,各輸出函數為輸入變數相應最小項之非,而任意邏輯函數總能表示成最小項之和的形式。因此,全解碼器加一個與非門可實現邏輯函數。

  【例1】用全解碼器實現邏輯函數F=\overline{A}\overline{B}\overline{C}+\overline{A}B\overline{C}+A\overline{B}\overline{C}+ABC

  解(1)全解碼器的輸出為輸入變數的相應最小項之非,故先將邏輯函數式F寫成最小項之反的形式。由摩根定理得 F=\overline{\overline{\overline{A}\overline{B}\overline{C}}\cdot \overline{\overline{A}B\overline{C}}\cdot \overline{A\overline{B}\overline{C}}\cdot \overline{ABC}}

  (2)F有三個變數,因而選用三變數解碼器。

  (3)變數A、B、C分別接三變數解碼器的A2A1A0端,則有:F=\overline{\overline{\overline{A}\overline{B}\overline{C}}\cdot \overline{\overline{A}B\overline{C}}\cdot \overline{A\overline{B}\overline{C}}\cdot \overline{ABC}}=\overline{\overline{Y}_0\cdot \overline{Y}_2\cdot \overline{Y}_4\cdot \overline{Y}_7}

  圖11是用三變數解碼器74LSl38實現以上函數的邏輯圖。
Image:74LS138实现逻辑函数.jpg

  4.解碼器用於燈光控制

  圖12是用於娛樂場所或電子玩具中的滾環追逐電路。該電路能夠產生正反兩方向迴圈、雙向迴圈,並有常態和閃爍兩種方式。
Image:滚环追逐电路.jpg

  這個電路主要由定時器555、雙16分頻器74LS393及兩片集電極開路的4—16線解碼器74159構成。

  圖中用555構成的多諧振蕩器,輸出為一串矩形脈衝。它的充電路徑為:+5V→R1R2→C→地,輸出為高電平(R1=4.7kΩ,R2=10kΩ)。放電路徑為C→R2TD(555內放電管)→地,輸出為低電平。電容C上的充放電,使得555連續翻轉,產生矩形脈衝。其脈衝寬度T1≈0.7(R1 + R2)C,脈衝休止期T2≈0.7R2C,周期T=T1+T2。調整C的值,可改變振蕩器的輸出頻率。C_1=0.01μF,用作旁路電容。

  555輸出的脈衝信號,同時送到74LS393的兩個計數脈衝CP端,使它們同步工作。Q3Q0為16分頻器的輸出信號,它們以二進位方式記錄cP的脈衝數。計滿16個脈衝,又回到起始狀態,重新開始計數。MR接地時,正常計數;MR接高電平時,Q3Q0置0。

  開關S1斷開,555產生一串矩形脈衝。S2有閃爍和常態兩種狀態。S2置常態時,相當於MR接地。S3置正向,74159(1)的兩個使能端接地,74159(1)工作;74159(2)的使能端懸空,74159(2)不工作。發光二極體按順序0→1→2→…→15→0→…正向迴圈。S3置反向時,74159(1)不工作,74159(2)工作,發光二極體按順序15→14→…0→15→…反向迴圈發光。S3置雙向時,兩片74159都工作,一路按正迴圈發光,一路按反迴圈發光。

  S2置閃爍時,S3與555輸出的矩形脈衝相連。當脈衝是低電平時,74159工作,點亮發光二極體;當脈衝是高電平時,74159處於禁止狀態,發光二極體熄滅。在脈衝一個周期內,發光二極體一亮一滅地閃爍,發光順序仍由S3決定。

  開關S1閉合時,74159的輸出信號維持不變,即發光二極體某一隻或兩隻亮。

  由於74159(1)的0線與74159(2)的15線,74159(1)的1線與74159(2)的14線……74159(1)的15線與74159(2)的0線接起來,使得同一時刻最多只有兩隻發光二極體同時點亮,因而只用一隻限流電阻R3即可。R3=Vcc/2IDID為發光二極體允許流過的電流,應小於74159允許灌入的電流。

  該電路的電壓、電流不能驅動舞臺上的彩燈。加驅動電路後,可以提高其輸出電壓和電流,驅動顏色艷麗的節日燈。

  調節電容C可改變振蕩器的振蕩頻率。若555輸出的頻率為60Hz左右,可用於控制節日彩燈、商店櫥窗廣告等場合;若555輸出的頻率為800~900Hz,則可用於博彩游戲中。

  5.多路信號的分時傳送

  此項應用中將用到數據選擇器和解碼器,故先簡要介紹一下數據選擇器。

  數據選擇器的邏輯功能是按需要從n個(一般為4、8、16個)輸入信號中選擇一個信號輸出,也可以用作並行碼輸入、串列碼輸出的轉換,還可以用作n線至1線的多路轉換器。

  以雙4選1數據選擇器74LSl53的功能表如表2所示。其邏輯符號如圖13(a)所示。該集成塊包括兩個相同的4選1數據選擇器。從邏輯圖可見(以下敘述中,省去區別A數據選擇器和B數據選擇器的下標)I0I3是數據輸入端,S1S0是選擇輸入端,S1為高位;Z是原碼輸出;\overline{E}是選通端,低電平有效。\overline{E}=1時,數據選擇器不工作,\overline{E}=0時,輸出函數表達式為

Z=\overline{S_1}\overline{S_0}I_0+\overline{S_1}S_0I_1+S_1\overline{S_0}I_2+S_1S_0I_3

  根據S1S0的取值,決定I0I3中的一個輸出。

表2 74LSl53功能表

選擇數據輸入選通輸出
S1S0I0I1I2I3\overline{E}Z
××××××10
00O×××0O
001×××01
O1×0××OO
O1×1××01
1O××0×0O
1O××1×01
11×××00O
11×××101
  我們選擇74LS139(雙2—4線解碼器)作為解碼器,其邏輯符號如圖13(b)所示。B、A為代碼輸入端,Y0Y3。為輸出端,低電平有效,\overline{E}是使能端。
Image:4路信号分时传送.jpg

  圖13(c)可用來分時傳送4路信號。在髮端,數據選擇器作多路開關(MUX),分時將輸入信號送人信息公共傳輸通道。在收端,解碼器作數據分配器(DEMUX),分時將信息公共傳輸通道上的信號分配至各路。究竟傳送哪一路信號,由公用地址A1A0決定。

參考文獻

  1. 沙占友.新編實用數字化測量技術.國防工業出版社,1998年01月第1版.
  2. 吳家安主編.現代語音編碼技術.科學出版社,2008.1.
  3. 林福宗.清華大學電腦系列教材 多媒體技術基礎.清華大學出版社,2000年08月第1版.
  4. 劉守義 鐘蘇主編.數字電子技術基礎.清華大學出版社,2008.1.
本條目對我有幫助0
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

连晓雾,Yixi,方小莉,Gaoshan2013,y桑,寒曦,Mis铭.

評論(共0條)

提示:評論內容為網友針對條目"編解碼器"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

闽公网安备 35020302032707号