matlab正弦函数傅里叶变换,正弦函数及其傅里叶变换(一)
在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正弦函数傅里叶变换,正弦函数及其傅里叶变换(一)相关推荐
- Matlab如何进行利用离散傅里叶变换DFT (快速傅里叶变换FFT)进行频谱分析
文章目录 1. 定义 2. 变换和处理 3. 函数 4. 实例演示 例1:单频正弦信号(整数周期采样) 例2:单频正弦信号(非整数周期采样) 例3:含有直流分量的单频正弦信号 例4:正弦复合信号 例5 ...
- 用MATLAB计算序列的离散傅里叶变换
用MATLAB计算序列的离散傅里叶变换 MATLAB提供了用快速算法计算离散傅里叶变换的函数fft,其调用格式为: Xk = fft(xn, N) 其中,调用参数xn为时域序列向量,N为离散傅里叶变换 ...
- MATLAB如何实现正弦函数的演示图像
MATLAB如何实现正弦函数的演示图像 这边直接给出matlab代码啦! omega = 2*pi; t = linspace(0,4,1001); x = 2 + cos(omega*t); y = ...
- matlab同时绘制正弦函数,用matlab绘制正弦函数
怎样用matlab做出这样的正弦函数 在同一图像窗口绘制曲线y1=sin(t),t的范围为[0,2pi],y2=sin(2t)t把plot(y1)改成plot(x,y1). . 正常的频谱图应该是横坐 ...
- 如何避免FFT(matlab)计算傅里叶级数与傅里叶变换时存在的混叠(aliasing)和泄露(leakage)问题
文章目录 前言 1. 周期信号的傅里叶级数 1.1 周期信号的多种傅里叶表示形式 1.2 周期信号傅里叶级数系数的计算 2 非周期信号的傅里叶变换 2.1 非周期信号的傅里叶变换 2.2 傅里叶级数与 ...
- [MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项
[MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项 1. 背景 现有长度为11年的5个时间序列,为某拟研究对象的5个参数.现计划先通过快速傅里叶变换求每个系数序列的显著周期项,再分别按照傅里 ...
- 图像算法四:【图像增强--频率域】傅里叶变换、快速傅里叶变换、频域滤波、频域低通滤波、频域高通滤波
频率域滤波与空间域滤波殊途同归,空间域图像增强与频率域图像增强是两种截然不同的技术,实际上在相当程度上说它们是在不同的领域做相同的事情,只是有些滤波更适合在空间域完成,而有些则更适合在频率域中完成. ...
- 傅里叶变换、离散傅里叶变换(DFT)、快速傅里叶变换(FFT)详解
前置知识 以下内容参考<复变函数与积分变换>,如果对积分变换有所了解,完全可以跳过忽略 复数的三角表达式如下 Z=r(cosθ+isinθ)Z=r(cos\theta+isin\theta ...
- 傅里叶级数、傅里叶变换、量子傅里叶变换(学习笔记)
量子傅里叶变换 一开始看到这个题目我是这样的: 然后我开始了有关傅里叶变换的学习,我从某站上面截了一张图:顺便附上某站的链接,视觉上很享受. 形象展示傅里叶变换 一.傅里叶级数 在开始这一个部分 ...
- 傅里叶级数与傅里叶变换_Part7_离散傅里叶变换的性质
傅里叶级数与傅里叶变换_Part7_离散傅里叶变换的性质 0.Part6 内容复习 离散傅里叶变换/逆变换的公式如下: X ( n ) = ∑ k = 0 N − 1 x ( k ) e − i n ...
最新文章
- 推荐陈永真著作《高效率开关电源设计与制作》
- Makefile —— Makefile的规则是什么?make是如何工作的?make的工作方式是什么?
- java基础之Object类和异常
- ASP.NET应用程序与页面生命周期
- apply_async进程不执行_c/c++面试精选题(八)简单回答,进程和线程关系及区别...
- Asprise OCR SDK 15.3试用版破解
- IO流练习题 实现图片的加密解密操作
- centos7 redis配置
- 测试freenas9.1搭建iscsi磁盘库
- 环境配置之:pip 一步到位解决 pytorch-gpu 安装
- pve万兆网卡驱动_无线环境下打游戏,还能不能更稳?附各类AX网卡换装思路
- “隔空播放”显示器只有“关闭”的原因
- python读取lmdb文件_LMDB文件读取器
- java有有哪些锁_java编程中锁状态的分类都有哪些
- viper4android 2.1,viper4android fx 2.2.1.1 调解
- Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFail
- 华硕笔记本电脑拆机清理灰尘涂抹硅汁教程
- Python tkinter+文件操作 实现学生信息管理系统
- icon-font如何改变图形的颜色
- python脚本自动化盲注_python dvwa布尔盲注自动化脚本(level=low)