HW 13b

From Class Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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