Matlab提取S参数文件中的相关数据并画图

这篇具有很好参考价值的文章主要介绍了Matlab提取S参数文件中的相关数据并画图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

学习目标:

背景介绍:

学习内容:

一、 Matlab提取S参数相关函数用法简介

sparameters()用法:

rfparam()用法:

二、提取到的数据画图举例

三、总结:


学习目标:

  • 能熟练使用Matlab提取S参数(一般是s2p文件)并画图分析。

背景介绍:

七月份毕业入坑射频行业,经常需要处理大量数据,其中就包括矢量网络分析仪采集到的S参数,由于实验室电脑没有ADS,便打算用Matlab进行数据的提取和画图分析,写这篇文章的目的主要是记录自己的学习成果,同时也给有需要的同行们分享自己学到的一些的东西。

学习内容:

一、 Matlab提取S参数相关函数用法简介

很多二端口射频芯片的DataSheets通常都是把S11、S21、S12、S22分别画在同一张图中的形式呈现,本人用到的主要函数有sparameters()和rfparam()。

sparameters()用法:

sparameters()函数可以返回一个s2p文件的S-parameters object,在matlab命令行窗口可以看到它的返回值如下:

matlab画snp文件,matlab,开发语言

提取频率(单位为GHz)数据如下:

filename = "E:\Matlab Projects\S参数\2.s2p";

S = sparameters(filename); % S里面包含:Impedance,NumPorts,Frequencies,Parameters
disp(S);
FreqGHz = S.Frequencies/1e9; %提取出频点
disp(FreqGHz);

matlab画snp文件,matlab,开发语言

rfparam()用法:

rfparam(obj,i,j) 能返回S-parameter Sij,比如:rfparam(S,2,1)就返回S21复数形式的列数据,其中S是指sparameters()函数的返回值,代码和返回值如下:

filename = "E:\Matlab Projects\S参数\2.s2p";

S = sparameters(filename);
FreqGHz = S.Frequencies/1e9;

S21 = rfparam(S,2,1);  % rfparam(S,2,1)中,2指数据文件保存时对应的矢网端口2;同理,1指端口1.

为了直观查看数据对应的回波损耗、增益、反向隔离度的dB值,采用了对数转换计算,代码和返回值如下:

filename = "E:\Matlab Projects\S参数\2.s2p";

S = sparameters(filename);

S11 = 20*log10(abs(rfparam(S,1,1))); %提取S11对应的dB值
S21 = 20*log10(abs(rfparam(S,2,1))); %提取S21对应的dB值
S12 = 20*log10(abs(rfparam(S,1,2))); %提取S12对应的dB值
S22 = 20*log10(abs(rfparam(S,2,2))); %提取S22对应的dB值

disp([S11,S21,S12,S22]); %显示[S11,S21,S12,S22]二位数组的值

matlab画snp文件,matlab,开发语言

二、提取到的数据画图举例

前面已经能提取S参数数据了,接下来就是通过画图展现,就直接用plot()函数画图即可,如下是代码和图片演示:

clc
clear
close all

filename = "E:\Matlab Projects\S参数\2.s2p";

S = sparameters(filename);

FreqGHz = S.Frequencies/1e9;

S11 = 20*log10(abs(rfparam(S,1,1))); 
S21 = 20*log10(abs(rfparam(S,2,1)));
S12 = 20*log10(abs(rfparam(S,1,2)));
S22 = 20*log10(abs(rfparam(S,2,2)));

figure(1)
plot(FreqGHz,S11);hold on; %画图
grid on; %添加网格
xlim([FreqGHz(1) FreqGHz(end)]); %X轴上下限设置
legend("S11",'Location','best'); %添加图例
title("S11 vs Frequency"); %添加图表标题
xlabel("Frequency(GHz)"); %添加X轴标签
ylabel("S11(dB)"); %添加y轴标签

figure(2)
plot(FreqGHz,S21);hold on; %画图
grid on; %添加网格
xlim([FreqGHz(1) FreqGHz(end)]); %X轴上下限设置
legend("S21",'Location','best'); %添加图例
title("S21 vs Frequency"); %添加图表标题
xlabel("Frequency(GHz)"); %添加X轴标签
ylabel("S21(dB)"); %添加y轴标签

figure(3)
plot(FreqGHz,S12);hold on; %画图
grid on; %添加网格
xlim([FreqGHz(1) FreqGHz(end)]); %X轴上下限设置
legend("S12",'Location','best'); %添加图例
title("S12 vs Frequency"); %添加图表标题
xlabel("Frequency(GHz)"); %添加X轴标签
ylabel("S12(dB)"); %添加y轴标签

figure(4)
plot(FreqGHz,S22);hold on; %画图
grid on; %添加网格
xlim([FreqGHz(1) FreqGHz(end)]); %X轴上下限设置
legend("S22",'Location','best'); %添加图例
title("S22 vs Frequency"); %添加图表标题
xlabel("Frequency(GHz)"); %添加X轴标签
ylabel("S22(dB)"); %添加y轴标签

