HW 13b: Difference between revisions

From Class Wiki
Jump to navigation Jump to search
(New page: ===Installing Ubuntu=== *[http://www.vmware.com/products/player/ VMWare Player] *[http://vmplanet.net/node/74 Pre-compiled Ubuntu 8.10] **U:vmplanet **P:vmplanet.net ===Installing GNU Radi...)
 
 
(15 intermediate revisions by the same user not shown)
Line 4: Line 4:
**U:vmplanet
**U:vmplanet
**P:vmplanet.net
**P:vmplanet.net
===GNU Radio + GNU Radio Companion===
*GNU Radio Companion is installed with GNU Radio 3.2 and above. Install from the trunk. Synaptic Package Manager will only install 3.0.4
*GNU Radio Companion is the GUI for GNU Radio

===Installing GNU Radio + GNU Radio Companion===
===Installing GNU Radio + GNU Radio Companion===
*Grab the following files from mu/shared/class/engr/455/Adaptive Filter SDR Project/
*GNU Radio Companion is installed with GNU Radio 3.2 and above. Install from the trunk
**grc.tar.gz
*http://gnuradio.org/trac/wiki/UbuntuInstall

===SSB Demodulation===
*Convert the *.auf files (and not the *.au files) using Audacity, note the sampling rate
*Wave source allows you to play the converted *.wav files
*Bandpass filter to single out the 3kHz (and get rid of the 1/f noise at the same time)
*Shift down to baseband with a cosine wave
*Low pass filter to single out the signal at the baseband (and to throw out the signal at +/- 2f)
*Use your favorite sink to hear/see the results

===Octave Help===
[http://wiki.aims.ac.za/mediawiki/index.php/Octave Octave Wiki]

===Adaptive Filter===

Ls = length(Noise2); % Noise & SignalNoise is an Ls by 1 matrix.
N = 20; % Length of adaptive filter
h = zeros(N,1); % Adaptive filter coefficients
mu = 1/(1000*N*var(Noise2)); % Need to change
for k=N:Ls % Offset by the length of the adaptive filter to "start up"
xk = Noise2(k:-1:(k-N+1)); % Flip shift
nhat(k) = (h')*(xk'); % Multiply integrate
e(k) = - SignalNoise(k) + nhat(k); % Error term
h = h - mu*e(k)*xk'/(xk*xk'); % Dividing by D^2 makes it independant of mu
end

====Questions====
*Is h the adaptive filter coefficients? Yes!
*When you save the voice, is it an Nx1 or 1xN matrix?
*whos (octave) will show all variables and their dimensions

===Possibly promising links===
[http://gnuradio.org/doc/doxygen/group__filter.html dOxygen filters]

[http://gnuradio.org/trac/wiki/Octave Using GNU Radio with Octave]

[https://www.cgran.org/wiki/DttSP DttSP + GNU Radio]

Latest revision as of 16:02, 17 December 2008

Installing Ubuntu

GNU Radio + GNU Radio Companion

  • GNU Radio Companion is installed with GNU Radio 3.2 and above. Install from the trunk. Synaptic Package Manager will only install 3.0.4
  • GNU Radio Companion is the GUI for GNU Radio

Installing GNU Radio + GNU Radio Companion

SSB Demodulation

  • Convert the *.auf files (and not the *.au files) using Audacity, note the sampling rate
  • Wave source allows you to play the converted *.wav files
  • Bandpass filter to single out the 3kHz (and get rid of the 1/f noise at the same time)
  • Shift down to baseband with a cosine wave
  • Low pass filter to single out the signal at the baseband (and to throw out the signal at +/- 2f)
  • Use your favorite sink to hear/see the results

Octave Help

Octave Wiki

Adaptive Filter

 Ls = length(Noise2);			% Noise & SignalNoise is an Ls by 1 matrix.
 N = 20;        			% Length of adaptive filter
 h = zeros(N,1);			% Adaptive filter coefficients
 mu = 1/(1000*N*var(Noise2));	        % Need to change
 for k=N:Ls				% Offset by the length of the adaptive filter to "start up"
   xk = Noise2(k:-1:(k-N+1));		% Flip shift
   nhat(k) = (h')*(xk');		% Multiply integrate
   e(k) = - SignalNoise(k) + nhat(k);	% Error term
   h = h - mu*e(k)*xk'/(xk*xk'); 	% Dividing by D^2 makes it independant of mu
 end

Questions

  • Is h the adaptive filter coefficients? Yes!
  • When you save the voice, is it an Nx1 or 1xN matrix?
  • whos (octave) will show all variables and their dimensions

Possibly promising links

dOxygen filters

Using GNU Radio with Octave

DttSP + GNU Radio