毕业设计记录-matlab自动生成并标注时频图数据集

2023-11-13

2022.1.8日的记录:

陆陆续续几天,玩中带做终于是写好了一个基本的雏形。以后想往里面添加东西就好添了。
首先是文件功能描述。
在这里插入图片描述

caogao:caogao,“草稿”,写程序调试代码的地方。
CreateSignal:生成各种调制的时域信号。
PSK2 : 2PSK调制。
FM : FM调制。
AM:AM调制。
DSB:DSB调制。
Signals_STFT:设置每张图含有的信号种类和数量,将生成的各种信号整合到同一个时间坐标上,选择添加噪声、突发信号,最后生成时频图。时间长度、信号起止时间设定范围内随机。我设置4种信号,每张图信号个数2-8随机如下:
在这里插入图片描述随机生成的图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Main:用来将生成的时频图处理成yolo格式的数据集。包括设置训练集图片数量、将图片分类成训练集和验证集(此处不生成测试集),同时保存含有每个信号的box信息(及信号种类,中心点坐标(x,y),box的宽度和长度)的label文本文件。
文件目录、图片和标签信息:在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

Testbox:使用生成的文本文件中的信息来在原图中画框,目的是为了查看自动生成的标签文件信息是否正确。效果如下:
在这里插入图片描述
在这里插入图片描述

Detect:用来生成用于测试模型的图片。

训练好的模型效果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Main

