Re: [Flexradio] Book?

2009-08-02 Thread Phil Harman

Hi Neal,

Thanks for the 'prod'.  In fact Steve VK6VZ and I have just completed a 
complete re-write of the SDR chapter for the next edition of the RSGB 
Handbook which will be published this fall. It's in the same style as the 
RadCom column and aimed at beginners not mathematicians.


We are also writing an SDR Handbook for the RSGB/ARRL (e.g. highest bidder!) 
that will cover the items that you mentioned. Apart from the fact that we 
did not want the monthly column to become just an SDR news sheet,  after we 
covered the SDR basics,  we stopped the column so we could dedicate more 
time to the book.


One area we lacked experience in was writing the PC code side of the SDR 
equation, hence I'm spending most of my time at the moment writing a simple 
SDR console program that will be explained in depth in the book.


Back to the keyboard.

73's PhilVK6APH


- Original Message - 
From: "Neal Campbell" 

To: 
Cc: ; "Dave Gomberg" ; "Phil 
Harman" 

Sent: Sunday, August 02, 2009 5:30 AM
Subject: Re: [Flexradio] Book?


The place I learned the most aby SDR (and I do not brag on that
amount) was from the articles in Radcom that Phil, VK6APH wrote  last
year. Radcom had a regular column on SDR for abt 18 months and Phil
explained things in a real simple and understandable way. When the
column finished I wrote and asked if he was going to write a book and
he indicated that there was some chance. I am copying him on this just
to show that we still are wanting a book!


Neal Campbell
Abroham Neal Software
Programming Services for Windows, OS X and Linux
www.abrohamnealsoftware.com
(540) 242 0911

LOW-COST COMPUTER FOR SDR at
http://www.abrohamnealsoftware.com/proddetail.php?prod=answc001




On Sat, Aug 1, 2009 at 5:25 PM,  wrote:

See! I knew it! The smartest people are, indeed, here on the Flex
Reflector! Only here would you see the opinion that a "book" is not
obsolete and now nothing but an anachronism! Gosh, if we had some such
thing maybe it wouldn't be necessary for me to read every single reflector
item that appears, print it, three hole punch and store! Use for a
"Book"---wow! But I''m not so foolish as to expect everyone to accept the
idea!

73

Lee K9WRU

Quoting Dave Gomberg :


At 01:19 PM 8/1/2009, Brian Lloyd wrote:
>More importantly, do you think anyone will bother to sit down and read
> it?

I will tell you that everyone goes thru a similar learning curve and
that time after
time I see the same lessons and info repeated on the list. If it
were all written
down in one place (not like the KB, which wonderful as it is, is more
nuts and bolts).
For example in the helper sw section on serial ports, the author
could explain why
serial ports were so widely used and how they have enjoyed a
renaissance with the
advent of virtual ports. Then discuss the theoretical and practical
differences
of the various solutions as well as their pros and cons, and cost and
ordering info.
I think all that stuff brought together in one place would be
immensely valuable.
Maybe Tim Ellison should write it, because he has done a lot of the
work already???



-- Dave Gomberg, San Francisco NE5EE gomberg1 at wcf dot com
All addresses, phones, etc. at http://www.wcf.com/ham/info.html
-



___
FlexRadio Systems Mailing List
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archives: http://www.mail-archive.com/flexradio%40flex-radio.biz/
Knowledge Base: http://kc.flex-radio.com/ Homepage:
http://www.flex-radio.com/
Message delivered to herbe...@centurytel.net






___
FlexRadio Systems Mailing List
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archives: http://www.mail-archive.com/flexradio%40flex-radio.biz/
Knowledge Base: http://kc.flex-radio.com/ Homepage:
http://www.flex-radio.com/
Message delivered to nealk...@gmail.com









No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.392 / Virus Database: 270.13.40/2276 - Release Date: 08/01/09 
18:04:00



___
FlexRadio Systems Mailing List
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archives: http://www.mail-archive.com/flexradio%40flex-radio.biz/
Knowledge Base: http://kc.flex-radio.com/  Homepage: http://www.flex-radio.com/
Message delivered to arch...@mail-archive.com


Re: [Flexradio] Diversity Reception for Flex 5000 owners

2009-05-05 Thread Phil Harman

>
> Frank mentioned one person who had done some phasing experiments.  I
> would also like to mention Alex Shovkoplyas, VE3NEA who has done a
> really neat version.  I intend to steal his user interface idea
> completely.  It makes both mathematical and user sense.
>
> Bob
>

I had the good fortune to do some Beta testing of Alex's diversity
software. I built a pair of 40m Softrocks and ran then off the same local
oscillator.

As Bob says, Alex's user interface is just teriffic and I'm pleased that
Bob is going down the same UI path.

