Bir sinyali örneğin kesirine göre kaydırma


9

0,5 mikro saniyelik bir örnekleme süresine sahip bir sinyale sahibim ve bu sinyali örnekleme süresinin bir kısmı, örneğin 3 nano saniye ile kaydırmak istiyorum.

Kesirli gecikme filtrelemesi ve FFT ve IFFT'yi bu gecikmeyi gerçekleştirmek için kullanma hakkında birkaç çevrimiçi kaynak okudum. Birisi beni bu konuda bir teoriye işaret edebilir veya nasıl uygulayacağına dair bir fikir verebilir mi?

Tamsayı numuneler için sinyalin düzenli olarak kaydırılması için, bunu gerekli sayıda numune ile kaydırarak ve başında sıfır ekleyerek bunu gerçekleştirdim. Bu yaklaşım doğru mu?

Yanıtlar:


13

1996'da IEEE Sinyal İşleme Dergisi: Birim gecikmeyi bölme: kesirli gecikme filtresi tasarımı araçları için iyi bir genel bakış makalesi bulunmaktadır . Bununla ilgili güzel olan şey, aynı zamanda ilgili Matlab dosyalarının da mevcut olmasıdır. Bu rutinler böyle bir sistem tasarlamanızı sağlayacaktır.

Tamsayı sayıda örnekle kaydırmaya gelince, yaptığınız kesinlikle doğrudur.


Ben sadece gazeteyi gözden kaçırdım, bu yüzden bunun açıkça orada olup olmadığından emin değilim, ama kesirli gecikme n-inci türevi keyfi düzene genelleyen kesirli türevle ilgili.
soultrane

2

Fft tipi çözümler yapmanın yanı sıra enterpolasyonu da kullanabilirsiniz, uygun olan enterpolasyonun türü elbette ihtiyaçlarınıza göre olacaktır! Doğrusal enterpolasyon geçmişte flanş efektleri ile benim için iyi çalıştı, ancak kilometreniz değişebilir.

Lagrange enterpolasyonu, eğer lineer enterpolasyon yeterince iyi değilse, btw'ye bakmaya değer olabilir. http://blog.demofox.org/2015/07/08/lagrange-interpolation/


Hermite Lagrange'dan daha iyi olabilir, ancak MATLAB'a (veya FIR filtre tasarım programına) erişiminiz varsa, kendinize farklı, eşit aralıklı, kesirli gecikmeler. verilen kesirli gecikmeye en yakın iki kesirli kesirli gecikmeyi seçin ve aralarında doğrusal olarak enterpolasyon yapın.
robert bristow-johnson

0

Bu, MATLAB'daki 'delayseq' işlevi kullanılarak yapılabilir. Bu işlev kesirli örneklerde sinyali kaydırabilir. Değiştirmek istediğiniz örnek sayısını veya zaman cinsinden, istediğiniz gecikme miktarını yazabilirsiniz. Ancak dikkat edilmesi gereken önemli olan, gecikmeli sinyalin orijinal sinyalin uzunluğu ile aynı olmasıdır, bu nedenle sinyali kesmek istemiyorsanız, önce sıfır dolgusu kullanın ve sonra delayseq kullanın. https://in.mathworks.com/help/phased/ref/delayseq.html

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.