Build your own Software Defined Radio

  • Follow


Hello All,

I have been itching to build my own software defined radio.  Unfortunately
I have very little experience in embedded design but I would like to know
how to get started.  Gnuradio has inspired me to build my own and I would
like to figure out how to do it.  I would like build in such a way that is
compatible with the Gnuradio library and also perform similarly to the USRP
radios.  I have a nice FPGA I can use as a starting point.  However, I'm
not sure how to pick an AD and DA, build my own downconverter, upconverter
boards, etc...

Can anyone point me into the right direction?
0
Reply pacman101 11/3/2010 1:50:37 PM

On Nov 3, 8:50=A0am, "pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> wrote:
> Hello All,
>
> I have been itching to build my own software defined radio. =A0Unfortunat=
ely
> I have very little experience in embedded design but I would like to know
> how to get started. =A0Gnuradio has inspired me to build my own and I wou=
ld
> like to figure out how to do it. =A0I would like build in such a way that=
 is
> compatible with the Gnuradio library and also perform similarly to the US=
RP
> radios. =A0I have a nice FPGA I can use as a starting point. =A0However, =
I'm
> not sure how to pick an AD and DA, build my own downconverter, upconverte=
r
> boards, etc...
>
> Can anyone point me into the right direction?

This is NOT my area, however, I did do a VERY top-level look at SDR.
My suggestion is to look up an article titled _Software-Defined
Hardware for Software-Defined Radios_ by John B. Stephensen, published
in September of 2002 by the ARRL.

Maurice Givens
0
Reply maury 11/3/2010 2:38:03 PM


On 11/03/2010 06:50 AM, pacman101 wrote:
> Hello All,
>
> I have been itching to build my own software defined radio.  Unfortunately
> I have very little experience in embedded design but I would like to know
> how to get started.  Gnuradio has inspired me to build my own and I would
> like to figure out how to do it.  I would like build in such a way that is
> compatible with the Gnuradio library and also perform similarly to the USRP
> radios.  I have a nice FPGA I can use as a starting point.  However, I'm
> not sure how to pick an AD and DA, build my own downconverter, upconverter
> boards, etc...
>
> Can anyone point me into the right direction?

Do you have a book or reference on receiver design?  There's a lot of 
subtleties to making a good receiver.  The ARRL Handbook, even though it 
is an "amateur" publication, is on the desks of most pro RF engineers in 
the US.  Going beyond that, I'd suggest Hayward's "Introduction to Radio 
Frequency Design" and "Experimental Methods in RF Design".

http://www.powells.com/partner/30696/biblio/9780872591394
http://www.powells.com/partner/30696/biblio/9780872599239
http://www.powells.com/partner/30696/biblio/9780872594920

Neither of the Hayward books are about SDR, although recent Handbooks 
will certainly go into it.  But the Hayward books will give you much of 
what you need to build down- and up-converters, and the Handbook will 
outline the SDR stuff, I'm sure.

You can relax in the certainty that no matter what ADC and DAC you 
choose, it'll be wrong -- either the manufacturer will have lied to you 
in the data sheets, you will have misunderstood, or you'll be using it 
incorrectly.  Even if you get all of that correct, three months (or 
weeks, or days) after you get your boards working the manufacturer of 
your converters will announce some new part that'll make what you have 
obsolete.

-- 

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 11/3/2010 3:36:04 PM


pacman101 wrote:

> Hello All,
> 
> I have been itching to build my own software defined radio.  Unfortunately
> I have very little experience in embedded design but I would like to know
> how to get started.  Gnuradio has inspired me to build my own and I would
> like to figure out how to do it.  I would like build in such a way that is
> compatible with the Gnuradio library and also perform similarly to the USRP
> radios.  I have a nice FPGA I can use as a starting point.  However, I'm
> not sure how to pick an AD and DA, build my own downconverter, upconverter
> boards, etc...
> 
> Can anyone point me into the right direction?

Abandon the idea.

SDR is the area which requires professional approach and industrial 
scale of investment of effort and money.

Besides, even if you manege to build something that barely works, what 
would you do with it?


Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
0
Reply Vladimir 11/3/2010 4:23:28 PM

>
>
>pacman101 wrote:
>
>> Hello All,
>> 
>> I have been itching to build my own software defined radio. 
Unfortunately
>> I have very little experience in embedded design but I would like to
know
>> how to get started.  Gnuradio has inspired me to build my own and I
would
>> like to figure out how to do it.  I would like build in such a way that
is
>> compatible with the Gnuradio library and also perform similarly to the
USRP
>> radios.  I have a nice FPGA I can use as a starting point.  However,
I'm
>> not sure how to pick an AD and DA, build my own downconverter,
upconverter
>> boards, etc...
>> 
>> Can anyone point me into the right direction?
>
>Abandon the idea.
>
>SDR is the area which requires professional approach and industrial 
>scale of investment of effort and money.
>
>Besides, even if you manege to build something that barely works, what 
>would you do with it?
>
>
>Vladimir Vassilevsky
>DSP and Mixed Signal Design Consultant
>http://www.abvolt.com
>

Vladimir,

It is the skill that I am more interested in, than the actual SDR.  I
wouldn't make a small simple design.  I am thinking about a nice little at
home project to use my fpga.  There are many people that have made really
nice and cheap SDRs.  I'm looking into it as a hobby and possibly learn
some skills in Embedded design and DSP.  I'm not concerned about being
outdated, or having the best sdr.  Education is more important in certain
cases than money.
0
Reply pacman101 11/3/2010 6:24:07 PM

