在MATLAB中想要画一个sin函数是很容易的。

比如:首先定义t = 0:0.01:10,然后画出y = sin(2*pi*t)就可以了,最多再加相角啊之类的参数。

但如果在C语言中应该如何自己制造一个sin函数呢?

应该借鉴数字信号处理里的抽样思想:

想生成函数x(t) = a*sin(2*pi*f0*t+ψ),就应该考虑到抽样定理:以等时间间隔进行抽样,即x[n] = x[n*Ts] 其中Ts = 1/fs(fs是抽样频率)。

这时候想生成的函数x(t)就变成了x(t) = x(n*Ts) = x(n) = a*sin(2*pi*f0*n/fs+ψ) = a*sin(w*n+ψ),其中w是数字角频率,这就将模拟时间信号转化成了数字信号。

举个例子,想生成函数y = sin(20*pi*t),用matlab直接生产的图形如下所示(取t=0:0.001:1)

matlab程序为

t = 0:0.001:1;

y = sin(20*pi*t);

plot(t,y);

如果想用C语言来实现怎么办呢?

从原函数y = sin(20*pi*t)可知:

f0 = 10,设fs = 40,n = 0:10(这里的n都是整数)来看看,此时x(n) = sin(2*pi*f0*n/fs),matlab程序为

clear all;

f0=10;

fs=40;

N=10;

n=0:N-1;

y=sin(2*pi*n*f0/fs);

画出来的图形如下图:

现在函数式为x[n] = sin(n*pi/2),周期是4

为什么看着不像以前的正弦函数了?因为这是对原函数抽样后得到的,而且它的横坐标已经变成了n而不是t。为了让抽样后的x[n]看起来更像x[t]那么方法只有一个,就是增加抽样率fs。当抽样率为80时x[n] = sin(n*pi/4),

f0=10;

fs=80;

N=10;

n=0:N-1;

plot(n,y);

看着更像x(t)了!这是因为抽样点更密了。

所以产生x(t)=a*sin(2*pi*f0*t+ψ)的正弦波步骤:

对x(t)进行以fs为抽样频率的抽样后得到

x(n)=a*sin(2*pi*f0*n/fs+ψ)=a*sin(w*n+ψ)

画的时候指明a,f0,fs,ψ就可以对任意sin函数进行画图

那么,如何知道现在画出来的x(n)就是以前的x(t)呢?以前是T = 0.1S,现在变成了T = 8,在这种情况下如何换算呢?就有FFT了!

下一篇文章我们再继续。

