Showing posts with label SoftRock. Show all posts
Showing posts with label SoftRock. Show all posts

Saturday, October 11, 2014

Setting up my 30m APRS on HF using Quisk SDR, Soundmodem and Xastir on Linux.

Setting up my 30m APRS on HF using Quisk SDR, Soundmodem and Xastir on Linux.


Here is how I conferred my HF APRS gateway from a HF SDR. (30m Softrock SDR)

30m APRS hardware

1) Install QUISK  (SDR software) on on Linux.

2) Install Alsa loop. (loopback sound driver)
3) Install Soundmodem.  (AFSK Modem)
4) Install Xastir. ( APRS IGate and map viewer)




So lets begin.

1) Install QUISK  (SDR software) on on Linux.

The Quisk instillation need Python so you will have to install the following first.
Install the following packages.
sudo apt-get install python2.7, python2.7-dev, python-wxgtk2.8, fftw3-dev, libasound2-dev, and portaudio19-dev.

goto your Downloads directory. ( or you favorite directory)

cd Downloads
Download the Quisk application from if you want the latest version at http://james.ahlstrom.name/quisk/docs.html (quisk-3.4.4.tar.gz tar -xvf and then run quisk.py you need python ass seen above) or you could run the command  sudo apt-get install quisk


Here is the instructions if you get the latest version

 sudo apt-get install quisk
wget http://james.ahlstrom.name/quisk/quisk-3.6.18.tar.gz
unzip the quisk source code
tar -xvf quisk-3.6.18.tar.gz
there should now be a directory quisk-3.6.10
goto quisk-3.6.10 directory
cd quisk-3.6.10
Compile the quisk application
sudo make
sudo make install
you now need to create a configuration file for quisk to see your Softrock lite II sdr sound input IQ signal.
Create a text file with you favorite text editor and copy the text below and save it as 30m_aprs_quisk_conf_sdriq.py


#*****************************************************

# These are the configuration parameters for Quisk using the
# SDR-IQ by RfSpace as the capture device.

# Please do not change this sample file.

# Instead copy it to your own .quisk_conf.py and make changes there.
# See quisk_conf_defaults.py for more information.

from sdriqpkg import quisk_hardware             # Use different hardware file


# In ALSA, soundcards have these names:

#name_of_sound_play = "hw:0"
#name_of_sound_play = "hw:1"
#name_of_sound_play = "plughw"
#name_of_sound_play = "plughw:1"
#name_of_sound_play = "default"

use_sdriq = 1                                   # Use the SDR-IQ

sdriq_name = "pcm.sdrXonarD1Record12"
sdriq_clock = 66666667.0                # actual sample rate (66666667 nominal)
sdriq_decimation = 1250                 # Must be 360, 500, 600, or 1250
sample_rate = int(float(sdriq_clock) / sdriq_decimation + 0.5)  # Don't change this
name_of_sound_capt = ""                 # We do not capture from the soundcard
name_of_sound_play = "hw:0"             # Play back on this soundcard need s to be loopback device
playback_rate = 48000                   # Radio sound play rate
channel_i = 0                                   # Soundcard index of left channel
channel_q = 1                                   # Soundcard index of right channel

display_fraction = 0.85                 # The edges of the full bandwidth are not valid
#***************************************************************

Then save the file.
We now need to setup the ALSA sound system to map the alsa audio coming into the server to a friendly name "pcm.sdrXonarD1Record12" see above config file.
Run the command sudo arecord -l it will list all the ALSA audio input devices.

 sudo arecord -l
**** List of CAPTURE Hardware Devices ****
xcb_connection_has_error() returned true
Home directory /home/anton not ours.
card 0: D1 [Xonar D1], device 0: Multichannel [Multichannel]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: VT1708S Analog [VT1708S Analog]
  Subdevices: 2/2
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
card 2: D1_1 [Xonar D1], device 0: Multichannel [Multichannel]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 3: M44 [M Audio Delta 44], device 0: ICE1712 multi [ICE1712 multi]
  Subdevices: 0/1
  Subdevice #0: subdevice #0