>>
>>
>>pacman101 wrote:
>>
>>> Hello All,
>>> 
>>> I have been itching to build my own software defined radio. 
>Unfortunately
>>> I have very little experience in embedded design but I would like to
>know
>>> how to get started.  Gnuradio has inspired me to build my own and I
>would
>>> like to figure out how to do it.  I would like build in such a way
that
>is
>>> compatible with the Gnuradio library and also perform similarly to the
>USRP
>>> radios.  I have a nice FPGA I can use as a starting point.  However,
>I'm
>>> not sure how to pick an AD and DA, build my own downconverter,
>upconverter
>>> boards, etc...
>>> 
>>> Can anyone point me into the right direction?
>>
>>Abandon the idea.
>>
>>SDR is the area which requires professional approach and industrial 
>>scale of investment of effort and money.
>>
>>Besides, even if you manege to build something that barely works, what 
>>would you do with it?
>>
>>
>>Vladimir Vassilevsky
>>DSP and Mixed Signal Design Consultant
>>http://www.abvolt.com
>>
>
>Vladimir,
>
>It is the skill that I am more interested in, than the actual SDR.  I
>wouldn't make a small simple design.  I am thinking about a nice little
at
>home project to use my fpga.  There are many people that have made really
>nice and cheap SDRs.  I'm looking into it as a hobby and possibly learn
>some skills in Embedded design and DSP.  I'm not concerned about being
>outdated, or having the best sdr.  Education is more important in certain
>cases than money.
>

I meant to say I would like a small simple design.
0
Reply pacman101 11/3/2010 7:08:42 PM

pacman101 <janpac01@n_o_s_p_a_m.yahoo.com> wrote:
> 
> I have been itching to build my own software defined radio.  
(snip)

> I have a nice FPGA I can use as a starting point.  

Am I the only one who believes that Software Defined Radio
is misnamed when done with an FPGA?  FPGAs are programmable
hardware, but software.  Now, one can implement a programmable
processor inside the FPGA, but even so.

For low enough IF, one can likely do it using a fast enough
processor, but for higher frequencies or direct RF implementations
it seems more likely to be done in programmable hardware.

-- glen
0
Reply glen 11/3/2010 7:27:40 PM

On Nov 4, 2:50=A0am, "pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> wrote:
> Hello All,
>
> I have been itching to build my own software defined radio. =A0Unfortunat=
ely
> I have very little experience in embedded design but I would like to know
> how to get started. =A0Gnuradio has inspired me to build my own and I wou=
ld
> like to figure out how to do it. =A0I would like build in such a way that=
 is
> compatible with the Gnuradio library and also perform similarly to the US=
RP
> radios. =A0I have a nice FPGA I can use as a starting point. =A0However, =
I'm
> not sure how to pick an AD and DA, build my own downconverter, upconverte=
r
> boards, etc...
>
> Can anyone point me into the right direction?

Use a diode instead...
0
Reply HardySpicer 11/3/2010 8:40:57 PM

On Nov 3, 3:27=A0pm, glen herrmannsfeldt <g...@ugcs.caltech.edu> wrote:
> pacman101 <janpac01@n_o_s_p_a_m.yahoo.com> wrote:
>
> > I have been itching to build my own software defined radio. =A0
>
> (snip)
>
> > I have a nice FPGA I can use as a starting point. =A0
>
> Am I the only one who believes that Software Defined Radio
> is misnamed when done with an FPGA? =A0FPGAs are programmable
> hardware, but software. =A0Now, one can implement a programmable
> processor inside the FPGA, but even so.
>
> For low enough IF, one can likely do it using a fast enough
> processor, but for higher frequencies or direct RF implementations
> it seems more likely to be done in programmable hardware.
>
> -- glen

A few of the radios I've done have had the "baseband" at or near
100kHz. A trick with a radio design is to put all of your images (from
mixing) into the don't care regions.

I think the OP should first play with mod/demod methods and get a
handle on those first. And then try something like iDEN/Tetris with a
quad 16QAM subcarrier modulation all in a 25kHz wide channel.

Clay




0
Reply Clay 11/3/2010 9:05:56 PM

"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:

> It is the skill that I am more interested in, than the actual SDR. I
> wouldn't make a small simple design. I am thinking about a nice
> little at home project to use my fpga. There are many people that

I think it would be fun to explore such a FPGA design through
simulation (both Matlab and HDL) if I only could find some raw sampled
radio data files somewhere...

Petter
-- 
..sig removed by request. 
0
Reply Petter 11/3/2010 9:54:41 PM

>"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:
>
>> It is the skill that I am more interested in, than the actual SDR. I
>> wouldn't make a small simple design. I am thinking about a nice
>> little at home project to use my fpga. There are many people that
>
>I think it would be fun to explore such a FPGA design through
>simulation (both Matlab and HDL) if I only could find some raw sampled
>radio data files somewhere...
>
>Petter
>-- 
>.sig removed by request. 
>

This would be a fun experiment.  I think I am going to join ARRL and
participate in the local meetings.  I believe to have found a really good
group that does actual lab work during meetings and that makes it sound
more fun and exciting.  It is really fun to build things.  Even if I finish
and just leave it in my to rot in closet for years, I think the experience
is more valuable than anything.  I think this will also make me more
competitive in the work force too.  

0
Reply pacman101 11/4/2010 1:47:26 PM

On Nov 3, 9:50=A0am, "pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> wrote:
> Hello All,
>
> I have been itching to build my own software defined radio. =A0Unfortunat=
ely
> I have very little experience in embedded design but I would like to know
> how to get started. =A0Gnuradio has inspired me to build my own and I wou=
ld
> like to figure out how to do it. =A0I would like build in such a way that=
 is
> compatible with the Gnuradio library and also perform similarly to the US=
RP
> radios. =A0I have a nice FPGA I can use as a starting point. =A0However, =
I'm
> not sure how to pick an AD and DA, build my own downconverter, upconverte=
r
> boards, etc...
>
> Can anyone point me into the right direction?

Check out the Green Arrays new multiprocessor chips.  They can be
perfect for signal processing apps.  They even have on chip ADC/DAC
with flexible resolution vs. sample rate.

http://www.greenarrays.com/

The chips aren't out just yet, but they seem to be pretty powerful and
very low power.

Rick
0
Reply rickman 11/5/2010 2:07:19 PM

