(34)FFT与信号频谱(双边谱)

文章目录


前言

本文首先使用MATLAB生成一段余弦信号,然后对其进行FFT变换,给出了信号的双边幅度谱。


一、仿真代码

代码如下(示例):

c 复制代码
%% 生成余弦波
% 指定信号的参数,频率1Hz,采样频率为16Hz,信号持续时间为2秒(32个samples)。
f = 1;                            % 余弦波的振荡频率,简称频率
fs = 16;                          % 数字信号的采样频率(sampling frequency ),简称采样率
Ts = 1/fs;                        % 采样周期,也即采样值的时间间隔
L = 32;                           % 一个采样值称为一个sample,L为sample的个数
t = (0:L-1)*Ts;                   % 时间向量
x = cos(2*pi*f*t);                % 生成余弦波x

% 画出生成余弦波的时域波形
figure()
plot(t,x,'LineWidth',1.5)
title(['余弦波的时域波形(f=',num2str(f),'Hz,fs=',num2str(fs),' samples/s)'])
grid on
xlabel('t/s')
ylabel('cos(2*pi*f*t)')

%% 频域(FFT)结果
N = L;                          % N=32
Y = fft(x,N);                   % 信号的傅里叶变换

% 计算信号的双边幅度频谱
P2 = abs(Y/L);

% 信号的双边幅度频谱画图,x轴为频率
figure()
stem(0:(fs/N):(fs-fs/N),P2(1:N),'LineWidth',1.5)
grid on
title(['余弦波的双边幅度频谱(f=',num2str(f),'Hz,fs=',num2str(fs),' samples/s,','N=',num2str(N),')'])
xlabel('频率/Hz')
ylabel('幅度|Y(n)|')

二、仿真结果画图

时域波形如下:

信号的双边频谱如下:


相关推荐
benchmark_cc1 小时前
1000只ETF的5分钟K线如何批量获取?QuantDash分页策略与高性能Python实践
开发语言·人工智能·爬虫·python·算法·quantdash·量化数据源
sel_91 小时前
【PEFT】参数高效微调(PEFT)技术详解:从原理到 LoRA/QLoRA 实战
人工智能·python·深度学习·算法·机器学习·参数高效微调
我星期八休息1 小时前
Linux I/O多路转接—epoll
java·linux·运维·服务器·开发语言·jvm·算法
阳明山水3 小时前
Mamba与两阶段XGBoost的融合架构:面向间歇性需求的双路径预测框架
人工智能·深度学习·算法·机器学习·架构
水上冰石3 小时前
【MuJoCo从入门到精通】第2章 第一个 MuJoCo 仿真
前端·人工智能·算法
wenyq73 小时前
LeetCode 2904. Shortest and Lexicographically Smallest Beautiful String
算法·leetcode
维克兜率天3 小时前
【维克】技术指标是什么:从均线到MACD的数学原理
人工智能·笔记·python·算法·量化
Messy create3 小时前
【储能系统三大核心】
网络·stm32·单片机·算法·能源
sel_93 小时前
【vLLM】vLLM 推理框架详解:从 PagedAttention 到生产级部署实战
人工智能·深度学习·算法·语言模型·框架·vllm
XR1234567883 小时前
办公大楼组网选型决策树:TCO 与三大品牌优劣对比总结
算法·决策树·机器学习