Please note I have multiple sound cards in my Linux server so you might not have as many interfaces listed as mine above.

Identify the your sound card in the list.

in my case it is :card 3: M44 [M Audio Delta 44], device 0: ICE1712 multi [ICE1712 multi]
You now need to configure the ALSA system to map the name of quisk to this card and you do it in the ALSA config file in your user home directory. (in my case it is /home/anton)

cd  to go to your home directory

pwd To list your home directory

/home/anton
edit the following ALSA audio mapping file with you favorite text editor .asoundrc  (note the dot in front of the name it means its hidden) I use VI as an editor


 vi .asoundrc

Add the following and change the names relevant your sound card name (RED)

#************************** pcm definition ************************************
pcm.sdrM44_card {# defining the card to be used
     type hw
     card M44 # this has to be done to force reboot to point to same cards
}

#************************* controller section ***********************************
ctl.sdrM44_card {#defining the control interface
     type hw
     card M44 # this has to the same as above

     }
#****************************** recording ***********************************
pcm.sdrM44Record12 { # input input 1 and 2
     type plug
     slave {
     pcm "dsnooper_M44"
     channels 4
     }
         ttable.0.0 1
         ttable.1.1 1
}



Run the quisk with your costume configuration  with the full path to the configfile

sudo quisk -c /home/anton/Downloads/quisk-3.6.10/quisk_conf_softrock_iq.py






Now we need to setup the ALSA loop back audio interface for Quisk to send the USB demodulated audio to Xastir or Fldigi or what ever modem device you are using.

2) Install ALSA loop. (Loopback sound driver)



To check if it is already installed in the ALSA device driver.
run the command sudo arecoed -l 

If you see the loopback devise skip this section below and go section 3

Compiling snd-aloop if needed

Update: it may not be needed any longer as of kernel 2.6.38 ...

It may well be that the ALSA Loopback kernel module was not included in your distribution's kernel package (it is the case in e.g. debian, as far as I know). This is no bother as we can easily compile it. Note that there is no way around since the loopback ALSA module is not part of the kernel baseline in general. So unless your kernel packager had done the following work, you will have to do it yourself ...
Warning: I tried alsa-driver 1.0.21 against 2.6.33.5-rt22 and while it compiled fine, it would not load at all, even when forced. So don't waste your time with this version combo.
Make sure you really don't have it installed. Better check that not :)
sudo modinfo snd-aloop
If modinfo reports nada, time to check that you have installed the kernel headers corresponding to your presently running kernel. I'll leave this to you as this is very distro dependent. In debian based distros, the package is called something like linux-headers-xxx and must match the installed kernel (package linux-image-xxx).
Time to make a backup of the installed kernel modules. Example:

cd
mkdir backup
cd backup
cp -a /lib/modules/`uname -r`/kernel/sound .


Prerequisite: you of course need a compiler and other tools. In debian based distros, you can check that you have a package called build-essential installed:
dpkg -l build-essential
If not, just get it:
sudo apt-get install build-essential

Now grab the alsa-driver source code (same version as your installed ALSA, in my case 1.0.23 which I will use in my description) from the The ALSA website, uncompress, untar it and cd to the alsa-driver top dir. Here is a command summary

cd
mkdir source
cd source
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.23.tar.bz2
tar jxvf alsa-driver-1.0.23.tar.bz2
cd alsa-driver-1.0.23


Now you have to configure the source package for compilation. To help you, look at what ALSA modules are currently loaded:
cat /proc/asound/modules

make
sudo make install

It will normally install all the compiled modules into the correct location of your kernel installation. Now check that the kernel knows about the loopback module:

~$ sudo modinfo snd-aloop
filename: /lib/modules/2.6.32/kernel/sound/drivers/snd-aloop.ko
license: GPL
description: A loopback soundcard
author: Jaroslav Kysela <perex@perex.cz>
srcversion: B85A5847D027749DCF96195
depends: snd-pcm,snd
vermagic: 2.6.32 SMP preempt mod_unload modversions CORE2
parm: index:Index value for loopback soundcard. (array of int)
parm: id:ID string for loopback soundcard. (array of charp)
parm: enable:Enable this loopback soundcard. (array of bool)
parm: pcm_substreams:PCM substreams # (1-8) for loopback driver. (array of int)


