【信号处理】基于联合图像表示的深度学习卷积神经网络

news2024/11/9 6:18:25

Combined Signal Representations for Modulation Classification Using Deep Learning: Ambiguity Function, Constellation Diagram, and Eye Diagram

在这里插入图片描述

信号表示

在这里插入图片描述

Ambiguity Function(AF)

模糊函数描述了信号的两个维度(dimensions):延迟(delay)和多普勒(Doppler)。

clear;
clc;

snr = 15;
modulation = [8, 16, 32];
ml = dictionary(15, "test", 35, "train");  % 检查是否已正确定义
base_path = sprintf('C:\\data\\AF%d', snr);  % 正确的路径格式
disp(base_path);
mkdir(sprintf('AF%d', snr));
cd(sprintf('AF%d', snr));

for operation = [15, 35]
    for p = 1:length(modulation)
        mod_dir = sprintf('%s/%d', ml(operation), modulation(p));
        if ~exist(mod_dir, 'dir')
            mkdir(mod_dir);  % 如果目录不存在,则创建
        end
    end    
end

% 滤波器和采样参数
sps = 1;  % 每个符号的采样数(过采样因子)
fs = 20;  % 采样率设置为20 Hz
prf = 1;  % 脉冲重复频率设置为1 Hz
filtlen = 20;  % 滤波器长度,单位:符号
rolloff = 1;  % 滤波器滚降因子
rrcFilter = rcosdesign(rolloff, filtlen, sps);  % 设计升余弦 FIR 脉冲整形滤波器

% 主模拟循环
for m = [15, 35]
    for j = 1:length(modulation)
        M = modulation(j);
        k = log2(M);  % 每个符号的比特数
        numBits = 2 * k;  % 对于 QAM,这个值调整为 2*k
        for i = 1:m
            rng shuffle;  % 使用默认的随机数生成器
            dataIn = randi([0 M-1], numBits, 1);  % 生成随机数据
            disp(i);

            % 使用 QAM 进行调制
            dataMod = qammod(dataIn, M);  % 使用 qammod 进行 QAM 调制

            % 滤波并加入噪声
            txFiltSignal = upfirdn(dataMod, rrcFilter, sps, 1);
            rxSignal = awgn(txFiltSignal, snr, 'measured');
            
            % 计算模糊函数
            x = rxSignal;  % 正确使用 rxSignal
            [afmag, delay, doppler] = ambgfun(x, fs, prf);<

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2236410.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++练习】两个实型数的加法运算

题目&#xff1a; 编写一个C程序&#xff0c;实现两个实型数的加法运算并输出结果。 要求&#xff1a; 定义一个函数 dadd&#xff0c;该函数接收两个 double 类型的参数&#xff0c;并返回它们的和。在 main 函数中&#xff0c;提示用户输入两个实型数&#xff08;double 类…

【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)

博主说明&#xff1a;本文项目编号 T 061 &#xff0c;文末自助获取源码 \color{red}{T061&#xff0c;文末自助获取源码} T061&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

Sql面试题二:请查询出用户连续三天登录的所有数据记录

问题&#xff1a; 现有用户登录记录表&#xff0c;请查询出用户连续三天登录的所有数据记录 id dt 1 2024-04-25 1 2024-04-26 1 2024-04-27 1 2024-04-28 1 2024-04-30 1 2024-05-01 1 2024-05-02 1 2024-05-04 1 2024-05-05 2 2…

