Saha tespit tesisinde buna " oktav problemi " diyoruz .
Her şeyden önce AMDF'yi ASDF olarak değiştirirdim. Ve gecikme arttıkça pencere boyutunu küçültmem. (Ayrıca, daha geleneksel olduğunu düşündüğüm şekilde gösterimi değiştiriyorum. "x[n]"ayrık zamanlı bir sinyaldir.)
Ortalama Kare Fark Fonksiyonu (ASDF) x[n] örnek mahallede x[n0] dır-dir:
Qx[k,n0]≜1N∑n=0N−1(x[n+n0−⌊N+k2⌋] − x[n+n0−⌊N+k2⌋+k])2
⌊⋅⌋olduğu floor()
takdirde, fonksiyon vek o zaman bile ⌊k2⌋=⌊k+12⌋=k2.
Şimdi kareyi genişletin ve zirvelerin neye benzediğini düşünün N→∞ (bu değil N olan sonsuzluğa gidiyordu, ama size bir fikir olmadığını vermekNbüyük). ASDF doğrudan otokorelasyon ile ilişkilidir. Aslında otokorelasyon tersine döndü. Bu adımları sana bırakacağım. bu cevaba bir göz atın.
Şimdi bu sonlu uzunluktaki "otokorelasyon" (örnek mahallesinde)x[n0]) ASDF'den tanımlanmıştır:
Rx[k,n0]=Rx[0,n0]−12Qx[k,n0]
nerede
Rx[0,n0]≜1N∑n=0N−1(x[n+n0−⌊N2⌋])2
Dan beri Qx[0,n0]=0 ve Qx[k,n0]≥0 tüm gecikmeler için k, bu şu demek oluyor Rx[k,n0]≤Rx[0,n0] tüm gecikmeler için k.
Diyelim ki bir dakika x[n] periyodik, periyodlu P (ve P tamsayı olur), o zaman
x[n+P]=x[n]∀n
ve Qx[mP,n0]=0 ve Rx[mP,n0]=Rx[0,n0]≥Rx[k,n0] herhangi bir tam sayı periyodu için (mbir tamsayıdır). Yani bir tepe elde edersinizk=0 ve k diğer herhangi bir katına eşit P Eğer x[n]periyodiktir. Eğerx[n]olduğu değil mükemmel periyodik, ne beklediğinizden büyük zirve olank=0, başka bir tepe noktası (ancak biraz daha küçük) k=P (aradığımız dönem) ve daha büyük katları için giderek daha küçük zirveler P.
Yani oktav sorun yaklaşık nedenlerden dolayı çift geliyor. Her şeyden önce,Pille de bir tamsayı değildir. Bu bir enterpolasyon problemi, büyük bir sorun değil.
İkinci neden ve daha zor olan sorun subharmoniklerdir . Tam olarak A-440 Hz'de güzel bir periyodik ton dinlediğinizi ve orta C'nin üstünde 9 yarı ton olan bir A gibi geldiğini düşünün. -220? Kulağa nasıl gelecek ve matematiksel olarak "gerçek" dönem nedir?
Dönem için "sağ" pik seçimi .
Diyelim ki notunuzu bir DC engelleme filtresinden geçiriyorsunuz, böylece x[n]sıfırdır. Otokorelasyon ortalamasına neden olduğu ortaya çıktıRx[k,n0] herkes için n0 ayrıca sıfır (veya Nbüyük). Bunun anlamıRx[k,n0] toplamı geçmeli k) sıfıra yakın olmak anlamına gelir, yani sıfırın altında aşağıdaki kadar çok alan vardır.
Tamam Rx[0,n0] gücünü temsil eder x[n] etrafında n=n0 ve negatif olmamalıdır. Rx[k,n0] asla geçmez Rx[0,n0] ama ne zaman büyük olabilir x[n] periyodiktir. Rx[P,n0]=Rx[0,n0] Eğer x[n+P]=x[n]. Yani eğerx[n] periyodik, periyodlu P ve aralarında bir sürü tepe var Pve bu zirvelerin ne kadar yüksek olması gerektiği hakkında bir fikriniz var. Ve eğer DC bileşeniRx[k,n0]sıfır, yani tepeler arasında negatif değerler olması gerekir .
Eğer x[n] "yarı periyodik", bir döngü x[n] bitişik bir döngüye çok benzeyecek, ancak x[n]daha aşağıya doğru sinyal. Bu ilk zirve anlamına gelirRx[P,n0] ikinci saniyeden daha yüksek olacak Rx[2P,n0] veya üçüncü Rx[3P,n0]. Bu kural her zaman en yüksek zirveyi seçmek ve en yüksek zirvenin daima ilk zirve olmasını beklemek için kullanılabilir. Ancak, duyulmayan subharmonikler nedeniyle, bazen durum böyle değildir. bazen ikinci veya muhtemelen üçüncü zirve oh-so-biraz daha yüksektir. Ayrıca, çünkü dönemP muhtemelen tamsayı sayıda örnek değil, k içinde Rx[k,n0] her zaman bir tamsayıdır, dolayısıyla gerçek tepe değeri büyük olasılıkla tamsayı değerleri arasında olacaktır. k. Düzgün zirvenin olduğu yerde enterpolasyon yapsanız bile (ki bunu tavsiye ederim ve kuadratik enterpolasyon yeterince iyi) ve tamsayı arasında gerçekten ne kadar yüksekk, enterpolasyon algınız gerçekte olduğundan biraz daha yüksek veya biraz daha düşük bir tepe yapabilir. Bu nedenle, kesinlikle en yüksek zirveyi seçmek, diğerini gerçekten istediğinizde ikinci zirveyi sahte olarak seçebilir (veya tam tersi).
Yani bir şekilde yapmak zorunda handikap artırmayı zirvelerikbu yüzden ilk zirve bir olduğunu hafif Bunu nasıl vb saniyede üzerinde avantaj ve dördüncü (sonraki oktav aşağı) üzerinden ikinci,?
Bunu çarparak yaparsın Rx[k,n0] azalan fonksiyonu ile k böylece zirve k=2P aynı özneye göre bazı faktörler tarafından azaltılır. k=P. Güç işlevinin (üstel değil) bunu yaptığı ortaya çıkıyor. öyleyse hesapla
k−α Rx[k,n0]
Yani, eğer x[n] dönemi ile mükemmel periyodikti Pve tamsayı olmayanlar için enterpolasyon sorunlarını göz ardı etme P, sonra
Rx[2P,n0]=Rx[P,n0]
fakat
(2P)−αRx[2P,n0](2P)−αRx[P,n0]=<P−αRx[P,n0]
Bir oktavın daha düşük bir perdesi için zirvenin azaltılma faktörü, orandır.
(2P)−αRx[2P,n0]P−αRx[P,n0]=(2P)−αP−α=2−α
Dolayısıyla, birinci zirvenize ikinci zirve üzerinde% 1 artış sağlamak istiyorsanız, alt harmonik aralık otokorelasyonu ilk harmonikten en az% 1 daha fazla olmadığı sürece perdeyi harmonik perdelik olarak seçmeyeceğiniz anlamına gelir. zirve, sen çözmek için α itibaren
2−α=0.99
Bu, bir oktav altındaki subharmonik aralığa karşılık gelen zirveyi ağırlıklandırmanın, vurgulamanın veya vurgulamanın tutarlı bir yoludur.
Sizi hâlâ bir eşik değerinde bırakıyor. Seçmek zorundasınαiyi. Ama bu tutarlı yolu bir oktav daha düşüktür ikincinin üzerine ilk zirve vurgulamak, ama çok değil not gerçekten eğer olduğunu bir oktav daha düşük, ancak bu bile harmonik tüm enerji garip kıyasla güçlüydü harmonikler, bu yine de ikinci zirve için bir olasılık bırakacaktır.