COMPGROUPS.NET | Search | Post Question | Groups | Stream | About | Register

### complex valued impulse response/asymmetric transfer function

• Email
• Follow

```hello forum,

given an input signal x(t)=cos(3t), its FT will be
X(w)=.5*[delta(w-3)+delta(w+3)]

If we have a filter that passes the positive part of the spectrum
(therefore the term delta(w-3) and completely blocks everything to the
left, w<0,

the output signal will be the complex valued exp(j*3t).

The filter that produced this result is asymmetric: |H(-w)| is different
from H|(w)|, i.e. the transfer function magnitude is not even and the phase
spectrum is not odd.

That implies that the impulse response is a complex value function....
Now the output y(t)=exp(i*3*t) and the input x(t)=cos(3t) but somehow
shifted?
I am trying to physically interpret the output exp(i*3*t) in relation to
the cosine input. Being real-valued, the component exp(-i*3*t) is redundant
but that does not means that is is superfluous. It missing should change
the signal a lot....

thanks for any hint.....
fisico32

```
 0
Reply 8/27/2010 10:05:32 PM

See related articles to this posting

```On 08/27/2010 03:05 PM, fisico32 wrote:
> hello forum,
>
> given an input signal x(t)=cos(3t), its FT will be
> X(w)=.5*[delta(w-3)+delta(w+3)]
>
> If we have a filter that passes the positive part of the spectrum
> (therefore the term delta(w-3) and completely blocks everything to the
> left, w<0,
>
> the output signal will be the complex valued exp(j*3t).
>
> The filter that produced this result is asymmetric: |H(-w)| is different
> from H|(w)|, i.e. the transfer function magnitude is not even and the phase
> spectrum is not odd.

It would have to be, yes.

> That implies that the impulse response is a complex value function....

That, too, would have to be.

> Now the output y(t)=exp(i*3*t) and the input x(t)=cos(3t)

Yes.

> but somehow shifted?

What do you mean shifted?  The filter has filtered out one component
(exp(-i*3*t)), and left the other -- that's a perfectly valid linear
filter sort of thing to do.

> I am trying to physically interpret the output exp(i*3*t) in relation to
> the cosine input.

Well, first you would need to assign a physical meaning to the imaginary
part of your data.  For baseband work, there's not much point in the
filter.  If you were feeding the filter I and Q data from a
downconverter it would give you a response to just one sideband.

> Being real-valued,

What's real valued?

> the component exp(-i*3*t) is redundant
> but that does not means that is is superfluous. It missing should change
> the signal a lot....

I think you're either borrowing trouble with a filter that's more
complex than necessary, or you've gone and gotten yourself off into the
mathematical weeds.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
```
 0
Reply Tim 8/27/2010 10:37:15 PM

