Проект полосно-пропускающего фильтра IF Butterworth

В этом примере показано, как спроектировать полосовой фильтр промежуточной частоты (IF) Butterworth с центральной частотой 400 МГц, шириной полосы 5 МГц и Insertion Loss (IL) 1dB [1].

Счет несоответствия/потерь при вставке (IL)

Практические схемы страдают определенной степенью несоответствия. Несоответствие происходит, когда несопоставленная схема соединяется с источником RF, что приводит к отражениям, которые приводят к потере степени, поданной в схему. Вы можете использовать IL, чтобы определить это несоответствие. Вычислите несоответствие импеданса нагрузки для расчета данного IL. IL и нормированный импеданс нагрузки (ZL) связаны следующим образом [2], [3]:

IL (dB) = -10 * log10 ( 1-|γin |^2) = -10 * log10 (4 * ZL/( 1 + ZL) ^ 2)

Корни получившегося полинома возвращают значение нормированного импеданса нагрузки. Ненормализованные значения составляют 132,986 Ом и 18,799 Ом. Выберите более высокое значение для создания фильтра, чтобы принять во внимание IL.

syms ZL IL
eqn = -10*log10(4*ZL/(1+ZL)^2) - IL == 0;
[solx, ~, ~] = solve(eqn,ZL,'ReturnConditions', true);
IL_desired_dB = 1;
Zload = double(subs(solx,IL,IL_desired_dB))*50;

Импеданс нагрузки:

ZL = Zload(2);

Проект фильтра

Использование rffilter для разработки фильтра для требуемых спецификаций.

Fcenter = 400e6;
Bwpass  = 5e6;
if_filter = rffilter('ResponseType','Bandpass',...
    'FilterType','Butterworth','FilterOrder',4,...
    'PassbandAttenuation',10*log10(2),...
    'Implementation','Transfer function',...
    'PassbandFrequency',[Fcenter-Bwpass/2 Fcenter+Bwpass/2],'Zout',ZL);

Постройте графики S-параметров и групповой задержки фильтра

Вычислите S-параметры.

freq = linspace(370e6,410e6,2001);
Sf = sparameters(if_filter, freq);
figure;
line = rfplot(Sf);
lgd = legend;
lgd.Location = "best";
[~,freq_index] = min(abs(freq-Fcenter));
datatip(line(3),'DataIndex',freq_index);

Figure contains an axes. The axes contains 4 objects of type line. These objects represent dB(S_{11}), dB(S_{21}), dB(S_{12}), dB(S_{22}).

Всплывающие подсказки показывает 1dB IL при Fcenter = 400 МГц.

Вычислите groupdelay:

gd = groupdelay(if_filter, freq);
figure;
plot(freq/1e6, gd);
xlabel('Frequency (MHz)');
ylabel('Group delay (s)');
grid on;

Figure contains an axes. The axes contains an object of type line.

Вставка фильтра в объект rfbudget

Объект rffilter может быть вставлен непосредственно в rfbudget объект для выполнения анализа бюджета.

rfb = rfbudget(if_filter,Fcenter,-30,Bwpass)
rfb = 
  rfbudget with properties:

               Elements: [1x1 rffilter]
         InputFrequency: 400 MHz
    AvailableInputPower: -30 dBm
        SignalBandwidth:   5 MHz
                 Solver: Friis      
             AutoUpdate: true

   Analysis Results
        OutputFrequency:   400 (MHz)
            OutputPower:   -31 (dBm)
         TransducerGain:    -1 (dB) 
                     NF:     0 (dB) 
                   IIP2:    [] (dBm)
                   OIP2:    [] (dBm)
                   IIP3:   Inf (dBm)
                   OIP3:   Inf (dBm)
                    SNR: 76.99 (dB) 

Ссылки

[1] Хунбао Чжоу, Интервал Ло. «Проект и бюджетный анализ приемника РФ 5.8GHz ETC reader» Опубликовано в Communication Technology (ICCT), 2010, 12-я Международная конференция IEEE, Нанкин, Китай, ноябрь 2010.

[2] Анализ и синтез электронных фильтров, Майкл Г. Эллис, старший, Artech House, глава 7.

[3] RF Circuit Design, Р. Людвиг, Г. Богданов, Pearson Education, глава 2.

См. также

Супергетеродинный приемник, использующий приложение RF Budget Analyzer

Похожие темы