My results of using the system was inconclusive. What I found was that
strong local signals could be nulled completely. However, on DX stations
it was very difficult to get any form of null or enhancement. When you
looked at the direction the signals where coming from on the UI it was
quite common to see massive, and rapid, angular changes.

This may have been a quirk of the 40m band at night but it will be very
interesting to see how others find the effectiveness of diversity
reception on 40m.


73's PhilVK6APH


___
FlexRadio Systems Mailing List
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archives: http://www.mail-archive.com/flexradio%40flex-radio.biz/
Knowledge Base: http://kc.flex-radio.com/  Homepage: http://www.flex-radio.com/


Re: [Flexradio] Upgrades and bug fixes to test

2009-03-18 Thread Phil Harman

Hi Bob,

Just tried the latest test code. A HUGE improvement in the AGC performance - 
sounds just great - many thanks.


Now, about the speech compressor.. :)

73's Phil...VK6APH


___
FlexRadio Systems Mailing List
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archives: http://www.mail-archive.com/flexradio%40flex-radio.biz/
Knowledge Base: http://kc.flex-radio.com/  Homepage: http://www.flex-radio.com/


Re: [Flexradio] [hpsdr] Strange Janus effect

2007-10-11 Thread Phil Harman

Hi Al,

This is what I suspect you are seeing.

There are two audio outputs from Janus, one from the TLV320 and the 
other from the PWM DAC.  We originally intended the TLV320 to drive 
headphones/speakers/line out and the PWM DAC to provide I and Q to the 
SDR Tx.

Very late in the design I spoke to Bob N4HY who let me know that he was 
considering altering PowerSDR to move the I and Q signals away from 
baseband to get rid of the low frequency noise that some sound cards 
produce.

This change would have meant that we could not have used the I and Q 
outputs to drive the Tx since they were intended to work at baseband. 
So we modified the FPGA code to send the Rx audio to the Janus I&Q 
outputs and the I&Q signals to the TLV320.

The PWM DAC that is now used for Rx audio uses about 11 bits as apposed 
to the 16 bits that the TLV320 uses.  So,if you reduce AGC-T (RF Gain) 
and increase the AF gain you reach a point where you starve the PWM DAC 
of bits and it starts to distort.  I can hear this happening if I set 
the controls as above.

There are a number of options (since we use FPGAs!)

1. Keep the RF gain at the level at which the band noise just does not 
activate the AGC - which is how it was intended to be used.

2. Change the Ozy FPGA code so that we swap the audio outputs - we will 
need you to run some test on the I&Q outputs to check the S/N, phase 
and amplitude balance etc is OK. This should be OK unless PowerSDR 
changes to non baseband I&Q signals some time in the future.

3. Wait for Penelope and/or Mercury since both have additional TLV320s 
which we can use for Rx audio!

Sorry for the long winded answer and hope this makes sense.

73's PhilVK6APH



Quoting "a.groff" <[EMAIL PROTECTED]>:

> * High Performance Software Defined Radio Discussion List *
>
> On Aug 30 I posted to the HPSDR mailing list
> -
>
> Subject: [hpsdr] Strange Janus effect...
>
> * High Performance Software Defined Radio Discussion List *
>
> I am noticing a strange cross-talk ( ?? ) effect with Janus (& OZY ? )
> when used with SDR-1000 & PowerSDR  (v1.9.1 svn 1354, v1.10.2 ) that I
> do not notice with the D44 sound card...
>
> I notice this effect in the receive audio when I start to decrease the
> AGC-T ( RF Gain ) control in Power SDR.  As the received signal starts
> to disappear from audibility, it is replaced by very distorted replica
> at a reduced amplitude.  The effect was first observed in SSB modes but
> is also present it AM mode ( maybe more so. )
>
> Does you one else have this effect or do I have a problem with my
> Janus/Ozy/system ??  How would I start to isolate the problem?
>
> AL, K0VM



This message was sent using IMP, the Internet Messaging Program.


___
FlexRadio mailing list
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/
FlexRadio Knowledge Base: http://kb.flex-radio.com/
FlexRadio Homepage: http://www.flex-radio.com/



[Flexradio] HPSDR USB Protocol

2007-06-08 Thread Phil Harman
I've posted the protocol that we use to talk to Ozy, Janus etc over  USB at 

 < http://www.hamsdr.com/personaldirectory.aspx?id=592 >


73's Phil...VK6APH 

___
FlexRadio mailing list
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/
FlexRadio Knowledge Base: http://kb.flex-radio.com/
FlexRadio Homepage: http://www.flex-radio.com/



Re: [Flexradio] Tonight's Teamspeak audio

2006-09-16 Thread Phil Harman
Hi James,

No that is an internal FIFO not the USB one. We are actually running in the 
manner you suggest.

