Re: [Flexradio] Book?
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
> > 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
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
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
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
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
[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
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!
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!
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 Qs with the SDR. I hope he gives us a postpartum on the contest and SDR performance. Obviously the SDR and its 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 Mans 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 FPGAs were way beyond my comprehension, however, now that I have been doing the tutorial build of a FIR Filter offered by Altera with its free programming software Quartus II Web v. 5.1 Im 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 2x2 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 LEDs, 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 Wolfsons 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
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
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
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
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
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...
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
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
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
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