科研绘图系列:R语言分组堆积图(grouped stacked barplot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包准备画图主题数据链接导入数据画图数据准备图例图1图2合并图系统信息介绍 分组堆积图(Grouped Stacked Bar Chart)是一种数据可视化图表,它结合了分组柱状图和堆积柱状图…

世界技能竞赛大数据应用开发环境1:1还原

集群情况 模块A搭建环境&#xff0c;在容器中搭建大数据平台 Pc机&#xff0c;安装安装比赛需要软件 模块B中使用idea快速开发完成数据处理 模块E包含了接口数据&#xff0c;使用vs code快速搭建vue数据可视化

【网络协议大花园】应用层 http协议的使用小技巧,用好了都不用加班,效率翻两倍(下篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

SpringBoot源码解析(一)

SpringBoot自动装配原理 SpringBootApplication注解 我们在使用SpringBoot时&#xff0c;通常使用的是SpringBootApplication这个注解&#xff0c;比如&#xff1a; 而这个注解的定义为下图&#xff0c;可以发现这个注解上有另外三个注解&#xff1a;SpringBootConfiguration…

流类库与输入输出

来源&#xff1a;《C语言程序设计》 像C语言一样&#xff0c;C语言也没有输入输出语句。 但C标准库中有一个面向对象的输入输出软件包&#xff0c;即I/O流类库。 流是I/O流类的中心概念。 ------ I/O流类库是C语言中I/O函数在面向对象的程序设计方法中的一个替换产品。 -…

k8s图形化显示(KRM)

在master节点 kubectl get po -n kube-system 这个命令会列出 kube-system 命名空间中的所有 Pod 的状态和相关信息&#xff0c;比如名称、状态、重启次数等。 systemctl status kubelet #查看kubelet状态 yum install git #下载git命令 git clone https://gitee.com/duk…

理解鸿蒙app 开发中的 context

是什么 Context是应用中对象的上下文&#xff0c;其提供了应用的一些基础信息&#xff0c;例如resourceManager&#xff08;资源管理&#xff09;、applicationInfo&#xff08;当前应用信息&#xff09;、dir&#xff08;应用文件路径&#xff09;、area&#xff08;文件分区…

ML1:sklearn env

sklearn&#xff1a; 中文参考&#xff1a; https://scikit-learn.cn/stable/modules/linear_model.html#ordinary-least-squares https://scikit-learn.org.cn/view/4.html ——》为主&#xff0c;不懂地方参考上面中文以及下面英文 英文参考&#xff1a; https://scikit…

五分钟入门双拼!

‍这是从零开始学双拼的第一篇&#xff1a;概述 双拼的原理 如果你使用全拼&#xff0c;想要完整敲出一个字的读音&#xff0c;需要敲出这个字拼音的每个字母。 虽然简拼能简化一点步骤&#xff0c;但除非是很常见的成语、俗语&#xff0c;否则重码率很高&#xff0c;选词很…

基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路

一、项目概述 随着电动车的普及&#xff0c;充电桩作为关键基础设施&#xff0c;其智能化、网络化管理显得尤为重要。本项目旨在基于STM32微控制器开发一款智能充电桩&#xff0c;能够实现高效的充电监控与管理。项目通过物联网技术&#xff0c;提供实时数据监测、远程管理、用…

毕业后如何查找获取文献

当我们毕业后就无法再使用自己学校的数据库资源了&#xff0c;如果需要查找文献该从哪里获取资源呢&#xff1f;下面这个方法很简单而且有效&#xff1a; 一、首先选对科研工具 文献党下载器&#xff0c;把大量数据库资源整合在一起&#xff0c;直接去文献来源数据库查找获取…

串口接收,不定长数据接收

###1.CUBE-MX配置串口 2.我采用串口中断接收&#xff0c;打开中断接口 3.时钟同样8倍频&#xff0c;1分频&#xff0c;使用内部时钟 打开串口中断 main() { __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE); // 启用空闲中断__HAL_UART_ENABLE_IT(&huart1, UART_IT_R…

2024 高质量 Java 面试题集锦:高级 Java 工程师面试八股汇总

最近感慨面试难的人越来越多了&#xff0c;一方面是市场环境&#xff0c;更重要的一方面是企业对 Java 的人才要求越来越高了。 基本上这样感慨的分为两类人&#xff0c;第一&#xff0c;虽然挂着 3、5 年经验&#xff0c;但肚子里货少&#xff0c;也没啥拿得出手的项目&#x…

express 使用JWT认证

1、JWT的理解 JWT 的组成部分: 分别是 Header(头部)、Payload(有效荷载)、Signature(签名) 三者之间使用英文的"."分隔, Pyload 部分才是真正的用户信息,他是用户信息经过加密之后生成的字符串 Header 和 Signature 是 安全性相关的部分&#xff0c;只是为了保证 Tok…

linux将mysql加到systemctl命令中

linux中&#xff0c;想将mysql加到systemctl命令中&#xff0c;首先需要确定mysql的安装位置 在/etc/systemd/system目录下新建mysql.service vim /etc/systemd/system/mysql.service 复制如下内容&#xff1a;确保你自己的mysql路径是否正确 [Unit] DescriptionMySQL Server…

【Mac】安装 VMware Fusion Pro

VMware Fusion Pro 软件已经正式免费提供给个人用户使用&#xff01; 1、下载 【官网】 下拉找到 VMware Fusion Pro Download 登陆账号 如果没有账号&#xff0c;点击右上角 LOGIN &#xff0c;选择 REGISTER 注册信息除了邮箱外可随意填写 登陆时&#xff0c;Username为…

【VR】PICO 手部追踪 steamvr内无法识别,依旧识别手柄的解决方案

一、问题描述 && 原因分析 1.PICO4 手部追踪 steamvr内无法识别&#xff0c;依旧识别手柄的解决方案 尽管平放&#xff08;或关闭手柄连接&#xff09;之后&#xff0c;在 PICO 一体机中进入了手部追踪状态&#xff0c; 但只要进入 steamvr&#xff0c;就无法正确识别…