HW 13b

From Class Wiki
Revision as of 16:02, 17 December 2008 by Fonggr (talk | contribs) (→‎Adaptive Filter)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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