Elektronik ve Teknoloji Merkezi Elektrotekno.com
Elektronik ve Teknoloji Merkezi



Click here to go to the original topic

Elektrotekno.com Ana Sayfa Matlab
Yazar Mesaj
h.celik
Tarih: 23.05.2008, 08:43 Mesaj konusu: Matlab ta DTMF ses tonlarının karaktere çevrilmesi

Ekte bir klasör içinde 7 tane m file war.

Real time kayıt etmek için ,

>>dtmfexe1 i çalıştır.

Bu komut 10 saniye boyunca mikrofon girişinden ses kaydı yapıcak.
Sonra ses vektörü diğer m file lar çağırılarak çeşitli işlemerden geçicek.
(Hepsinde açıklamalar mevcut)
Son olarak ekrana ses sinyalinin içerdiği rakamlar yazdırılacak.
(10 saniye boyunca istediğin kadar tuşa basabilirisin,tabi ortamın fazla gürültülü olmamasına dikkat et.)
(kayıt için başka bi program kullanacak san örneklemenin 8000Hz olmasınına dikkat et.)

ses kaydı için cep telefonunu kullanabilirsin.


>> dtmfexe1







Received Number is
1234567890



Veya ses tonlarını karakter olarak kendinde girebilirsin.

>> dtmfexe2([ '1' '2' '3' '4' '5' '6' '7' '8' '9' '0' ])



Received Number is
1234567890
-----------------------------------------------------

fuzuli2626
Tarih: 26.05.2008, 09:36 Mesaj konusu:

Peki sesi mikrofondan değil de, bir wav dosyasından versek o zaman kodlarda nasıl bir değişiklik olacak?
h.celik
Tarih: 26.05.2008, 16:45 Mesaj konusu:

kardeş o zaman 'dtmfexe1.m' fonksiyonunun içeriğini değiştircez.
veya yeni bi tane oluşturcaz.


mesela ;

function dtmfexe3

% .wav dan okumak için

xx= wavread('dosya adı') ; % yalnız wav formatlı dosyanın örneklemesinin 8000 Hz olması lazım.

keys = dtmfrun(xx,81,8000);
h.celik
Tarih: 28.05.2008, 19:20 Mesaj konusu: DTMF tonlarının belirlenmesi için daha basit ve hızlı bir al

Real time kayıt etmek için ,

Fs = örnekleme frekansı (mesela 8000)

>>dtmfexe1(Fs)

Bu komut 10 saniye boyunca mikrofon girişinden ses kaydı yapıcak.
(10 saniye boyunca istediğin kadar tuşa basabilirisin,tabi ortamın fazla gürültülü olmamasına dikkat edin.)
ses kaydı için cep telefonunu kullanabilirsin.


Kayıtlı wav dosyasından okutmak için,

>>dtmfexe2('dosya ismi')

% parantezin içine tırnak içinde wav dosyasının ismi yazılacak.
wav dosyası ile fonksiyonların aynı klasör içinde olması lazım.
atigun216
Tarih: 31.05.2008, 23:10 Mesaj konusu:

gecen sene (elektronik 1. sınıfta) ses kaliteleştirme veya kalitesini azaltma da diyebiliriz matlab ta yapmıştım.O kadar zor degil di de bişey soracagım bı matlab mereti madem o kadar profesyonel bir şey ..
Yaparken yok wav a donustur 8000hz yap vs bunlarda orjinaliteyi bozuyor bunlar hakkında bilgisi olan var mı?
h.celik
Tarih: 01.06.2008, 13:48 Mesaj konusu: .wav -- .mp3

Kardeş dediğini tam olarak anlamadım ama şunu söliyim bi sinyalin kalitesini düşürmek kolaydır.

Hatta şu an aklıma gelen 2 yoluda söliyim.

