White Noise Üretmek

Başlatan Mucit23, 11 Eylül 2024, 12:07:41

Mucit23

chatgpt açıkçası hiç aklıma gelmemişti. Ben anlık olarak random data üretiyordum ama bu daha mantıklı bir yöntem.

Acaba verinin uzunluğu white noise'nin doğruluğunu etkiler mi? Şuanda Kesme ile 44Khz frekans da yeni değerler üretiyorum. DMA ya göndermeden önce volum kontrolü de yapıyordum. DMA ve Timer kullanırsam arka planda otomatik yaparım bu işi ama volume kontrolü yapamam. Onu da sanırım harici bir dijital potansiyometre ile yapmam gerekecek.

Mucit23

Selamlar

STM32F072 çipimin DAC bloğu ile White Noise üretmeye çalışıyorum. DAC donanımın içerisine Noise Generator bölümü mevcut. Timer İle DAC donanımını yaklaşık 48Khz de tetikliyorum. DAC donanımı random değerler üretiyor.

Osiloskop ile DAC çıkışına baktığımda resimdeki gibi bir sinyal var.



Bu DAC sinyalinin çıkışında dijital potansiyometre var. Daha sonra bazı filtrelerden geçirip Amfi donanımına veriyorum.

Filtreleme işini düzgün yapamıyorum. Basit RC filtrelerden geçirip amfiye verdiğimde klasik white noise dışında mekanik bir gürültü alıyorum.

Sinyali yeterince filtreleyemediğim aşikar. Resimdeki gibi bir sinyali kırpıp filtrelemek için nasıl bir filtre yapısı kullanmak gerekir?

Mucit23

Bu STM32F0 disco da nedense gürültülü bir ses alıyorum. Beyaz gürültü sinyalinin üzerine frekansı periyodu belli başka bir sinyal biniyor.

STM32F0RB Disco üzerinde çalışıyorum. Yazılımda hata yaptığımı düşünüyordum ama Bu MCU da bir problem var. Nedense MCU çalışırken aşırı derece gürültü yayıyor.

Gürültü oluşturmak için Hem DAC kullandım hem de Timer ve PWM yöntemini kullandım. Her ikisinde de aynı problem var. Ufak bir ses kaydı yaptım. Aldığım ses aşağıdaki linkte mevcut.

https://jmp.sh/s/7nfEgsNb2eMBNo996Koj

PWM çıkışına RC filtreler ekleyerek amfiye giriyorum. DAC de de aynı şekilde RC ve çeşitli filtreler ekleyerek Amfiye giriyorum. Anlamadığım bir şekilde ses bu şekilde çıkıyor.

Aynı işi STM32F401RC mcu su ile denedim asla böyle bir problem olmuyor. Sadece PWM ile denedim ama tam istediğim gibi bir White noise üretebiliyorum.

Her iki kartı da usb ile besliyorum bu arada. Farklı güç kaynakları da denedim ama STM32F0 için bu istenmeyen seslerden kurtulamadım.

Böyle bir sese ne neden olur acaba?

z

DAC ya da PWM update islemi peryodik olarak bir rutin tarafindan kesintiye ugratiliyor olabilir.

Debug amacli olarak programi kusa cevir sadece bu ses isi ile ilgilensin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Mucit23

Abi herşeyi denedim yok.

Program boşta çalışıyor. STM32F072 için arka planda çalışan tek şey timer ve DAC.

DAC de Noise generator özelliği ile gürültü üretiyor. Gürültü aynı şekilde mevcut.

Dedim belki bu özelliğin üretmiş olduğu sinyal problemlidir. 1000 elemanlı bir diziye random değerler yükleyip DMA ile döngüsel olarak bu verileri DAC ye aktardım. Sonuç yine Aynı.

Son olarak dedim herhalde DAC donanımı sorunlu PWM ile denemeyi yapmak istedim. Aynı şekilde yine Timer Update eventi ile DMA aracılığıyla aynı diziyi Capture Registerine yazarak white noise ürettim. Sonuç yine aynı.

Bu ses neyin sebep olduğunu bulamadım ve STM32F072RB ile çalışmaktan vazgeçtim. STM32F401 ile deneme yapıyorum tam istediğim gibi. Sanırım projemi bu çipe aktaracağım.

Cemre.

İki farklı işlemcinin de osiloskop çıktısını inceleyince bir fark gördünüz mü? Kartın beslemesi ve decoupling kapasitörleri ile ilgili bir durum olabilir mi acaba? Bir de DAC çıkışı opamp buffer ile güçlendirilse bir etkisi olur mu? bilemedim...