On Nov 4, 9:47=A0am, "pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> wrote:
> >"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:
>
> >> It is the skill that I am more interested in, than the actual SDR. I
> >> wouldn't make a small simple design. I am thinking about a nice
> >> little at home project to use my fpga. There are many people that
>
> >I think it would be fun to explore such a FPGA design through
> >simulation (both Matlab and HDL) if I only could find some raw sampled
> >radio data files somewhere...
>
> >Petter
> >--
> >.sig removed by request.
>
> This would be a fun experiment. =A0I think I am going to join ARRL and
> participate in the local meetings. =A0I believe to have found a really go=
od
> group that does actual lab work during meetings and that makes it sound
> more fun and exciting. =A0It is really fun to build things. =A0Even if I =
finish
> and just leave it in my to rot in closet for years, I think the experienc=
e
> is more valuable than anything. =A0I think this will also make me more
> competitive in the work force too. =A0

A word of advice about this group. Vlad is knowledgeable and once in a
while helpful.  If he tells you that your approach is bad, that may
well be true.  But he is very down on anyone who knows less than he
does and can be a real downer.  So take his negative advice with a
grain of salt... no make that a tablespoon of salt and continue in
your efforts.  If you have found something that excites you, then
pursue it and enjoy it.

Rick
0
Reply rickman 11/5/2010 2:10:06 PM

On Nov 3, 3:27=A0pm, glen herrmannsfeldt <g...@ugcs.caltech.edu> wrote:
> pacman101 <janpac01@n_o_s_p_a_m.yahoo.com> wrote:
>
> > I have been itching to build my own software defined radio. =A0
>
> (snip)
>
> > I have a nice FPGA I can use as a starting point. =A0
>
> Am I the only one who believes that Software Defined Radio
> is misnamed when done with an FPGA? =A0FPGAs are programmable
> hardware, but software. =A0Now, one can implement a programmable
> processor inside the FPGA, but even so.
>
> For low enough IF, one can likely do it using a fast enough
> processor, but for higher frequencies or direct RF implementations
> it seems more likely to be done in programmable hardware.

Why is an FPGA different from software?  The thing that makes
software... well "soft" ware is that it can be changed in the field or
even in real time.  The same is true for FPGAs.  You seem to be making
a distinction about the level of programmability.  I agree that FPGAs
need to be designed like hardware... most of the time, but the
distinction from software is not terribly useful in the case of SWR.
They are both very "soft".

BTW, the first DSP I worked with was an array processor programmed at
the microcode level.  In essence you were designing all of the control
signals for the data flow.  Was this a software programmed machine or
was I programming a rather large logic array?  It felt like software,
but it had I had to design it like hardware.

Rick
0
Reply rickman 11/5/2010 2:16:18 PM

rickman <gnuarm@gmail.com> wrote:
(snip, someone wrote)

>> > I have a nice FPGA I can use as a starting point. �

>> Am I the only one who believes that Software Defined Radio
>> is misnamed when done with an FPGA? �FPGAs are programmable
>> hardware, but software. �Now, one can implement a programmable
>> processor inside the FPGA, but even so.

>> For low enough IF, one can likely do it using a fast enough
>> processor, but for higher frequencies or direct RF implementations
>> it seems more likely to be done in programmable hardware.
 
> Why is an FPGA different from software?  The thing that makes
> software... well "soft" ware is that it can be changed in the field or
> even in real time.  The same is true for FPGAs.  You seem to be making
> a distinction about the level of programmability.  I agree that FPGAs
> need to be designed like hardware... most of the time, but the
> distinction from software is not terribly useful in the case of SWR.
> They are both very "soft".

The thought processes needed in the design are very different.
While some FPGAs support dynamic reconfiguration, that is very
different from self-modifying software.

In software, things happen sequentially, at least in a logical sense.
One can execute a FOR loop, to do some operation many times, and
the loop conditions are determined at run time.  In verilog, a FOR
loop generates the appropriate number of instances of some hardware
block, the loop count needs to be known at logic synthesis time.

In software, loops happen in time, in hardware they happen in space.

One could compile verilog code to a big pile of 74xx TTL gates.
That can't usually be done with software, though one might
compile to code that could run on a processor built from TTL gates.
 
> BTW, the first DSP I worked with was an array processor programmed at
> the microcode level.  In essence you were designing all of the control
> signals for the data flow.  Was this a software programmed machine or
> was I programming a rather large logic array?  It felt like software,
> but it had I had to design it like hardware.

Vertical microprogramming is mostly like software, horizontal
microprogramming is mostly like hardware.  

-- glen
0
Reply glen 11/5/2010 7:13:11 PM

On 11/03/2010 12:27 PM, glen herrmannsfeldt wrote:
> pacman101<janpac01@n_o_s_p_a_m.yahoo.com>  wrote:
>>
>> I have been itching to build my own software defined radio.
> (snip)
>
>> I have a nice FPGA I can use as a starting point.
>
> Am I the only one who believes that Software Defined Radio
> is misnamed when done with an FPGA?  FPGAs are programmable
> hardware, but software.  Now, one can implement a programmable
> processor inside the FPGA, but even so.
>
> For low enough IF, one can likely do it using a fast enough
> processor, but for higher frequencies or direct RF implementations
> it seems more likely to be done in programmable hardware.

I think it's because you take "software" to be "computer program", where 
the SDR folks are maybe going back to the original meaning of "software" 
-- i.e., easy to change ('flexible', 'soft'), as opposed to difficult to 
change ('rigid', 'hard').  Taking that meaning (which I grant isn't 
necessarily the colloquial one -- I'm being the devil's advocate here) 
then "software defined radio" is perfectly appropriate.

Hardware description writing and computer programming are an interesting 
puzzle to distinguish, because they are at once fundamentally different, 
yet they bear not only many superficial similarities, but administrative 
ones, as well.

E.g., a computer program is by an large a description of a series of 
sequential events from which one may or may not be able to infer a 
logical structure, while HDL lays out a logical structure, from which 
one may or may not be able to infer a sequence of events.

Yet they're both done (mostly) in textual languages, with similar issues 
about handling complexity, merging work done my multiple people, 
tracking changes, etc.

-- 

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 11/5/2010 7:45:07 PM

Tim Wescott <tim@seemywebsite.com> wrote:
(snip, I wrote)

