Matlab的信号频谱分析——FFT变换

Matlab的信号频谱分析——FFT变换

Matlab的信号频谱分析

FFT是离散傅立叶变换的快速算法,可以将一个时域信号变换到频域。

有些信号在时域上是很难看出什么特征的。但是如果变换到频域之后,就很容易看出特征了。

这就是很多信号分析采用FFT变换的原因。

另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。

通俗点说FFT就是将一个信号解析成是由不同频率、幅值,相位的正弦波叠加而成的。

FFT变换的步骤:

1、对模拟信号离散化

一个模拟信号,经过ADC采样之后,就变成了离散的数字信号。

2、采样频率(Fs)的选取

根据采样定理,采样频率需大于信号频率的两倍。

3、采样点数( N )的选取

在FFT变换中,输入N个采样点,就有N个变换结果,每个结果都是一个复数。

每个结果都和上面所说的一个正弦信号的频率、幅值,相位对应。

复数的幅值和正弦信号的幅值对应,相位和相位对应。

而其频率的对应关系为:假设第n个结果,则其对应的频率为 Fn = (n-1)*Fs/N 。

Fs/N为分辨率,例如采样频率Fs为1024Hz,采样点数为1024点,

则每个结果以1HZ的频率步长递增。如果采样频率Fs为1024Hz,采样点数为2048点,

则每个结果以0.5HZ的频率步长递增。我们讲其分辨率为0.5HZ。

如果要提高频率分辨力,则必须增加采样点数,也即采样时间。

频率分辨率和采样时间是倒数关系。

注意:为了方便进行FFT运算,通常N取2的整数次方。

例:假设我们有一个信号,它含有一个2V的直流分量,一个频率为50Hz、相位为-30度、幅度为3V的交流信号,以及一个频率为75Hz、相位为90度、幅度为1.5V的交流信号。

用数学表达式就是如下:S=2+3cos(2pi50t-pi30/180)+1.5cos(2pi75t+pi90/180)。

我们以256Hz的采样率对这个信号进行采样,总共采样256点。

按照我们上面的分析,Fn=(n-1)*Fs/N,我们可以知道,每两个点之间的间距就是1Hz,第n个点的频率就是n-1。我们的信号有3个频率:0Hz、50Hz、75Hz,应该分别在第1个点、第51个点、第76个点上出现峰值,其它各点应该接近0。

实际情况如何呢?我们来看看FFT的结果:

% 假设我们有一个信号,它含有一个2V的直流分量,一个频率为50Hz、相位为-30度、幅度为3V的交流信号,
% 以及一个频率为75Hz、相位为90度、幅度为1.5V的交流信号。
% 用数学表达式就是如下:S=2+3cos(2pi50t-pi30/180)+1.5cos(2pi75t+pi90/180)。
% 我们以256Hz的采样率对这个信号进行采样,总共采样256点。
% 按照我们上面的分析,Fn=(n-1)*Fs/N,我们可以知道,每两个点之间的间距就是1Hz,
% 第n个点的频率就是n-1。
% 我们的信号有3个频率:0Hz、50Hz、75Hz,应该分别在第1个点、第51个点、第76个点上出现峰值,
% 其它各点应该接近0。
% 实际情况如何呢?我们来看看FFT的结果:clc; clear; close all;t = 0:1/255:1; %采样步长
% s1 = 2; % 一个2V的直流
% s2 = 3*cos(2*pi*50*t-pi*30/180);   % 一个频率为50Hz、相位为-30度、幅度为3V的交流信号
% s3 = 1.5*cos(2*pi*75*t+pi*90/180); % 一个频率为75Hz、相位为90度、幅度为1.5V的交流信号
y = 2 + 3*cos(2*pi*50*t-pi*30/180) + 1.5*cos(2*pi*75*t+pi*90/180); % 信号叠加
N = length(t); %样点个数
plot(t,y);
xlabel('时间/s'); ylabel('幅值');
title('时域信号time domain signal');
% 采样
fs = 255; %采样频率
df = fs/(N-1); %分辨率
Y = fft(y(1:N)); %真实的幅值
figure(2)
plot((1:N/2),abs(Y(1:N/2))); %由于傅里叶算法转换得到的是对称图,而常用的只需要一半就可以了。
xlabel('Hz'); ylabel('幅值');
title('幅频响应');
% 
% FFT结果的幅值和信号真实幅值对应的关系:除第一个点外,
% FFT结果的其他点的幅值是真实信号幅值N/2倍,而第一个点是真实值的N倍。
% 
% FFT结果的相位和真实信号相位对比:由于是第51个点对应的是50Hz,有个错位关系,
% 还有就是FFT的幅值和真实值也有个转换关系,下面我们通过算法让其完全对应起来。
% f = (0:N-1)*df; %其中每点的频率,第一个点对应的频率为0
Y1 = fft(y(1:N))/(N/2); %真实的幅值
figure(3)
plot(f(1:N/2),abs(Y1(1:N/2))); %由于傅里叶算法转换得到的是对称图,而常用的只需要一半就可以了.
xlabel('Hz'); ylabel('幅值');
title('幅频响应');

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/53784.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

