目录

一、背景

二、MATLAB代码

2.1、单周期时间设置

2.2、三个周期的时间设置

2.3、全部MATLAB代码

2.4、加上频谱

2.5、仿真结果

一、背景

写论文时需要仿真多个周期的线性扫频信号,但是网上的代码多是一个周期,后面试了挺多方法的,后面使用MOD函数对时间t求余实现多个周期循环。

二、MATLAB代码

2.1、单周期时间设置

单周期时间设置:仿真的单周期时间默认为1,如果修改单周期时间为x,修改1为x,同时修改mod(t,1)为mod(t,x),即是对x求余即可实现以x为周期的多周期波形。

t=0:0.00001:1-0.00001;%单个周期时间设置

2.2、三个周期的时间设置

三个周期的时间设置,其他n个周期可以对应修改3为n即可产生n个周期的波形

t=0:0.00001:3-0.00001;%3个周期时间设置

2.3、全部MATLAB代码

t=0:0.00001:3-0.00001;%3对应3个周期,0.00001为精度

f0=5;%扫频起始频率

fe=100;%扫频截止频率

x=chirp(mod(t,1),f0,1,fe);%1代表的是单周期时间

subplot(3,1,1);plot(t,x);title('三个周期的线性扫频信号波形');xlabel('时间(s)');ylabel('幅度(V)');

ft=f0+(fe-f0)*mod(t,1);

subplot(3,1,2);plot(t,ft);title('线性扫频信号频率-时间图');xlabel('时间(s)');ylabel('频率(Hz)');

2.4、加上频谱

如果想要加上频谱。因为求频谱时对多个周期求频谱有一些问题,所以这里针对单周期进行求频谱。之前的代码有问题,修改:

subplot(3,1,3);plot(f(1:N/2),cxf(1:N/2)); axis([0 150 0 1]);

为plot(cxf),可以直接对cxf进行画图即可。下面是修改后的代码。

subplot(3,1,3);plot(cxf); axis([0 150 0 1]);

t=0:0.00001:3-0.00001;%3对应3个周期,0.00001为精度

f0=5;%扫频起始频率

fe=100;%扫频截止频率

x=chirp(mod(t,1),f0,1,fe);%1代表的是单周期时间

subplot(3,1,1);plot(t,x);title('三个周期的线性扫频信号波形');xlabel('时间(s)');ylabel('幅度(V)');

ft=f0+(fe-f0)*mod(t,1);

subplot(3,1,2);plot(t,ft);title('线性扫频信号频率-时间图');xlabel('时间(s)');ylabel('频率(Hz)');

t=0:0.00001:1;%求频谱时不能对多周期的求,对1个周期进行FFT

x=chirp(t,f0,1,fe);

C1=fft(x); %对载波信号进行傅里叶变换

cxf=abs(C1); %进行傅里叶变换

cxf=cxf/max(cxf);%归一化

% subplot(3,1,3);plot(f(1:N/2),cxf(1:N/2)); axis([0 150 0 1]); %错误代码

subplot(3,1,3);plot(cxf); axis([0 150 0 1]); %正确代码

title('线性扫频信号归一化频谱');xlabel('频率(Hz)');ylabel('功率');

2.5、仿真结果

仿真结果(3个周期的起始频率为5,结束频率为100):

