Studying VOR Signals with the RTL-SDR

VHF Omni Directional Radio Range (VOR) signals are used in aviation as a short range radio navigational system. Amateur radio hobbyist F4GKR decided to study these VOR signals by recording them using his RTL-SDR, and then analyzing them in MATLAB. On his post he shows his method of analysis and discusses his results.

VOR Spectrum and Waterfall
VOR Spectrum and Waterfall

One comment

  1. priyasloka arya

    I was trying to replicate the analysis result using 2.4 Ms per second wav file captured by HDSDR provided by the author. I am unable to get 30 Hz signal as achieved by Author.

    —————————

    % Close all previous figures
    close all;
    clear;

    No_Of_Sample=400000;
    [y, Fs, nbits]= wavread(‘HDSDR_20140205_185023Z_115533kHz_RF.wav’,No_Of_Sample);
    %[y, Fs, nbits] = wavread(‘HDSDR_20140205_185023Z_115533kHz_RF.wav’);
    %Original Sampling is at 2.4 Mhz

    Fs_Original=Fs;
    %Down Sample to 30Khz
    Fs_Downsample=30e3;
    %Downsample Factor
    Downsample_Factor=(Fs_Original/Fs_Downsample);
    %Downsample_Factor=80;
    size(y(:,1))
    y_d=downsample(y(:,1),Downsample_Factor);
    %y_d=decimate(y(:,1),Downsample_Factor);
    %y_d= resample(y(:,1),1,Downsample_Factor);
    clear y;

    % load(‘VOR_30K.mat’);
    % clear y_d;
    % y_d=out;

    Fech = Fs_Downsample ;
    L = length(y_d);

    freqs = -Fech/2:Fech/L:Fech/2-Fech/L;
    plot( freqs,10*log10(abs(fftshift(fft(y_d)))));

    xlabel(‘Frequency (Hz)’,’fontsize’,9);
    ylabel(‘Level’,’fontsize’,9);

    nyq_freq=Fs_Downsample/2;
    fc=40;
    fn=Fs_Downsample;
    cutoff_norm =fc/nyq_freq;
    order=12;
    fir_coeff = fir1(order, cutoff_norm);
    filtered_signal = filter(fir_coeff, 1, y_d);
    figure;

    plot((filtered_signal));

    figure;
    plot(abs(fft(filtered_signal)));

    grid;
    zoom;

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>