Birincisi örneklemesini düşürürsün.(decimate).Yani bi sinyalin örnekleme frekansı 16000 Hz ise (1 saniye süre içinde 16000 örnek içerir.) eğer biz bunu 16000 inin altında bi değere düşürürsek o zaman kalitesinide düşürmüş oluruz.ve de boyutu da doğru orantılı olarak azalır.

Diğer bir yol ise quantizing dir.Mesela sinyal in bir örneği 16 bit ise biz bunu düşürürsek gene kalitesini ve boyutunu düşürmüz oluruz.

Gelelim sinyalin kalitesini artırmaya.Yukardaki işlemlerde örnekleme frekansını ve bit değerini düşürmek yerine artırırsak,kalite ve boyutuda artırabiliriz.(tabi burda işin içine bi kaç farklı algoritmada giriyor)
Ama kalitedeki artış bu sefer doğru orantılı olmayabilir.Yani sonuçta biz elimizdeki sinyale çeşitli algoritmalarla bu (kalitesi düşük olan) sinyalden elde ettiğimiz örnekleri ekleyeceğiz.Eğer yüksek örnekleme freakanslarında işlem yapılacaksa çokta fazla bi kalite artışı olmayabilir.

Zaten bir insanın çıkardığı ses en fazla 3200 Hz civarındadır.
Bunun Nyquist kriterine göre 2 katı 6400 bide güvenlik bandı felan eklersek.
İnsan sesi üzerinde işlem yaparken 8000 Hz bize yetecektir.Bunun üzeri sadece işlem kalabalığıdır ve programın süresini uzatır.

Yukardaki örneklere gelirsek DTMF tonlarının maksimum frekansı 1477 Hz dir.Bu yüzden 8000 Hz lik örnekleme bize fazlasıyla kafidir.Dediğim gibi daha yukarısı sadece zaman kaybıdır.

İlk verdiğim ekte 8000 Hz gibi bi kısıtlama var.Ama ikinci ekte bu kısıtlamayıda kaldırdım.

İkinci Ekte ;
Mikrofondan kayıt ederken Fs i (örnekleme frekansı) kullanıcı belirliyor.Tabi şunu da söliyim 4000 Hz den az olmamak kaydıyla.yukarda bunu belirtmemişim.Ama size tavsiyem 8000 de kayıt edin.

Dosyadan okuturken (.wav) , Fs orjinalde neyse o şekilde kalıyo.Biz müdahale etmiyoruz.


Son olarak lafı daha fazla uzatmadan mp3 ü wav a çevirme işlemine de değineyim.
Kardeş diyosunki bu çevirme esnasında kalite kaybı olmazmı.
Bende sana şunu diyim.O mp3 lerin orjinalleri wav uzantılıydı zaten.
Kalite kaybı ; Mp3 ten wav a geçerken değilde wav dan Mp3 e geçerken olur.
Mp3 ün mantığıda budur zaten.Müzik dosyalarında , dosya daha az yer kaplasın diye belirli seviyeye kadar kalitesi düşürülür.
Tabi bu kalite farkını insan kulağı fazla algılayamaz.
Matematiksel işlemler için .mp3 formatı kullanılmaz.

Ayrıca , benim bildiğim kadarıyla Çoğu kayıt cihazı .wav uzantılı kayıt yapar (Windows ortamında), .mp3 uzantılı kayıt diye bişi yok belki de vardır ama bu çeşit programlarda (Matlab vb..) mp3 ün yeri yok.

İnşallah soruna bi cvp bulursun bu yazdıklarımdan.
atigun216
Tarih: 05.06.2008, 19:45 Mesaj konusu:

sagolasın baya acıklayıcı.ya mp3 olarak kayıt içinde ek program kullanabilinir wav ı mp3 e ceviren.ne yse konuyu bu yone kaydırmayayım
Elektrotekno.com Ana Sayfa Matlab
1. sayfa (Toplam 1 sayfa)

Matlab ta DTMF ses tonlarının karaktere çevrilmesi

Gizlilik Politikası

PLC programming