exponenta event banner

Анализ линии передачи

Обзор

В этом примере интерфейс командной строки RF Toolbox™ используется для моделирования отклика во временной области линии передачи параллельных пластин. Вы анализируете сеть в частотной области, вычисляете и строите график отклика сети во временной области и экспортируете модель линии передачи Verilog-A для использования в моделировании на уровне системы.

Построение и моделирование линии передачи

  1. Введите следующую команду в приглашении MATLAB ® для создания цепи (rfckt) объект для представления линии электропередачи длиной 0,1 метра и шириной 0,05 метра:

    tline = rfckt.parallelplate('LineLength',0.1,'Width',0.05);
  2. Введите следующий набор команд в подсказке MATLAB, чтобы определить диапазон частот для анализа линии передачи, а затем выполните анализ:

    f = [1.0e9:1e7:2.9e9];
    analyze(tline,f);

Вычисление функции передачи по линии передачи и ответа временной области

В этой части примера показано, как выполнять следующие задачи:

Расчет передаточной функции

  1. Введите следующую команду в подсказке MATLAB, чтобы извлечь вычисленные значения S-параметра и соответствующие значения частоты для линии передачи:

    [S_Params, Freq] = extract(tline,'S_Parameters');
  2. Введите следующую команду в подсказке MATLAB для вычисления передаточной функции из данных частотного отклика с помощью s2tf функция:

    TrFunc = s2tf(S_Params);

Подгонка и проверка модели передаточной функции

В этой части примера модель рациональной функции подгоняется к передаточной функции. Панель инструментов хранит результаты фитинга в rfmodel объект. Вы используете RF Toolbox freqresp способ проверки соответствия модели рациональной функции.

  1. Введите следующую команду в подсказке MATLAB, чтобы подогнать рациональную функцию к вычисленным данным и сохранить результат в rfmodel объект:

    RationalFunc = rationalfit(Freq,TrFunc)
    RationalFunc = 
       rfmodel.rational with properties:
    
            A: [7x1 double]
            C: [7x1 double]
            D: 0
        Delay: 0
         Name: 'Rational Function'
    
    
  2. Введите следующую команду в подсказке MATLAB для вычисления частотной характеристики данных подогнанной модели:

    [fresp,freq] = freqresp(RationalFunc,Freq);
  3. Введите следующий набор команд в подсказке MATLAB для построения графика амплитуды частотной характеристики соответствующих данных модели и рассчитанных данных:

    figure
    plot(freq/1e9,20*log10(abs(fresp)),freq/1e9,20*log10(abs(TrFunc)))
    xlabel('Frequency, GHz')
    ylabel('Amplitude, dB')
    legend('Fitted Model Data','Computed Data')

    Figure contains an axes. The axes contains 2 objects of type line. These objects represent Fitted Model Data, Computed Data.

    Примечание

    Амплитуда модельных данных очень близка к амплитуде вычисленных данных. Можно управлять компромиссом между точностью модели и сложностью модели, указывая необязательный аргумент допуска. tol, в rationalfit , как описано в разделе «Представление объекта цепи с объектом модели».

  4. Введите следующий набор команд в подсказке MATLAB для построения фазового угла частотной характеристики данных подогнанной модели и вычисленных данных:

    figure
    plot(freq/1e9,unwrap(angle(fresp)),...
         freq/1e9,unwrap(angle(TrFunc)))
    xlabel('Frequency, GHz')
    ylabel('Phase Angle, radians')
    legend('Fitted Data','Computed Data')

    Figure contains an axes. The axes contains 2 objects of type line. These objects represent Fitted Data, Computed Data.

    Примечание

    Фазовый угол данных модели очень близок к фазовому углу вычисленных данных.

Вычислите и постройте график ответа временной области

В этой части примера выполняется вычисление и построение графика отклика линии передачи во временной области.

  1. Введите следующий набор команд в подсказке MATLAB для создания случайного входного сигнала и вычисления временного отклика. tresp, данных подогнанной модели к входному сигналу:

    SampleTime = 1e-12;
    NumberOfSamples = 1e4;
    OverSamplingFactor = 25;
    InputTime = double((1:NumberOfSamples)')*SampleTime;
    InputSignal = ...
         sign(randn(1, ceil(NumberOfSamples/OverSamplingFactor)));
    InputSignal = repmat(InputSignal, [OverSamplingFactor, 1]);
    InputSignal = InputSignal(:);
    
    [tresp,t] = timeresp(RationalFunc,InputSignal,SampleTime);
  2. Введите следующий набор команд в подсказке MATLAB, чтобы отобразить отклик на время данных подогнанной модели:

    figure
    plot(t,tresp)
    xlabel('Time (seconds)')
    ylabel('Response to Random Input Signal')

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

Экспорт модели Verilog-A

В этой части примера выполняется экспорт модели линии передачи Verilog-A. Эту модель можно использовать в других инструментах моделирования для подробного анализа временной области и моделирования системы.

Следующий код иллюстрирует использование writeva метод записи модуля Verilog-A для RationalFunc в файл tline.va. Модуль имеет один вход, tline_inи один выход, tline_out. Метод возвращает status из True, если операция выполнена успешно, и False если это неуспешно.

status = writeva(RationalFunc,'tline','tline_in','tline_out')

Для получения дополнительной информации о writeva метод и его аргументы см. в writeva справочная страница..

Связанные темы