当前位置: 首页 > news >正文

信号处理与分析——matlab记录

一、绘制信号分析频谱

1.代码

% 生成测试信号
Fs = 3000;      % 采样频率
t = 0:1/Fs:1-1/Fs;   % 时间向量
x1 = 1*sin(2*pi*50*t)+ 1*sin(2*pi*60*t); % 信号1
x2 = 1*sin(2*pi*150*t)+1*sin(2*pi*270*t); % 信号2% 绘制信号图
subplot(2,2,1);
plot(t,x1);
title('信号x1 1*sin(2*pi*50*t)+ 1*sin(2*pi*60*t)');
xlabel('时间 (s)');
ylabel('幅度');subplot(2,2,2);
plot(t,x2);
title('信号x2 1*sin(2*pi*150*t)+1*sin(2*pi*270*t)');
xlabel('时间 (s)');
ylabel('幅度');x3=x1.*x2;
x4=conv2(x1,x2);% 计算FFT
N1 = length(x3);
X1 = fft(x3);
f1 = Fs*(0:(N1/2))/N1;% 绘制FFT图
subplot(2,2,3);
plot(f1,abs(X1(1:N1/2+1)));
title('信号x1 × x2 的FFT变换');
xlabel('频率 (Hz)');
ylabel('幅度');% 计算FFT
N2 = length(x4);
X2 = fft(x4);
f2 = Fs*(0:(N2/2))/N2;% 绘制FFT图
subplot(2,2,4);
plot(f2,abs(X2(1:N2/2+1)));
title('信号x1 * x2 的FFT变换');
xlabel('频率 (Hz)');
ylabel('幅度');

2.现象

二、 绘制序列

FS=2000;%采样频率
T=0.1;%采样时间
t=0:1/FS:T-1/FS;%设置对应的步长
%t=linspace(0,T-1/FS,T/(1/FS));linspace也可以生成行向量来使用A=2;
a=0.5;
f0=50;
x=A.*exp(-a.*t).*sin(2*pi*f0.*t);figure(1);
plot(t,x,Color=[0 0.4470 0.7410],LineWidth=1.5);
xlabel('时间t','FontWeight','bold','FontSize',15);
ylabel('幅值','FontWeight','bold','FontSize',15);
title('此时序列的采样频率为2000,可以看出完美的还原了波形','FontWeight','bold','FontSize',15,'BackgroundColor','cyan')
hold on
stem(t,x,Color=[0.8500 0.3250 0.0980],LineWidth=0.9);
lgd1=legend({'原始信号','序列信号'},FontSize=14,FontWeight="bold",TextColor='blue');figure(2);
plot(t,x,Color=[0 0.4470 0.7410],LineWidth=1.5);
xlabel('时间t','FontWeight','bold','FontSize',15);
ylabel('幅值','FontWeight','bold','FontSize',15);
title('此时序列的采样频率为1000,此时依然可以很好的还原波形','FontWeight','bold','FontSize',15,'BackgroundColor','cyan');
hold on
FS2=1000;%采样频率
T2=0.1;%采样时间
t2=0:1/FS2:T2-1/FS2;%设置对应的步长
x2=A.*exp(-a.*t2).*sin(2*pi*f0.*t2);
stem(t2,x2,Color=[0.8500 0.3250 0.0980],LineWidth=0.9);
lgd2=legend({'原始信号','序列信号'},FontSize=14,FontWeight="bold",TextColor='blue');figure(3);
plot(t,x,Color=[0 0.4470 0.7410],LineWidth=1.5);
xlabel('时间t','FontWeight','bold','FontSize',15);
ylabel('幅值','FontWeight','bold','FontSize',15);
title('此时序列的采样频率为500,得到的信息变少了许多,这并不利于波形的分析','FontWeight','bold','FontSize',15,'BackgroundColor','cyan');
hold on
FS3=500;%采样频率
T3=0.1;%采样时间
t3=0:1/FS3:T3-1/FS3;%设置对应的步长
x3=A.*exp(-a.*t3).*sin(2*pi*f0.*t3);
stem(t3,x3,Color=[0.8500 0.3250 0.0980],LineWidth=0.9);
lgd3=legend({'原始信号','序列信号'},FontSize=14,FontWeight="bold",TextColor='blue');figure(4);
plot(t,x,Color=[0 0.4470 0.7410],LineWidth=1.5);
xlabel('时间t','FontWeight','bold','FontSize',15);
ylabel('幅值','FontWeight','bold','FontSize',15);
title('此时序列的采样频率为250,此时可以看出,已经严重失真','FontWeight','bold','FontSize',15,'BackgroundColor','cyan');
hold on
FS4=250;%采样频率
T4=0.1;%采样时间
t4=0:1/FS4:T4-1/FS4;%设置对应的步长
x4=A.*exp(-a.*t4).*sin(2*pi*f0.*t4);
stem(t4,x4,Color=[0.8500 0.3250 0.0980],LineWidth=0.9);
lgd4=legend({'原始信号','序列信号'},FontSize=14,FontWeight="bold",TextColor='blue');

http://www.lryc.cn/news/327125.html

相关文章:

  • Android Databinding 使用教程
  • 【每日跟读】常用英语500句(200~300)
  • 【Java开发过程中的流程图】
  • 蓝桥杯刷题-day5-动态规划
  • 新概念英语1:Lesson7内容详解
  • FASTAPI系列 14-使用JSONResponse 返回JSON内容
  • 【版本控制】git使用指南
  • Flask 与小程序 的图片数据交互 过程及探讨研究学习
  • 【JavaEE】初识线程,线程与进程的区别
  • Kafka高级面试题-2024
  • Qt——Qt文本读写之QFile与QTextStream的使用总结(打开文本文件,修改内容后保存至该文件中)
  • 掌握Java中的super关键字
  • STM32之HAL开发——系统定时器(SysTick)
  • Redis 不再“开源”:中国面临的挑战与策略应对
  • 刚刚,百度和苹果宣布联名
  • HTTP系列之HTTP缓存 —— 强缓存和协商缓存
  • 代码+视频,R语言logistic回归交互项(交互作用)的可视化分析
  • 实验3 中文分词
  • ReentrantLock 原理
  • 星云小窝项目1.0——项目介绍(一)
  • VR虚拟仿真在线模拟旅游专业情景
  • ROS 2边学边练(3)-- 何为节点(nodes)
  • MySQL的主从复制和读写分离
  • C# 多态 派生类 abstract virtual new
  • 【爬虫基础】第10讲 urlerror的使用及捕获异常
  • 绍兴越城中墙建材蒸压加气混凝土砌块使用注意事项可送塔山府山北海蕺山城南稽山迪荡灵芝东湖皋埠马山斗门鉴湖东浦孙端陶堰富盛
  • 吴渔夫:AI技术引领游戏产业革命,小团队有大作为
  • 深入探索C++对象模型(二)
  • 【javaWeb 第三篇】Vue快速入门
  • 非root用户安装git lfs(git大文件)命令记录