```thanks Tim.
i am doing an optics experiment. It is optically possible to spatially
filter a real-valued image (2D signal) and create a filter like that, say a
step filter that block all negative freq and passes all positive ones....
If the image is a focal length away from a converging lens, the back focal
plane of the lens will have the 2D FT (power spectrum) of the image.
I can physically block regions of the FT plane.
If x is the spatial coordinate and I have an input  signal
cos(x)=.5[exp(-ix)+exp(ix)] and eliminate the exp(-ix) part by filtering, I
will be left with that .5*exp[ix] and I can't exactly understand if looks
like....it will not be a low passed version of the cosine either a bandpass
or high pass.

I guess .5(cos(x)+j sin(x)) is the original signal .5*cos(x)+ j.5*sin(x).

But physically, if I take the real part, I would seem to simply get
.5cos(x), which is the original signal reduced in amplitude...

>On 08/27/2010 03:05 PM, fisico32 wrote:
>> hello forum,
>>
>> given an input signal x(t)=cos(3t), its FT will be
>> X(w)=.5*[delta(w-3)+delta(w+3)]
>>
>> If we have a filter that passes the positive part of the spectrum
>> (therefore the term delta(w-3) and completely blocks everything to the
>> left, w<0,
>>
>> the output signal will be the complex valued exp(j*3t).
>>
>> The filter that produced this result is asymmetric: |H(-w)| is
different
>> from H|(w)|, i.e. the transfer function magnitude is not even and the
phase
>> spectrum is not odd.
>
>It would have to be, yes.
>
>> That implies that the impulse response is a complex value function....
>
>That, too, would have to be.
>
>> Now the output y(t)=exp(i*3*t) and the input x(t)=cos(3t)
>
>Yes.
>
>> but somehow shifted?
>
>What do you mean shifted?  The filter has filtered out one component
>(exp(-i*3*t)), and left the other -- that's a perfectly valid linear
>filter sort of thing to do.
>
>> I am trying to physically interpret the output exp(i*3*t) in relation
to
>> the cosine input.
>
>Well, first you would need to assign a physical meaning to the imaginary
>part of your data.  For baseband work, there's not much point in the
>filter.  If you were feeding the filter I and Q data from a
>downconverter it would give you a response to just one sideband.
>
>> Being real-valued,
>
>What's real valued?
>
>> the component exp(-i*3*t) is redundant
>> but that does not means that is is superfluous. It missing should
change
>> the signal a lot....
>
>I think you're either borrowing trouble with a filter that's more
>complex than necessary, or you've gone and gotten yourself off into the
>mathematical weeds.
>
>--
>
>Tim Wescott
>Wescott Design Services
>http://www.wescottdesign.com
>
>Do you need to implement control loops in software?
>"Applied Control Theory for Embedded Systems" was written for you.
>See details at http://www.wescottdesign.com/actfes/actfes.html
>
```
 0
Reply 8/27/2010 10:55:07 PM

2 Replies
615 Views

Similar Articles

12/10/2013 10:06:48 PM
page loaded in 117674 ms. (0)

Similar Artilces:

Response to Mease and Wyner, Evidence Contrary to the Statistical View--into this Contusive Impulse Response (punctuation)
<snip> ATTN: Robert E. Schapire At a modest rate of informational exchange, your analysis seems appointed as well to test a check for reliable references in both summary and calculation. How can you support the claim that "Like other interpretations of AdaBoost, although the statistical view has its weaknesses, it also has its strengths, as noted above". I do not know the ADABoost algorithm as well as other views about it, but this seems to *always* versus *also*, crop up, if there are enough inputs in a set say, that are as well numbered outside the same sequence, th...