芯片工程师求职题目之CPU篇(2)

1. CPU架构中流水线的概念? CPU流水线(pipelining)是一种将指令分解为多步,并让不同指令的各步操作重叠,从而实现几条指令并行处理,以加速程序运行过程的技术。指令的每步有各自独立的电路来处理,每完成一步&#xff…

servlet生命周期和初始化参数传递

servlet生命周期和初始化参数传递 1、servlet生命周期 只有第一次访问才会初始化,之后访问都只执行service中的。 除非tomcat关闭重新启动: 2、初始化参数传递

了解 spring MVC + 使用spring MVC - springboot

前言 本篇介绍什么是spring MVC ,如何使用spring MVC,了解如何连接客户端与后端,如何从前端获取各种参数;如有错误,请在评论区指正,让我们一起交流,共同进步! 文章目录 前言1. 什么…

JSP--Java的服务器页面

jsp是什么? jsp的全称是Java server pages,翻译过来就是java的服务器页面。 jsp有什么作用? jsp的主要作用是代替Servlet程序回传html页面的数据,因为Servlet程序回传html页面数据是一件非常繁琐的事情,开发成本和维护成本都非常高…

【计算机网络】NAT技术

文章目录 1. NAT技术简介2. 使用NAT技术转换IP的过程3. NAPT4. NAT技术的缺陷5. NAT和代理服务器 1. NAT技术简介 NAT(Network Address Translation,网络地址转换)技术,是解决IP地址不足的主要手段,并且能够有效避免外…

《Java-SE-第二十九章》之Synchronized原理与JUC常用类

前言 在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!” 博客主页:KC老衲爱尼姑的博客主页 博主的github,平常所写代码皆在于此 共勉:talk is cheap, show me the code 作者是爪哇岛的新手,水平很有限&…

通话降噪算法在手机和IOT设备上的应用和挑战

随着电子产品的升级换代,用户对通话质量的要求也越来越高。通话降噪算法对通话质量起到了关键核心的作用。计算资源的提升使得深度学习模型在便携式的低功耗芯片上面跑起来了,器件成本降低让IoT设备开始使用骨导传感器,,那怎么样才…

k8s基础

k8s基础 一、k8s组件 K8S 有 master 和 worker node 两类节点 master节点上有 apiserver controller-manager scheduler 以及使用 etcd 做 k8s 集群的数据库 node节点上有 kubelet kube-proxy 容器引擎/容器运行时(docker、containerd)二、k8s组件…

电动汽车设计、制造、研发的学科、技术和前沿科技综述

引言:电动汽车作为替代传统燃油汽车的一种先进交通工具,不仅具有环保、低噪音等优势,而且对于能源消耗和气候变化等全球性问题也具有重要意义。本文将综述与电动汽车设计、制造、研发相关的学科、技术和前沿科技,以期对电动汽车领…

Linux操作系统~Linux基础知识相关题

整卷阅览: 想要获取试卷原版请点击以下链接下载: https://download.csdn.net/download/qq_53142796/88168132https://download.csdn.net/download/qq_53142796/88168132 解题过程: 选择题(每小题2分,共30分&#xff…

网络安全(秋招)如何拿到offer?(含面试题)

以下为网络安全各个方向涉及的面试题,星数越多代表问题出现的几率越大,祝各位都能找到满意的工作。 注:本套面试题,已整理成pdf文档,但内容还在持续更新中,因为无论如何都不可能覆盖所有的面试问题&#xf…

PCIE链路信息

目录 简介: 目的: 详情: 简介: PCIe有很多寄存器,也有很多控制,包括链路状态信息,上一节我们讲到了PCie的链路训练,这节文章将继续学习PCIe相关知识。 目的: 从设计…