>> Am I the only one who believes that Software Defined Radio
>> is misnamed when done with an FPGA?  FPGAs are programmable
>> hardware, but software.  Now, one can implement a programmable
>> processor inside the FPGA, but even so.

> I think it's because you take "software" to be "computer program", where 
> the SDR folks are maybe going back to the original meaning of "software" 
> -- i.e., easy to change ('flexible', 'soft'), as opposed to difficult to 
> change ('rigid', 'hard').  Taking that meaning (which I grant isn't 
> necessarily the colloquial one -- I'm being the devil's advocate here) 
> then "software defined radio" is perfectly appropriate.

Well, even more the term "firmware", somewhere in between "hard"
and "soft."
 
> Hardware description writing and computer programming are an interesting 
> puzzle to distinguish, because they are at once fundamentally different, 
> yet they bear not only many superficial similarities, but administrative 
> ones, as well.
 
> E.g., a computer program is by an large a description of a series of 
> sequential events from which one may or may not be able to infer a 
> logical structure, while HDL lays out a logical structure, from which 
> one may or may not be able to infer a sequence of events.

OK, but getting more specific.  If you have a 455kHz IF (so some
analog hardware is needed), it isn't so hard with sequential software
to extract the AM signal.  Maybe not even from the whole AM broadcast
band sampled at 3MHz.

Now, consider a broadcast FM SDR, with the input appropriately
filtered and sampled at 300MHz.  For extra challenge, demodulate
all the FM stations in the area.  I will guess that can be done
in a reasonable sized FPGA, but not with even the fastest available
sequential processor, even with the usual SSE or other similar modes.

-- glen
0
Reply glen 11/5/2010 8:43:41 PM

On Thu, 04 Nov 2010 08:47:26 -0500, "pacman101"
<janpac01@n_o_s_p_a_m.yahoo.com> wrote:

>>"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:
>>
>>> It is the skill that I am more interested in, than the actual SDR. I
>>> wouldn't make a small simple design. I am thinking about a nice
>>> little at home project to use my fpga. There are many people that
>>
>>I think it would be fun to explore such a FPGA design through
>>simulation (both Matlab and HDL) if I only could find some raw sampled
>>radio data files somewhere...
>>
>>Petter
>>-- 
>>.sig removed by request. 
>>
>
>This would be a fun experiment.  I think I am going to join ARRL and
>participate in the local meetings.  I believe to have found a really good
>group that does actual lab work during meetings and that makes it sound
>more fun and exciting.  It is really fun to build things.  Even if I finish
>and just leave it in my to rot in closet for years, I think the experience
>is more valuable than anything.  I think this will also make me more
>competitive in the work force too.  

Hello pacman101,
    I agree, it DOES sound like fun.  There's no 
question about it--such experimenting will expand 
your tech skills.  I hope you "go for it."

[-Rick-]
 
0
Reply Rick 11/5/2010 10:50:34 PM

pacman101 <janpac01@n_o_s_p_a_m.yahoo.com> wrote:
> Hello All,
> 
> I have been itching to build my own software defined radio.  Unfortunately
> I have very little experience in embedded design but I would like to know
> how to get started.  Gnuradio has inspired me to build my own and I would
> like to figure out how to do it.  I would like build in such a way that is
> compatible with the Gnuradio library and also perform similarly to the USRP
> radios.  I have a nice FPGA I can use as a starting point.  However, I'm
> not sure how to pick an AD and DA, build my own downconverter, upconverter
> boards, etc...
>
Well, i'll add just my 2 cents worth here:
A SDR is great fun to build, especially if you're rolling your own.
And you already identified some key points in performance: ADC and DAC,
analog frontend and processing. Let's talk hardware first. Unless you 
always go for state-of-the-art parts, you're most surely pick a couple 
of parts that are not quite up to the task. So you might consider a 
modular approach in order to be able to swap subsystems. But here's the 
catch: For that to work, you probably have to give a fair bit of thought 
to the interface between those modules, because you'll want it flexible 
enough to accomodate all the upgrades that WILL come in the near future. 
That's a great opportunity to shoot yourself in the foot as there's 
nothing as frustrating as when you come up with a really great piece of 
hardware and then can't get the data in or out the way you'd need to. 
Been there, done that. And scrapping the hardware you spent lots of time 
and effort (not to mention money) on isn't fun either. But most surely
you'll get to that point eventually. I guess you got my point here ;-)

Now for the software part (gnuradio). Unless you copy the USRP 1:1,
and it doesn't sound like you'd want that, you probably can't use the
software for it. Don't get me wrong, i haven't dug that deep into that
yet, and i don't say you can't use gnuradio. Just the bit that
interfaces to the hardware might need adaptions or a plain rewrite.

But you're not alone: others have done that before to varying degrees,
and most of those guys are quite helpful when asked nicely. So i'd
suggest getting in touch with guys that already did it. Contact the guys
that cooked up gnuradio about how to interface that software to new
hardware. Search the web for projects that designed hardware (preferably
modular) and ask them about it. Unfortunately, i have seen only one
project with modular hardware until now and already forgot where i found
it. But i guess with the search term "High performance SDR" google will 
cough it up. But also non-modular designs might yield some insight.
For the analog part (up- and downconverter, gain stages etc.), ham radio
operators might be the most accessible sources of knowledge.

Another suggestion: don't go it alone. Especially if you want to go for
the highest performance possible (at least in the long run), company and
fruitful discussions can make all the difference between an abandoned
project and a successful one. Yes, different people have different ideas
on how to best accomplish a task, but in my opinion it's well worth it.
On top of that, not everyone can do all the tasks involved well. some
are more inclined towards coding digital parts, some are more biased
towards designing boards and so on.

And yet another one: don't raise the bar too high for a start. The
modularity gives you the possibility to start with the "easy" tasks.
Digitize Audio taken from an existing receiver, bring it into your
computer and process that. The other way 'round: computer to audio. Then
maybe preprocess the data in your FPGA. Later maybe sampling the last IF
of your receiver, or output at that IF for transmit. Finally direct
sampling from/to the antenna (for up- and downconversion you might be able
to use the IF input/output modules from earlier in the process). Here
you might also want to upgrade your FPGA and/or DSP for more juicy ones.