root_path = 'E:\datasets\2000';% 数据集根路径
train_label_path = [root_path, '\train\labels\'];% 训练集label文本保存路径
train_im_path = [root_path, '\train\images\'];% 训练集label文本保存路径
val_label_path = [root_path, '\valid\labels\'];% 验证集label文本保存路径
val_im_path = [root_path, '\valid\images\'];% 验证集label文本保存路径
im_all_num = 1000; %所有图片的数量
im_train_num = 0.8 * im_all_num;%训练集图片的数量
im_val_num = 0.2 * im_all_num;%验证集所有图片的数量

if signal_class == 2 % 2fsk区别对待
	x = (matrix(n, 2) + (matrix(n, 3) - matrix(n, 2))/2)/120000;  % 中心点横坐标及中心频率
	y = 0.5; % 中心点纵坐标及中心时刻位置
	w = (matrix(n, 3)-matrix(n, 2))/120000 + 14/875;   % 宽度及带宽 为了画出的框可以包含信号而增加像素点
	h = 1;  % 高度及信号时长
else
	x = matrix(n, 3)/120000;  % 中心点横坐标及中心频率
	y = random_time(n, 1); % 中心点纵坐标及中心时刻位置
	w = 2 * matrix(n, 2) / 120000 + 14/875;   % 宽度及带宽 为了画出的框可以包含信号而增加像素点
	h = random_time(n, 2);  % 高度及信号时长
end

Signals_STFT

    %% stft参数设置
    wlen = 1024;% 设置窗口长度
    window = hamming(wlen);% 设置海明窗的窗长
    hop = 1;% 每次平移的步长
    noverlap = wlen - hop; % 重叠长度
%     f = 0:117.1875:120000;% 设置频率刻度hz,出图很慢,不用
    nfft = 2^nextpow2(length(window)); % nfft点数
    fs = 240000;    % 采样频率 频率坐标轴为采样频率的一半
        %% 信号参数设置
    dt = 1/fs;    % 时间精度
    times_tart = 0; % 开始时间
    time_end = 1;   % 结束时间
    t = times_tart:dt:time_end - dt; % 设置时间坐标轴起止时间
    snr = randi([0, 20]); % 设置随机信噪比
    signals_matrix = []; % 用来整合信号类型和频率的矩阵 格式为 class f1 f2
    random_time = []; % 用来整合信号中心时刻和时长的矩阵 格式为 时长 中心时刻
    class = [0, 1, 4, 3]; % 设置信号种类(0开始同python)
                          % 0 AM 1 FM 2 DSB 3 2PSK 4 2FSK
    signals_num = randi([2, 8]); % 每张图信号的数量:28随机
    for i = 1:signals_num
        random_time(i, 2) = unifrnd(0.1, 0.5); % 信号时长0.1-0.5随机
        random_time(i, 1) = unifrnd(random_time(i, 2)/2,...
            1 - random_time(i, 2)/2); % 信号中心时刻在保证信号在图内的前提下在随机
    end

代码链接:https://download.csdn.net/download/gaohuayu66/75394127

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

毕业设计记录-matlab自动生成并标注时频图数据集 的相关文章

  • 如何在matlab中显示图像上的点?

    我有一些像素点 比如 p1 1 1 和 p2 1 10 等等 我想以任何颜色在图像上显示这些点 这个怎么做 MATLAB plot http www mathworks com help techdoc ref plot html文档非常全
  • 在 Matlab、VB6 和 VB.NET 程序之间发送消息的最简单方法

    我们正在将一套数据采集和分析例程从 VB6 程序升级为 VB NET VB6 和 Matlab 程序的混合体 我们希望保持系统模块化 单独的 EXE 以便我们可以轻松创建专门的独立分析程序 而无需不断升级大型应用程序 当所有程序都是用 VB
  • 如何从 Matlab 在 vi​​rtualenv 中执行 Python 代码

    我正在创建一个用于研究的 Matlab 工具箱 我需要执行 Matlab 代码 但也需要执行 Python 代码 我想允许用户从 Matlab 执行 Python 代码 问题是 如果我立即执行此操作 我将必须在 Python 环境中安装所有
  • 从彩色背景中提取黑色对象

    人眼很容易辨别black来自其他颜色 但是计算机呢 我在普通的A4纸上打印了一些色块 由于组成彩色图像有青色 品红色和黄色三种墨水 所以我设置每个块的颜色C 20 C 30 C 40 C 50 以及其余两种颜色是 0 这是我的源图像的第一列
  • 使用 lsqcurvefit 进行拟合

    我想将一些数据拟合到洛伦兹函数 但当我使用不同数量级的参数时 我发现拟合存在问题 这是我的洛伦兹函数 function value lorentz x x0 gamma amp value amp gamma 2 x x0 2 gamma
  • 如何在 MATLAB 中创建带有分级标记颜色的散点图?

    我想在 MATLAB 中绘制一个简单的散点图 标记颜色从光谱的一端到另一端各不相同 例如红色 橙色 黄色 蓝色 紫色 我的数据比较了一段时间内河流的水量和水质 3 个简单的列 时间 水量 质量 我想绘制数量与质量的 x y 散点图 但颜色随
  • 如何打开 matlab p 代码文件

    有谁知道如何查看 matlab p 代码文件的代码 p 代码文件专门存在 以便您可以共享代码 以便其他人无法查看它 换句话说 您看不到 Matlab p 代码文件的代码
  • MATLAB:生成给定三种颜色的颜色图

    我正在尝试在 MATLAB 中生成给定三种颜色 最高值 零值和最低值 的颜色图 我的思维过程是从最高端到中间循环 并将每个步骤存储到一个 3xN 第一列是 R 第二列是 G 第三列是 B 矩阵 所以我正在使用 fade from high
  • 在 Matlab 2014b 中移动等高线图的 z 值

    我正在尝试绘制曲面图 在曲面下方我希望显示轮廓线 但我希望轮廓位于z 1而不是默认值0 我找到了之前关于这个问题的帖子here https stackoverflow com questions 8054966 matlab how to
  • 使用 libsvm 交叉验证后重新训练

    我知道交叉验证用于选择好的参数 找到它们后 我需要在不使用 v 选项的情况下重新训练整个数据 但我面临的问题是 在使用 v 选项训练后 我得到了交叉验证精度 例如 85 没有模型 我看不到 C 和 gamma 的值 在这种情况下我该如何重新
  • 将 Android 应用程序与服务器上的 Matlab 应用程序连接

    我正在 Android 上开发一个应用程序 它将获取图像输入 并将该输入传递到安装 MATLAB 应用程序的服务器 MATLAB 应用程序将计算结果并将其返回到该 Android 应用程序 我想知道我可以使用哪个服务器 如何将 MATLAB
  • 将 Matlab MEX 文件中的函数直接嵌入到 Python 中

    我正在使用专有的 Matlab MEX 文件在 Matlab 中导入一些仿真结果 当然没有可用的源代码 Matlab 的接口实际上非常简单 因为只有一个函数 返回一个 Matlab 结构体 我想知道是否有任何方法可以直接从Python调用M
  • 增加 .fig 文件中的散点标记大小

    我有一个图形文件 scatter fig 该图有许多使用 scatter 的散点绘图仪 现在我只有这个无花果文件 我需要增加所有散点的标记大小 手动尝试过 但非常困难 有没有办法我可以做类似的事情 H 图形句柄 s 点 h 设置 s 标记大
  • 将输出从符号数学 (sym) 转换为浮点型

    我的问题类似于这个问题 https stackoverflow com questions 11114101 how to convert mupad symbol i sqrt 1 to i in matlab 11114959 1111
  • 如何选择部分密集数据集的均匀分布子集?

    P是一个 n d 矩阵 持有nd 维样本 P某些地区的密度是其他地区的几倍 我想选择一个子集P其中任意样本对之间的距离大于d0 并且我需要将其传播到整个区域 所有样本都具有相同的优先级 无需优化任何内容 例如覆盖面积或成对距离之和 这是执行
  • 查找数组中元素之间的平均差异的有效方法

    希望标题不会让人困惑 通过例子来展示很简单 我有一个像这样的行向量 1 5 6 我想找到每个元素之间的平均差异 此示例中的差异为 4 和 1 因此平均值为 2 5 这是一个小例子 我的行向量可能非常大 我是 MatLab 新手 那么有没有一
  • 在 C/C++ 中调用 MATLAB API

    我刚刚从某处听说 对于数值计算 MATLAB 确实提供了一些用户友好的 API 如果你在 C C 代码中调用这些 API 你可以显着加快计算速度 但我在MATLAB文档中没有找到这样的信息 例如http www mathworks com
  • 在 Matlab 中快速加载大块二进制文件

    我有一些相当大的 int16 格式的数据文件 256 个通道 大约 75 1 亿个样本 每个文件约 40 50 GB 左右 它以平面二进制格式编写 因此结构类似于 CH1S1 CH2S1 CH3S1 CH256S1 CH1S2 CH2S2
  • 在 Matlab 中显示有理数

    我有两个整数 m n 它们一起形成 m n 形式的有理数 现在我只想以这种理性的形式在 Matlab 中显示它们 我可以通过这样做来做到这一点 char sym m n 所以 如果 例如m 1 n 2 Matlab将显示1 2 然而 如果m
  • 优化 MATLAB 代码(嵌套 for 循环计算相似度矩阵)

    我正在 MATLAB 中基于欧几里德距离计算相似度矩阵 我的代码如下 for i 1 N M N is the size of the matrix x for whose elements I am computing similarit

随机推荐

  • 128、函数接口类---Consumer

    一 概念 java util function Consumer
  • Git常用命令fetch和pull和push

    Git常用命令pull和push 1 fetch 从远程获取代码库 会将所有远程分支都拉到本地 并不会合并代码 git fetch 下载远程仓库的所有变动 git fetch remote git fetch origin 指定拉取远程re
  • 百度App Objective-C/Swift 组件化混编之路(二)- 工程化

    作者丨张渝 郭金 来源丨百度App技术 前文 百度App Objective C Swift 组件化混编之路 已经介绍了百度App 引入 Swift 的影响面评估以及落地的实施步骤 本文主要以依赖管理工具为支撑 介绍百度App 如何实现组件
  • Socket -- udp

    接收者 完成System out println UDPProvider Started 作为接收者 指定一个端口用于数据接收 DatagramSocket ds new DatagramSocket 20000 构建接收实体 final
  • 网吧管理系统mysql_网吧管理系统数据库课程设计.doc

    网吧管理系统数据库课程设计 doc 大型数据库课程设计 设计报告 题 目 网吧管理系统数据库 学 号 学生姓名 指导教师 提交时间 2013 11 23 第1章 需求分析 1 1 需求分析任务 1 2 需求分析过程 1 3 数据字典和流程图
  • Java面向对象(1) —— 封装

    目录 一 封装的概念 二 类的封装以及使用 三 访问修饰符 四 属性封装的实现 五 方法封装的实现 六 UML类图 七 类的构造方法与可重载 八 this关键字 九 static关键字 十 方法重载 overload 十一 包 packag
  • unity制作和输出摄像机环绕动画

    1 需要用到两个官方插件Cinemachine以及Recorder 2 第一步设置摄像机 创建一个虚拟相机CM vcam1 这时主摄像机会自动加载Cinemachinebrain组件 并指定CM1 3 设置CM1的参数 创建空物体命名为ta
  • 4 朴素贝叶斯法

    文章目录 4 朴素贝叶斯法 4 1 朴素贝叶斯的学习与分类 4 1 1 基本方法 4 1 2 后验概率最大化的含义 4 2 朴素贝叶斯法的参数估计 4 2 1 极大似然估计 4 2 2 学习与分类算法 4 2 3 贝叶斯估计 4 3 代码
  • 前端面试题总结----

    1 基础 1 1 性能优化 图片压缩 小图使用base64 数据缓存 避免重复请求 合理使用标签 避免创建无用的DOM结构 减少DOM操作 减少重排 尽可能重绘 避免空的src或者href值 启用 gzip 压缩 css 放顶部 js 放底
  • LTE中扫频及小区搜索

    2 1 扫频 2 1 1 概述 在指定频点 小区或者候补频点 小区搜索失败或者这些信息不存在时 会进行全频 段扫描 搜索 UE 能力支持频段范围内存在的所有小区 物理层会将 RRC 下发的扫描 频段分成单位 100KHz 的小频段进行扫描
  • 使用Eclipse创建一个简单的servlet项目

    一 通过File gt new gt others找到Dynamic Web project 创建一个动态的web项目 二 配置项目 再找个位置配置你下载的Tomcat的版本 点击next Tomcat存放的位置 本地JRE 点击finis
  • 解决数据库连接时2059 - Authentication plugin 'caching_sha2_password' cannot be loaded报错

    问题如下 在Navicat里面连接数据库时直接就出现报错2059 Authentication plugin caching sha2 password cannot be loaded 从错误信息可知caching sha2 passwo
  • 隐藏手机下方的底部导航条NavigationBar

    需知 在现在的Android项目中 为了布局适配 也为了界面看起来更加简洁大气 App保留了头部标题栏 但是下方的NavigationBar却有点多余 不过当然 因为手机按键很少的缘故 若是没有NavigationBar的话 恐怕就连退出都
  • WF项目问题总结

    1 后台接口对接时 参数传递方式 urlcode 是一种编码方式 就是把http请求串的url 进行urlcode的编码 让httpserver 可以识别 不至于http的client server 之前出现乱码或者误解 例如 Conten
  • 【LeetCode每日一题】5. 最长回文子串

    题目 给你一个字符串 s 找到 s 中最长的回文子串 示例 1 输入 s babad 输出 bab 解释 aba 同样是符合题意的答案 示例 2 示例 2 输入 s cbbd 输出 bb 示例 3 输入 s a 输出 a 示例 4 输入 s
  • Python零基础学习

    大家好 我是王某人 一 写在前面 前几天在Python技术交流群有个小伙伴分享一个使用Python画出太极阴阳八卦图的代码 这里拿出来给大家分享下 一起学习下 不过这里他的代码是有点问题的 不过不慌 下面给出了解答 二 解决过程 下面给出了
  • SSL/TLS协议交互流程分析

    本文参考 SSL TLS协议运行机制的概述 tls运行机制 这里不细说 建议细看 HTTPS与TLS The Transport Layer Security TLS Protocol v1 2 ssl tls基础介绍 SSL Secure
  • 2021PMP冲刺题,敏捷题目摘录

    1 单选 在每日站会期间 开发人员提出了一个影响产品质量并需要解决方案的问题 项目经理应该做什么 During the daily stand up the developer raises a problem that affects p
  • JZ15 二进制中1的个数

    输入一个整数 n 输出该数32位二进制表示中1的个数 其中负数用补码表示 数据范围 2 31 lt n lt 2 31 1 231 lt n lt 231 1 即范围为 2147483648 lt n lt 2147483647 21474
  • 毕业设计记录-matlab自动生成并标注时频图数据集

    文章目录 2022 1 8日的记录 2022 1 8日的记录 陆陆续续几天 玩中带做终于是写好了一个基本的雏形 以后想往里面添加东西就好添了 首先是文件功能描述 caogao caogao 草稿 写程序调试代码的地方 CreateSigna