Now lets load it. But before that, shut down all audio apps (including firefox). Once done, do this:
sudo modprobe snd-whatever-module-you-need
sudo modprobe snd-aloop
sudo alsa force-unload



Now, see if it works: ~$ lsmod | grep aloop snd_aloop 4732 0
snd_pcm 57065 6 snd_aloop,snd_hdsp
snd 40404 18 snd_aloop,snd_hdsp,snd_pcm,snd_hwdep,snd_rawmidi,snd_seq,snd_timer,snd_seq_device

If all was ok then add snd-aloop in /etc/modules. (If you wish, you can give the loopback soundcard another name than "Loopback" in a modprobe option but I kept the default throughout the entire HOWTO and there is no need to change it.)
In case anything went wrong and you wish to go back to your previous ALSA installation, no problem:


sudo rm /lib/modules/`uname -r`/kernel/sound sudo cp -a ~/backup/sound /lib/modules/`uname -r`/kernel/ sudo alsa force-reload

there should be two new ALSA devicess 


This virtual sound card consists of 2 devices:
hw:Loopback,0
hw:Loopback,1
to see if the loop back connector is active run the command aplay -l or arecord -l


sudo arecord -l

**** List of CAPTURE Hardware Devices ****
xcb_connection_has_error() returned true
Home directory /home/anton not ours.

card 4: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]

  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 4: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 7/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7

if you did see the above loopback then you are ok and we can just add the loopback configuration to the 30m_aprs_quisk_conf_sdriq.py file as above.

edit the file 30m_aprs_quisk_conf_sdriq.py
and make shore the it has the following.
name_of_sound_play = "hw:0"             # Play back on this soundcard need s to be loopback device
select the configeration button on quisk to see if the loopback is working fine.


Now we can configure Soundmodem and Xastir to decode our HF APRS....

3) Install Soundmodem. (AFSK Modem)

Instillation of soundmodem
sudo apt-get install soundmodem

We now need to configure the soundmodem and this can easily be done with guide.
sudo soundmodemconfig


Set up the ALSA audio driver and point it to the loopback interface we have configured above " plughw:Loopback,1,0"


Create a new channel by write clicking on the previous configuration that was created and selecting new channel.

Select KISS and then enter the serial device file /dev/soundmodem0

Select Modulator and set the bits 300 board  and Frequencies to 900Hz , 1.1 Khz and enable Differential Encoding.

Select Demodeluator and set the bits 300 board  and Frequencies to 900Hz , 1.1 Khz and enable Differential Encoding.

Now to test your configuration.
Select the diagnose menu and then the spectrum option and then tune the APRS frequency on the Quisk SDR so that the AFSK tones is in the center of pass band section in the spectrum display below. (Center frequency is 1Khz) You can also then check if you Radio audio frequency is flat. (Both peeks is the same high)


Move your mouse cursor over display to find frequency of display. ( wait for APRS message to be received on HF)

Adjust the Quisk SDR frequency until the APRS signal is across the 1Khz frequency. see above



That's it, your soundmodem is configured.

here is a copy of my soundmodem configuration file /etc/ax25/soundmodem.conf that was generated with soundmodemconfig application.

<?xml version="1.0"?>
<modem>

 <configuration name="HF_300Board">
<chaccess txdelay="150" slottime="100" ppersist="40" fulldup="0" txtail="10"/>
<audio type="alsa" device="plughw:Loopback,1,0" halfdup="0" capturechannelmode="Mono"/>
<ptt file="none" gpio="0" hamlib_model="" hamlib_params=""/>
<channel name="Channel 0">
<mod mode="afsk" bps="300" f0="900" f1="1100" diffenc="1" ifname="sm0" hwaddr="ZR6AIC-2" ip="10.0.0.1" netmask="255.255.255.0" broadcast="10.0.0.255"/>
<demod mode="afsk" bps="300" f0="900" f1="1100" diffdec="1"/>
<pkt mode="KISS" ifname="sm0" hwaddr="ZR6AIC-2" ip="10.0.0.1" netmask="255.255.255.0" broadcast="10.0.0.255" file="/dev/soundmodem0" unlink="0"/>
</channel>
</configuration>
</modem>