Having said all that: Go for it! Have fun along the way. In case you're
gonna go an form a group of guys: I'd be willing to join...

HTH,
Florian
0
Reply onlinefloh 11/6/2010 8:49:42 AM

On 11/05/2010 01:43 PM, glen herrmannsfeldt wrote:
> Tim Wescott<tim@seemywebsite.com>  wrote:
> (snip, I wrote)
>
>>> Am I the only one who believes that Software Defined Radio
>>> is misnamed when done with an FPGA?  FPGAs are programmable
>>> hardware, but software.  Now, one can implement a programmable
>>> processor inside the FPGA, but even so.
>
>> I think it's because you take "software" to be "computer program", where
>> the SDR folks are maybe going back to the original meaning of "software"
>> -- i.e., easy to change ('flexible', 'soft'), as opposed to difficult to
>> change ('rigid', 'hard').  Taking that meaning (which I grant isn't
>> necessarily the colloquial one -- I'm being the devil's advocate here)
>> then "software defined radio" is perfectly appropriate.
>
> Well, even more the term "firmware", somewhere in between "hard"
> and "soft."
>
>> Hardware description writing and computer programming are an interesting
>> puzzle to distinguish, because they are at once fundamentally different,
>> yet they bear not only many superficial similarities, but administrative
>> ones, as well.
>
>> E.g., a computer program is by an large a description of a series of
>> sequential events from which one may or may not be able to infer a
>> logical structure, while HDL lays out a logical structure, from which
>> one may or may not be able to infer a sequence of events.
>
> OK, but getting more specific.  If you have a 455kHz IF (so some
> analog hardware is needed), it isn't so hard with sequential software
> to extract the AM signal.  Maybe not even from the whole AM broadcast
> band sampled at 3MHz.
>
> Now, consider a broadcast FM SDR, with the input appropriately
> filtered and sampled at 300MHz.  For extra challenge, demodulate
> all the FM stations in the area.  I will guess that can be done
> in a reasonable sized FPGA, but not with even the fastest available
> sequential processor, even with the usual SSE or other similar modes.

I hadn't meant to give a hint that I was disagreeing with your 
conclusion about when an FPGA is needed -- I was just making a riff on 
the language.

-- 

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 11/6/2010 3:47:40 PM

Tim Wescott <tim@seemywebsite.com> wrote:
> On 11/05/2010 01:43 PM, glen herrmannsfeldt wrote:
>> Tim Wescott<tim@seemywebsite.com>  wrote:
(snip on SDR and hardware)

>>> I think it's because you take "software" to be "computer program", where
>>> the SDR folks are maybe going back to the original meaning of "software"
>>> -- i.e., easy to change ('flexible', 'soft'), as opposed to difficult to
>>> change ('rigid', 'hard').  Taking that meaning (which I grant isn't
>>> necessarily the colloquial one -- I'm being the devil's advocate here)
>>> then "software defined radio" is perfectly appropriate.
(snip)

>>> E.g., a computer program is by an large a description of a series of
>>> sequential events from which one may or may not be able to infer a
>>> logical structure, while HDL lays out a logical structure, from which
>>> one may or may not be able to infer a sequence of events.
(snip)

>> Now, consider a broadcast FM SDR, with the input appropriately
>> filtered and sampled at 300MHz.  For extra challenge, demodulate
>> all the FM stations in the area.  I will guess that can be done
>> in a reasonable sized FPGA, but not with even the fastest available
>> sequential processor, even with the usual SSE or other similar modes.
 
> I hadn't meant to give a hint that I was disagreeing with your 
> conclusion about when an FPGA is needed -- I was just making a riff on 
> the language.

I wasn't trying to disagree with yours, either.  Just to understand
that some things are too fast for a sequential (software)
implementation.  Now, why would one want to do that?

There is a car advertizement about a car radio with a 20GB disk drive
that allows one to rewind.  It seems to me, though, that it wouldn't
be so hard to record the last minutes of multiple radio stations,
such that one could switch stations and then rewind.   One could
keep a circular buffer of the last hour of 10 AM and 10 FM stations.

-- glen
0
Reply glen 11/6/2010 6:52:35 PM

>Hello All,
>
>I have been itching to build my own software defined radio. 
Unfortunately
>I have very little experience in embedded design but I would like to know
>how to get started.  Gnuradio has inspired me to build my own and I would
>like to figure out how to do it.  I would like build in such a way that
is
>compatible with the Gnuradio library and also perform similarly to the
USRP
>radios.  I have a nice FPGA I can use as a starting point.  However, I'm
>not sure how to pick an AD and DA, build my own downconverter,
upconverter
>boards, etc...
>
>Can anyone point me into the right direction?
>

Go For It!
Don't let the naysayers stop you.  The professionals weren't born building
sdr's.  They had to start somewhere.  I plan to do the same thing.  Joining
the amateur radio club you mentioned and getting the books someone else
mentioned is a great start.  The ARRL handbook and Experimental Methods in
RF Design are great books for anyone building radios.  The hams in the club
can help with a lot even if they don't know DSP.  It is covered to some
degree in both those books.  As someone mentioned, start small, maybe a
receiver for a single, strong am broadcast station.  Once that is working
expand on it.  One step at a time and before long it will be working.  What
will you do with it?  You'll set it on your bench and turn it on when you
need inspiration!


0
Reply Will 11/7/2010 2:12:51 PM

On Wed, 03 Nov 2010 08:50:37 -0500, "pacman101"
<janpac01@n_o_s_p_a_m.yahoo.com> wrote:

>Hello All,
>
>I have been itching to build my own software defined radio.  Unfortunately
>I have very little experience in embedded design but I would like to know
>how to get started.  Gnuradio has inspired me to build my own and I would
>like to figure out how to do it.  I would like build in such a way that is
>compatible with the Gnuradio library and also perform similarly to the USRP
>radios.  I have a nice FPGA I can use as a starting point.  However, I'm
>not sure how to pick an AD and DA, build my own downconverter, upconverter
>boards, etc...
>
>Can anyone point me into the right direction?
I am working there as well. 
I suggest you Google Softrock and imitate some of the stuff there as a
starting point. 

