2 % Copyright 2001 Free Software Foundation, Inc.
4 % This file is part of GNU Radio
6 % GNU Radio is free software; you can redistribute it and/or modify
7 % it under the terms of the GNU General Public License as published by
8 % the Free Software Foundation; either version 3, or (at your option)
11 % GNU Radio is distributed in the hope that it will be useful,
12 % but WITHOUT ANY WARRANTY; without even the implied warranty of
13 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 % GNU General Public License for more details.
16 % You should have received a copy of the GNU General Public License
17 % along with GNU Radio; see the file COPYING. If not, write to
18 % the Free Software Foundation, Inc., 51 Franklin Street,
19 % Boston, MA 02110-1301, USA.
21 %% equivalent to the C++ code in VrComplexFIRfilter::buildFilterComplex
25 %% hamming window, nothing fancy
27 function taps = build_filter_complex_lp (gain, ntaps)
29 taps = gain * (0.54 - 0.46 * cos (2 * pi * (0:ntaps-1)' / (ntaps-1)));
33 %% old_taps describes a low pass filter, convert it to bandpass
34 %% centered at center_freq. center_freq is normalized to Fs (sampling freq)
36 function new_taps = freq_shift_filter (old_taps, center_freq)
38 ntaps = length(old_taps);
40 new_taps = exp (j*2*pi*center_freq*(0:ntaps-1)') .* old_taps;