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 05-20-2004, 04:47 PM
Nitesh
Guest
 
Posts: n/a
Default Time Domain Gain of a unity gain filter

Simple but hard question::

Given a stable filter h[n]<-DFT->H[k] with less than unity Gain (defn:
DFT coefficients are <= 1), what is the bound on output to a input
bounded by Bx in discrete time domain. (I am talking about DFT pairs
only)

Please don't tell me that it is Bx. THAT IS WRONG.

The bound on output for a general stable filter is
sc_mh * Bx

where
sc_mh = sigma(complex_mod(h[n]),n,-infinity,infinity)

where
sigma(a,b,c,d) means sum 'a' with variable 'b' varying from 'c' to
'd'.

So the question boils down to finding a bound on 'sc_mh' given a
causal h[n] with all H[k]'s <= 1

The best bound I have got till now is sqrt(N) where the DFT is taken
over N points.

PLEASE HELP, I am getting mad over this question
Reply With Quote
  #2 (permalink)  
Old 05-20-2004, 05:09 PM
Randy Yates
Guest
 
Posts: n/a
Default Re: Time Domain Gain of a unity gain filter

[email protected] (Nitesh) writes:

> Simple but hard question::
>
> Given a stable filter h[n]<-DFT->H[k] with less than unity Gain (defn:
> DFT coefficients are <= 1), what is the bound on output to a input
> bounded by Bx in discrete time domain. (I am talking about DFT pairs
> only)
>
> Please don't tell me that it is Bx. THAT IS WRONG.
>
> The bound on output for a general stable filter is
> sc_mh * Bx
>
> where
> sc_mh = sigma(complex_mod(h[n]),n,-infinity,infinity)
>
> where
> sigma(a,b,c,d) means sum 'a' with variable 'b' varying from 'c' to
> 'd'.
>
> So the question boils down to finding a bound on 'sc_mh' given a
> causal h[n] with all H[k]'s <= 1
>
> The best bound I have got till now is sqrt(N) where the DFT is taken
> over N points.
>
> PLEASE HELP, I am getting mad over this question


Hi Nitesh,

Your initial bound seems like it's in the right direction. It
was shown how a sinc filter can produce an unbounded output with
a bounded input here:

http://www.google.com/groups?q=serie...eee.org&rnum=3

--Randy


PS: Is this the Nitesh I know? (Nitesh Soni?)
--
Randy Yates
Sony Ericsson Mobile Communications
Research Triangle Park, NC, USA
[email protected], 919-472-1124
Reply With Quote
  #3 (permalink)  
Old 05-21-2004, 12:44 AM
Mahesh Godavarti
Guest
 
Posts: n/a
Default Re: Time Domain Gain of a unity gain filter

[email protected] (Nitesh) wrote in message news:<[email protected] m>...
> Simple but hard question::
>
> Given a stable filter h[n]<-DFT->H[k] with less than unity Gain (defn:
> DFT coefficients are <= 1), what is the bound on output to a input
> bounded by Bx in discrete time domain. (I am talking about DFT pairs
> only)
>
> Please don't tell me that it is Bx. THAT IS WRONG.
>
> The bound on output for a general stable filter is
> sc_mh * Bx
>
> where
> sc_mh = sigma(complex_mod(h[n]),n,-infinity,infinity)
>
> where
> sigma(a,b,c,d) means sum 'a' with variable 'b' varying from 'c' to
> 'd'.
>
> So the question boils down to finding a bound on 'sc_mh' given a
> causal h[n] with all H[k]'s <= 1
>
> The best bound I have got till now is sqrt(N) where the DFT is taken
> over N points.
>
> PLEASE HELP, I am getting mad over this question


Unfortunately, that is the best you can do. You can verify this by
constructing examples where your upper bound is met.

One example:

input signal:

Bx, -Bx, Bx, -Bx, Bx, -Bx ...

causal filter:

1/sqrt(N), -1/sqrt(N), 1/sqrt(N), -1/sqrt(N), ...,

Then the DFT coefficients are all zero except one which has magnitude
1.

More can be done if you have some lower limits on magnitudes of the
DFT coefficients.
Reply With Quote
  #4 (permalink)  
Old 05-21-2004, 08:57 AM
Nitesh
Guest
 
Posts: n/a
Default Re: Time Domain Gain of a unity gain filter

> > So the question boils down to finding a bound on 'sc_mh' given a
> > causal h[n] with all H[k]'s <= 1. The best bound I have got
> > till now is sqrt(N)