expressions -- functions within function
How would you insert a generic function into the precedence parser? Actually more specifically, is it possible to insert a representation of a generic function that has parameters that allows functions with formal parameters as arguments? As I thought about the use of an operator precedence parser I concluded that if I were to encounter an expression that contained a parameterized function, there would not be a way for me to deal with a new expression until the original was complete unless I instantiated another stack to represent the new expression. Example: a = FN thisFunction( b ,FN th...

Locking values in value lists?
I would like to allow users to select only specific values in a value list. Users would have uniqu access passwords and all users would have access to the value list, only that I don't want them to be able to select certain values from the value list. Any way to do this? Example: VALUE LIST: low med high prog lost active inactive User #1 can only select the top three values User #2 can selcet any value User #3 can select only the fith value User #4 can select value one and value six etc., LMK On Tue, 09 Nov 2004 11:45:15 -0800, tester wrote: > Any way to do this? > User #1 c...

Functions
Hi, can someone tell me why the following script at the Scilab promt stops the echoing of subsequent commands and their results to the screen ? ** function y=foo(x,g) ; y=g(x) ; endfunction ** When I type the following there is no response, only a blank command prompt instead of 'ans =' ** typeof(foo) ** thanks and regards David On 21 Nov., 07:28, "David K" <d...@picknowl.com.au> wrote: > Hi, > > can someone tell me why the following script at the Scilab promt stops the > echoing of subsequent commands and their results ...

Questions about anonymous functions and classes/functions declarations
Hi guys, I'm planning to try to implemente a programming language. I got a lot of ideas, and I know how to implements them except for anonymous functions. Where I have to store them?? I have to have a table only for anonymous functions?? Someone asks to me to treat them as constants, but I can't understanda how to develop it. Now there is another questions: I'd like to give the users the ability to edit a class definition at runtime. For example: test = class() input value if value == 10 test.a_new_method = function(a) print a else test.a_new_method = function(a) print &...

Why does a base function hide a function in a derived class?
It is normal that a function in derived class hides one in a base class. But, I could explain to myself how a base function could hide one in a derived class. Here is an example: struct A { int x(); }; struct B : A { }; struct C : A { }; struct D : B, C { using A::x; int x(double); void f(); }; void D::f() { x(1.0); //error in gcc v4.4.0, No match for 'A::x(double)' } int main() { } Isn't there a D::x(double)? I would appreciate if someone could explain the error message. Thanks, Jason -- [ See http://www.got...

What function do I have to use in IDL? MATLAB corresponded function
Hi, There is a problem in searching the exact same function of MATLAB's conv() in IDL. Here is the MATLAB code: -------------------------------------------------- t=[0:90]; Kall=[0.1,0.15]; curve1=Kall(1)*t.*exp(-(Kall(2))*t); curve_ref=t.*exp(-0.5*t); hcurve1=conv(curve_ref, curve1); Ct=hcurve1(1:length(t)); plot(t, curve1, '*',t, Ct, '+') -------------------------------------------------- I want to copy this code to IDL, however, I couldn't find the function of convolution which work exactly same as MATLAB's conv(). Anybody can help me? hcurv...

Determining the inverse function operation from a function definition
Hi. I am working on a small project to evaluate and execute unit conversion expressions. I started wondering whether it was possible to determine what the reverse conversion rules might blook like. For example, one might want to define the classic Celsius to Fahrenheit convesrion expression along the lines of: F( c ) = ( 9 / 5 ) * c + 32. It seems as though there's enough information there to deduce the inverse Fahrenheit to Celsius conversion: C( f ) = ( f - 32 ) / ( 5 / 9 ) It "feels" as though the inverse operation could be accomplished by backing-out the or...

complexity
Hi all, 1) what exactly is the average complexity of quick sort algorithm... ?? different text books give different answers one text gives it as O(nlogn) and another gives it as logn which one is correct... ?? 2) what exactly is the average complexity of radix sort algorithm if the no: of comparisons is bounded by the relation... ?? C(n) <= d * s * n; (how correct is this) where d - means radix s - means no: of passes n - means no: of items <aarklon@gmail.com> wrote in message news:0b88a78e-b1b4-4a79-97c7-633a2ee0d276@i12g2000prf.g...

Re: will not plot functions when one of the functions in list
On 12/19/12 at 4:58 AM, cendos@gmail.com wrote: >Hey, please confirm if anybody else has this different behaviour: >1.this plots all functions in version 8: >Plot[{1, Null}, {y, 0, 1}] Yes with: In[1]:= \$Version Out[1]= 8.0 for Mac OS X x86 (64-bit) (October 5, 2011) I see a horizontal line plotted at y = 1 >2.the same code won't plots any functions in version 9: >Plot[{1, Null}, {y, 0, 1}] and with In[1]:= \$Version Out[1]= 9.0 for Mac OS X x86 (64-bit) (November 20, 2012) I see no plotted line ...

Closures
Hi folks, newbie(ish) here. I want to attach an event handler to a google map marker. I want the event handler to call into a member function of the object that created it. eg. MyMarkerClass.prototype.registerEventHandler() { GEvent.addListener(this.GoogleMarker, "click", function() { this.onClick(); }); } MyMarkerClass.prototype.onClick() { alert("Clicked!"); } Unfortunately at the time my inner function is called, "this" refers to the google marker that generated the event, and not the "MyMarkerClass" object that created the fun...

Parsing functions
I'm trying to create a simple scripting language using lex and yacc. I've noticed that the grammars for most scripting languages have some kind of keyword in front of function declarations. For example: ruby and python use "def" perl uses "sub" lua uses "function" tcl uses "proc" for example in python you use: def setColor (r, g, b): I was wondering why that is. I suspect the point is to avoid of ambiguity with other language constructs, but I'm not sure. If possible, I don't want to use a keyword. The grammar I want to use for m...