Phil...VK6APH


- Original Message - 
From: "James Courtier-Dutton" <[EMAIL PROTECTED]>
To: "Bill Tracey" <[EMAIL PROTECTED]>
Cc: "'Flexradio'" 
Sent: Saturday, September 16, 2006 6:03 PM
Subject: Re: [Flexradio] Tonight's Teamspeak audio


> Bill Tracey wrote:
>> Tonight's audio from Teamspeak is posted at:
>> http://www.tracey.org/wjt/temp/ts915.mp3
>>
>> Cheers,
>>
>> Bill
>>
>
> Listening to this, I heard 1hour 5 mins into the recording a
> conversation regarding filling fifos to send data onto the USB bus.
>
> The conversation centered around alternating send and receive sample.
> USB does not work like that.
> USB transfers blocks at a time, and is a half duplex interface.
> So, the TX fifo should be filled by X bytes (whatever the USB profile is
> set to), and then read the RX fifo read till fifo empty again.
>
> James
>
>
>
> ___
> FlexRadio mailing list
> FlexRadio@flex-radio.biz
> http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
> Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/
> FlexRadio Homepage: http://www.flex-radio.com
>
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.405 / Virus Database: 268.12.4/448 - Release Date: 14/09/2006
>
> 



-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.12.4/448 - Release Date: 14/09/2006


___
FlexRadio mailing list
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/
FlexRadio Homepage: http://www.flex-radio.com


[Flexradio] Janus board connectors

2006-02-14 Thread Phil Harman
[Background - the Janus board is a high performance A/D and D/A converter 
that connects to the PC via USB.  It will provide full duplex operation at 
up to 192k samples per second at 24 bits.  The hardware is based on an FX2 
USB interface feeding an FPGA and high performance A/D and D/A converters. 
The FPGA will also be used in conjunction with a  GPS  1pps clock, or 
stabilized oscillator, to enable any frequency error and drift of the 200MHz 
DDS clock to be corrected within the PowerSDR software. The hardware and 
software for the project is being developed by Bill KD5TFD and Phil VK6APH 
and will be open source.]




We have now successfully tested the TLV320AIC23B as a microphone amplifier 
and  Audio out/Headphone amplifier for the Janus  USB high speed  A/D and 
D/A board.




We need to decide what connectors we want on the edge of the board and how 
many.




The latest block diagram is here:



< http://www.hamsdr.com/dnld.aspx?id=139 >