matlab画snp文件,matlab,开发语言

matlab画snp文件,matlab,开发语言

matlab画snp文件,matlab,开发语言

matlab画snp文件,matlab,开发语言

三、总结:

以上便是本菜鸟工作接近四个月总结的一小部分Matlab提取S参数画图的程序,当然也可以批量获取不同温度或者不同电压下的数据画在同一张图中做对比,感兴趣的小伙伴可以一起交流哦。文章来源地址https://www.toymoban.com/news/detail-858389.html

到了这里,关于Matlab提取S参数文件中的相关数据并画图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 提取图像中的曲线并用于计算(MATLAB)

    应小姐姐所邀 原因是小姐姐拿到供应商的一张图表,但是没有具体的数值,更糟糕的是她还想对图中的几条曲线求和。。。。 在这个提供了一种使用matlab提取曲线的方式; 1、首先根据图表颜色筛选出曲线的像素点坐标(彩色图像) 2、根据图像的像素和实际标注额尺寸进行

    2024年02月13日
    浏览(39)
  • Matlab:将文本文件中的数值数据导入矩阵

    从存储为逗号分隔的或带分隔符的文本文件的文件中,将数值数据导入为 MATLAB® 数组。 以下示例说明如何从文本文件中导入逗号分隔的数值数据。创建样本文件,读取文件中的所有数据,然后仅读取从指定位置开始的部分数据。 创建一个名为 ph.dat 且包含逗号分隔的数据的

    2024年02月01日
    浏览(39)
  • 通过matlab能提取体育视频中的运动员,采用互动方式动态提示人员信息

    目录 一、理论基础 二、核心程序 三、仿真结论 在MATLAB中生成Flash互动视频并结合XML文件,需要以下步骤: 创建Flash动画: 使用Adobe Animate(前身为Flash Professional)创建Flash动画。设计互动元素、动画效果等,并将其导出为SWF(Shockwave Flash)文件。 生成XML文件: 创建一个

    2024年02月03日
    浏览(31)
  • 信号数据的‘包络谱’提取 及Matlab实现代码

    目录 1、使用 hilbert 函数提取包络。  2、使用envelope函数直接生成信号包络并修改其计算方式。         创建双边带幅值调制信号,以此信号作为讲解样本。载波频率为 1 kHz。调制频率为 50 Hz。调制深度为 100%。采样率为 10 kHz。         包络是由  hilbert  计算的解析

    2024年02月16日
    浏览(57)
  • 【MATLAB源码-第139期】基于matlab的OFDM信号识别与相关参数的估计,高阶累量/小波算法调制识别,循环谱估计,带宽估计,载波数目估计等等。

    在现代无线通信系统中,正交频分复用(OFDM)因其高效的频谱利用率、强大的抗多径衰落能力以及灵活的带宽分配等优势,成为了一种非常重要的调制技术。然而,随着无线通信网络的复杂性增加,对OFDM信号的识别与参数估计提出了更高的要求。这不仅是为了提高通信质量

    2024年02月19日
    浏览(44)
  • 基于MATLAB长时间序列遥感数据植被物候提取与分析

    MATLAB MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 [1] MATLAB是matrixlaboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视

    2024年02月14日
    浏览(41)
  • MATLAB科学绘图-MATLAB画图技巧与实例(一):常用函数

    Matlab拥有强大的绘图功能,内置了很多绘图函数,只需要给出一些基本参数就能得到所需图形,这类函数称为 高层绘图函数 。 此外,Matlab还提供了直接对图形句柄进行操作的 低层绘图操作 。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象

    2024年02月03日
    浏览(45)
  • 基于FPGA的图像sobel边缘提取算法开发,包括tb测试文件以及matlab验证代码

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 vivado2019.2 matlab2022a         图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部

    2024年02月10日
    浏览(43)
  • matlab画图方法(持续更)

    创建画布:figure(1);         % 在同一个脚本文件里面,要想画多个图,需要给每个图编号,否则只会显示最后一个图 plot(x, y, \\\'o\\\', new_x, p, \\\'r--\\\') plot(x1,y1,x2,y2)          在各个分块位置创建坐标区。 subplot(m,n,p)当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。   

    2024年02月12日
    浏览(43)
  • Matlab 用矩阵画图

    本文汇总了 Matlab 用矩阵画图的几种方式。 关于 *.mat 文件 *.mat 文件是 matlab 的数据存储的标准格式,它是标准的二进制文件,还可以 ASCII 码形式保存和加载,在 MATLAB 中打开显示类似于单行 EXCEL 表格,加载和存储 mat 文件的语法: 用矩阵画图主要有如下几种方式: 下面是一

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包