is it possible to get hidden parameter values using window.opener.document.form.parameter.value.
is it possible to get hidden parameter values using window.opener.document.form.parameter.value. I am getting this error " Object not found" Please help Abdul Abdul Mohsin said: > >is it possible to get hidden parameter values using >window.opener.document.form.parameter.value. Yes. ...

Mapping Function
Hi all, I have the following being defined in a A.cxx file. // define in source file. Not exported to the outside world (this cannot be // moved to the header file [restriction]) #define CHANNEL_0 0 #define CHANNEL_1 1 #define CHANNEL_2 2 #define CHANNEL_3 3 #define CHANNEL_4 4 #define CHANNEL_5 5 However, in another file B.cxx, I have a fucntion called: registerChannel(int channelNumber_) { // perform registration via channel number (valid range 0 - 5) register(channelNumber_); } It works fine. However, now there is a new requirements: Channel 0,2,4 must maps to 0, 1, 2. Other ...

converting value
Hi every one..... please help me to settle my prolem. If i have 16 level value as below; ['0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15']; then how to convert it to this value [0 0.2 1.0 2.1 3.2 4.9 7.5 11.5 17.8 27.3 42.1 64.8 99.9 153.8 236.8 364.6]; where; 0=0, 1=0.2, 2=1.0, 3=2.1, 4=3.2, 5=4.9, 6=7.5, 7=11.5, 8=17.8, 9=27.3, 10=42.1, 11=64.8, 12=99.9, 13=153.8, 14=236.8, and 15=364.6. TQ... On 25/01/11 10:47 PM, mat kamaruzaman wrote: > please help me to settle my prolem. If i have 16 level value as below; > > ['0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...

Complex Query
Hey All, I have a little delema that I can't figure out. I have this query currently: SELECT p.id, p.styleno, t1.name AS category1, t2.name as category2, t3.name as category3, p.description, p.price, p.sort FROM categories AS t1 LEFT JOIN categories AS t2 ON t2.parentid = t1.id LEFT JOIN categories AS t3 ON t3.parentid = t2.id INNER JOIN products AS p ON t3.id = p.category Now, this works great if there are 3 levels of categories, but I need this to be altered to show all of the items if there are 1, 2, or 3 levels of categories...and not just 3. Any ideas? This is kinda what i'm lo...

The function alpha
I have a gray scale image displayed using imshow(). I also have a number of fill objects displayed on the image. I am trying to change the transparency of these objects using the function alpha, but it doesn't seem to be working. It works fine when I use it in a simple figure. Am I missing something. Can anyone help me out here? Thanks, Vishal Mahulkar ...

m Functions
Hello, im writing a matlab m file which consists of one main m function and a number of m subfunctions. i know that when i execute it from the command line i can specify the duration of execution.Is it also possible to execute the m function at discrete intervals????? For example specify that for a 10 minute execution time it executes the m function every 32 milliseconds. John Joe. JohnJoe wrote: > > > Hello, > im writing a matlab m file which consists of one main m function > and > a number of m subfunctions. > i know that when i execute it from the command line i can s...

complex reports
Hi, The requirement is to print a report that details the parent and all related child records for mutiple child tables A parent table (patients) has multiple child line item tables ( patientdoctors, patientnurses, patientlocations...) and the number of line item records per child table can vary per parent record. Several approaches, each presents issues. 1. mulitiple sub summaries I can not get to work should this approach work? 2. parsing the respective line data into a variable presents too many issues with output column alignment; is tedious but plausible 3. ...

Function prototype
Dear Friends, How can I declare the prototype for a function in Perl. Thanks On Wed, 5 Aug 2009 22:02:11 -0700 (PDT), pavunkumar <pavun.bks@gmail.com> wrote: > >Dear Friends, > > How can I declare the prototype for a function in >Perl. > >Thanks > > > On the top, put it on the top. -sln Quoth pavunkumar <pavun.bks@gmail.com>: > > Dear Friends, > > How can I declare the prototype for a function in > Perl. (Assuming this isn't spam...) You can't. (What Pe...