Since the board is 100mm (~4") wide then we are a little tight for space.



I suggest  3.5mm jack sockets for the microphone and headphones.  A bias 
voltage is available for Electret  microphones.




I also suggest using  3.5mm stereo jacks for the high speed  A/D inputs. 
Since all the A/Ds we are considering can take a balanced input a stereo 
plug will provide a  balanced input and  a mono plug will earth one input 
for use with unbalanced inputs. This does mean that we will need two leads 
from the radio as apposed to the single stereo jack at present.




We can either use 3.5mm jacks for the remainder of the sockets or consider 
RCA's.




Is it worth going to gold plated RCA sockets - what experience do the 
audiophiles have with these?




Some of the options are:



 1.. Don't mount the connectors on the PCB but use a breakout box like the 
D44

 2.. Don't provide balanced inputs for the  high speed A/D converter
 3.. Don't fit line in on the Tx  A/D - do we need this for digital modes 
now we have VAC?
 4.. Don't fit line out, use the headphone out to drive external speakers 
etc
 5.. Use stacked RCA sockets -  but that will increase the height of the 
board

 6.. Use smaller alternatives to RCA sockets  - DIN perhaps?
At the moment my preference is to use 3.5mm jacks for all connectors.



Comments and suggestions welcome.



73's  Phil.VK6APH



--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 267.15.7/259 - Release Date: 13/02/2006




Re: [Flexradio] Significant CPU Utilization increase with Preview 14

2006-02-10 Thread Phil Harman

Same here - CPU usage doubles when using Preview 14.

Athlon 2.4GHz,  512M RAM 


Phil...VK6APH



--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 267.15.5/256 - Release Date: 10/02/2006




[Flexradio] Proof-of-concept successful!

2006-01-29 Thread Phil Harman



This weekend Bill, KD5TFD, completed his 
integration of our  Wolfson A/D + Xylo FPGA + USB interface  into 
PowerSDR. 
 
This proof-of-concepth has been completely 
successful  and we are eagerly pushing forward to the next phase of the 
project.
 
The screen shot below is of our  48k 16 bit 
full duplex sound card running in PowerSDR using an SDR1000 on 20m 
 
http://www.hamsdr.com/dnld.aspx?id=126
 
The noise floor of the Wolfson A/D in this 
configuration is -140dBm in a 500z bandwidth.  The next steps are to 
increase the sampling rate to 192kHz and 24 bits. 
 
Bill is also going to implement his system to 
overcome the frequency error and drift of the 200MHz Valpey Fisher oscillator. 
He is using a GPS 1Hz or 10kHz clock to measure the frequency of the DDS 
output and pass this back over the same USB signal that carries the digital 
audio.  A software routine in PowerSDR will then compare the actual DDS 
frequency to the desired frequency and make the necessary correction in 
software.  If this works OK then he will look at counting the 200MHz 
oscillator directly, although picking this off the SDR1000 hardware is bit more 
involved than the DDS output hence the reason for starting with the 
DDS output.
 
We are looking at deriving an LVDS signal from the 
200MHz oscillator and if anyone has any suggestions as to suitable connectors to 
use with a single LVDS signal then we would appreciate the 
information.
 
There is still plenty of room for more C++ and FPGA 
developers if you are interested in assisting with the project - those willing 
to lay out PCB's will be especially welcome!
 
73's  Phil Vk6APH 
 
 
 
 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 267.14.23/243 - Release Date: 27/01/2006



Re: [Flexradio] Teamspeak Audio Forum - Flex-Radio-Friends - 11-26-05Happy Thanksgiving & Holidays!

2005-11-26 Thread Phil Harman



Eric,
 
Having played with the Xylo example programs a 
little more it seems that we may be able to build our own  D/A's using PWM 
in the FPGA.  I also think that with a few external analogue components we 
can make a simple A/D that will be quite good enough  for microphone input 
(I'm assuming that digital modes will be done using VAC from now on). 

 
In which case I will check price and delivery of 
the high performance Wolfson WM8785 24bit 192kHz chips but hold off on the 
others until we have done some more testing. 
 
73's  Phil..VK6APH 

  - Original Message - 
  From: 
  ecellison 
  To: FlexRadio@flex-radio.biz 
  Sent: Saturday, November 26, 2005 10:38 
  PM
  Subject: [Flexradio] Teamspeak Audio 
  Forum - Flex-Radio-Friends - 11-26-05Happy Thanksgiving & Holidays!
  
  
   
  Folks
   
  Small but power packed group met for the voice forum 
  on this day after Thanksgiving holiday in the USA.
   
  K5KDN – Bob is well into the the new class structure 
  for Version 2 of the PowerSDR command set. He had coded the TCP hooks to the 
  CAT set and is about ½ way through the CAT commands. He is making good 
  progress and should have all the old and new commands done in the near future! 
  Thanks BOB!
   
  K7RSB – Ross is working on a small board to provide 
  temperature governed fan speed control for the SDR as well as playing with a 
  small ammeter board.
   
  AA8YI – Tom Took some time off from the CW contest to 
  join us and indicated he was knocking of Q’s with the SDR. I hope he gives us 
  a postpartum on the contest and SDR performance. Obviously the SDR and it’s 
  features will be great in CW contesting.
   
  KD5TFT – Bill is ‘dorking’ around with SoftRock40 V.5 
  on 20 meters, and has been working on the design with Tony for the past 
  month.
   
  AA4SW – Reported the the UCB group buy project is in 
  progress. Upgrades to the UCB boards are being discussed between Mike – KM0T, 
  Terry – W0VB, and myself. Discussions in a separate voice session discussed a 
  number of basic changes from offering a kit complete with enclosure, to adding 
  a LCD 16 x 4 line display. Larry K2LT even offered to try the PIC program to 
  accomplish this. Be patient we are working on it!
   
  AA4SW – Discussed the “Poor Man’s UCB” A project which 
  will probably produce a small board which plugs into the 15 pin X2 port to 
  give protection and isolation to the open collector chip in the 
  SDR-1000.
  Features:
  2 RCA Phono plugs for PTT, and opto isolated Amp key 
  relay.
  All other X2 pins connected to an on board DIP header 
  for experimentation and control offboard via ribbon 
  cable.
   
  VK6APH – Phil1 is making great progress with the Xylo 
  Board FPGA project, and that topic dominated most of the discussion. He has 
  succeeded in getting information in and out of the Xylo board via USB, and 
  this week will be working on streaming audio from the Wolfson A/D converter 
  via High Speed USB. He reported last week that he had successfully configured 
  a 16 bit I2C – I/O chip for control functions.
   
  The band of Xylo proto board owners/developers is 
  growing. I always felt that FPGA’s were way beyond my comprehension, however, 
  now that I have been doing the tutorial build of a FIR Filter offered by 
  Altera with it’s free programming software “Quartus II – Web v. 5.1” I’m not 
  so sure. It is a virtual logic “Etch-a-sketch”. Programmable in both visual 
  paste up logic elements as well as in a C like structured programming language 
  called HDL or “Hardware Definition Language”. Which comes in several flavors. 
  Verilog seems to be the most popular. 
   
  Since getting my Xylo board I have been “Absorbed”. 
  The 2”x2” board is powered from the USB buss, and can be carried around in 
  your pocket, so you can go to the park with your laptop and have a complete 
  project development environment. Drivers and connectors (separate) for 
  Ethernet, I2C (2), VGA, LCD, I/O pins and power, 2 LED’s, 1 pushbutton input 
  are all on board. Board is $119 US and arrives in 3 days via USPS. A connector 
  kit (I recommend) for 30 dollars, and many other add on goodies are available, 
  from LCD panel to separate oscillator 
  daughterboard.
   
  Currently Phil1 – VK6APH,  Phil2 – N8VB,  
  Bill – KD5TFD, and I have purchased the board, with others on Teamspeak 
  indicating they would be getting one soon. 
   
  In a follow on conversation, the Wolfson chips have 
  been a little difficult to obtain via Wolfson’s website. Phil1 is checking on 
  getting a supply of A/D – D/A chips for experiment by the group. I will gladly 
  distribute the chips at cost when we find out if we can do this. Phil is 
  checking on about a 10 quantity, and at least 4 of the set (D/A – A/D) are 
  spoken for. I think Wolfson indicates that these chips are about $6 but that 
  is in vast quantities. If you might be interested in getting aholt of these 
  chips please e-mail me at:
   

Re: [Flexradio] Teamspeak Forum Audio - 11-19-05 - LONG POSTING

2005-11-22 Thread Phil Harman

Hi Jeff,

Thanks for your comments, much appreciated.  Making quite good progress with 
learning VHDL and can now both send and receive data between the PC and FPGA 
over the USB2.


I think (hope) that it's a little simpler than you suggest.  The Wolfson 
chip requires an external 24.5??MHz clock. This could come from the FPGA but 
its much easier (since the only other clock I have is 48MHz from the FX2) to 
just feed it with an external xtal oscillator.  Via the I2C you can then set 
the internal sampling rate and you get out a clock at the sampling rate 
frequency, a Left/Right signal and the serial data.


Since you can set the Wolfson to be a master I was going to use the sampling 
rate clock from it to clock the data into the FPGA.  Since the samples that 
the A/D takes have been made accurately by its own clock then I don't see 
that any timing errors in the USB transfer will have any effect.  Once the 
data has been received by the PC it can't alter the rate that the samples 
were taken simply due to inaccurate clocks or delays. The  PC will know what 
sample rate the A/D was working at and can process the data accordingly. 
The data rate of the USB@ at 480Mbps is so much faster than the highest A/D 
bit rate that I don't think we have a problem.  I've sent video over USB2 
before and that works just fine.  Perhaps I've missed something and its more 
complex than this?


Good to hear that you have experience with I2S using Verilog - getting this 
working using Verilog and then converting to VHDL as a learning exercise 
would be fine with me. If I get stuck perhaps you could show me the way 
using Verilog!


Thanks for your interest and comments.

Phil... VK6APH




- Original Message - 
From: "Jeff Anderson" <[EMAIL PROTECTED]>

To: 
Sent: Tuesday, November 22, 2005 9:27 PM
Subject: Re: [Flexradio] Teamspeak Forum Audio - 11-19-05 - LONG POSTING


Thanks for the detailed description, Phil.  A few comments...

1.  I2S interfaces to codecs are typically straightforward and should be
easily implementable in an FPGA.  I've done non-I2S codec interfaces in
Verilog, and I2S should not be very different.

2.  How are you generating the ADC clocks?  My understanding (my minimal
understanding) of audio-over-USB is that the PC, as host, is the Master of
the isochronous transfers.  Because it controls the transfers, the
sampling-rate of the ADC's on the board will need to be locked to USB data
received from the PC, rather than vice-versa (if my understanding is
incorrect, please let me know!).

2.1 Therefore, (assuming my understanding is correct) the three codec clocks
ought to be locked to the incoming USB stream - I'm not sure what
identifiers/code-patterns exist in the stream for doing this, but I assume
they exist.  My guess is that you'll probably derive a frame-sync signal
(perhaps jittery) from this stream, to which you'll need to lock (less any
jitter) the ADC MCLK, which you can then divide down to provide the other
two clocks required by the ADC.

In other words, you'll probably need to design a digital phase-locked loop
using, as reference, the clock derived from the Host's data.  But...I could
be wrong!  Perhaps it's simpler than I'm imagining, and you can get away
with an on-board ADC clock source.

(By the way - if you do find you need to derive the ADC clocks from the USB
stream, then, given the possibility that the USB stream from the host will
be a bit jittery, you may need to buffer up samples (in a fifo or circular
buffer) to ensure that there are always samples available when the Host
requests them, and to ensure that you don't drop any samples on the floor if
the host isn't yet ready to receive them.)

(Speaking of which - with respect to the VAC "pop" thread - is the "virtual
sample rate" of the virtual sound-card indeed locked to the sampling clock
of the "real" sound-card?  Buffers between two supposedly "locked" processes
can underflow or overflow (thus producing pops or clicks) if the processes
are actually running at two different rates.)

Sounds like an interesting project!

- Jeff, WA6AHL


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Phil Harman
Sent: Monday, November 21, 2005 5:26 AM
To: FlexRadio@flex-radio.biz
Subject: Re: [Flexradio] Teamspeak Forum Audio - 11-19-05 - LONG POSTING


Hi all,

To answer Jeff's question and Phil's reply I'll give a little background on
the USB audio project.

For some time I've been working on a project to connect a high performance
audio A/D converter to a PC via USB.  The idea is to eliminate the sound
card and send the recovered I/Q signals from the SDR1000 (SD40 etc) to the
PC in a digital format.  There are a number of reasons for wanting to do
this.

1. It should help with removing ground loops
2. We will not need any special so

Re: [Flexradio] Teamspeak Forum Audio - 11-19-05 - LONG POSTING

2005-11-21 Thread Phil Harman

Hi all,

To answer Jeff's question and Phil's reply I'll give a little background on 
the USB audio project.


For some time I've been working on a project to connect a high performance 
audio A/D converter to a PC via USB.  The idea is to eliminate the sound 
card and send the recovered I/Q signals from the SDR1000 (SD40 etc) to the 
PC in a digital format.  There are a number of reasons for wanting to do 
this.


1. It should help with removing ground loops
2. We will not need any special sound card drivers anymore
3. Compared with high end sound cards it should be low cost since even with 
an expensive sound card we are really only using the A/D and D/A chips

4. Potential for reduced latency
5. It will be fun and I expect to lean a lot!

Once this was working I intended to add D/A's for the I/Q signals on Tx and 
a simple A/D for the microphone.  Next was to be a good quality stereo D/A 
for the audio output and then replace the PIO board completely with USB 
controlled IO.


Since I have some experience in programming PIC's in C I decided to use a 
USB enabled PIC uP the 18F4550.  This turned out to not be a good choice 
mainly due the very buggy  IDE/C compiler we selected and very poor support 
for the uP in other than an RS232 to USB replacement mode.  However, I was 
able to use the on chip 12 bit A/D converter (to be used for mic input) to 
send data over the USB port to the PC and receiver the data there.   Long 
term this  does not look like a good solution since although the uP is 
specked at 12MB/s over full speed USB in practice no one seems to be able to 
get near this lever of performance.  We will also need a faster interface 
if we want to do stereo 192kbs at 24bit which the Wolfson chip is capable 
of.


In the mean time I had built a USB2 (480Mbps) interface to my PC using a 
Cypress FX2 chip for another project. This worked very well, lots of free 
code and advice on the Internet and supported with free development tools. 
It is also the USB interface that Phil (N8VB) is using so I knew where to go 
as soon as I got stuck (thanks Phil!).


At work I have the pleasant task of mentoring overseas students whilst they 
do 12 weeks of industry experience in order to get their engineering 
degrees. One of these had FPGA development experience and wanted to work on 
a project where she could write in VHDL. Whilst we have FPGA development 
systems in the lab I could not justify handing one over to her for 12 weeks 
so had a look round for something more cost effective. That's when I found 
the Xylo board (www.fpga4fun.com). This looked ideal for the student but 
also as an alternative for the PIC uP since it used an FX2 USB2 chip to 
interface the FPGA to the PC.


As well as an USB interface, which can be used to program the FPGA and FX2, 
then allows the FPGA to access the USB port and send data to the PC.  It 
also supports I2C and TCP/IP.  Since the Wolfson A/D chip can be set up via 
I2C this seemed like a good way to interface the chip. The data out of the 
Wolfson is in  I2S format and you can find free I2S code for the FPGA on the 
net.


The Xylo board comes with enough sample PC and FPGA code to get started and 
all the examples compiled and ran first time. The USB interface is 
straightforward and the sample C code makes it easy to write code on the PC 
to talk to the FPGA.


Progress has been good so far.  We have interfaced the Wolfson chip to the 
FPGA and can configure it over the USB using I2C.  We also added an I2C  I/O 
port expander to the I2C bus and that works fine also.  We have written some 
test code to send data from the PC over the USB, read it into the FPGA, 
modify it and write it back to the PC. This runs very fast, so off to a good 
start.


At the moment we are writing VHDL code for the FPGA so that we can read the 
data from the Wolfson A/D, send it over the USB link and play it back using 
PortAudio on the PC. At the current rate of progress we should get that 
running this week, in which case the next step will be to alter the SDR1000 
code and try it there.


There are a couple of issues with the Xylo board. The supplier will not let 
you have a circuit diagram. That does not seem to be much of a problem since 
both Phil and I have worked out enough of the circuit to see what pins of 
the FX2 are connected to the FPGA. The other  issue is that unlike the 
SDR1000 this is not an open source project so we don't have the code for the 
various drivers that they use.  I don't see this as a problem in the short 
term but I may be in the long run. I expect there are enough skills lurking 
in this group to overcome this when need be.


There are many other things we can do with as USB interface and an FPGA.  We 
will have lots of I/O for operating external relays etc. We could use the 1 
pps signal from a GPS to stabilize an oscillator. Perhaps replace the DDS 
with an NCO.  As Phil suggested we can test PWM D/A converters for the  I/Q 
signals and if they are not 

Re: [Flexradio] Compiling V1.4.4

2005-08-14 Thread Phil Harman
Thanks to all who replied - I downloaded again but had the same compile 
errors so just deleted everything and started afresh - all OK now.


Phil.. VK6APH



- Original Message - 
From: "Jerald Jones" <[EMAIL PROTECTED]>
To: "Phil Harman" <[EMAIL PROTECTED]>; "FlexRadio Reflector" 


Sent: Sunday, 14 August 2005 01:50
Subject: Re: [Flexradio] Compiling V1.4.4



Phil,

Try downloading the source again.  I seem to recall that one of the 
versions was presented with an error and then very quickly replaced with 
the correct version.  This may have been version 1.4.4


Jerry WK0J

- Original Message - 
From: "Phil Harman" <[EMAIL PROTECTED]>

To: "FlexRadio Reflector" 
Sent: Saturday, August 13, 2005 6:26 AM
Subject: [Flexradio] Compiling V1.4.4


Has anyone been able to successfully compile the source for V1.4.4 - I 
get

numerious compile errors  e.g. in ringb.c I get multiple

error C2040: 'rb' : 'int *' differs in levels of indirection from 'int'

I last compiled  V1.3.*  - has something changed since then?

Thanks

Phil... VK6APH




--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.10.8/71 - Release Date: 12/08/05


___
FlexRadio mailing list
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz








--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.10.8/71 - Release Date: 12/08/05






--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.10.8/71 - Release Date: 12/08/05




[Flexradio] Compiling V1.4.4

2005-08-13 Thread Phil Harman
Has anyone been able to successfully compile the source for V1.4.4 - I get 
numerious compile errors  e.g. in ringb.c I get multiple


error C2040: 'rb' : 'int *' differs in levels of indirection from 'int'

I last compiled  V1.3.*  - has something changed since then?

Thanks

Phil... VK6APH




--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.10.8/71 - Release Date: 12/08/05




[Flexradio] AGC Ideas

2005-08-11 Thread Phil Harman



SDR1000 AGC

During my time as a ham I have spend a lot of time working on AGC systems. I
tend to be rather passionate about the subject since in my opinion the AGC
system can either make or break a receiver.

Over the past 12 months I've experimented with different controls and
algorithms in the VB version of the AGC  code of the SDR1000.  I think that 
I've now reached the
stage where we could modify the code to move the SDR1000 into an 'AGC class 
of

its own'.

This link http://www.n9vv.com/VK6APH-AGC-discussion-SDR1000.pdf
covers some AGC theory and my own thoughts on what needs to
be done to digitalagc.c to bring it to an acceptable level of performance 
and

features.  By no means should any of this be construed as a criticism of
anything that has been done to date; it is simply my personal view of how we
should move ahead.

I welcome comments, corrections and constructive criticism.

Phil... VK6APH 




--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.10.6/69 - Release Date: 11/08/05




[Flexradio] Speech Processor saga continues...

2005-05-15 Thread Phil Harman
Well, I was pretty sure that I had cracked all the problems in the speech 
processor code. That was until I tested it on the second sound card 
(motherboard AC97) in my PC.


A little background will help to explain the problem. In the VB version of 
the processor the sequence was


Speech -> Tx Filter/EQ -> Tx AGC -> Speech Processor -> SDR Hardware

This meant that the processor received nicely filtered and EQ'd audio at a 
sensibly constant level. The downside of this was that the processing 
algorithm is non-linear and, if set a little high, tended to broaden the 
transmitted signal.


In the C# Console the sequence is

Speech -> Speech Processor -> Tx AGC -> Tx Filter/EQ -> SDR Hardware

Placing the Tx Filter at the end of the chain cleans up the signal before it 
reaches the hardware. However, this new sequence also has some other 
effects. It turns out that the performance of the algorithm we use to do the 
speech compression (see Frerking - "Digital Signal Processing in 
Communications Systems" page 286) is sensitive to the level of the input 
signal. Since there is no AGC prior to the processor the performance varies 
depending on the microphone gain setting. Fortunately this is very simple to 
fix, we make the various processor constants a ratio of the peak input 
signal level.


Secondly, the output of my AC97 motherboard sound card is absolutely 
disgusting below about 100Hz. There is hum, buzzing, switching noise etc as 
well as a massive DC offset. These signals are some 30dB above the normal 
level of the microphone audio! Since there is no longer a filter prior to 
the speech processor this noise is fed to its input, preventing it working 
correctly.


Note that this is not a problem with my Santa Cruz sound card, just the 
motherboard one.


All of these problems can be fixed with a little extra code and I'll take 
the opportunity of discussing the appropriate solution with Bob and Frank at 
Dayton next week.


In the mean time I have included Bob's optimized processor code, altered the 
value of K to suite floats and normalized the output level of the processor 
so that when you turn it on it does not alter the ALC level. I'll pass these 
changes to Eric for inclusion in the next release.


73's Phil. VK6APH



--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.10 - Release Date: 13/05/05




[Flexradio] Speech Processor on second sound card

2005-05-07 Thread Phil Harman
Futher to my previous post,  I also find that with the speech compressor set 
at 10dB the negative half cycle of the audio outout is very distorted. If I 
turn the processor off then there is no distortion so this is not a function 
of overdriving the sound card output.


Perhaps the speech processor is being over driven. I had this problem with 
the original VB code and found that the speechprocessor had to be AFTER the 
mic AGC.  The speech processor works best when driven with a constant peak 
amplitude signal. Since the Tx AGC will provide a peak limited signal to its 
input, and the speech processor will only give an output signal equal to the 
peak of the input, then this may be a solution. 




--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.5 - Release Date: 04/05/05




[Flexradio] Speech Processor on second sound card

2005-05-07 Thread Phil Harman
I'm trying to track down a problem I am having with the speech processor 
when using the second sound card on V1.3.*.  The problem does NOT exist if I 
use a single sound card (Santa Cruz) using this code.  What happens is when 
using the second sound card (AC97 on the motherboard) for Tx as soon as I 
select 1dB or more of compression then the low frequency response of my Tx 
audio drops by 10dB.


Could you please test as follows.
1. Set up v1.3.3 to use a second sound card
2. Do NOT turn your hardware on.
3. Run v1.3.3
4. Set the mic gain to 0 and the mic preamp to 0dB
5. Turn  COMP off
6. Set FeedForward  compression to 0dB
7. Set  USB
8. Set Display Mode = Spectrum

Press MOX and the display should show your Tx signal as noise in the 
passband. This noise should be approximately flat over the passband.  Then 
turn on the compressor - this should have no effect since it is set at 0dB 
of compression.  Then set the compression level to 1dB and see if it has any 
effect on the noise spectrum. In my case the LF end of the noise drops by ~ 
10db and I've no idea why!


Please let me know what results you get.

Phil...




--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.5 - Release Date: 04/05/05




Re: [Flexradio] Your input is needed

2005-05-04 Thread Phil Harman

Bob,

Thanks for the update. Sorry I have not had time to test the speech 
processor code this week but will do so at the weekend.


I'd like to see if we can keep the spatial relationship of the multiple 
receivers aligned with what we see in the panadapter. For example, with one 
Rx we have the Rx bandwidth shown in the middle of the panadapter and 
centred between our ears.   If we then add another Rx, and show it's 
bandwidth on the panadapter in another colour, then where that Rx is moved 
( perhaps by dragging the centre of it with the mouse) then the spatial 
position moves as well.  That way additional Rx's on the left appear in the 
left headphone/speaker and visa versa. With multiple receivers I see no 
reason why the main (first Rx ) should have to remain in the centre.  For 
example when working split I'd like to place one Rx on the LHS of the 
panadapter to cover the DX and then the other Rx's the split distance apart 
on the RHS. By having the correct spatial alignment it may be possible to 
work out which of the 'n' big guns has just cracked the pile up and tail end 
him  (of course the panadapter will also show this). Perhaps by right 
clicking on him you could then set the Tx frequency so you can tail end him


In terms of setting filter bandwidths the technique used by I2PHD seems to 
work well. Here you click and drag the LHS or RHS of the  coloured band that 
represents the Rx filter BW. Any location left of right of a centre band 
would indicate a bandwidth change whilst in the band would be IF shift.


Just my 2c worth.

Phil...



--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.3 - Release Date: 03/05/05