FPGARelated.com
Forums

adaptive filter FPGA

Started by cutemonster June 8, 2007
thanks for looking and please help me.

I have a 16 bit ADC sampling at 50Mhz.  I take only 10 MSB and display it
in my video 1024 x 768 as an output to check the signal.  I see a
continuous line displayed in my monitor which still toggle within 1 or 2
pixels.  My question is, do I need a adaptive filter to really smooth the
line in only 1 pixel wide?  To make my question clear, for example
whenever it's supposed to be a horizontal line, it has noise random 2
pixel wide in y.  Is this situation, how can I smooth the data
efficiently?  I used moving average to smooth the data but every pixel is
important,  my moving average will give me a small wave along a straight
line plus curving the edge. 

The input from ADC is dc coupled which accept level of dc voltage
continuously.  I'm really doubt about FIR filter and adaptive filter and
can somebody tell me is this should be done in adaptive filter?  I tried
the DA fir from xilinx spartan 3 but it distort the signal, is that mean
my cut off frequency is too low?  And i use 10bit as input of adaptive
filter, should I should all 16 bit as input?

"cutemonster" <ckh827@hotmail.com> wrote in message 
news:RoGdndnLdPZkYvXb4p2dnAA@giganews.com...
> > My question is, do I need a adaptive filter
Nobody will tell you what you need unless you explain what you are trying to do. What is your application? If you are measuring DC why are you sampling at 50 MHz? /Mikhail
>"cutemonster" <ckh827@hotmail.com> wrote in message >news:RoGdndnLdPZkYvXb4p2dnAA@giganews.com... >> >> My question is, do I need a adaptive filter > >Nobody will tell you what you need unless you explain what you are trying
to
>do. What is your application? If you are measuring DC why are you
sampling
>at 50 MHz? > >/Mikhail > > >
Hi, thanks for the reply. I'm converting a stroke signal to raster signal. There are actually 2 adc. one for x channel and the other one for y channel. Imagine like a xy graph, depends on the voltage level of each channel, it tells where to draw the pixels. So, for 10 bit, it can display 1024 x 768 resolution. The signal runs at around 10mhz. I don't know if I make my question clear enough, please let me know. I really appreciate it.
On Jun 10, 4:44 am, "cutemonster" <ckh...@hotmail.com> wrote:
> >"cutemonster" <ckh...@hotmail.com> wrote in message > >news:RoGdndnLdPZkYvXb4p2dnAA@giganews.com... > > >> My question is, do I need a adaptive filter > > >Nobody will tell you what you need unless you explain what you are trying > to > >do. What is your application? If you are measuring DC why are you > sampling > >at 50 MHz? > > >/Mikhail > > Hi, thanks for the reply. I'm converting a stroke signal to raster signal. > There are actually 2 adc. one for x channel and the other one for y > channel. Imagine like a xy graph, depends on the voltage level of each > channel, it tells where to draw the pixels. So, for 10 bit, it can display > 1024 x 768 resolution. The signal runs at around 10mhz. I don't know if I > make my question clear enough, please let me know. I really appreciate > it.
So you want to display a stroke signal on monitor? Why you need to sample the X? Is it time dimension? Is it a constant ramping, or ramping with retrace, or random?
>So you want to display a stroke signal on monitor? >Why you need to sample the X? Is it time dimension? Is it a constant >ramping, or ramping with retrace, or random? > >
I have to sample x and y because it doesn't work like raster signal. It's voltage varies in time. There is another signal input called Unblank(TTL). It turn on and off of XY signal.
cutemonster wrote:

> > I have to sample x and y because it doesn't work like raster signal. It's > voltage varies in time. There is another signal input called Unblank(TTL). > It turn on and off of XY signal. >
You are talking here about a hardware Vector to Raster Converter. There is a nice FPGA based Vector to Raster converter in the Asteroids Deluxe video-game recreation made by the fellows of FPGA-ARCADE at : http://home.freeuk.com/fpgaarcade/ast_main.htm and by Eric Crabill of FPGA-GAMES at : http://www.fpga-games.com/astdlx.htm For a general hardware implementation you can also check the US States Patent and Trademark Office http://patft.uspto.gov/netahtml/PTO/srchnum.htm for Patent Nrs 5969699 and 6496160. The above references might give you an idea of the kind of digital filters used during this conversion process. --============================================== -- Spiros Lakkos -- http://cybernetic-engineering.blogspot.com/ --==============================================
Thanks for the info, Lakkos.  There are similar projects.  However, they
transfer the logics into fpga instead of digitizing the analog x and y
inputs.  Dealing with analog signal really give me a headache. 

thanks again.

On Jun 10, 2:38 pm, "cutemonster" <ckh...@hotmail.com> wrote:
> >So you want to display a stroke signal on monitor? > >Why you need to sample the X? Is it time dimension? Is it a constant > >ramping, or ramping with retrace, or random? > > I have to sample x and y because it doesn't work like raster signal. It's > voltage varies in time. There is another signal input called Unblank(TTL). > It turn on and off of XY signal.
Have you tried to lock the sampling clocks to the unblank?
>On Jun 10, 2:38 pm, "cutemonster" <ckh...@hotmail.com> wrote: >> >So you want to display a stroke signal on monitor? >> >Why you need to sample the X? Is it time dimension? Is it a constant >> >ramping, or ramping with retrace, or random? >> >> I have to sample x and y because it doesn't work like raster signal.
It's
>> voltage varies in time. There is another signal input called
Unblank(TTL).
>> It turn on and off of XY signal. > >Have you tried to lock the sampling clocks to the unblank? > >
No, I don't understand how to lock it with sampling clock. Can you please explain? thanks
On Jun 13, 3:09 pm, "cutemonster" <ckh...@hotmail.com> wrote:
> >On Jun 10, 2:38 pm, "cutemonster" <ckh...@hotmail.com> wrote: > >> >So you want to display a stroke signal on monitor? > >> >Why you need to sample the X? Is it time dimension? Is it a constant > >> >ramping, or ramping with retrace, or random? > > >> I have to sample x and y because it doesn't work like raster signal. > It's > >> voltage varies in time. There is another signal input called > Unblank(TTL). > >> It turn on and off of XY signal. > > >Have you tried to lock the sampling clocks to the unblank? > > No, I don't understand how to lock it with sampling clock. Can you please > explain? > > thanks
Locking the clock to the unblank meaning that their phase relation is fixed. For some reason I can't escape from the time dimension :) If you just sample for 1 frame then probably you don't need to do locking. Do you sample just 1 image then display it continuously on the raster? If you capture it as live video or multiple frames, then how can you tell which pixels belong to frame n, which belong to frames n+1, n +2,... Regards,