On Apr 1, 10:02�pm, "xie.qiang" <xie.qi...@hotmail.com> wrote:
> >On Apr 1, 10:22=A0am, c...@claysturner.com wrote:
> >> On Apr 1, 1:51=A0am, "xie.qiang" <xie.qi...@hotmail.com> wrote:
>
> >> > >xie.qiang wrote:
>
> >> > > =A0 ...
>
> >> > >> Maybe I am not make this clear, to be simplify and be more
> specific,
> >> > let
> >> > >> me get a little straight, and show what I am tring to do:
> >> > >> I was intend to translate my real baseband signal, BW =3D 48KHz to
> r=
> >eal
> >> > >> bandpass signal. But when you tring to translating your signal to
> >> > bandpass,
> >> > >> you will get a double side signal instead of single-side-band,
> which=
> > is
> >> > not
> >> > >> what I want.
> >> > >> Then a better way comes, apply Hilbert transform to the orginal
> >> > signal,
> >> > >> then mixer with sin and cos on each pair, sketch as:
> >> > >> =A0 =A0 =A0 =A0 =A0|----Delay-----Cos-----\
> >> > >> x(n)-----| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0+
> ----x_bandpa=
> >ss(n)
> >> > >> =A0 =A0 =A0 =A0 =A0|----Hilbert---Sin-----/
> >> > >> but the problem comes when you apply the even order Hilbert
> transfor=
> >m
> >> > with
> >> > >> on flatness around 0, 0.5Fs, Fs,...., =A0my base band signal will
> be
> >> > nearing
> >> > >> 0!!.
>
> >> > >> Then I was thinking about the highpass Hilbert transform with
> flatne=
> >ss
> >> > >> except 0, Fs, 2Fs,...., when translating my baseband signal to
> high
> >> > pass,
> >> > >> and apply high-pass Hilbert transform with flatness around 0.5Fs,
> >> > 1.5Fs,
> >> > >> except that around 0, Fs, 2Fs,....,
> >> > >> sketch as:
> >> > >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0
>
> =A0|----Delay-----Co=>s-----\
> >> > >> x(n)---mix cos(0.5Fs)----| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0
> =
> >=A0+ ----x_bandpass(n)
> >> > >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0
>
> =A0|----Hilbert---Si=
>
>
>
> >n-----/
> >> > >> This time the Hilbert FIR will not be with integer group delay,
> agai=
> >n,
> >> > >> which problem becomes as I posed this issue before, I get a
> >> > non-integert
> >> > >> group delay for Hilbet, but get a integer group delay for the
> delay
> >> > path,
> >> > >> It seems that I can using upsampling to overcome this, when you do
> t=
> >he
> >> > >> math, you will again found after doing x2 upsampling, of cousre,
> you
> >> > can
> >> > >> make both path of Hilbert transform with same group delay, but you
> g=
> >et
> >> > a
>
> >> > >It seems that you care about the performance above .5Fs. Why? it
> >> > >consists of aliases and is useless. The graphs may look nice, but
> it
> >> > >won't work.
>
> >> > >Jerry
> >> > >--
> >> > >Engineering is the art of making what you want from things you can
> get=
> >.
>
> >??????????????????????????????????????????????????????????????????????=
> >?
>
> >> > No, it is not the performance above 0.5Fs that I care about, what I
> am
> >> > doing first is simply translate the baseband to high around 0.5Fs by
> 0.=
> >5Fs
> >> > mixer, sure it works, I have test this code in matlab, as an example
> as
> >> > follow:
> >> > Fs =A0 =3D 192000*8;
> >> > Fout =3D 48000;
> >> > N =A0 =A0=3D 1024;
> >> > x =A0 =A0=3D sin(2 * pi * Fout * (1 : N) / Fs);
> >> > xm =A0 =3D x .* cos(2 * pi * 0.5 * (0 : N-1)); =A0 % Mixed up by 0.5
> Fs
> >> > plot(1 : N, 20 * log10(abs(fft(x))) , 'b.-', ...
> >> > =A0 =A0 =A01 : N, 20 * log10(abs(fft(xm))), 'm.-');
> >> > grid on;
> >> > legend('Org-x', 'Mixed-xm');
>
> >> > After doing this, apply the odd order Hilbert transform, which has
> >> > flatness at high frequency around 0.5Fs, then gets my trouble!!- Hide
> q=
> >uoted text -
>
> >> > - Show quoted text -
>
> >> You know that when you design a Hilbert transformer with a Parks-
> >> McClellan program, you get to pick the band edge frequencies. Thus an
> >> odd order Hilbert transform (which has an integral delay) may be
> >> designed to cutoff (block) frequencies near 0.5Fs. You don't have to
> >> let it pass them through. Try downloading my program here
>
> >>http://www.claysturner.com/dsp/
>
> >> You pick your passband to not include DC or 0.5Fs.
>
> >> IHTH,
>
> >> Clay- Hide quoted text -
>
> >> - Show quoted text -
>
> >Okay I see what you want to do. It is problematic. Essentially you
> >want your pair of filters to each have a passband gain of 1 both near
> >and at 0.5Fs. This will be a problem. As odd length Hilberts and even
> >length symmetric filters must have zero response at 0.5Fs. So you will
> >have a mismatch of delays if you pick the orders of your two filters
> >where one is odd and the other even. A half sample delay at 0.5Fs will
> >also be very problematic. You should move your signal of interest down
> >to something of the order of 0.25Fs. Then life gets real simple for
> >you.
>
> >Clay
>
> Hi Clay,
> Thank you very much, and thanks for your link.
>
> First, I am surely confirm that I need to have full pass (gain = 1) near
> 0.5Fs, and only odd order Hilbert with high pass response can do this.
> As you told me that the odd order have non-integer group delay this time.
> That's really a problem.
> Because do I need to translate my baseband signal(0Hz~BW) to bandpass, and
> the bandpass must be with SSB (Single-Side Band), and that why I am
> considering the Hilbert Transform.
> So, I am tring to search next is:
> � 1, Is there any other way to let me to do this, not using a Hilbert way
> to translate the baseband or high-pass signal to bandpass with SSB?
> And Clay, I do not fullly get the way the paper "Analytic Signal
> Generation-Tips and Traps.pdf" suggested, and If this is a good way, then I
> can get release of my headache.
> � 2, If I still use Hilbert transform, only High pass Hilbert with 1 gain
> around 0.5Fs can make me to this, and then I need to design a fullpass
> filter with group delay the same as Hilbert FIR path? I have already tried
> this.- Hide quoted text -
>
> - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
What Reily et al said and did in their paper was to design a lowpass
filter using a P-M algorithm and then multiply the resulting filter's
impulse response by a complex exponential at -0.25Fs shifting the
filter's frequency response towards the positive frequencies..
So design a lowpass filter that basically passes signals from -0.25Fs
up to 0.25Fs. Then after doing the complex modulation of the impulse
response, the filter now has a pass band of 0 up to 0.5Fs. This is a
complex valued filter. You may split the complex filter into two real
valued filters. They will both have the same delay. But I don't think
this will completely solve your problem. You may want to work at a
doubled sample rate before you make your signal into an analytic one.
Then you may decimate by two.
IHTH,
Clay