matlab正弦函数傅里叶变换,正弦函数及其傅里叶变换(一)相关推荐

  1. Matlab如何进行利用离散傅里叶变换DFT (快速傅里叶变换FFT)进行频谱分析

    文章目录 1. 定义 2. 变换和处理 3. 函数 4. 实例演示 例1:单频正弦信号(整数周期采样) 例2:单频正弦信号(非整数周期采样) 例3:含有直流分量的单频正弦信号 例4:正弦复合信号 例5 ...

  2. 用MATLAB计算序列的离散傅里叶变换

    用MATLAB计算序列的离散傅里叶变换 MATLAB提供了用快速算法计算离散傅里叶变换的函数fft,其调用格式为: Xk = fft(xn, N) 其中,调用参数xn为时域序列向量,N为离散傅里叶变换 ...

  3. MATLAB如何实现正弦函数的演示图像

    MATLAB如何实现正弦函数的演示图像 这边直接给出matlab代码啦! omega = 2*pi; t = linspace(0,4,1001); x = 2 + cos(omega*t); y = ...

  4. matlab同时绘制正弦函数,用matlab绘制正弦函数

    怎样用matlab做出这样的正弦函数 在同一图像窗口绘制曲线y1=sin(t),t的范围为[0,2pi],y2=sin(2t)t把plot(y1)改成plot(x,y1). . 正常的频谱图应该是横坐 ...

  5. 如何避免FFT(matlab)计算傅里叶级数与傅里叶变换时存在的混叠(aliasing)和泄露(leakage)问题

    文章目录 前言 1. 周期信号的傅里叶级数 1.1 周期信号的多种傅里叶表示形式 1.2 周期信号傅里叶级数系数的计算 2 非周期信号的傅里叶变换 2.1 非周期信号的傅里叶变换 2.2 傅里叶级数与 ...

  6. [MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项

    [MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项 1. 背景 现有长度为11年的5个时间序列,为某拟研究对象的5个参数.现计划先通过快速傅里叶变换求每个系数序列的显著周期项,再分别按照傅里 ...

  7. 图像算法四:【图像增强--频率域】傅里叶变换、快速傅里叶变换、频域滤波、频域低通滤波、频域高通滤波

    频率域滤波与空间域滤波殊途同归,空间域图像增强与频率域图像增强是两种截然不同的技术,实际上在相当程度上说它们是在不同的领域做相同的事情,只是有些滤波更适合在空间域完成,而有些则更适合在频率域中完成. ...

  8. 傅里叶变换、离散傅里叶变换(DFT)、快速傅里叶变换(FFT)详解

    前置知识 以下内容参考<复变函数与积分变换>,如果对积分变换有所了解,完全可以跳过忽略 复数的三角表达式如下 Z=r(cosθ+isinθ)Z=r(cos\theta+isin\theta ...

  9. 傅里叶级数、傅里叶变换、量子傅里叶变换(学习笔记)

    量子傅里叶变换 一开始看到这个题目我是这样的: 然后我开始了有关傅里叶变换的学习,我从某站上面截了一张图:顺便附上某站的链接,视觉上很享受. 形象展示傅里叶变换 一.傅里叶级数    在开始这一个部分 ...

  10. 傅里叶级数与傅里叶变换_Part7_离散傅里叶变换的性质

    傅里叶级数与傅里叶变换_Part7_离散傅里叶变换的性质 0.Part6 内容复习 离散傅里叶变换/逆变换的公式如下: X ( n ) = ∑ k = 0 N − 1 x ( k ) e − i n ...

最新文章

  1. 推荐陈永真著作《高效率开关电源设计与制作》
  2. Makefile —— Makefile的规则是什么?make是如何工作的?make的工作方式是什么?
  3. java基础之Object类和异常
  4. ASP.NET应用程序与页面生命周期
  5. apply_async进程不执行_c/c++面试精选题(八)简单回答,进程和线程关系及区别...
  6. Asprise OCR SDK 15.3试用版破解
  7. IO流练习题 实现图片的加密解密操作
  8. centos7 redis配置
  9. 测试freenas9.1搭建iscsi磁盘库
  10. 环境配置之:pip 一步到位解决 pytorch-gpu 安装
  11. pve万兆网卡驱动_无线环境下打游戏,还能不能更稳?附各类AX网卡换装思路
  12. “隔空播放”显示器只有“关闭”的原因
  13. python读取lmdb文件_LMDB文件读取器
  14. java有有哪些锁_java编程中锁状态的分类都有哪些
  15. viper4android 2.1,viper4android fx 2.2.1.1 调解
  16. Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFail
  17. 华硕笔记本电脑拆机清理灰尘涂抹硅汁教程
  18. Python tkinter+文件操作 实现学生信息管理系统
  19. icon-font如何改变图形的颜色
  20. python脚本自动化盲注_python dvwa布尔盲注自动化脚本(level=low)

热门文章

  1. QT设置按钮QPushButton上图片加文字
  2. CSS中vertical-align和text-align属性详解(使用场景、举例、注意点)、display:table-cell使用详解(基础介绍和使用例子)。
  3. 儿童自行车品牌推荐全球十大儿童山地自行车品牌排行榜
  4. 有道云笔记 markdown html,有道云笔记Markdown之流程图
  5. Transformer模型简介
  6. 54、消防控制室的设置要求
  7. word文档怎么到下一页去写_word文档怎么插入下一页
  8. Python数据挖掘——文本分析
  9. 数据结构简单模拟银行排队系统
  10. 1024献礼,全栈工程师进击