Анализируйте линию электропередачи

Обзор

В этом примере вы используете интерфейс командной строки 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 object. The axes object 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 object. The axes object 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 object. The axes object 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 страница с описанием..

Похожие темы