FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > DSP

DSP comp.dsp newsgroup, mailing list

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 10-22-2008, 06:30 PM
aenima1891
Guest
 
Posts: n/a
Default Delay Filter with Fractionary delay

hallo to anyone.
i'm trying to apply a delay filter to an input signal.
I'd like that this delay is implemented with an upsampling, because i'
talking about a fractionary delay.
Is it possible to only upsample the filter impulsive response and not th
whole input signal?

this is my Matlab Code

fc=100; %sample frequency of input signal
t=0:2*pi/(fc-1):2*pi;
x=sin(t); %input signal
subplot(121);
stem(t,x);
title('Original Signal');
n_points=length(x);


tau=3.45; %delay (samples)
up_factor=10; %upsampling factor
tau_up=round(tau*up_factor);
NFFT=2^nextpow2(n_points*up_factor);

%------ anti imaging filter---------%
h_imaging=up_factor*fir1(32,1/up_factor,blackman(32+1));
H_IMAGING=fft(h_imaging,NFFT);

h_delay=[zeros(1,tau_up) 1];
H_DELAY = fft(h_delay,NFFT);
X = fft(x,NFFT);
OUT1 = H_DELAY.*X.*H_IMAGING;
out1=real(ifft(OUT1,NFFT));
out=downsample(out1,up_factor);
subplot(122);
stem(t,out(1:n_points));
title('Signal with delay');


Sorry for my bad english
Reply With Quote
  #2 (permalink)  
Old 10-22-2008, 09:30 PM
Sebastian Doht
Guest
 
Posts: n/a
Default Re: Delay Filter with Fractionary delay

aenima1891 schrieb:
hello,
the impulse response of a delaye filtered signal is:

y(t)=conv(x(t-tau),h(t)) (1)

So its Fourier Transform is

Y(f)=X(f)*exp(-j*2*pi*tau*f)*H(f) (2)

So the delay leads to a multiplication in the frequency domain with a
complex phase term and it doesn't matter if you delay the filtered
version or the original version since the order of multiplication is
exchangable. But I am wondering why you want to upsample the signal at
all, when you downsample it after the IFFT? There would be only a gain
in upsampling if you would observe the upsampled filtered delayed signal
in the time domain? You would have to upsample if you perform all
operations in the time domain...
So i would just do the following:
a) H(f)=fft(h,N);
b) Apply equation two
c) y(t)=ifft(Y,N*upsampling_factor)

Hope to help,
Sebastian




> hallo to anyone.
> i'm trying to apply a delay filter to an input signal.
> I'd like that this delay is implemented with an upsampling, because i'm
> talking about a fractionary delay.
> Is it possible to only upsample the filter impulsive response and not the
> whole input signal?
>
> this is my Matlab Code
>
> fc=100; %sample frequency of input signal
> t=0:2*pi/(fc-1):2*pi;
> x=sin(t); %input signal
> subplot(121);
> stem(t,x);
> title('Original Signal');
> n_points=length(x);
>
>
> tau=3.45; %delay (samples)
> up_factor=10; %upsampling factor
> tau_up=round(tau*up_factor);
> NFFT=2^nextpow2(n_points*up_factor);
>
> %------ anti imaging filter---------%
> h_imaging=up_factor*fir1(32,1/up_factor,blackman(32+1));
> H_IMAGING=fft(h_imaging,NFFT);
>
> h_delay=[zeros(1,tau_up) 1];
> H_DELAY = fft(h_delay,NFFT);
> X = fft(x,NFFT);
> OUT1 = H_DELAY.*X.*H_IMAGING;
> out1=real(ifft(OUT1,NFFT));
> out=downsample(out1,up_factor);
> subplot(122);
> stem(t,out(1:n_points));
> title('Signal with delay');
>
>
> Sorry for my bad english

Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
delay filter aenima1891 DSP 17 10-11-2008 02:44 PM
Combinatorial logic delay plus routing delay exceeds clock period Sam Worth FPGA 13 06-04-2008 03:41 AM
FIR filter and time delay Ross Clement (Email address invalid - do not use) DSP 12 02-16-2006 08:02 PM
What is the delay of this filter, VijaKhara DSP 10 11-17-2005 02:55 PM
Transport Delay and Inertial Delay kumar Verilog 0 07-16-2003 04:34 PM


All times are GMT +1. The time now is 02:30 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved