U-kanunu algoritması

**μ-kanunu algoritması** (bazen **[[Mi (harf)|mu]] -kanunu olarak** yazılır, genellikle **u-**kanunu olarak yaklaşılır ), öncelikle Kuzey Amerika ve Japonya'daki 8 bitlik PCM dijital telekomünikasyon sistemlerinde kullanılan bir sıkıştırma algoritmasıdır. ITU-T'nin G.711 standardında yer alan iki sıkıştırma algoritmasından biridir, zaten diğeri ise benzer A kanunudur . A-kanunu, Avrupa gibi dijital telekomünikasyon sinyallerinin E-1 devreleri üzerinde taşındığı bölgelerde kullanılmaktadır.

G711 μ-yasası için **PCMU**, G711u veya G711MU terimleri kullanılmaktadır.

Sıkıştırma algoritmaları bir ses sinyalinin dinamik aralığını azaltır. Analog sistemlerde bu, iletim sırasında elde edilen sinyal-gürültü oranını (SNR) artırabilir; dijital alanda niceleme hatasını azaltabilir (böylece sinyal-niceleme-gürültü oranını artırabilir). Bu SNR artışları, eşdeğer SNR için azaltılmış bant genişliği ile takas edilebilir.

Azaltılmış tepe SNR pahasına, μ-yasasının doğrusal olmayan kuantizasyonunun dinamik aralığı 33&nbsp;dB kadar etkili bir şekilde arttırdığı matematiksel olarak gösterilebilir. İşte bu yüzden 8bit ulaw şuna karşılık gelir: 14bit doğrusal pcm.

## Algoritma türleri
μ-kanunu algoritması analog formda ve nicelenmiş dijital formda tanımlanabilir.

### Sürekli

Belirli bir  girişi için μ-kanunu kodlama denklemi 
F(x) = \sgn(x) \dfrac{\ln(1 + \mu |x|)}{\ln(1 + \mu)}, \quad -1 \leq x \leq 1,
burada Kuzey Amerika ve Japon standartlarında  olup,  işaret fonksiyonudur . Bu fonksiyonun aralığının -1 ile 1 arasında olduğuna dikkat etmek önemlidir.

μ-yasası açılımı daha sonra ters denklemle verilir:
F^{-1}(y) = \sgn(y) \dfrac{(1 + \mu)^ - 1}{\mu}, \quad -1 \leq y \leq 1.


### Ayrık
G.711, bir aralığın sınırındaki değerlerin nasıl kodlanacağı konusunda net değildir (örneğin +31'in 0xEF'ye mi yoksa 0xF0'a mı kodlanacağı).  Ancak G.191, μ-yasası kodlayıcı için C dilinde örnek kod sağlar. Pozitif ve negatif aralıklar arasındaki fark, örneğin +30 ila +1'e karşılık gelen negatif aralık, −31 ila −2'dir. Bu, kodlama sırasında negatif bir değeri pozitif bir değere dönüştürmek için 2'nin tamamlayıcısı yerine 1'lerin tamamlayıcısının (basit bit ters çevirme) kullanılmasıyla açıklanır.

## Uygulama
μ-yasası algoritması çeşitli şekillerde uygulanabilir:

; Analog
: Tamamen analog alanda sıkıştırma elde etmek için doğrusal olmayan kazançlı bir amplifikatör kullanarak.
; Doğrusal olmayan ADC
: μ-yasası algoritmasına uyacak şekilde eşit olmayan aralıklara sahip nicemleme düzeylerine sahip bir analogdan dijitale dönüştürücü kullanarak.
; Dijital
: Verileri dijital alana girdikten sonra dönüştürmek için μ-yasası algoritmasının nicelenmiş dijital versiyonunu kullanarak.

; Yazılım/DSP
: Sıkıştırılmış değerleri hesaplamak için μ-yasası algoritmasının sürekli versiyonunu kullanarak.

## Kullanım gerekçesi
Konuşmanın geniş bir dinamik aralığa sahip olması nedeniyle μ-yasası kodlaması kullanılır. Analog sinyal iletiminde, nispeten sabit arka plan gürültüsünün varlığında, daha ince ayrıntılar kaybolur. Detayın kesinliğinin zaten tehlikeye atıldığı göz önüne alındığında ve sinyalin bir insan tarafından algılanacağı varsayıldığında, sinyali logaritmik bir sıkıştırma yöntemi kullanarak sıkıştırarak algılanan akustik yoğunluk seviyesinin veya ses yüksekliğinin logaritmik olması gerçeğinden yararlanılabilir. Telekomünikasyon devrelerinde gürültünün büyük bir kısmı hatlara enjekte edilir, dolayısıyla kompresörden sonra amaçlanan sinyal, sıkıştırılmamış bir kaynağa kıyasla statik sinyalden önemli ölçüde daha yüksek olarak algılanır. Bu ortak bir çözüm haline geldi ve böylece ortak dijital kullanımdan önce, birlikte çalışabilir bir standardı tanımlamak için μ-yasası spesifikasyonu geliştirildi.

Bu önceden var olan algoritma, dijital sistemlerde tanınabilir bir insan sesini kodlamak için gereken bit miktarını önemli ölçüde azaltma etkisine sahipti. Bir örnek, yaygın bilgisayarların çoğunun sembol boyutuna uygun bir şekilde eşleşen 8 bit kadar küçük bir μ-yasası kullanılarak etkili bir şekilde kodlanabiliyordu.

μ-yasası kodlaması, sinyalin dinamik aralığını etkili bir şekilde azalttı, böylece kodlama verimliliğini arttırırken sinyali, belirli sayıda bit için doğrusal kodlamayla elde edilenden daha büyük bir sinyal- bozulma oranıyla sonuçlanacak şekilde yönlendirir.

μ-law algoritması, Unix'te ses için fiili bir standart olarak yaygın olarak kullanılan /dev/audio arayüzü tarafından kullanılan yerel yöntem olarak en azından Sun Microsystems'in SPARCstation 1'ine kadar uzanan .au formatında da kullanılır. sistemler. Au formatı ayrıca Java 1.1'deki sun.audio Java paketindeki sınıflar ve bazı C# yöntemleri gibi çeşitli yaygın ses API'lerinde de kullanılır.

Bu çizim μ-yasasının örneklemeyi daha küçük (daha yumuşak) değerlerde nasıl yoğunlaştırdığını gösterir. Yatay eksen 0-255 bayt değerlerini temsil eder ve dikey eksen μ-yasa kodlamasının 16 bitlik doğrusal kodu çözülmüş değeridir.

## A kanunu ile karşılaştırma
μ-yasası algoritması, küçük sinyaller için daha kötü orantısal bozulmalar pahasına A-yasası'ndan biraz daha geniş bir dinamik aralık sağlar. Sözleşmeye göre, en az bir ülkenin kullanması durumunda uluslararası bağlantı için A kanunu kullanılır.

## Ayrıca bakınız

* Ses seviyesi sıkıştırma
* Sinyal sıkıştırma (belirsizliği giderme)
* G.711, A-yasası veya μ-yasası kodlamasını kullanan bir dalga biçimi konuşma kodlayıcısı
* Taperlenmiş kayan nokta

## Kaynaklar



## Dış bağlantılar

* Dalga Formu Kodlama Teknikleri – uygulamanın ayrıntıları
* TMS320C54x Kullanarak A-Law ve mu-Law Kapsamlı Uygulamalar (PDF )
* TMS320C6000 μ-Law ve A-Law Yazılım veya McBSP ile Uyumlu (PDF )
* A-yasası ve μ-yasasının gerçekleştirilmesi (C'de)