Визуализация шпор микшера

В этом примере показано, как создать rfckt.mixer возразите и постройте шпоры микшера того объекта.

Микшеры являются нелинейными устройствами, используемыми в системах RF. Они обычно используются, чтобы преобразовать сигналы от одной частоты до другого. В дополнение к желаемой выходной частоте микшеры также производят продукты межмодуляции (также названный шпорами микшера), которые являются нежелательными побочными эффектами их нелинейности. Выход микшера происходит на частотах:

Fout(N,M)=|NFin+MFLO|

где:

  • Fin входная частота.

  • FLO частота локального генератора (LO).

  • N неотрицательное целое число.

  • M целое число.

Только одна из этих выходных частот является желаемым тоном. Например, в микшере понижающего преобразования (i.e. Fin=FRF) с LO низкой стороны (i.e. FRF>FLO), случай N=1, M=-1 представляет желаемый выходной тон. Это:

Fout(1,-1)=FIF=|NFin+MFLO|=FRF-FLO

Все другие комбинации N и M представляйте побочные продукты межмодуляции.

Таблицы межмодуляции (IMTs) часто используются в моделировании уровня системы микшеров. Этот пример сначала исследует IMT микшера. Затем пример читает .s2d файл формата, содержащий IMT и графики выходная мощность на каждой выходной частоте, включая желаемый сигнал и нежелательные шпоры. Пример также создает каскадную схему, которая содержит микшер с IMT, сопровождаемым фильтром, цель которого состоит в том, чтобы смягчить шпоры и строит выходную мощность до и после смягчения.

Для получения дополнительной информации о IMTs смотрите, что пример OpenIF Находит Свободную Пропускную способность IF.

Создайте объект микшера из файла данных

Создайте rfckt.mixer объект представлять downconverting микшер, который задан в файле, samplespur1.s2d. Микшер характеризуется S-параметрами, точечным шумом и IMT. Эти данные хранятся в NetworkData, NoiseData и MixerSpurData свойства rfckt объект, соответственно.

Mixer = rfckt.mixer('FLO', 1.7e9);      % Flo = 1.7GHz
read(Mixer,'samplespur1.s2d');
disp(Mixer)
   rfckt.mixer with properties:

      MixerSpurData: [1x1 rfdata.mixerspur]
          MixerType: 'Downconverter'
                FLO: 1.7000e+09
         FreqOffset: []
    PhaseNoiseLevel: []
          NoiseData: [1x1 rfdata.noise]
      NonlinearData: Inf
           IntpType: 'Linear'
        NetworkData: [1x1 rfdata.network]
              nPort: 2
     AnalyzedResult: [1x1 rfdata.data]
               Name: 'Mixer'
IMT = Mixer.MixerSpurData.data
IMT = 16×16

    99    26    35    39    50    41    53    49    51    42    62    51    60    47    77    50
    24     0    35    13    40    24    45    28    49    33    53    42    60    47    63    99
    73    73    74    70    71    64    69    64    69    62    74    62    72    60    99    99
    67    64    69    50    77    47    74    44    74    47    75    44    70    99    99    99
    86    90    86    88    88    85    86    85    90    85    85    85    99    99    99    99
    90    80    90    71    90    68    90    65    88    65    85    99    99    99    99    99
    90    90    90    90    90    90    90    90    90    90    99    99    99    99    99    99
    90    90    90    90    90    87    90    90    90    99    99    99    99    99    99    99
    99    95    99    95    99    95    99    95    99    99    99    99    99    99    99    99
    90    95    90    90    90    99    90    99    99    99    99    99    99    99    99    99
      ⋮

Постройте выходной сигнал микшера и шпоры

Используйте plot метод rfckt возразите, чтобы построить степень желаемого выходного сигнала и шпор. Второй входной параметр должен быть строкой 'MIXERSPUR'. Третий входной параметр должен быть индексом схемы, для которой можно отобразить данные о выходной мощности на графике. rfckt.mixer объект только содержит одну схему (микшер), таким образом, индекс 0 соответствует входу микшера, и индекс 1 соответствует микшеру выход.

CktIndex = 1;       % Plot the output only
Pin = -10;          % Input power is -10dBm
Fin = 2.1e9;        % Input frequency is 2.1GHz
figure
plot(Mixer,'MIXERSPUR',CktIndex,Pin,Fin);

Используйте Data Cursor

Запустите курсор по графику получить частоту и уровень мощности каждого сигнала и шпоры.

Создайте каскад

Создайте объект усилителя для LNA, микшера и объектов Мишени Полосы пропускания LC. Затем создайте каскад, показанный в следующем рисунке:

FirstCkt = rfckt.amplifier('NetworkData', ...
    rfdata.network('Type','S','Freq',2.1e9,'Data',[0,0;10,0]), ...
    'NoiseData',0,'NonlinearData',Inf);  	    % 20dB LNA
SecondCkt = copy(Mixer);                        % Mixer with IMT table
ThirdCkt = rfckt.lcbandpasstee('L',[97.21 3.66 97.21]*1.0e-9, ...          
    'C',[1.63 43.25 1.63]*1.0e-12);             % LC Bandpass filter                                             
CascadedCkt = rfckt.cascade('Ckts',{FirstCkt,SecondCkt,ThirdCkt});

Постройте Выходной сигнал, и Шпоры LC просачиваются Каскад

Используйте plot метод rfckt возразите, чтобы построить степень желаемого выходного сигнала и шпор. Третьим входным параметром является 3, который направляет тулбокс, чтобы построить степень при выходе третьего компонента каскада (фильтр LC).

CktIndex = 3;       % Plot the output signal and spurs of the LC filter, 
                    % which is the 3rd circuit in the cascade
Pin = -30;          % Input power is -30dBm
Fin = 2.1e9;        % Input frequency is 2.1GHz
plot(CascadedCkt,'MIXERSPUR',CktIndex,Pin,Fin)

Постройте каскадный сигнал и шпоры в 3D

Используйте plot метод rfckt объект с третьим входным параметром 'all' построить входную мощность и выходную мощность после каждого элемента схемы в каскаде. Индекс 0 схемы соответствует входу каскада. Индекс 1 схемы соответствует выходу LNA. Индекс 2 схемы соответствует выходу микшера, который показали в предыдущем графике. Индекс 3 схемы соответствует выходу фильтра Мишени Полосы пропускания LC.

CktIndex = 'all';   % Plot the input signal, the output signal, and the 
                    % spurs of the three circuits in the cascade: FirstCkt,
                    % SecondCkt and ThirdCkt
Pin = -30;          % Input power is -30dBm 
Fin = 2.1e9;        % Input frequency is 2.1GHz
plot(CascadedCkt,'MIXERSPUR',CktIndex,Pin,Fin)
view([68.5 26])