利用matlab绘制傅里叶分解三维图_matlab傅里叶分解程序_Stynis的博客-程序员秘密

技术标签: matlab  DSP  

目的:

  1. 理解傅里叶变换分析及其他方法的分析。
  2. 理解傅里叶变换频域与时域的关系。
  3. 利用MATLAB绘制傅里叶变换图形三维图。

内容和原理:

本次主要使用的函数及其说明如下(此处只取采用用法的意义说明):
1.abs:abs(X) is the absolute value of the elements of X. When
X is complex, abs(X) is the complex modulus (magnitude) of
the elements of X.
2.figure: figure, by itself, creates a new figure window, and returns
its handle.
3.square: square(T) generates a square wave with period 2*Pi for the
elements of time vector T. square(T) is like SIN(T), only
it creates a square wave with peaks of +1 to -1 instead of
a sine wave.
4. Fft: fft(X,N) is the N-point fft, padded with zeros if X has less
than N points and truncated if it has more.
5. plot3:plot3(x,y,z), where x, y and z are three vectors of the same length,
plots a line in 3-space through the points whose coordinates are the
elements of x, y and z.

结果与分析:

  1. 根据要求需要首先产生具有足够采样频率的方波,我采用了square函数生成方波,频率设置为1Hz,采样频率则为100Hz。
  2. 接着进行傅里叶变换,利用fft函数,生成N个分解波形,N越大,分解次数越多,频谱越精密,实验中采用N=512进行实验。
  3. 利用plot3函数进行绘图并投影。
    产生的方波图如下:

产生频谱图如下:


绘制三维图像如图:
ex3.3
程序代码如下:

N=512;
fs=100;
t=-2:1/fs:2;
m=square(2*pi*t);  
plot(t,m);
axis([-1 1 -2 2]);
figure();
title('方波');
b=fft(m,N);
mag=abs(b);       
plot(mag);
figure();
x=-5:0.01:5;
for i=1:length(b) 
      for k=1:length(x)
          z(k)=abs(b(i))*sin((i-1)*x(k)+angle(b(i)));
          y(k)=i;
      end
      figure(3);
      grid on;
      plot3(x,y,z);
      hold on;

      x_z=zeros(1,length(x))+6;     
      plot3(x_z,y,abs(z));
      hold on;

end
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Stynis/article/details/80531168

智能推荐

UI设计实用干货素材|引导页模板_awayaya1的博客-程序员秘密

引导页设计原则①合理化原则。只做必要的内容引导,根据引导页的目的,出发点不同,大致可以将其分为产品说明类、使用说明类、推广类和问题解决类。在设计之初就应该对需要设计的引导页进行充分分析,从而得出合理化的设计方案。②优化编排原则。引导页最常用设计方式有文字与界面组合、文字与插图组合、动态效果与音乐、视频特效等。常用的编排有逐一展示故事串联、应景节日等,逐一展示是将一个个内容总结成点并顺序排列出来,各点之间没有必要的关联。③眼球效应原则。有效地吸引用户的眼球才能使引导页面起到事半功倍的效果,

Strongswan app 使用IKEv2 EAP 通过 Freeradius EAP认证 连接 Strongswan_strongswan ikev2 eap_GTaylor的博客-程序员秘密

索引环境安装链接Ubuntu 安装 Strongswan配置 Strongswang配置 Freeradius配置Strongswan VPN APPDebug应用环境@Linuxuname -aLinux szqsm 4.15.0-73-generic #82-Ubuntu SMP Tue Dec 3 00:04:14 UTC 2019 x86_64 x86_64 x86_64 GNU/[email protected] --versionLinux strongSwan U5

system V信号量和Posix信号量_飛雪一刀的博客-程序员秘密