matlab编写单路扫频,MATLAB产生任意信号波形(多周期线性扫频信号)相关推荐

  1. MATLAB产生任意信号波形(多周期线性扫频信号)

    目录 一.背景 二.MATLAB代码 2.1.单周期时间设置 2.2.三个周期的时间设置 2.3.全部MATLAB代码 2.4.加上频谱 2.5.仿真结果 一.背景 写论文时需要仿真多个周期的线性扫频 ...

  2. matlab实现单(双)极性,Matlab实现单(双)极性(不)归零码

    Matlab实现单(双)极性(不)归零码 内容大纲 Matlab实现单极性不归零波形(NRZ),0 1 幅值 Matlab实现单极性归零波形(RZ),0 1 幅值 Matlab实现双极性不归零波形,- ...

  3. 用matlab编写的游戏,用matlab编写的俄罗斯方块小游戏

    用matlab编写的俄罗斯方块小游戏 ?function RussiaBlock( varargin ) if nargin == 0 OldHandle = findobj( 'Type', 'fi ...

  4. matlab编写fie滤波器,使用Matlab和CCS设计FIR滤波器

    [实例简介] 详细讲解FIR滤波器的原理,Matlab的实现及导入CCS中的应用全过程. 从 中导出滤波器系数. 在 中,选择 ,如图. 在出现的对话框中选择输出文件类型为 ,输出系数类型为 如图所 ...

  5. matlab编写随机数程序,【matlab编程】matlab随机数函数

    Matlab内部函数 a. 基本随机数 Matlab中有两个最基本生成随机数的函数. 1.rand() 生成(0,1)区间上均匀分布的随机变量.基本语法: rand([M,N,P ...]) 生成排列 ...

  6. 利用MATLAB编写单位冲激函数,熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.doc...

    熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形 实验目的: 熟悉MATLAB软件的相关函数的使用方法.各种信号的时域波形. 实验内容: 1.用MATLAB软件绘制各类典型信号的时域波形并且 ...

  7. matlab编写正整数阶乘函数,用matlab语言编写程序:编写一个计算阶乘的函数,再编写一个脚本文件,通过键盘输入计算阶乘的n值....

    点击查看用matlab语言编写程序:编写一个计算阶乘的函数,再编写一个脚本文件,通过键盘输入计算阶乘的n值.具体信息 答:编写一个matlab文件,求1到n的阶乘之和.其代码编写的目的,就是学会自定义 ...

  8. matlab编写转台程序,基于Matlab三轴惯导测试转台结构分析.doc

    基于Matlab三轴惯导测试转台结构分析 基于Matlab三轴惯导测试转台结构分析 摘 要:三轴惯导测试转台作为惯导测试设备,其精度直接影响惯导设备的精度,而中框回转精度在三轴精度相对较差.影响其中框 ...

  9. matlab编写数学公式计算,关于MATLAB Function实现数学运算的相关介绍

    描述 其实也就是使用 Simulink 库里相应的模块,以及使用 Stateflow 流程图向导.在这一篇,我们介绍使用MATLAB Function的方式. 其实,如果想在 Simulink 里嵌套 ...

最新文章

  1. 从绩点 1.8 逆袭的复旦博士,华为天才少年!
  2. 06_一对一和一对多
  3. GCC中SIMD指令的应用方法
  4. 通过jquery回显操作(笔记)
  5. 4-数组、指针与字符串1.4-动态内存分配
  6. 操作系统 内存碎片 cache替换算法 虚拟地址逻辑地址线性地址物理地址
  7. 在mysql中REGEXP_在MySQL中使用RegExp中的列
  8. 中国移动停售华为5G手机?双方回应...
  9. 30天敏捷结果(6):周五回顾,找到三件做的好以及三件需要改善的事情
  10. Node.js区块链开发pdf
  11. java replace 双引号到单引号
  12. 贺利坚老师汇编课程24笔记:内存单元[...]和(...)内容
  13. 15.TCP/IP 详解卷1 --- TFTP:简单文件传送协议
  14. paip.提升用户体验---论文本编辑器的色彩方案
  15. vs2017结合qt开发,vs报错找不到库(解决方案)
  16. ddk开发 c语言,ddk_helloWDM_原代码是网上高手的杰作
  17. 软件开发流程及类型图
  18. 网络工具之PacketTracer8安装
  19. 蓝牙原理—Radio射频协议
  20. python excel表格转word表格

热门文章

  1. 禁止手机浏览器浏览网页弹出跳转百度弹框
  2. Self-training with Noisy Student improves ImageNet classification (2020 CVPR)
  3. 基于springboot园区管理系统的设计与实现-计算机毕业设计源码+LW文档
  4. 工程材料(3.1)钢铁材料
  5. 产品在行业中如何定位?
  6. LabVIEW练习5
  7. 跨模态学习能力再升级,EasyNLP 电商文图检索效果刷新 SOTA
  8. 李嘉诚长江商学院演讲汇总:大时代下的商道
  9. 数字图像处理---空域滤波增强
  10. 按钮宽度和高度固定,字体大小根据字数自适应用的javascript实现