>
> Unfortunately, that is the best you can do. You can verify this by
> constructing examples where your upper bound is met.
>
> One example:
> input signal:
> Bx, -Bx, Bx, -Bx, Bx, -Bx ...
> causal filter:
> 1/sqrt(N), -1/sqrt(N), 1/sqrt(N), -1/sqrt(N), ...,
>
> Then the DFT coefficients are all zero except one which has magnitude
> 1.


Hi Mahesh!

Thanks, but I have a sincere feeling that sqrt(N) is a loose bound.
The problem with your example is that H[k] = sqrt(N) at N/2 (N assumed
to be even). So it is not a unity gain filter anymore....

In fact it can be very easily proved by Parseval's Theorem and some
logic that to reach the bound of sqrt(N) you have no choice but to
have a filter with all
|h[n]| = 1/sqrt(N) and all |H[k]| = 1 (both have length N).

From the DFT pair equations you will get 2N REAL equations in 2N REAL
variables which satisfy the above criteria. To prove that sqrt(N) is a
loose bound we have to show there is no solution to those equations.
(Not very easy)... May be it is easy to find solution using computer
program because the variables move in a [0, 2pi) space along all 2N
dimensions.

But I have a strong feeling that the above method to prove anything
(tight or loose) is too complicated, but it does indicates (without
proof ofcourse) that sqrt(N) is a loose bound.

Hope that someone else looses his/her nights sleep over it

)
Nitesh
Reply With Quote
  #5 (permalink)  
Old 05-21-2004, 08:59 AM
Nitesh
Guest
 
Posts: n/a
Default Re: Time Domain Gain of a unity gain filter

Randy Yates <[email protected]> wrote in message news:<[email protected]>...
> [email protected] (Nitesh) writes:
>
> > Simple but hard question::
> >
> > Given a stable filter h[n]<-DFT->H[k] with less than unity Gain (defn:
> > DFT coefficients are <= 1), what is the bound on output to a input
> > bounded by Bx in discrete time domain. (I am talking about DFT pairs
> > only)

> Hi Nitesh,
>
> Your initial bound seems like it's in the right direction. It
> was shown how a sinc filter can produce an unbounded output with
> a bounded input here:
>
> http://www.google.com/groups?q=serie...eee.org&rnum=3
>
> --Randy
> PS: Is this the Nitesh I know? (Nitesh Soni?)


Thanks Randy!

I am not that Nitesh I am Nitesh Bhandari
Reply With Quote
  #6 (permalink)  
Old 05-21-2004, 06:16 PM
Mahesh Godavarti
Guest
 
Posts: n/a
Default Re: Time Domain Gain of a unity gain filter

[email protected] (Nitesh) wrote in message news:<[email protected] com>...
> > > So the question boils down to finding a bound on 'sc_mh' given a
> > > causal h[n] with all H[k]'s <= 1. The best bound I have got
> > > till now is sqrt(N)

> >
> > Unfortunately, that is the best you can do. You can verify this by
> > constructing examples where your upper bound is met.
> >
> > One example:
> > input signal:
> > Bx, -Bx, Bx, -Bx, Bx, -Bx ...
> > causal filter:
> > 1/sqrt(N), -1/sqrt(N), 1/sqrt(N), -1/sqrt(N), ...,
> >
> > Then the DFT coefficients are all zero except one which has magnitude
> > 1.

>
> Hi Mahesh!
>
> Thanks, but I have a sincere feeling that sqrt(N) is a loose bound.
> The problem with your example is that H[k] = sqrt(N) at N/2 (N assumed
> to be even). So it is not a unity gain filter anymore....
>
> In fact it can be very easily proved by Parseval's Theorem and some
> logic that to reach the bound of sqrt(N) you have no choice but to
> have a filter with all
> |h[n]| = 1/sqrt(N) and all |H[k]| = 1 (both have length N).
>
> From the DFT pair equations you will get 2N REAL equations in 2N REAL
> variables which satisfy the above criteria. To prove that sqrt(N) is a
> loose bound we have to show there is no solution to those equations.
> (Not very easy)... May be it is easy to find solution using computer
> program because the variables move in a [0, 2pi) space along all 2N
> dimensions.
>
> But I have a strong feeling that the above method to prove anything
> (tight or loose) is too complicated, but it does indicates (without
> proof ofcourse) that sqrt(N) is a loose bound.
>
> Hope that someone else looses his/her nights sleep over it
>
> )
> Nitesh


Nitesh, it IS a unity gain filter.

Recall DFT(k) = 1/sqrt(N) \sum_{n=1}^N h(n) exp(-j*2*pi*k*n/N).

So, the coefficient indeed works out to 1.

I think you are using the following definition of DFT

DFT(k) = \sum_{n=1}^N h(n) exp(-j*2*pi*k*n/N)