Softrocks are in two major components, the hardware and the computer. 
The hardware is pretty simple, the computer side not so simple....

Good Luck and Please Share!
John Ferrell W8CCW
0
Reply John 11/7/2010 7:14:06 PM

John Ferrell wrote:
> On Wed, 03 Nov 2010 08:50:37 -0500, "pacman101"
> <janpac01@n_o_s_p_a_m.yahoo.com> wrote:
> 
>> Hello All,
>>
>> I have been itching to build my own software defined radio.  Unfortunately
>> I have very little experience in embedded design but I would like to know
>> how to get started.  Gnuradio has inspired me to build my own and I would
>> like to figure out how to do it.  I would like build in such a way that is
>> compatible with the Gnuradio library and also perform similarly to the USRP
>> radios.  I have a nice FPGA I can use as a starting point.  However, I'm
>> not sure how to pick an AD and DA, build my own downconverter, upconverter
>> boards, etc...
>>
>> Can anyone point me into the right direction?
> I am working there as well. 
> I suggest you Google Softrock and imitate some of the stuff there as a
> starting point. 
> 
> Softrocks are in two major components, the hardware and the computer. 
> The hardware is pretty simple, the computer side not so simple....
> 
> Good Luck and Please Share!
> John Ferrell W8CCW

Softrock is a good starting point for studying
the signal processing in a software radio.

It is the RF core in SDR Cube (google for it).

-- 

Tauno Voipio, OH2UG
tauno voipio (at) iki fi
0
Reply Tauno 11/7/2010 7:34:17 PM

On Nov 5, 2:13=A0pm, glen herrmannsfeldt <g...@ugcs.caltech.edu> wrote:
> rickman <gnu...@gmail.com> wrote:
>
> (snip, someone wrote)
>
> >> > I have a nice FPGA I can use as a starting point. =A0
> >> Am I the only one who believes that Software Defined Radio
> >> is misnamed when done with an FPGA? =A0FPGAs are programmable
> >> hardware, but software. =A0Now, one can implement a programmable
> >> processor inside the FPGA, but even so.
> >> For low enough IF, one can likely do it using a fast enough
> >> processor, but for higher frequencies or direct RF implementations
> >> it seems more likely to be done in programmable hardware.
> > Why is an FPGA different from software? =A0The thing that makes
> > software... well "soft" ware is that it can be changed in the field or
> > even in real time. =A0The same is true for FPGAs. =A0You seem to be mak=
ing
> > a distinction about the level of programmability. =A0I agree that FPGAs
> > need to be designed like hardware... most of the time, but the
> > distinction from software is not terribly useful in the case of SWR.
> > They are both very "soft".
>
> The thought processes needed in the design are very different.
> While some FPGAs support dynamic reconfiguration, that is very
> different from self-modifying software.
>
> In software, things happen sequentially, at least in a logical sense.
> One can execute a FOR loop, to do some operation many times, and
> the loop conditions are determined at run time. =A0In verilog, a FOR
> loop generates the appropriate number of instances of some hardware
> block, the loop count needs to be known at logic synthesis time.
>
> In software, loops happen in time, in hardware they happen in space.
>
> One could compile verilog code to a big pile of 74xx TTL gates.
> That can't usually be done with software, though one might
> compile to code that could run on a processor built from TTL gates.
>
> > BTW, the first DSP I worked with was an array processor programmed at
> > the microcode level. =A0In essence you were designing all of the contro=
l
> > signals for the data flow. =A0Was this a software programmed machine or
> > was I programming a rather large logic array? =A0It felt like software,
> > but it had I had to design it like hardware.
>
> Vertical microprogramming is mostly like software, horizontal
> microprogramming is mostly like hardware. =A0
>
> -- glen

Ok, hardware and software have some historical differences in terms of
the concurrency of operations.  But I don't see how that is a
fundamental difference and I don't see at all why one would be
"software" and the other not.  The Green Arrays chips are arrays of
small processors.  Their first chip has 144 processors which is more
than the number of LUTs in the earliest FPGAs.  I think this chip
provides a great deal of concurrency programmable in "software".

I think the terminology distinction is pointless.

Rick
0
Reply rickman 11/8/2010 4:28:26 AM

"John Ferrell" <jferrell13@triad.rr.com> wrote in message 
news:oeudd653f443vlckqfcnjdicoo68i2gp6f@4ax.com...
>
> Softrocks are in two major components, the hardware and the computer.
> The hardware is pretty simple, the computer side not so simple....

One problem with the computer interface is that the sound card
is AC-coupled and has a poor response down to DC 


0
Reply Gareth 11/8/2010 9:23:12 AM

On Nov 8, 4:23=A0am, "Gareth" <no.s...@thank.you.invalid> wrote:
> "John Ferrell" <jferrel...@triad.rr.com> wrote in message
>
> news:oeudd653f443vlckqfcnjdicoo68i2gp6f@4ax.com...
>
>
>
> > Softrocks are in two major components, the hardware and the computer.
> > The hardware is pretty simple, the computer side not so simple....
>
> One problem with the computer interface is that the sound card
> is AC-coupled and has a poor response down to DC

Why does an SDR ADC need response down to DC?  In the SDRs I have seen
the digital down converter produce a real output as well as complex.
The signal of interest is centered at an offset frequency (like a very
low frequency IF) and the final down conversion needs to be done in
software along with the demodulation.  I seem to recall this final
down conversion was a very simple process, along with the conversion
to complex, involving some very simple multiplications by 0, 1 and
-1.

Rick
0
Reply rickman 11/8/2010 1:16:32 PM

