5 kHz altındaki frekansların serbestçe geçmesine izin veren bir filtre tasarlayın, ancak 5.2 kHz üzerindeki tüm frekanslar tespit edilemez olmalıdır


12

Bu soru ile ilgili en büyük zorluğum, gülünç dik yükselme oranı.

Kazanımı -20 dB ise sinyalin tespit edilemez olduğunu varsayıyorum. Bu, 200 Hz geçiş bandı içinde sinyal gücünün 20 dB düşmesi gerektiği anlamına gelir.

Hesaplamalarım doğruysa, bu filtre 1200 dB / dec'lik bir aktarma oranı gerektirir. Bu, açıkça mümkün olmayan 60 kutup gerektirir.

Geçiş bandında minimum dalgalanma ile analog aktif bir filtre kullanmak istiyorum. Büyük bir faz kayması çok önemli değildir.

Potansiyel bir çözüm, 5.2 kHz'de bir çentik filtresi kullanmaktır. Bununla birlikte, çentik filtresinin bant genişliğinin üzerindeki frekanslar hala yeterince filtrelenmemiştir.

Lütfen mantığımdaki kusurları belirtin ve / veya potansiyel çözümler önerin. Teşekkür ederim.


16
-20dB algılanamayan arama oldukça
esnektir

1
@WhatRoughBeast ??? 225 kutup elde etmek için 4500'ü 20'ye böldüğünü fark ettim; zorlandığım şey, ilk etapta 4500'ü nasıl elde ettiği.
Dave Tweed

7
Tamir'in ne tür bir cevap bekliyorsun? Analog pasif / aktif mi? Dijital IIR / FIR? Dalga dijital filtre? FFT + İstenmeyen öğeleri kaldır + IFFT?
Harry Svensson

4
Ne kadar geçiş bandı dalgalanması kabul edilebilir?
Bruce Abbott

1
" geçiş bandında minimal dalgalanma ile " - "minimal" bir şartname değildir.
Bruce Abbott

Yanıtlar:


21

Filtreniz için her filtre siparişi için 20 dB / dec aldınız. Bu, tüm filtre türleri için geçerli değildir.

Let ve . Sonraf s t o p = 5,2 k H z f s t o pf0=5kHzfstop=5.2kHz

fstopf0=1.04.

Wikipedia makalesinden alınan bu dördüncü derece eliptik filtreye bir göz atın . eliptik

Gereksinimlerinizi tam olarak karşılamasa da, uygulanabilir olduğunu görebilirsiniz. Daha yüksek dereceli bir eliptik filtre, peşinde olduğunuz şeyi başarabilir.

Eliptik filtrelerin sinyalin fazına rahatsız edici şeyler yapabileceğini unutmayın. Faz kısıtlamalarınız hakkında bir şey söylemediğiniz için, eliptik bir filtrenin uygun olduğunu varsaydım.


Bu kötü bir fikir değil. 6. dereceden eliptik LPF, 3dB geçiş bandı dalgalanması ve maks. 5200Hz ve üzeri -20dB sızıntısına izin verilir. Sonuç bir filtre hesap makinesi ile elde edildi, uygun bir frekans tepkisi ortaya çıkana kadar sadece farklı siparişler ve limitler girdim. Altıncı sıra, yalnızca üç tane 2. sıra bloğunun basamaklı olduğu anlamına gelir. Hiçbir fikrim yok, uygulamada analog opamp filtresi olarak olağan bileşen toleranslarıyla gerçekleştirilebilecek mi? Bunun daha fazla simülasyona ihtiyacı var.
user287001

Merhaba ve güzel bir cevap için teşekkürler. Sadece bir merak, wikipedia'ya baktığımda kutuplar üç nokta üzerinde duruyor gibi görünüyor, ismin nereden geldiği ya da bir tesadüf mü?
mathreadler

1
@mathreadler İsmin eliptik filtrenin transfer fonksiyonunda görünen eliptik rasyonel fonksiyondan geldiğine inanıyorum. Eliptik filtrelerin kutupları Jacobi eliptik kosinüs fonksiyonunun bir fonksiyonudur. Dolayısıyla bir elips üzerinde uzanırlar.
user110971

21

Bu tür keskin bir rolloff, dijital bir filtre gerektirir. Analog bile düşünmeyin. Girdiyi samimi bir işlevle birleştirmeniz gerekir. Sinc fonksiyonunun genişliği (çekirdek noktalarının sayısı) durdurma bandı zayıflamasını tanımlar.

Matematiği yapmadım, ancak bazıları çok hızlı (kapalı olabilir, işinizi düzgün yapmak için) hesaplamalar, 20 kHz'de örnekleme yapıyorsanız muhtemelen birkaç 100 puana ihtiyacınız olduğunu söylüyor. 20 kHz'de 200 nokta, 4 MHz'lik bir MAC hızı anlamına gelir. Bu, modern DSP'lerin kolayca yapabildiklerinin çok altında, yapılabilir. Bu, probleminizin oldukça izlenebilir olduğu anlamına gelir. E serisi dsPIC gibi bir şey bunu yapabilir ve sadece DSP yeteneği arıyorsanız bu oldukça düşük bir sonuçtur.


3
bu aslında bir FIR filtresidir. Hızlı bir simülasyon, dikdörtgen pencereli 128 musluk filtresinin yeterli olduğunu gösterdi. Katsayılar, ideal 5100Hz LPF'nin samimi dürtü yanıtından alınır. İlk yan lob yaklaşık -20dB'dir. 5250Hz (bir filtre hesaplayıcıdan görüldü)
user287001 10:30 '