You will need some test audio so here is a video of a message that was recorded. Play it back and see if your modem is setup coorectely.

 

After your testing you will the close the soundmodemconfig Application and then run it as a soundmodem daemon in the background.

Close the soundmodemconfig application by clicking on the X on top.

then run the deamon sudo soundmodem&

4) Install Xastir. ( APRS IGate and map viewer)


Now lets setup the iGate of your APRS demodulated data to the internet
Install Xastir
sudo apt-get install xastir

run xastir

sudo xastir

Configure the Xastir to get the serial data from your sound modem
Select the interface menu


Now select the add  button and then then the Serial KISS TNC option

The TNC port has to be /dev/soundmodem0 as we configured in the soundmodem setup above

Then setup your internet APRS server details.

Save en setup your station detail.
Select file menu and then configeration.

Update your IGate details and station info see below.



Save your station configuration.
Now start Device 0 and Device 1 in the Interface menu and if all is well the interface will change to the up state.



If all the interfaces when up you should see your IGate on the internet. http://aprs.fi



Thursday, January 3, 2013

New 20m SDR receiver added to WEBSDR

 New 20m SDR receiver added to WEBSDR

(Softrock  receiver) Where can I get a softrock recever http://www.giga.co.za

I have build my first Softrock Ensemble RXTX for the 30m, 20m and 17m bands.
more details on the receiver and the assembly details can be found at http://www.wb5rvz.com/sdr/ensemble/.


Building the Softrock Ensemble RXTX
Testing the Local Oscillatory
Signal is pure sine wave
I had to add a command line utility to the Linux webSDR server to control the frequency of the receiver via usb port with the following program usbsoftrock.
The program can be found on Google code https://code.google.com/p/usbsoftrock/downloads/list
You will need to compile the code before you can use it.
here is the command that you could use after compilation

sudo usbsoftrock status
Version     : 15.12
USB SerialID: PE0FKO-0
Startup Freq: 14.210000 (x 4.00)
Xtall Freq  : 114.285000
Smooth Tune : 3500 PPM
Si570 I2C   : 55 Hex
  BPF Enabled: 0

Set the frequency you require
   sudo usbsoftrock set freq 14.210

The frequency was a few khz lower and I had to calibrate the frequency using the following command. You can retrieve the frequency at which your Si570's crystal oscillates with the command sudo usbsoftrock calibrate

Version     : 15.12
fXTALL = 114.207544

Calibrating the frequency with the value you got above.

sudo usbsoftrock -x 114.207544 set freq 14.125
Version     : 15.12


Checking the frequency. sudo usbsoftrock getfreq

Version     : 15.12
Frequency   : 14.089549 (x 4.00)


here is the command list

COMMAND is one of
  calibrate (may require -s option)
  getfreq
  getregisters
  interactive
  getptt                                 (-h option for Mobo only)
  getkeys                                (PE0FKO+TF3LJ+Mobo)
  gettone
  ptt {on|off}
  set bpf {on|off}                       (PE0FKO+TF3LJ+Mobo)
  set bpf_addr <band> <filter>           (PE0FKO >= 15.12+Mobo)
  set bpf_point <crossover> <f in MHz>   (PE0FKO+TF3LJ+Mobo)
  set lpf {on|off}                       (TF3LJ+Mobo only)
  set lpf_addr <band> <filter>                   "
  set lpf_point <crossover> <f in MHz>           "
  set freq <frequency in MHz>
  set si570_addr <i2c address in decimal>
  set si570_multiplier [band] <decimal factor>  (PE0FKO>=15.12+Mobo)
  set startup <frequency in MHz>         (PE0FKO+TF3LJ+Mobo)
  set xtall <frequency in MHz>           (PE0FKO+TF3LJ+Mobo)
  status

  where TF3LJ = Lofturs AtMega168 derivative
        Mobo  = Mobo 4.3 Project AT90USB162 Firmware