in which case your upper bound sc_mh works out to 1 rather than
sqrt(N) because inverse DFT in that case would be defined as

h(n) = 1/N \sum_{k=1}^N DFT(k) exp(j*2*pi(k*n/N).

Mahesh
Reply With Quote
  #7 (permalink)  
Old 05-23-2004, 01:15 PM
Nitesh
Guest
 
Posts: n/a
Default Re: Time Domain Gain of a unity gain filter

> Nitesh, it IS a unity gain filter.
> Recall DFT(k) = 1/sqrt(N) \sum_{n=1}^N h(n) exp(-j*2*pi*k*n/N).
> So, the coefficient indeed works out to 1.
> I think you are using the following definition of DFT
> DFT(k) = \sum_{n=1}^N h(n) exp(-j*2*pi*k*n/N)
> in which case your upper bound sc_mh works out to 1 rather than
> sqrt(N) because inverse DFT in that case would be defined as
> h(n) = 1/N \sum_{k=1}^N DFT(k) exp(j*2*pi(k*n/N).
> Mahesh


Oops! Sorry for that definition mismatch.
In later posts we will assume the following definition of DFT, where
DFT(k) = \sum_{n=1}^N h(n) exp(-j*2*pi*k*n/N). This definition because
this is what it is in Matlab

Here the bound on sc_mh is NOT 1 (as I anyway said in my first post,
but without the definition of DFT).

I will give you an example where H[k]'s <=1 but sc_mh >=1.

Take h[n] = [1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -.2 -.1]/(3.5)
Here max(complex_abs(H[k]))=1 for k=0
and sc_mh = 1.5714

Now sc_mh is a tight bound on ratio of output to input...

To work on this h[n] on your definition of DFT multiply h[n] by
sqrt(10) and take a 10 point DFT. With your defnition of DFT the best
bound I have on sc_mh is "N".

I have examples where sc_mh even exceeds 2, but I have a feeling that
sqrt(N) is a loose bound

Regards
Nitesh
Reply With Quote
  #8 (permalink)  
Old 05-24-2004, 10:35 PM
Mahesh Godavarti
Guest
 
Posts: n/a
Default Re: Time Domain Gain of a unity gain filter

[email protected] (Nitesh) wrote in message news:<[email protected] com>...
> > Nitesh, it IS a unity gain filter.
> > Recall DFT(k) = 1/sqrt(N) \sum_{n=1}^N h(n) exp(-j*2*pi*k*n/N).
> > So, the coefficient indeed works out to 1.
> > I think you are using the following definition of DFT
> > DFT(k) = \sum_{n=1}^N h(n) exp(-j*2*pi*k*n/N)
> > in which case your upper bound sc_mh works out to 1 rather than
> > sqrt(N) because inverse DFT in that case would be defined as
> > h(n) = 1/N \sum_{k=1}^N DFT(k) exp(j*2*pi(k*n/N).
> > Mahesh

>
> Oops! Sorry for that definition mismatch.
> In later posts we will assume the following definition of DFT, where
> DFT(k) = \sum_{n=1}^N h(n) exp(-j*2*pi*k*n/N). This definition because
> this is what it is in Matlab
>
> Here the bound on sc_mh is NOT 1 (as I anyway said in my first post,
> but without the definition of DFT).
>
> I will give you an example where H[k]'s <=1 but sc_mh >=1.
>
> Take h[n] = [1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -.2 -.1]/(3.5)
> Here max(complex_abs(H[k]))=1 for k=0
> and sc_mh = 1.5714
>
> Now sc_mh is a tight bound on ratio of output to input...
>
> To work on this h[n] on your definition of DFT multiply h[n] by
> sqrt(10) and take a 10 point DFT. With your defnition of DFT the best
> bound I have on sc_mh is "N".
>
> I have examples where sc_mh even exceeds 2, but I have a feeling that
> sqrt(N) is a loose bound
>
> Regards
> Nitesh


Got it! Let me see if I can come up with something useful.
Reply With Quote
  #9 (permalink)  
Old 05-26-2004, 06:08 AM
Nitesh
Guest
 
Posts: n/a
Default Re: Time Domain Gain of a unity gain filter

Staying alive
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
Gain and Offset Correction Marco T. FPGA 4 05-10-2007 12:55 PM
FIR gain Philip Newman DSP 11 05-09-2004 05:25 PM
channel coding gain kbc DSP 18 04-18-2004 09:37 PM
Dtihering, gain and again... Piergiorgio Sartor DSP 12 12-12-2003 03:18 AM
ofdm & fft processing gain Chris Stratford DSP 1 11-06-2003 10:42 AM


All times are GMT +1. The time now is 04:35 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