2
@user: Tamam, yani bu yukarıdaki kaba tahminimden biraz daha kolay. Çekirdeği biraz daha genişletirim, sadece biraz marj için, özellikle de mütevazı bir DSP'nin kabiliyeti dahilinde.
Olin Lathrop

Filtre için gerçekten iyi kaynaklar var ve hangi pencere fonksiyonunu kullanacağım: Şahsen dspguide.com'u seviyorum
Peter Smith

4

Önemli bir gecikmeye izin verirseniz veya kaydedilen bir sinyali işlerseniz FFT yapabilir, istenmeyen bileşenleri kaldırabilir ve dönüşümü tersine çevirebilirsiniz. Zil sesini kabul edilebilir tutmak için uygun pencere işleviyle fft'i kesmeniz gerekir.


8
Bence bu dar bir geçiş bandı için, bu cevabı problemi çözmek için kullanışlı hale getirmek için pencere işlevinin nasıl seçileceği hakkında çok daha fazla şey söylemeniz gerekiyor.
Foton

4

Bir ses codec yongası (ADC + DAC) seçer, ADC dijital çıkışını DAC girişine yönlendirir ve örnek hızını 10kHz olarak ayarlarım.

Bu yongalar zaten ihtiyacınız olan dijital filtre motorunu içerir. Hızlı bir veri sayfası kontrolü, ihtiyacınız olan filtre performansını alacağınızı doğrular.


Bundan emin misin?
user253751

% 100 emin değilim, ama bir sigma delta codec bileşeni ile çalışmayacağı için bir neden görmüyorum, bazıları
8kHz'e

Ama neden istenmeyen frekansları yumuşatmak yerine reddeteceğine inanıyorsunuz?
user253751

Her zamanki ses ADC, devasa aşırı örnekleme faktörü ve ardından keskin dijital filtre ile bir sigma deltasıdır. Bunların çoğu Fs = 8k ila 96-192k arasında çalışacaktır. ADC'den önce basit bir 1. derece alçak geçidi ile örtüşme önlenir ve aşırı örnekleme bununla ilgilenir. Doğru saat frekansı ile Fs = 10kHz etrafında iyi çalışmalıdırlar.
peufeu

4

Zaten iyi geleneksel çözümler, eliptik filtreler, (kısa zaman) FFT, vb. İle birçok güzel cevabınız var, bu yüzden alt bant kodlama / dalgacık dönüşüm dünyasından bir şeyler ekleyebileceğimi düşünüyordum.

Alt-bant kodlama, frekans spektrumunu "bölmelere" bölmek anlamına gelir, bu bölmelerin her biri kendi ilişkili filtresine sahiptir. Daha sıkı bantlar, zaman alanında (doğal olarak) daha geniş filtreler - ancak çok sıkı bantlara ihtiyaç duymadığımız alanlarda gerçekten kısa ve hesaplaması ucuz filtrelerle kurtulabiliriz.

Dalgacıklar, yinelenen filtreleme ve ardından alt örnekleme tarafından oluşturulan belirli bir alt-bant filtrelerinin sonucu olan işlevlerdir.

Fikir, hesaplamaları en fazla sıkıştırmamıza izin verecek, ancak yine de ilgi bandında iyi bir ayrıntı elde edebilecek ilgi alt-bantlarını bulmak olacaktır.

Üç seviyede Daubechies 12 batarya paketi ayrıştırma örneği (Wikipedia):

Resim açıklamasını buraya girin

Daha sonra istediğimiz yanıtı almak için bunları seçici bir şekilde toplayabiliriz. Ve eklemek istemediklerimiz - hesaplamak zorunda bile değiliz! Yeterince dik davranış elde edebilmek için 5-5.2 kHz bandına yakın daha ince olanlara ihtiyacımız olacak. Ancak öte yandan, 5-5.2 kHz bandından çok uzakta, sadece birkaç alt bölümle kurtulabiliriz.


Bu bir cevaptan çok bir reklamdır.
Harry Svensson

@HarrySvensson Daha spesifik olmaya çalışabilirim ama bu günlerde cevapları geliştirmek zorunda olduğum kadar boş vaktim yok.
mathreadler

3

sinüzoidal bir girişi GARANTİ yapabiliyorsanız, tek seferlik tek kararlı (74121) yeterli olabilir. Veya yeniden tetiklenebilir 122/123.

74121/122/123'ten önce bir karşılaştırıcı kullanın

Bazı MCU'lar, çevre birimleri olarak analog karşılaştırıcılar içerir; bir kez kare dalgaya dönüştürüldüğünde, MCU'da XTAL stabilize edilmiş bir saat varsa 5.000Hz'in üstünde / altında tespit etmek için zamanlayıcılar vb. Sıcaklığa duyarlı tek kararlılığa gerek yoktur.


3
İlginç, ama girdinin sinüsoidal olabileceğini düşündüren nedir? Herhangi bir sebep olmadan bu varsayımı yapmak için oldukça ütopik görünüyor.
leftaroundabout

1
i "GARANTİ yapabilirsen" cevabının ilk 4 kelimesi olarak sating, o zaman bu yeni bir çözüm.
Techydude

Kaymayı önleyici bir fren sisteminde tekerlek kilitlenmesini tespit etmek için bu yaklaşımı (geri çekilebilir 74123) kullandım; 74123 zaman aşımına uğradığında, hidrolik silindir frenleri atmak için 2N3055'ten sürüldü. Hidrolik zaman sabiti nedeniyle saniyede sadece 2 darbe aldık.
analogsystemsrf
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.