"rickman" <gnuarm@gmail.com> wrote in message 
news:e8b9c0ef-4d62-48c6-936d-b45f967e6119@g4g2000prj.googlegroups.com...
On Nov 8, 4:23 am, "Gareth" <no.s...@thank.you.invalid> wrote:
> "John Ferrell" <jferrel...@triad.rr.com> wrote in message
>
> news:oeudd653f443vlckqfcnjdicoo68i2gp6f@4ax.com...
>
>
>
> > Softrocks are in two major components, the hardware and the computer.
> > The hardware is pretty simple, the computer side not so simple....
>
> One problem with the computer interface is that the sound card
> is AC-coupled and has a poor response down to DC

Why does an SDR ADC need response down to DC?  In the SDRs I have seen
the digital down converter produce a real output as well as complex.
The signal of interest is centered at an offset frequency (like a very
low frequency IF) and the final down conversion needs to be done in
software along with the demodulation.  I seem to recall this final
down conversion was a very simple process, along with the conversion
to complex, involving some very simple multiplications by 0, 1 and
-1.

Rick 


0
Reply Gareth 11/8/2010 1:29:48 PM

On Mon, 8 Nov 2010 09:23:12 -0000, "Gareth"
<no.spam@thank.you.invalid> wrote:

>"John Ferrell" <jferrell13@triad.rr.com> wrote in message 
>news:oeudd653f443vlckqfcnjdicoo68i2gp6f@4ax.com...
>>
>> Softrocks are in two major components, the hardware and the computer.
>> The hardware is pretty simple, the computer side not so simple....
>
>One problem with the computer interface is that the sound card
>is AC-coupled and has a poor response down to DC 
>
Yes, there are problems to be solved but not difficult problems.
Shifting the center frequency will move to whole window.
A complete solution that relies on a soundcard will also have that
requirement to cover each of the Ham radio bands completely.


John Ferrell W8CCW
0
Reply John 11/8/2010 3:30:54 PM

Will Cooke <wrcooke@n_o_s_p_a_m.smalltimeelectronics.com> wrote:
>>Hello All,
>>
>>I have been itching to build my own software defined radio. Unfortunately
>>I have very little experience in embedded design but I would like to know
>>how to get started.  Gnuradio has inspired me to build my own and I would
>>like to figure out how to do it.  I would like build in such a way that 
>>is compatible with the Gnuradio library and also perform similarly to the
>>USRP radios.  I have a nice FPGA I can use as a starting point.  However, 
>>I'm not sure how to pick an AD and DA, build my own downconverter,
>>upconverter boards, etc...
>>
>>Can anyone point me into the right direction?
>>
> 
> Go For It!
> Don't let the naysayers stop you.  The professionals weren't born building
> sdr's.  They had to start somewhere.  I plan to do the same thing.  

Hmm, sounds like there are a bunch of guy just waiting to get started.
Wanna tie up and do it together?

Regards,
Florian
0
Reply onlinefloh 11/9/2010 6:46:27 AM

>Will Cooke <wrcooke@n_o_s_p_a_m.smalltimeelectronics.com> wrote:
>>>Hello All,
>>>
>>>I have been itching to build my own software defined radio.
Unfortunately
>>>I have very little experience in embedded design but I would like to
know
>>>how to get started.  Gnuradio has inspired me to build my own and I
would
>>>like to figure out how to do it.  I would like build in such a way that

>>>is compatible with the Gnuradio library and also perform similarly to
the
>>>USRP radios.  I have a nice FPGA I can use as a starting point. 
However, 
>>>I'm not sure how to pick an AD and DA, build my own downconverter,
>>>upconverter boards, etc...
>>>
>>>Can anyone point me into the right direction?
>>>
>> 
>> Go For It!
>> Don't let the naysayers stop you.  The professionals weren't born
building
>> sdr's.  They had to start somewhere.  I plan to do the same thing.  
>
>Hmm, sounds like there are a bunch of guy just waiting to get started.
>Wanna tie up and do it together?
>
>Regards,
>Florian
>

I wouldn't mind having people working with others to do it.  I already have
an fpga, and I just need an A/D and an RF-Front end.  I'm not sure how to
pick an A/D and D/A.  I'm still have to accumulate some resources to find
out how to pick all this stuff out.  
0
Reply pacman101 11/9/2010 3:20:08 PM

"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:

> more fun and exciting.  It is really fun to build things.  Even if I finish
> and just leave it in my to rot in closet for years, I think the experience
> is more valuable than anything.  I think this will also make me more
> competitive in the work force too.  

True, but I'd like to simulate it before I build it. Hence, some raw
sampled data files for some given RF-front-end would be great. If you
find or come up with such data and are willing to share please let us
know. 

Good luck on your project!

Petter

-- 
..sig removed by request. 
0
Reply Petter 11/10/2010 10:34:34 AM

>"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:
>
>> more fun and exciting.  It is really fun to build things.  Even if I
finish
>> and just leave it in my to rot in closet for years, I think the
experience
>> is more valuable than anything.  I think this will also make me more
>> competitive in the work force too.  
>
>True, but I'd like to simulate it before I build it. Hence, some raw
>sampled data files for some given RF-front-end would be great. If you
>find or come up with such data and are willing to share please let us
>know. 
>
>Good luck on your project!
>
>Petter
>
>-- 
>.sig removed by request. 
>

What do you mean by raw sampled data files?  Are you talking about RF
signals?  If so those I can get.  

What simulation tools are you going to use?  I am trying to figure out how
simulate things as well.  
0
Reply pacman101 11/10/2010 2:43:58 PM

On Tue, 09 Nov 2010 09:20:08 -0600, "pacman101"
<janpac01@n_o_s_p_a_m.yahoo.com> wrote:

