Сгенерируйте беспроводную форму волны в Simulink Используя сгенерированный приложением блок

В этом примере показано, как сконфигурировать и использовать блок, который сгенерирован с помощью Экспорта в возможность Simulink, которая доступна в приложении Wireless Waveform Generator.

Введение

Приложение Wireless Waveform Generator является интерактивным инструментом для создания, повреждения, визуализации и экспорта форм волны. Можно экспортировать форму волны в рабочую область или в .mat или .bb файл. Можно также экспортировать параметры генерации сигналов в выполнимый скрипт MATLAB® или блок Simulink®. Можно использовать экспортируемый блок Simulink, чтобы воспроизвести форму волны в Simulink. В этом примере показано, как использовать Экспорт в поддержку Simulink приложения и как сконфигурировать экспортируемый блок, чтобы сгенерировать формы волны в Simulink.

Несмотря на то, что этот пример фокусируется на экспорте формы волны OFDM, тот же процесс запрашивает все поддерживаемые типы формы волны.

Экспортируйте беспроводную настройку формы волны в Simulink

Откройте приложение Wireless Waveform Generator путем нажатия на значок приложения на вкладке Apps при Обработке сигналов и Коммуникациях. В качестве альтернативы введите wirelessWaveformGenerator в командной строке MATLAB.

В разделе Waveform Type выберите форму волны OFDM путем нажатия на OFDM. В крайней левой панели приложения настройте любые параметры конфигурации для выбранной формы волны. Затем экспортируйте настройку путем нажатия на Export в панели инструментов приложения и выбора Export to Simulink.

Экспорт в опцию Simulink создает блок Simulink, который выводит выбранную форму волны, когда вы запускаете модель Simulink. Блок экспортируется в новую модель, если никакие открытые модели не существуют.

modelName = 'WWGExport2SimulinkBlock';
open_system(modelName);

Form выход после итогового значения данных параметрами блоков задает выход после всех заданных выборок сигнала, сгенерирован. Опциями значения для этого параметра является Cyclic repetition и Setting to zero. Cyclic repetition опция повторяет сигнал с начала после того, как это достигнет последней выборки в сигнале. Setting to zero опция генерирует выходные параметры с нулевым знаком на время симуляции после генерации последней системы координат сигнала. Частота дискретизации Формы волны (Фс) и параметры блоков длины Формы волны выведена из настройки формы волны, которая доступна во вкладке Initialization диалогового окна Mask Editor. Для получения дополнительной информации о параметрах блоков, смотрите Форму волны Из Приложения Wireless Waveform Generator. Этот рисунок показывает параметры экспортируемого блока.

close_system(modelName);

Соедините блок Spectrum Analyzer с экспортируемым блоком.

modelName = 'WWGExport2SimulinkModel';
open_system(modelName);

Симулируйте модель, чтобы визуализировать форму волны с помощью текущей настройки.

sim(modelName);

Блок Spectrum Analyzer наследовал частоту дискретизации Формы волны (Фс) параметр, который составляет 64 МГц.

close_system(modelName);

Измените беспроводную настройку формы волны

Когда вы запускаете модель Simulink, экспортируемый блок выводит форму волны, сгенерированную во вкладке Initialization диалогового окна Mask Editor для блока. Код MATLAB, который инициализирует форму волны в этой вкладке, соответствует настройке, которую вы выбрали в приложении Wireless Waveform Generator прежде, чем экспортировать блок. Чтобы изменить настройку формы волны, выберите одну из этих опций:

  • Откройте приложение Wireless Waveform Generator, выберите настройку по вашему выбору и экспортируйте новый блок. Эта опция предоставляет взаимодействию с интерфейсом приложения вместо кода MATLAB, валидации области значений параметра во время процесса параметризации и визуализации формы волны прежде, чем запустить модель Simulink.

  • Обновите параметры конфигурации, которые доступны во вкладке Initialization диалогового окна Mask Editor экспортируемого блока. Эта опция требует изменения кода MATLAB, доступного в этой вкладке так, чтобы валидация области значений параметра произошла только, когда вы применяете изменения. Эта опция не обеспечивает визуализацию формы волны прежде, чем запустить модель Simulink. Изменение параметров формы волны с помощью этой опции не рекомендуется, если вы не знакомы с кодом MATLAB, который генерирует выбранную форму волны.