Thursday, October 4, 2012

Configuring the M-Audio (ICE1712 chip) Delta 44 for webSDR

Here is the steps I had to take to get my  M-Audio (ICE1712 chip) Delta 44 sound card working as a SDR input on a Ubuntu Linux computer.
Where can I get a Delta 44 sound cart interface for my SDR http://www.giga.co.za
or if you looking for softrock SDR you also can get it at  http://www.giga.co.za
Here is a picture of my configuration.






1) The Sound card has 4 input and 4 output ports but could only sample at 24-bit/96kHz full-duplex audio. This means I can only connect two softrocks lite II sound cards to my computer. 96kHz is a bit slow but this is all I can afford at the moment. (Need about 192kHz to display the full  40M band).

2) To configure the Delta 44 to be used for WebSDR was not so easy as I thought.

3) Ubuntu Linux is using  ALSA sound drivers for your sound-card interfaces and it took we a lot of reading to understand how it works.

4) My problem was that the webSDR server was only able to read ALSA devices defined as a 3 digit interface. (hw:[INT],[INT],[INT]) where INT must be replaced by integer values (0,1,2,3....) hw,[CARD],[DEV],[SUBDEV].

5) So I jumped right in and installed the Delta 44 card and needed to find out how to map the card input ports to (hw:[INT],[INT],[INT]) for the webSDR server to read the inputs. (to set the Delta 44 card audio levels run this command sudo envy24control) or a another good command is sudo pavucontrol

So the commands to list available ALSA sound input ports is as follows.



sudo arecord -l


**** List of CAPTURE Hardware Devices ****
card 0: M44 [M Audio Delta 44], device 0: ICE1712 multi [ICE1712 multi]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: IXP [ATI IXP], device 0: ATI IXP AC97 [ATI IXP AC97]
Subdevices: 0/1
Subdevice #0: subdevice #0

So the commands to list available sound output ports is as follows.

sudo aplay -l


**** List of PLAYBACK Hardware Devices ****
card 0: M44 [M Audio Delta 44], device 0: ICE1712 multi [ICE1712 multi]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: IXP [ATI IXP], device 0: ATI IXP AC97 [ATI IXP AC97]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: IXP [ATI IXP], device 1: ATI IXP IEC958 [ATI IXP IEC958 (AC97)]
Subdevices: 1/1
Subdevice #0: subdevice #0

So in my case the the M-Audio sound card is 0 and my build in motherboard card Card 1. So we need to find out what is the sub device for this card 0.(What I found is if you reboot your computer the cards mite swap but if you explicit name the card on it's name M44  and not 0 it will always use the correct card)
sudo arecord -L


Home directory /home/anton not ours.
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=M44
    M Audio Delta 44, ICE1712 multi
    Default Audio Device
front:CARD=M44,DEV=0
    M Audio Delta 44, ICE1712 multi
    Front speakers
surround40:CARD=M44,DEV=0
    M Audio Delta 44, ICE1712 multi
    4.0 Surround output to Front and Rear speakers
surround41:CARD=M44,DEV=0
    M Audio Delta 44, ICE1712 multi
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=M44,DEV=0
    M Audio Delta 44, ICE1712 multi
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=M44,DEV=0
    M Audio Delta 44, ICE1712 multi
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
iec958:CARD=M44,DEV=0
    M Audio Delta 44, ICE1712 multi
    IEC958 (S/PDIF) Digital Audio Output
default:CARD=IXP
    ATI IXP, ATI IXP AC97
    Default Audio Device
front:CARD=IXP,DEV=0
    ATI IXP, ATI IXP AC97
    Front speakers
surround40:CARD=IXP,DEV=0
    ATI IXP, ATI IXP AC97
    4.0 Surround output to Front and Rear speakers
surround41:CARD=IXP,DEV=0
    ATI IXP, ATI IXP AC97    
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=IXP,DEV=0
    ATI IXP, ATI IXP AC97
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=IXP,DEV=0
    ATI IXP, ATI IXP AC97
    5.1 Surround output to Front, Center, Rear and Subwoofer speakersSo the IXP sound card is the one on the motherboard.

Ok I now have all the sound card info and need to configure the ALSA sound system environment to expose my sound card inputs as a 3 digit device.(eg hw:0,0,0 .....) I also have a additional requirement where I want to have multiple audio clients connect to the same input.
I want my SDR server to read the audio inputs and I also want my beacon / PSK monitoring application to monitor the SDR output. The sharing of the SDR output will have to be done by Linux application called jack.

The jack server will have to be configured to read SDR audio output and and allow the webSDR and other applications use the same audio stream.

configuring the ALSA file ~/.asoundrc or the /etc/asound.conf to define hardware audio interfaces.
The following options need to be configured in this file.

1) ALSA devices (hardware) and ALSA plugins (software).
2)  Device hw: and plughw: plugin give you access to the physical hardware. Both have as parameters the card (ID string or numerical index)
2) Control interface for the card.
3) Additional plugins for the card.
3.1) mixer, snoop , rate , lost more ......



