В этом примере показано, как спроектировать полосовой фильтр промежуточной частоты (IF) Butterworth с центральной частотой 400 МГц, шириной полосы 5 МГц и Insertion Loss (IL) 1dB [1].
Практические схемы страдают определенной степенью несоответствия. Несоответствие происходит, когда несопоставленная схема соединяется с источником RF, что приводит к отражениям, которые приводят к потере степени, поданной в схему. Вы можете использовать IL, чтобы определить это несоответствие. Вычислите несоответствие импеданса нагрузки для расчета данного IL. IL и нормированный импеданс нагрузки (ZL) связаны следующим образом [2], [3]:
IL (dB) = -10 * log10 ( 1-| |^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-параметры.
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);
Всплывающие подсказки показывает 1dB IL при Fcenter = 400 МГц.
Вычислите groupdelay:
gd = groupdelay(if_filter, freq); figure; plot(freq/1e6, gd); xlabel('Frequency (MHz)'); ylabel('Group delay (s)'); grid on;
Объект 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