Hi all, I'm a new member to this group.I have seen some posting on fs/4 downconversion. I'm interested to know if there's a way of implementing an fs/8 translation without having to use look up tables or multipliers. This is basically for an NCO application. Any suggestion is appreciated. Thanx, Chivak
fs/8 quadrature downconversion and upconversion
Started by ●June 11, 2008
Reply by ●June 11, 20082008-06-11
On Jun 11, 10:54 pm, "chivak" <cd_pra...@hotmail.com> wrote:> Hi all, > > I'm a new member to this group.I have seen some posting on fs/4 > downconversion. > > I'm interested to know if there's a way of implementing an fs/8 > translation without having to use look up tables or multipliers.I'm prepared to be proven wrong, but my guess would be no. fs/4 is easy because all the phasor components are +/-1. Not so for fs/8, as sqrt(2) is required. However, I suppose you could downsample by 2, then downconvert by fs/ 4, and then upsample by 2... -- Oli
Reply by ●June 11, 20082008-06-11
>On Jun 11, 10:54 pm, "chivak" <cd_pra...@hotmail.com> wrote: >> Hi all, >> >> I'm a new member to this group.I have seen some posting on fs/4 >> downconversion. >> >> I'm interested to know if there's a way of implementing an fs/8 >> translation without having to use look up tables or multipliers. > > >I'm prepared to be proven wrong, but my guess would be no. fs/4 is >easy because all the phasor components are +/-1. Not so for fs/8, as >sqrt(2) is required. > > >However, I suppose you could downsample by 2, then downconvert by fs/ >4, and then upsample by 2... > >-- >Oli >Oli, I may have accidentally sent the message to your e-mail.Sorry. I am not sure if we need the upsample by 2 at the end as down sample by 2 is 1/2 and another fs/4 = fs/8. In my opinion, it may not be efficient to build this in HW as we would need an anti-aliasing filter when we down sample by 2. I was actually looking more in term of approximating 1/SQRT(2) value if possible.
Reply by ●June 11, 20082008-06-11
chivak wrote:>> On Jun 11, 10:54 pm, "chivak" <cd_pra...@hotmail.com> wrote: >>> Hi all, >>> >>> I'm a new member to this group.I have seen some posting on fs/4 >>> downconversion. >>> >>> I'm interested to know if there's a way of implementing an fs/8 >>> translation without having to use look up tables or multipliers. >> >> I'm prepared to be proven wrong, but my guess would be no. fs/4 is >> easy because all the phasor components are +/-1. Not so for fs/8, as >> sqrt(2) is required. >> >> >> However, I suppose you could downsample by 2, then downconvert by fs/ >> 4, and then upsample by 2... >> >> -- >> Oli >> > > Oli, > > I may have accidentally sent the message to your e-mail.Sorry. > > I am not sure if we need the upsample by 2 at the end as down sample by 2 > is 1/2 and another fs/4 = fs/8. > > In my opinion, it may not be efficient to build this in HW as we would > need an anti-aliasing filter when we down sample by 2. > > I was actually looking more in term of approximating 1/SQRT(2) value if > possible.Why not give it to the compiler as a constant? the inefficiency comes from needing to multiply. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●June 12, 20082008-06-12
On Jun 12, 1:47 am, "chivak" <cd_pra...@hotmail.com> wrote:> >On Jun 11, 10:54 pm, "chivak" <cd_pra...@hotmail.com> wrote: > >> Hi all, > > >> I'm a new member to this group.I have seen some posting on fs/4 > >> downconversion. > > >> I'm interested to know if there's a way of implementing an fs/8 > >> translation without having to use look up tables or multipliers. > > >I'm prepared to be proven wrong, but my guess would be no. fs/4 is > >easy because all the phasor components are +/-1. Not so for fs/8, as > >sqrt(2) is required. > > >However, I suppose you could downsample by 2, then downconvert by fs/ > >4, and then upsample by 2... > > > I am not sure if we need the upsample by 2 at the end as down sample by 2 > is 1/2 and another fs/4 = fs/8. > > In my opinion, it may not be efficient to build this in HW as we would > need an anti-aliasing filter when we down sample by 2.I mentioned the sample-rate change method as a bit of a joke; sorry! For exactly the reasons you've mentioned, this probably wouldn't be of any use. -- Oli
Reply by ●June 12, 20082008-06-12
>chivak wrote: >>> On Jun 11, 10:54 pm, "chivak" <cd_pra...@hotmail.com> wrote: >>>> Hi all, >>>> >>>> I'm a new member to this group.I have seen some posting on fs/4 >>>> downconversion. >>>> >>>> I'm interested to know if there's a way of implementing an fs/8 >>>> translation without having to use look up tables or multipliers. >>> >>> I'm prepared to be proven wrong, but my guess would be no. fs/4 is >>> easy because all the phasor components are +/-1. Not so for fs/8, as >>> sqrt(2) is required. >>> >>> >>> However, I suppose you could downsample by 2, then downconvert by fs/ >>> 4, and then upsample by 2... >>> >>> -- >>> Oli >>> >> >> Oli, >> >> I may have accidentally sent the message to your e-mail.Sorry. >> >> I am not sure if we need the upsample by 2 at the end as down sampleby 2>> is 1/2 and another fs/4 = fs/8. >> >> In my opinion, it may not be efficient to build this in HW as wewould>> need an anti-aliasing filter when we down sample by 2. >> >> I was actually looking more in term of approximating 1/SQRT(2) valueif>> possible. > >Why not give it to the compiler as a constant? the inefficiency comes >from needing to multiply. > >Jerry >-- >Engineering is the art of making what you want from things you can get. >����������������������������������������������������������������������� >I wanted to implement this in an FPGA.
Reply by ●June 12, 20082008-06-12
"chivak" <cd_prasad@hotmail.com> writes:>>> I was actually looking more in term of approximating 1/SQRT(2) value > if >>> possible.and> I wanted to implement this in an FPGA.How much precision do you need from your 1/sqrt(2) representation? You can get 13 bits with 5 adders, 16 bits with 6 adders. Cheers, Martin -- martin.j.thompson@trw.com TRW Conekt - Consultancy in Engineering, Knowledge and Technology http://www.conekt.net/electronics.html
Reply by ●June 12, 20082008-06-12
>"chivak" <cd_prasad@hotmail.com> writes: > >>>> I was actually looking more in term of approximating 1/SQRT(2)value>> if >>>> possible. >and >> I wanted to implement this in an FPGA. > >How much precision do you need from your 1/sqrt(2) representation? >You can get 13 bits with 5 adders, 16 bits with 6 adders. > >Cheers, >Martin > >-- >martin.j.thompson@trw.com >TRW Conekt - Consultancy in Engineering, Knowledge and Technology >http://www.conekt.net/electronics.html >Since i want to use this as an NCO used for upconversion, I'll probably do a trial simulation to see how much the precision affects the upconversion Center frequency. Thanx for the info. -Chivak
Reply by ●June 13, 20082008-06-13
"chivak" <cd_prasad@hotmail.com> writes:>>"chivak" <cd_prasad@hotmail.com> writes: >> >>>>> I was actually looking more in term of approximating 1/SQRT(2) > value >>> if >>>>> possible. >>and >>> I wanted to implement this in an FPGA. >> >>How much precision do you need from your 1/sqrt(2) representation? >>You can get 13 bits with 5 adders, 16 bits with 6 adders. >> >>Cheers, >>Martin >> >>-- >>martin.j.thompson@trw.com >>TRW Conekt - Consultancy in Engineering, Knowledge and Technology >>http://www.conekt.net/electronics.html >> > > Since i want to use this as an NCO used for upconversion, I'll probably do > a trial simulation to see how much the precision affects the upconversion > Center frequency. > > Thanx for the info. >You're welcome! I should point out that I now realise I was off-by one. There's only 4 adders needed for 13 bits and 5 for 16 bits - I was counting the inputs, not the adders required! Cheers, Martin -- martin.j.thompson@trw.com TRW Conekt - Consultancy in Engineering, Knowledge and Technology http://www.conekt.net/electronics.html
Reply by ●June 14, 20082008-06-14
On Fri, 13 Jun 2008 15:33:53 +0100, Martin Thompson <martin.j.thompson@trw.com> wrote: (snipped by Lyons)> >You're welcome! I should point out that I now realise I was off-by >one. There's only 4 adders needed for 13 bits and 5 for 16 bits - I >was counting the inputs, not the adders required! > >Cheers, >MartinHello Martin, Forgive me for being such a blockhead, but will you expand a little on your "4-adder method"? Are you adding 'right-shifted' versions of a binary number to approximate a multiplication? Is one of your operations a subtraction? How did you arrive at your 13-bit accuracy value? etc. Thanks, [-Rick-]