>>Will Cooke <wrcooke@n_o_s_p_a_m.smalltimeelectronics.com> wrote:
>>>>Hello All,
>>>>
>>>>I have been itching to build my own software defined radio.
>Unfortunately
>>>>I have very little experience in embedded design but I would like to
>know
>>>>how to get started.  Gnuradio has inspired me to build my own and I
>would
>>>>like to figure out how to do it.  I would like build in such a way that
>
>>>>is compatible with the Gnuradio library and also perform similarly to
>the
>>>>USRP radios.  I have a nice FPGA I can use as a starting point. 
>However, 
>>>>I'm not sure how to pick an AD and DA, build my own downconverter,
>>>>upconverter boards, etc...
>>>>
>>>>Can anyone point me into the right direction?
>>>>
>>> 
>>> Go For It!
>>> Don't let the naysayers stop you.  The professionals weren't born
>building
>>> sdr's.  They had to start somewhere.  I plan to do the same thing.  
>>
>>Hmm, sounds like there are a bunch of guy just waiting to get started.
>>Wanna tie up and do it together?
>>
>>Regards,
>>Florian
>>
>
>I wouldn't mind having people working with others to do it.  I already have
>an fpga, and I just need an A/D and an RF-Front end.  I'm not sure how to
>pick an A/D and D/A.  I'm still have to accumulate some resources to find
>out how to pick all this stuff out.  

I think we can share what we are working on right here. With so many
directions to go and so much to learn I doubt we are interested the
same areas at the same time. My current thinking is to build a simple
prototype that will lend itself repeated modification. The game plan
is to duplicate the SotfRock to start with. The SoftRocks are great as
they are, but repeated solder work will destroy the  PC Board.

I feel I lack the knowledge to write a program to decode the I/Q
signals with a sound card-PC arrangement. I am not inclined to develop
a commercial product, but I don't mind lending a hand to some one has
a profit motive. 

Hopefully, we will get some coaching from the experts who frequent the
newsgroup. 
John Ferrell W8CCW
0
Reply John 11/10/2010 2:44:04 PM

"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:

> What do you mean by raw sampled data files?  Are you talking about RF
> signals?  If so those I can get.  

Yes. I'm talking about raw sampled data files from a given RF
interface.

> What simulation tools are you going to use?  I am trying to figure out how
> simulate things as well.  

Matlab for algorithmic simulation. Any HDL simulator (Modelsim, GHDL,
Icarus, VCS, etc) for FPGA HDL simulations.

Petter
-- 
..sig removed by request. 
0
Reply Petter 11/10/2010 3:14:30 PM

>"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:
>
>> What do you mean by raw sampled data files?  Are you talking about RF
>> signals?  If so those I can get.  
>
>Yes. I'm talking about raw sampled data files from a given RF
>interface.
>
>> What simulation tools are you going to use?  I am trying to figure out
how
>> simulate things as well.  
>
>Matlab for algorithmic simulation. Any HDL simulator (Modelsim, GHDL,
>Icarus, VCS, etc) for FPGA HDL simulations.
>
>Petter
>-- 
>.sig removed by request. 
>

Oh, what about creating them yourself in matlab?  you don't necessarily
need real signals to do that.  I've done a lot of RF DSP algorithms in
matlab, and I am about to start on FPGA coding.  
0
Reply pacman101 11/10/2010 3:50:28 PM

"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:

> Oh, what about creating them yourself in matlab?  you don't necessarily

That's true, but I was hoping for some real data including noise etc.
Also there's a possibility that I make a mistake when I generate my
synthetic data. 

Petter
-- 
..sig removed by request. 
0
Reply Petter 11/10/2010 6:55:03 PM

>"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:
>
>> Oh, what about creating them yourself in matlab?  you don't necessarily
>
>That's true, but I was hoping for some real data including noise etc.
>Also there's a possibility that I make a mistake when I generate my
>synthetic data. 
>
>Petter
>-- 
>.sig removed by request. 
>

I'm not sure about this on HDL but I'm sure it is simple in Matlab and in
fact you can get a ton of samples on MATLAB central.  You can also get
people to check your code too.  It is probably better to do it this way
anyway because you can adjust and play with amplitudes and phases, change
modulation schemes, etc.   

You can use MATLAB simulink to actually create the high level design, and
expand it further using real parts (and in some cases you'd have to call up
the manufacturer for their models).  You can also use simulink to make the
signals for you so that you won't make a mistake in coding.  They usually
have sine wave and noise generators, modulators, demodulators, anything to
design a whole RF system.

What I was hoping for in terms of experience is doing real PCB design, from
wiring the FPGA to interface the A2D and D2A using my own circuit wiring,
creating my own RF frontend, and doing all the vhdl work to do the DSP. 
0
Reply pacman101 11/10/2010 10:28:23 PM

"pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:

> I'm not sure about this on HDL but I'm sure it is simple in Matlab and in
> fact you can get a ton of samples on MATLAB central.  You can also get

Thank you for the tip. I'll check the MATLAB central. Hopefully I'll
find some samples containing DAB as well.

> people to check your code too.  It is probably better to do it this way
> anyway because you can adjust and play with amplitudes and phases, change
> modulation schemes, etc.   

I would like to use both synthetic data to test the corner cases and
real data in my testbench.


Petter
-- 
..sig removed by request. 
0
Reply Petter 11/11/2010 10:35:24 AM

On Nov 10, 2:18=A0pm, Petter Gustad <newsmailco...@gustad.com> wrote:
> "pacman101" <janpac01@n_o_s_p_a_m.yahoo.com> writes:
> > Oh, what about creating them yourself in matlab? =A0you don't necessari=
ly
>
> That's true, but I was hoping for some real data including noise etc.
> Also there's a possibility that I make a mistake when I generate my
> synthetic data.

This is a good check of both the SDR and the data.  You can add noise
easily enough.  That's what random numbers are for, right?  I would
also add other signals.  But I would have multiple sets of test data.
The beauty of generated data is that you can create data to test any
feature you wish.

Rick
0
Reply rickman 11/11/2010 10:50:02 PM

rickman <gnuarm@gmail.com> writes:

> The beauty of generated data is that you can create data to test any
> feature you wish.

I strongly agree, especially to check how your design behave when
there's errors present in your input. But as I mentioned yesterday I
would like to have a real world dataset as well to validate my
interpretation of the data as I have little experience with SDR and RF
in general.

Petter
-- 
..sig removed by request. 
0
Reply Petter 11/12/2010 7:23:48 AM

40 Replies
400 Views

(page loaded in 0.355 seconds)

Similiar Articles:


















7/26/2012 6:55:24 PM


Reply: