Stm32f4 Discovery DSP LİB kullanımı

Başlatan Kaanx, 03 Haziran 2013, 23:23:42

Mucit23

Alıntı yapılan: berat23 - 23 Mayıs 2017, 19:16:48
arm_cfft_radix4_f32 isminden ben kompleks, radix4 ve float32 yi anlıyorum. bunlar da uzunlukla alakalı değil. sonundaki f32'nin aslında ne olduğunu da bence siz koda bakıp daha iyi anlayabilirsiniz, ayrıca st'nin ise library, mutlaka dökümantasyonu vardır bakın bence.

bundan sonrası o koda özel işler, ben şahsen hiç birşey yapmadım dsp lib ile. dolayısıyla ben burda bitiyorum.

Hocam şimdi anladım. DSP library Sadece 64, 256 ve 1024 noktadan örnek alıyor. 64 Nokta FFT için 64 Adet örnek alıp birer boşluk bırakarak Input dizisine yerleştiriyoruz. Sonuç yine 64 elemanlı output dizisinde oluyor fakat Simetrik bir şekilde yerleştirilmiş oluyor. Yani çıktı 32 nokta aslında.

Fonksiyonlar çalışıyor problemsiz bir şekilde.

Giriş filtresi hakkında öneriye ihtiyacım var. Ses sinyalini basit bir Filtreden geçirip Analog girişe uyguluyorum fakat pek düzgün sonuçlar alamıyorum. Ses sinyalini Analog girişe uygulamak için girişte nasıl bir filtre kullanmalıyım

berat23

tamamen sallıyor olabilirim ama diziyi boşlukla yerleştirme sayıların kompleks olması anlamına geliyor olabilir mi? genelde kompleks sayılar sanal ve reel kısmı olarak iki sayıyla saklanır da ondan benzettim. bu yüzden kodun dökümantasyonuna bakmak lazım diyorum, yoksa böyle sallayarak ya da deneme yanılma ile bulunur.

filtreyi analog soruyorsun sanırım. analog filtreye takla attırmak yerine ben olsam analog kısma sadece basit low pass anti aliasing filter koyup asıl taklalı kısmı sayısal tarafa yapardım.

Mucit23

Hocam aynen Komplex FFT aldığım için birer boşluklarla yerleştiriyorum diziye. FFT almada sıkıntı yok benm donanıma eğilmem lazım Zira girişe uyguladığım filtre yüksek frekanslı sinyallerin genliğini biraz düşürüyor sanırım. Çünkü yüksek frekanslı sinyallerde çok az bir değişim görüyorum.

Buradaki dirençleri 100k kullandım
Gerçi bu sadece Müzik sinyali için geçerli. Aşağıdaki gibi bir siteden bilgisayarın ses kartını kullarak farklı frekanslarda tonlar uyguluyorum.


http://www.szynalski.com/tone-generator/


Frekans aralığını değiştirince FFT sonucumun gayet düzgün bir şekilde değiştiğini gözlemleyebiliyorum. Fakat müzik sinyalinde neden böyle davranıyor. Biraz filtre ile ilgili sanırım.


DC bileşene yakın değerleri hiç geçirmeyecek. Yüksek frekanslı değerleri ile maximunda geçirek nasıl bir filtre kullanabilirim?