Если вы принимаете решение изменить настройку при помощи вкладки Initialization, можно открыть его путем нажатия на экспортируемый блок, нажатия Ctrl+M, чтобы открыть Редактор Маски диалоговое окно и нажатия на вкладку Initialization.

Используйте код MATLAB, который доступен во вкладке Initialization, чтобы обновить параметры по вашему выбору. Например, установите расстояние между поднесущими, scs, к 1 500 000 Гц.

Нажмите ОК, чтобы применить изменения и закрыть диалоговое окно Mask Editor. Симулируйте модель, чтобы визуализировать обновленную форму волны.

modelName = 'WWGExport2SimulinkModelSCSModified';
sim(modelName);

Блок Spectrum Analyzer теперь показывает частоту дискретизации 96 МГц, которая является 1.5 раза предыдущей частотой дискретизации, как ожидалось.

Совместно используйте беспроводную настройку формы волны с другими блоками в модели

Чтобы получить доступ к параметрам блоков только для чтения и параметрам конфигурации формы волны, используйте UserData общее свойство блока, которое является структурой с этими полями.

  • WaveformConfig: Настройка формы волны

  • WaveformLength: Длина формы волны

  • Fs: Частота дискретизации формы волны

Можно получить доступ к пользовательским данным экспортируемого блока при помощи get_param функция.

get_param([gcs '/OFDM Waveform Generator'],'UserData')
ans = 

  struct with fields:

    WaveformConfig: [1x1 comm.OFDMModulator]
    WaveformLength: 8000
                Fs: 96000000

Сохраните структуру, доступную в пользовательских данных в переменной базового рабочего пространства при помощи InitFcn в коллбэке. InitFcn коллбэк выполняется во время обновления модели и симуляции. Чтобы использовать этот коллбэк, кликните по вкладке MODELING, затем кликните по выпадающему списку Настроек Model и кликните по опции Model Properties. В панели Коллбэков выберите InitFcn 'callback'. Присвойте пользовательские данные новой переменной базового рабочего пространства (например, cfg).

Параметры, которые доступны в пользовательских данных экспортируемого блока, обновляются каждый раз, когда вы применяете изменения конфигурации во вкладке Initialization.

Чтобы демодулировать форму волны OFDM, добавьте блок OFDM Demodulator в модель. Соедините блок AWGN Channel между Генератором Формы волны OFDM и блоки Демодулятора OFDM, чтобы добавить белый Гауссов шум во входной сигнал. Также добавьте блок Constellation Diagram, чтобы построить демодулируемые символы.

modelName = 'WWGExport2SimulinkModelWithDemod';
open_system(modelName);

Параметры, которые требуются, чтобы конфигурировать блок OFDM Demodulator, должны совпадать с параметрами, которые используются, чтобы сконфигурировать экспортируемый блок, (в противном случае, сбои демодуляции). Чтобы получить доступ к параметрам конфигурации экспортируемого блока, используйте переменную cfg. Этот рисунок показывает параметры блока OFDM Demodulator.

Поскольку блок OFDM Demodulator требует целой формы волны OFDM для демодуляции, установите Выборки на параметр системы координат в экспортируемом блоке к cfg.WaveformLength. Симулируйте модель.

sim(modelName);

После демодуляции формы волны OFDM при помощи блока OFDM Demodulator блок Constellation Diagram отображает получившиеся символы QAM.

Сгенерируйте формы волны мультинесущей

Для генерации мультинесущей частоты дискретизации для всех форм волны должны быть тем же самым. Чтобы переключить формы волны к смещению несущей и агрегировать их, можно использовать блок Multiband Combiner.

modelName = 'WWGExport2SimulinkMulticarrier';
open_system(modelName);

Чтобы переключить формы волны в частоте, вам придется увеличить частоты дискретизации. Блок Multiband Combiner предоставляет возможность сверхдискретизировать входные формы волны прежде, чем переключить и объединить их. Этот рисунок показывает параметры блока Multiband Combiner.

Симулируйте модель, чтобы визуализировать формы волны, которые сосредоточены в-80, 20, и 100 МГц.

sim(modelName);

Смотрите также

Приложения

Блоки

Похожие темы