ALSA recording device name for my M-Audio delta 44 (pcm.sdrM44Record) all 4 inputs
ALSA Playback device name pcm.sdrM44Play all 4 outputs


Here is my configuration file  ~/.asoundrc

#This configeration file is for sdr server pc.
#This pc has 3 sound cards
# 1) IXP motherboard (1 sterio input and 1 sterio output)
# 2) M44 M-Audio Delta 44 (4 mono inputs and 4 mono outputs)
# 3) Audiophile192 M-Audio Audiophile 192 (2 mono inputs and 2 mono outputs)

#************************** pcm definition ************************************
pcm.sdrMIXP_card{# interal sound card
        type hw
        card IXP #internal sound card
}
pcm.sdrM44_card {# defining the card to be used
     type hw
     card M44 # this has to be done to force reboot to point to same card
}
pcm.sdrAudiophile192_card {# defining the card to be used
     type hw
     card Audiophile192 # this has to the same as above to force reboot to point to same card
}
#************************* controle section ***********************************
ctl.sdrM44_card {#defining the control interface
     type hw
     card M44 # this has to the same as above
     }

ctl.sdrAudiophile192_card {#defining the control interface
     type hw
     card  Audiophile192 # this has to the same as above
     }

ctl.sdrIXP_card {#defining the control interface
     type hw
     card IXP  # this has to the same as above
     }

#******************************** channel dev *****************************
#        0 1   # front left
#        1 0   # front right
#        2 6   # rear left
#        3 7   # rear right
#        4 2   # center
#        5 3   # lfe
#        6 4   # side left
#        7 5   # side right

pcm.sdrM44_channel1 {#(only has 4 mono inputs/outputs)
    type plug #
    ttable.0.0 1 # studio monitor ...Delta 1 L
    ttable.0.1 1 # studio monitor ...Delta 2 R
#    slave.pcm ice1712
     slave.pcm pcm.sdrM44_card
}
pcm.sdrAudiophile192_channel1 {#(Only has 2 mono inputs/outputs)
    type plug #
    ttable.0.0 1 # studio monitor ...Delta 1 L
    ttable.0.1 1 # studio monitor ...Delta 2 R
    slave.pcm ice1724
}

pcm.sdrM44_channel2 {#(only has 2 mono inputs/outputs)
    type plug
    ttable.0.2 1 # studio monitor ...Delta 3 L
    ttable.0.3 1 # studio monitor ...Delta 4 R
    slave.pcm ice1712
}