1、函数层面的区别     信号量有两种实现:传统的System V信号量和新的POSIX信号量。它们所提供的函数很容易被区分:对于所有System V信号量函数,在它们的名字里面没有下划线。例如,应该是semget()而不是sem_get()。然而,所有的的POSIX信号量函数都有一个下划线。下面列出了它们提供的所有函数清单:Systm V POSIXsemctl

python 连接mysql插入读取数据_JackyPu_1992的博客-程序员秘密

import MySQLdb#连接数据库conn = MySQLdb.connect( host='192.358.12.34', port=3306, user='root', passwd='adminkcsd', db='sbd', charset="utf8" )#读取数据cu...

ACM训练计划_lxt_Lucia的博客-程序员秘密

https://blog.csdn.net/qq_40688707/article/details/80602064看完人家的博客,发现任重道远。。。一位高手对我的建议:一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的,主要时间是花在思考算法上,不是花在写程序与debug上。下面给个计划你练练:第一阶段:练经典常用算法,下面的每个算...

(eclipse) springboot-1 hello world_Hero_孙的博客-程序员秘密

hello world创建一个helloworld @Controller public class HelloWorld { @RequestMapping("/hello") public String hello() { return "helloworld"; ...

随便推点

JS - 私人医生(想看哪里点哪里)_李光阳的博客-程序员秘密

/** * Created by lgy on 2020/10/14. */var CustomGames = cc.Layer.extend({ init:function(){ this.bg = getUI(this, "bg"); this.bg.setPositionY(SH/2); this.nTop = getUI(this, "nTop"); this.nTop.setPositionY(SH); .

系统管理员的工作描述_iteye_6979的博客-程序员秘密

IT系统管理员负责IT系统的各个方面,包括网络、应用、数据库和通讯技术等。他的工作包括实施、配置、控制、协调、维护、故障排除、安全,各种资源使用率的监控以及开发特定系统的程序。 系统管理员的工作也包括执行一些基础的安全管理工作,例如创建客户的profile和account,监控和管理系统资源,例如CPU的利用率、磁盘的利用率,磁带备份系统等等。他的工作还包括执行系统备份和还原,编写或修改一些...

后台登陆万能密码总结_后台万能密码_lizhengnanhua的博客-程序员秘密

1.Asp/Aspx万能密码:'or'='or''or 1=1--''or 1=1--'or'a'='a"or "a"="a"or"="a'='a ')or('a'='aor 1=1--a'or' 1=1--"or"="a'='a'or''='1 or '1'='1'=11 or '1'='1' or 1=1'OR 1=1%00"or 1=1%00'xoradmin' or 'a'='

C语言编程:求水仙花数。输入一个正整数n,计算n位水仙花数。_水仙花数输入一个正整数_James_Xue_2023的博客-程序员秘密

/*求水仙花数。输入一个正整数n,计算n位水仙花数。*/#include<stdio.h> //编译预处理命令int mypow (int x, int n); //声明自己的幂函数int main (int agrc, char const *agrv[]) //主函数{ int n, start, end, temp, sum; //变量定义 s...

lis3dh 三轴加速度计 运动检测 中断配置实现_lis3dh中断_张十三的博客的博客-程序员秘密

首先,LIS3DH的II2地址:I2C Device Address 8 bit format if SA0=0 -> 0x31(30也可以) if SA0=1 -> 0x33void Init_LIS3DH( void ){ uint8_t temp = 0; if( HAL_I2C_Mem_Read(&hi2c2, DEVADDR, WH...

python爬虫模拟登陆_python 爬虫模拟登陆_weixin_39740283的博客-程序员秘密

模拟登陆 填写表单的时候,发现 POSTDATA: $$CDORequest$$=%3CCDO%3E%3CSTRF%20N%3D%22strServiceName%22%20V%3D%22UserService%22%2F%3E%3CSTRF%20N%3D%22strLoginId%22%20V%3D%22121212121%22%2F%3E%3CSTRF%20N%3D%22strTransNam...

推荐文章

热门文章

相关标签