#******************************** dmixer ***************************************
pcm.dmixer_M44 { # slave plugin dmixer
     type dmix
     ipc_key 4714
     slave {
     pcm sdrM440_card
     format S32_LE
     period_time 0
     channels 2 # 4 input
     period_size 512
     buffer_size 4096
     }
#     bindings {
#             0 0
#             1 1
#     }
}
#****************************** dsnoop ***************************************
pcm.dsnooper_M44 {
     type dsnoop #This plugin splits one capture stream to more streams
     ipc_key 4711
         slave {
         pcm sdrM44_card
         channels 2
         format S32_LE
         period_time 0
         period_size 512
         buffer_size 4096
        rate 96000
#       ttable.0.0 1 # studio monitor ...Delta 1 L
#       ttable.0.1 1 # studio monitor ...Delta 2 R
         }
         bindings {
                       0 0
                       1 1
         }
}
pcm.dsnooper_Audiophile192 {
     type dsnoop #This plugin splits one capture stream to more streams
     ipc_key 4711
         slave {
         pcm Audiophile192_card
         format S32_LE
         period_time 0
         period_size 512
         buffer_size 4096
         }
         bindings {
                       0 0
                       1 1
         }
}
#******************************* play ****************************************
pcm.sdrM44Play {# ouput
     type plug
     slave {
     pcm "dmixer_M44"
     }
}
#****************************** recording ***********************************
pcm.sdrM44Record { # input
     type plug
     slave {
     pcm "dsnooper_M44"
     }
}

pcm.sdrAudiophile192Record { # input
     type plug
     slave {
     pcm "dsnooper_Audiophile192"
     }
}


In webSDR I just add a device $pcm.sdrM44Record in place of $hw:0,0,0




I got the info from http://www.ruby-forum.com/topic/2162026


here is the jack configuration if you want to add jack.


pcm.jackplug {
 type plug
 slave { pcm "jack" }
}

pcm.jack {
 type jack
 playback_ports {
  0 pcm.sdrM44Play 

  
 }
 capture_ports {
  0 pcm.sdrM44Record

  
 }
}

I will add some more info as I get time.

Friday, August 3, 2012

My WebSDR on 2M Satellite and ISS frequency

I have disabled the 2M SDR until I can fix the adjacent channel interference.
I am only running the 40m SDR for now.



My WebSDR on 2M Satellite and ISS frequency seems to be stable with some adjacent channel interference.
I will try and make some change with a different antenna to reduce the interference.(Eggbeater antenna)
Here is the link http://zr6aic.giga.co.za:8901/
Here is also a very nice link to find out what is herd from a satellite point of view (live Sat DX spot)
 http://www.dxsummit.fi/CustomFilter.aspx?customCount=50&customRange=507

Beacons http://users.iafrica.com/z/zs/zs5s/bulls/BCNQRT.TXT

Tuesday, July 17, 2012

Building my first SDR (Software Defined Radio)

Wow my SDR on 40m is up and running. 

(Softrock  receiver) Where can I get a receiver kit http://www.giga.co.za
Here is the details
Here is the link to to the webSDR server http://zr6aic.giga.co.za:8901/
Add caption
I am starting to build a SoftRock Lite II SDR receiver for 40m Band and will publish my experiences with the construction and testing.
I will use my default Ubuntu sound card that could only sample 96Khz but will be looking for a internal or external sound card that would be able to sample 192khz/24 to replace the 96Khz card to give me bettor bandwidth on 40m.
Here is some pictures during the construction and testing process.




Sort all your components and measure and label them before you start assembly
Check the numbers on the Capacitors carefully


I used Solder paste to put on the surface mount components before I placed them on the board
Her is the PCB with solder paste on IC Pads
Transformer wound


Softrock lite II testing the local oscillator divider on 40m.
28,22 Mhz (40m) Mixer I and Q input signals on scope.



Testing your Local oscillator as in assembly document

Testing the Oscillator

Wounding the inductors. (Keeping track of the amount of wounding is important)



Following the test on the assembly instructions

And some more test





I am still waiting for some toroid rings to complete the Softrock kit but decided to expose my Funcube on the satellite part of the 2M band in the mean time.
I now have two softrock receivers on webSDR receiver (80,40,30,20M bands)
Here is the link http://zr6aic.giga.co.za:8901/